Contract Overview
Latest 25 from a total of 7369 transactions
Contract Name:
IOTXFactory
Compiler Version
v0.4.26+commit.4563c3fc
pragma solidity ^0.4.26; // solhint-disable-line contract IOTXFactory{ //uint256 EGGS_PER_MINERS_PER_SECOND=1; uint256 public EGGS_TO_HATCH_1MINERS=864000;//for final version should be seconds in a day. uint256 PSN=10000; uint256 PSNH=5000; bool public initialized=true; address public ceoAddress; address public ceoAddress2; mapping (address => uint256) public hatcheryMiners; mapping (address => uint256) public claimedEggs; mapping (address => uint256) public lastHatch; mapping (address => address) public referrals; uint256 public marketEggs=86400000000; constructor() public{ ceoAddress=msg.sender; ceoAddress2=address(0x42242c834c5CE6b89b4c989935653ebCEE5cCa20); } function hatchEggs(address ref) public{ require(initialized); if(ref == msg.sender) { ref = 0; } if(referrals[msg.sender]==0 && referrals[msg.sender]!=msg.sender){ referrals[msg.sender]=ref; } uint256 eggsUsed=getMyEggs(); uint256 newMiners=SafeMath.div(eggsUsed,EGGS_TO_HATCH_1MINERS); hatcheryMiners[msg.sender]=SafeMath.add(hatcheryMiners[msg.sender],newMiners); claimedEggs[msg.sender]=0; lastHatch[msg.sender]=now; //send referral eggs claimedEggs[referrals[msg.sender]]=SafeMath.add(claimedEggs[referrals[msg.sender]],SafeMath.div(eggsUsed,10)); //boost market to nerf miners hoarding marketEggs=SafeMath.add(marketEggs,SafeMath.div(eggsUsed,5)); } function sellEggs() public{ require(initialized); uint256 hasEggs=getMyEggs(); uint256 eggValue=calculateEggSell(hasEggs); uint256 fee=devFee(eggValue); uint256 fee2=fee/2; claimedEggs[msg.sender]=0; lastHatch[msg.sender]=now; marketEggs=SafeMath.add(marketEggs,hasEggs); ceoAddress.transfer(fee2); ceoAddress2.transfer(fee-fee2); msg.sender.transfer(SafeMath.sub(eggValue,fee)); } function buyEggs(address ref) public payable{ require(initialized); uint256 eggsBought=calculateEggBuy(msg.value,SafeMath.sub(address(this).balance,msg.value)); eggsBought=SafeMath.sub(eggsBought,devFee(eggsBought)); uint256 fee=devFee(msg.value); uint256 fee2=fee/2; ceoAddress.transfer(fee2); ceoAddress2.transfer(fee-fee2); claimedEggs[msg.sender]=SafeMath.add(claimedEggs[msg.sender],eggsBought); hatchEggs(ref); } //magic trade balancing algorithm function calculateTrade(uint256 rt,uint256 rs, uint256 bs) public view returns(uint256){ //(PSN*bs)/(PSNH+((PSN*rs+PSNH*rt)/rt)); return SafeMath.div(SafeMath.mul(PSN,bs),SafeMath.add(PSNH,SafeMath.div(SafeMath.add(SafeMath.mul(PSN,rs),SafeMath.mul(PSNH,rt)),rt))); } function calculateEggSell(uint256 eggs) public view returns(uint256){ return calculateTrade(eggs,marketEggs,address(this).balance); } function calculateEggBuy(uint256 eth,uint256 contractBalance) public view returns(uint256){ return calculateTrade(eth,contractBalance,marketEggs); } function calculateEggBuySimple(uint256 eth) public view returns(uint256){ return calculateEggBuy(eth,address(this).balance); } function devFee(uint256 amount) public pure returns(uint256){ return SafeMath.div(SafeMath.mul(amount,10),100); } function getBalance() public view returns(uint256){ return address(this).balance; } function getMyMiners() public view returns(uint256){ return hatcheryMiners[msg.sender]; } function getMyEggs() public view returns(uint256){ return SafeMath.add(claimedEggs[msg.sender],getEggsSinceLastHatch(msg.sender)); } function getEggsSinceLastHatch(address adr) public view returns(uint256){ uint256 secondsPassed=min(EGGS_TO_HATCH_1MINERS,SafeMath.sub(now,lastHatch[adr])); return SafeMath.mul(secondsPassed,hatcheryMiners[adr]); } function min(uint256 a, uint256 b) private pure returns (uint256) { return a < b ? a : b; } } library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } }
[{"constant":true,"inputs":[],"name":"ceoAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getMyMiners","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initialized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"rt","type":"uint256"},{"name":"rs","type":"uint256"},{"name":"bs","type":"uint256"}],"name":"calculateTrade","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"eth","type":"uint256"},{"name":"contractBalance","type":"uint256"}],"name":"calculateEggBuy","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"marketEggs","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"sellEggs","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"amount","type":"uint256"}],"name":"devFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"ref","type":"address"}],"name":"hatchEggs","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getMyEggs","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lastHatch","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"claimedEggs","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"hatcheryMiners","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"EGGS_TO_HATCH_1MINERS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"eth","type":"uint256"}],"name":"calculateEggBuySimple","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"eggs","type":"uint256"}],"name":"calculateEggSell","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"referrals","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ceoAddress2","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"adr","type":"address"}],"name":"getEggsSinceLastHatch","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"ref","type":"address"}],"name":"buyEggs","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]
Contract Creation Code
60806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630a0f8168146101225780630a76e5ed1461017957806312065fe0146101a4578063158ef93e146101cf578063229824c4146101fe57806326fd8422146102535780632e9392bb1461029e5780633955f0fe146102c95780633bc0461a146102e05780633ec862a81461032157806343ce742214610364578063467ece791461038f57806372670361146103e657806379532aa91461043d5780637cdebc21146104945780637e56fde5146104bf5780638e316327146105005780639ca423b314610541578063ba3d97e9146105c4578063d7c8843b1461061b578063db66386514610672575b600080fd5b34801561012e57600080fd5b506101376106a8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561018557600080fd5b5061018e6106ce565b6040518082815260200191505060405180910390f35b3480156101b057600080fd5b506101b9610715565b6040518082815260200191505060405180910390f35b3480156101db57600080fd5b506101e4610734565b604051808215151515815260200191505060405180910390f35b34801561020a57600080fd5b5061023d600480360381019080803590602001909291908035906020019092919080359060200190929190505050610747565b6040518082815260200191505060405180910390f35b34801561025f57600080fd5b50610288600480360381019080803590602001909291908035906020019092919050505061079a565b6040518082815260200191505060405180910390f35b3480156102aa57600080fd5b506102b36107b1565b6040518082815260200191505060405180910390f35b3480156102d557600080fd5b506102de6107b7565b005b3480156102ec57600080fd5b5061030b600480360381019080803590602001909291905050506109cc565b6040518082815260200191505060405180910390f35b34801561032d57600080fd5b50610362600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ea565b005b34801561037057600080fd5b50610379610e77565b6040518082815260200191505060405180910390f35b34801561039b57600080fd5b506103d0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ecf565b6040518082815260200191505060405180910390f35b3480156103f257600080fd5b50610427600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ee7565b6040518082815260200191505060405180910390f35b34801561044957600080fd5b5061047e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eff565b6040518082815260200191505060405180910390f35b3480156104a057600080fd5b506104a9610f17565b6040518082815260200191505060405180910390f35b3480156104cb57600080fd5b506104ea60048036038101908080359060200190929190505050610f1d565b6040518082815260200191505060405180910390f35b34801561050c57600080fd5b5061052b60048036038101908080359060200190929190505050610f47565b6040518082815260200191505060405180910390f35b34801561054d57600080fd5b50610582600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f74565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105d057600080fd5b506105d9610fa7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561062757600080fd5b5061065c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fcd565b6040518082815260200191505060405180910390f35b6106a6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611077565b005b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600360009054906101000a900460ff1681565b600061079161075860015484611260565b61078c6002546107876107816107706001548a611260565b61077c6002548c611260565b61129b565b896112b9565b61129b565b6112b9565b90509392505050565b60006107a98383600954610747565b905092915050565b60095481565b600080600080600360009054906101000a900460ff1615156107d857600080fd5b6107e0610e77565b93506107eb84610f47565b92506107f6836109cc565b915060028281151561080457fe5b0490506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061089c6009548561129b565b600981905550600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561090a573d6000803e3d6000fd5b50600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8284039081150290604051600060405180830381858888f19350505050158015610975573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff166108fc61099a85856112d4565b9081150290604051600060405180830381858888f193505050501580156109c5573d6000803e3d6000fd5b5050505050565b60006109e36109dc83600a611260565b60646112b9565b9050919050565b600080600360009054906101000a900460ff161515610a0857600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a4157600092505b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610b5157503373ffffffffffffffffffffffffffffffffffffffff16600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15610bd55782600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b610bdd610e77565b9150610beb826000546112b9565b9050610c36600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261129b565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610db460066000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610daf84600a6112b9565b61129b565b60066000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e6c600954610e678460056112b9565b61129b565b600981905550505050565b6000610eca600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ec533610fcd565b61129b565b905090565b60076020528060005260406000206000915090505481565b60066020528060005260406000206000915090505481565b60056020528060005260406000206000915090505481565b60005481565b6000610f40823073ffffffffffffffffffffffffffffffffffffffff163161079a565b9050919050565b6000610f6d826009543073ffffffffffffffffffffffffffffffffffffffff1631610747565b9050919050565b60086020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008061102460005461101f42600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112d4565b6112ed565b905061106f81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611260565b915050919050565b6000806000600360009054906101000a900460ff16151561109757600080fd5b6110c1346110bc3073ffffffffffffffffffffffffffffffffffffffff1631346112d4565b61079a565b92506110d5836110d0856109cc565b6112d4565b92506110e0346109cc565b91506002828115156110ee57fe5b049050600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611159573d6000803e3d6000fd5b50600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8284039081150290604051600060405180830381858888f193505050501580156111c4573d6000803e3d6000fd5b5061120e600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461129b565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061125a846109ea565b50505050565b60008060008414156112755760009150611294565b828402905082848281151561128657fe5b0414151561129057fe5b8091505b5092915050565b60008082840190508381101515156112af57fe5b8091505092915050565b60008082848115156112c757fe5b0490508091505092915050565b60008282111515156112e257fe5b818303905092915050565b60008183106112fc57816112fe565b825b9050929150505600a165627a7a7230582023e726ba73d059c15cf5c8e132f3c119ed03255be1f7f6c50a780a68b46b034b0029
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for
interesting conversations.