Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 786 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw | 5238601 | 2473 days ago | IN | 0 ETH | 0.00009487 | ||||
Purchase | 5228156 | 2475 days ago | IN | 0.0525 ETH | 0.00024658 | ||||
Purchase | 5228156 | 2475 days ago | IN | 0.08157307 ETH | 0.00019675 | ||||
Purchase | 5228156 | 2475 days ago | IN | 0.0125 ETH | 0.00017215 | ||||
Purchase | 5228154 | 2475 days ago | IN | 0.0125 ETH | 0.00032055 | ||||
Purchase | 5228154 | 2475 days ago | IN | 0.06274851 ETH | 0.00004918 | ||||
Purchase | 5227486 | 2475 days ago | IN | 0.16078125 ETH | 0.00025285 | ||||
Purchase | 5227486 | 2475 days ago | IN | 0.08157307 ETH | 0.00093852 | ||||
Purchase | 5227486 | 2475 days ago | IN | 0.0525 ETH | 0.00029589 | ||||
Purchase | 5227486 | 2475 days ago | IN | 0.0525 ETH | 0.00024594 | ||||
Purchase | 5227484 | 2475 days ago | IN | 0.05960464 ETH | 0.00004931 | ||||
Purchase | 5227341 | 2475 days ago | IN | 0.0537824 ETH | 0.00032055 | ||||
Purchase | 5227341 | 2475 days ago | IN | 0.0537824 ETH | 0.00024594 | ||||
Purchase | 5227341 | 2475 days ago | IN | 0.0196 ETH | 0.00022192 | ||||
Purchase | 5227341 | 2475 days ago | IN | 0.014 ETH | 0.00004931 | ||||
Purchase | 5227338 | 2475 days ago | IN | 0.0196 ETH | 0.00022134 | ||||
Purchase | 5227338 | 2475 days ago | IN | 0 ETH | 0.00014794 | ||||
Purchase | 5227338 | 2475 days ago | IN | 0.06274851 ETH | 0.00019675 | ||||
Purchase | 5227338 | 2475 days ago | IN | 0.02441406 ETH | 0.00019675 | ||||
Purchase | 5227338 | 2475 days ago | IN | 0.02441406 ETH | 0.0001726 | ||||
Purchase | 5227338 | 2475 days ago | IN | 0.09294114 ETH | 0.00019726 | ||||
Purchase | 5227330 | 2475 days ago | IN | 0.01953125 ETH | 0.00022134 | ||||
Purchase | 5227328 | 2475 days ago | IN | 0.015625 ETH | 0.00004931 | ||||
Purchase | 5216429 | 2477 days ago | IN | 0.08 ETH | 0.0010726 | ||||
Purchase | 5216337 | 2477 days ago | IN | 0.08 ETH | 0.00174297 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
5238601 | 2473 days ago | 0.04 ETH | ||||
5227486 | 2475 days ago | 0.01607812 ETH | ||||
5227486 | 2475 days ago | 0.01607812 ETH | ||||
5227486 | 2475 days ago | 0.01607812 ETH | ||||
5227486 | 2475 days ago | 0.01607812 ETH | ||||
5227486 | 2475 days ago | 0.09405703 ETH | ||||
5227486 | 2475 days ago | 0.00241171 ETH | ||||
5227486 | 2475 days ago | 0.00093132 ETH | ||||
5227486 | 2475 days ago | 0.00093132 ETH | ||||
5227486 | 2475 days ago | 0.00093132 ETH | ||||
5227486 | 2475 days ago | 0.00093132 ETH | ||||
5227486 | 2475 days ago | 0.069011 ETH | ||||
5227486 | 2475 days ago | 0.00176951 ETH | ||||
5227486 | 2475 days ago | 0.00706726 ETH | ||||
5216429 | 2477 days ago | 0.00186264 ETH | ||||
5216429 | 2477 days ago | 0.00186264 ETH | ||||
5216429 | 2477 days ago | 0.00186264 ETH | ||||
5216429 | 2477 days ago | 0.00186264 ETH | ||||
5216429 | 2477 days ago | 0.06537884 ETH | ||||
5216429 | 2477 days ago | 0.00167638 ETH | ||||
5216429 | 2477 days ago | 0.00549419 ETH | ||||
5216337 | 2477 days ago | 0.00093132 ETH | ||||
5216337 | 2477 days ago | 0.00093132 ETH | ||||
5216337 | 2477 days ago | 0.00093132 ETH | ||||
5216337 | 2477 days ago | 0.00093132 ETH |
Loading...
Loading
Contract Name:
BlockMarket
Compiler Version
v0.4.19+commit.c4cbbb05
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-03-07 */ pragma solidity ^0.4.19; /** * @title Ownable */ contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); OwnershipTransferred(owner, newOwner); owner = newOwner; } } /** * @title SafeMath Library */ 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; } } /** * @title BlockMarketCore */ contract BlockMarket is Ownable { struct Stock { string name; uint256 priceIncrease; uint256 dividendAmount; uint256 lastAction; uint256 dividendsPaid; } struct Share { address holder; uint256 purchasePrice; } Stock[] public stocks; Share[] public shares; mapping (uint256 => uint256[]) public stockShares; event CompanyListed(string company, uint256 basePrice); event DividendPaid(address shareholder, uint256 amount); event ShareSold( uint256 stockId, uint256 shareId, uint256 oldPrice, uint256 newPrice, address oldOwner, address newOwner ); /** * @dev A fallback function to catch, uh... let's call them gifts. */ function () payable public { } /** * @dev Adds a new stock to the game * @param _name the name of the stock (e.g. "Kodak") * @param _initialPrice the original cost of the stock's shares (in Wei) * @param _priceIncrease the amount by which the shares should increase upon sale (i.e. 120 = 20% increase) * @param _dividendAmount the amount of each purchase that should be split among dividend recipients * @param _numShares the number of shares of this stock available for purchase */ function addStock( string _name, uint256 _initialPrice, uint256 _priceIncrease, uint256 _dividendAmount, uint8 _numShares ) public onlyOwner returns (uint256 stockId) { stockId = stocks.length; stocks.push( Stock( _name, _priceIncrease == 0 ? 130 : _priceIncrease, // 30% by default _dividendAmount == 0 ? 110 : _dividendAmount, // 10% by default block.timestamp, 0 ) ); for(uint8 i = 0; i < _numShares; i++) { stockShares[stockId].push(shares.length); shares.push(Share(owner, _initialPrice)); } CompanyListed(_name, _initialPrice); } /** * @dev Purchase a share from its current owner * @param _stockId the ID of the stock that owns the share * @param _shareId the ID of the specific share to purchase */ function purchase(uint256 _stockId, uint256 _shareId) public payable { require(_stockId < stocks.length && _shareId < shares.length); // look up the assets Stock storage stock = stocks[_stockId]; uint256[] storage sharesForStock = stockShares[_stockId]; Share storage share = shares[sharesForStock[_shareId]]; // look up the share's current holder address previousHolder = share.holder; // determine the current price for the share uint256 currentPrice = getPurchasePrice( share.purchasePrice, stock.priceIncrease ); require(msg.value >= currentPrice); // return any excess payment if (msg.value > currentPrice) { msg.sender.transfer(SafeMath.sub(msg.value, currentPrice)); } // calculate dividend holders' shares uint256 dividendPerRecipient = getDividendPayout( currentPrice, stock.dividendAmount, sharesForStock.length - 1 ); // calculate the previous owner's share uint256 previousHolderShare = SafeMath.sub( currentPrice, SafeMath.mul(dividendPerRecipient, sharesForStock.length - 1) ); // calculate the transaction fee - 1/40 = 2.5% fee uint256 fee = SafeMath.div(previousHolderShare, 40); owner.transfer(fee); // payout the previous shareholder previousHolder.transfer(SafeMath.sub(previousHolderShare, fee)); // payout the dividends for(uint8 i = 0; i < sharesForStock.length; i++) { if (i != _shareId) { shares[sharesForStock[i]].holder.transfer(dividendPerRecipient); stock.dividendsPaid = SafeMath.add(stock.dividendsPaid, dividendPerRecipient); DividendPaid( shares[sharesForStock[i]].holder, dividendPerRecipient ); } } ShareSold( _stockId, _shareId, share.purchasePrice, currentPrice, share.holder, msg.sender ); // update share information share.holder = msg.sender; share.purchasePrice = currentPrice; stock.lastAction = block.timestamp; } /** * @dev Calculates the current purchase price for the given stock share * @param _stockId the ID of the stock that owns the share * @param _shareId the ID of the specific share to purchase */ function getCurrentPrice( uint256 _stockId, uint256 _shareId ) public view returns (uint256 currentPrice) { require(_stockId < stocks.length && _shareId < shares.length); currentPrice = SafeMath.div( SafeMath.mul(stocks[_stockId].priceIncrease, shares[_shareId].purchasePrice), 100 ); } /** * @dev Calculates the current token owner's payout amount if the token sells * @param _currentPrice the current total sale price of the asset * @param _priceIncrease the percentage of price increase per sale */ function getPurchasePrice( uint256 _currentPrice, uint256 _priceIncrease ) internal pure returns (uint256 currentPrice) { currentPrice = SafeMath.div( SafeMath.mul(_currentPrice, _priceIncrease), 100 ); } /** * @dev Calculates the payout of each dividend recipient in the event of a share sale. * @param _purchasePrice the current total sale price of the asset * @param _stockDividend the percentage of the sale allocated for dividends * @param _numDividends the number of dividend holders to share the total dividend amount */ function getDividendPayout( uint256 _purchasePrice, uint256 _stockDividend, uint256 _numDividends ) public pure returns (uint256 dividend) { uint256 dividendPerRecipient = SafeMath.sub( SafeMath.div(SafeMath.mul(_purchasePrice, _stockDividend), 100), _purchasePrice ); dividend = SafeMath.div(dividendPerRecipient, _numDividends); } /** * @dev Fetches the number of stocks available */ function getStockCount() public view returns (uint256) { return stocks.length; } /** * @dev Fetches the share IDs connected to the given stock * @param _stockId the ID of the stock to count shares of */ function getStockShares(uint256 _stockId) public view returns (uint256[]) { return stockShares[_stockId]; } /** * @dev Transfers a set amount of ETH from the contract to the specified address * @notice Proceeds are paid out right away, but the contract might receive unexpected funds */ function withdraw(uint256 _amount, address _destination) public onlyOwner { require(_destination != address(0)); require(_amount <= this.balance); _destination.transfer(_amount == 0 ? this.balance : _amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_amount","type":"uint256"},{"name":"_destination","type":"address"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_stockId","type":"uint256"},{"name":"_shareId","type":"uint256"}],"name":"getCurrentPrice","outputs":[{"name":"currentPrice","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"stocks","outputs":[{"name":"name","type":"string"},{"name":"priceIncrease","type":"uint256"},{"name":"dividendAmount","type":"uint256"},{"name":"lastAction","type":"uint256"},{"name":"dividendsPaid","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_purchasePrice","type":"uint256"},{"name":"_stockDividend","type":"uint256"},{"name":"_numDividends","type":"uint256"}],"name":"getDividendPayout","outputs":[{"name":"dividend","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"_stockId","type":"uint256"}],"name":"getStockShares","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"name":"stockShares","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"shares","outputs":[{"name":"holder","type":"address"},{"name":"purchasePrice","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_stockId","type":"uint256"},{"name":"_shareId","type":"uint256"}],"name":"purchase","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getStockCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_initialPrice","type":"uint256"},{"name":"_priceIncrease","type":"uint256"},{"name":"_dividendAmount","type":"uint256"},{"name":"_numShares","type":"uint8"}],"name":"addStock","outputs":[{"name":"stockId","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"company","type":"string"},{"indexed":false,"name":"basePrice","type":"uint256"}],"name":"CompanyListed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"shareholder","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"DividendPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"stockId","type":"uint256"},{"indexed":false,"name":"shareId","type":"uint256"},{"indexed":false,"name":"oldPrice","type":"uint256"},{"indexed":false,"name":"newPrice","type":"uint256"},{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"ShareSold","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
6060604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611492806100536000396000f3006060604052600436106100b9576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062f714ce146100bb57806304673368146100fd578063226b876c1461013d578063269aacc8146102125780632deb79b61461025b578063541b9ff4146102d357806357a858fc1461031357806370876c981461037d5780638da5cb5b1461039e578063dc08e5ff146103f3578063e079e7e51461041c578063f2fde38b146104b4575b005b34156100c657600080fd5b6100fb600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506104ed565b005b341561010857600080fd5b6101276004808035906020019091908035906020019091905050610614565b6040518082815260200191505060405180910390f35b341561014857600080fd5b61015e6004808035906020019091905050610695565b60405180806020018681526020018581526020018481526020018381526020018281038252878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156101ff5780601f106101d4576101008083540402835291602001916101ff565b820191906000526020600020905b8154815290600101906020018083116101e257829003601f168201915b5050965050505050505060405180910390f35b341561021d57600080fd5b61024560048080359060200190919080359060200190919080359060200190919050506106d9565b6040518082815260200191505060405180910390f35b341561026657600080fd5b61027c600480803590602001909190505061070f565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156102bf5780820151818401526020810190506102a4565b505050509050019250505060405180910390f35b34156102de57600080fd5b6102fd6004808035906020019091908035906020019091905050610780565b6040518082815260200191505060405180910390f35b341561031e57600080fd5b61033460048080359060200190919050506107b1565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b61039c6004808035906020019091908035906020019091905050610804565b005b34156103a957600080fd5b6103b1610d10565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103fe57600080fd5b610406610d35565b6040518082815260200191505060405180910390f35b341561042757600080fd5b61049e600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803590602001909190803590602001909190803560ff16906020019091905050610d42565b6040518082815260200191505060405180910390f35b34156104bf57600080fd5b6104eb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611038565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561054857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561058457600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163182111515156105aa57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc600084146105d257836105eb565b3073ffffffffffffffffffffffffffffffffffffffff16315b9081150290604051600060405180830381858888f19350505050151561061057600080fd5b5050565b60006001805490508310801561062e575060028054905082105b151561063957600080fd5b61068d61068660018581548110151561064e57fe5b90600052602060002090600502016001015460028581548110151561066f57fe5b90600052602060002090600202016001015461118d565b60646111c8565b905092915050565b6001818154811015156106a457fe5b906000526020600020906005020160009150905080600001908060010154908060020154908060030154908060040154905085565b6000806106f96106f36106ec878761118d565b60646111c8565b866111e3565b905061070581846111c8565b9150509392505050565b610717611238565b6003600083815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561077457602002820191906000526020600020905b815481526020019060010190808311610760575b50505050509050919050565b60036020528160005260406000208181548110151561079b57fe5b9060005260206000209001600091509150505481565b6002818154811015156107c057fe5b90600052602060002090600202016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b60008060008060008060008060006001805490508b10801561082a57506002805490508a105b151561083557600080fd5b60018b81548110151561084457fe5b90600052602060002090600502019850600360008c815260200190815260200160002097506002888b81548110151561087957fe5b90600052602060002090015481548110151561089157fe5b906000526020600020906002020196508660000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695506108da87600101548a600101546111fc565b94508434101515156108eb57600080fd5b8434111561093d573373ffffffffffffffffffffffffffffffffffffffff166108fc61091734886111e3565b9081150290604051600060405180830381858888f19350505050151561093c57600080fd5b5b610953858a6002015460018b80549050036106d9565b935061096f8561096a8660018c805490500361118d565b6111e3565b925061097c8360286111c8565b91506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156109df57600080fd5b8573ffffffffffffffffffffffffffffffffffffffff166108fc610a0385856111e3565b9081150290604051600060405180830381858888f193505050501515610a2857600080fd5b600090505b87805490508160ff161015610bcf57898160ff16141515610bc2576002888260ff16815481101515610a5b57fe5b906000526020600020900154815481101515610a7357fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f193505050501515610ae457600080fd5b610af289600401548561121a565b89600401819055507fb70dbf0e62ac2891fc0dccea9117219168105932d8f1537152476ad5e9f7a19d6002898360ff16815481101515610b2e57fe5b906000526020600020900154815481101515610b4657fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b8080600101915050610a2d565b7f03947f2be2f87e89ad65c0eb1a30dbc46991098b133f174f769f9ea4e32d107e8b8b8960010154888b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633604051808781526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001965050505050505060405180910390a1338760000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508487600101819055504289600301819055505050505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600180549050905090565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610da057600080fd5b600180549050915060018054806001018281610dbc919061124c565b9160005260206000209060050201600060a0604051908101604052808b815260200160008a14610dec5789610def565b60825b815260200160008914610e025788610e05565b606e5b8152602001428152602001600081525090919091506000820151816000019080519060200190610e3692919061127e565b5060208201518160010155604082015181600201556060820151816003015560808201518160040155505050600090505b8260ff168160ff161015610f8a57600360008381526020019081526020016000208054806001018281610e9a91906112fe565b916000526020600020900160006002805490509091909150555060028054806001018281610ec8919061132a565b9160005260206000209060020201600060408051908101604052806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018a815250909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101555050508080600101915050610e67565b7f5b8627dd085bdb239ede72bb09c0d05a5262056ee79ba2747bdc9a310a761f6587876040518080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015610ff3578082015181840152602081019050610fd8565b50505050905090810190601f1680156110205780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15095945050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561109357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156110cf57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008414156111a257600091506111c1565b82840290508284828115156111b357fe5b041415156111bd57fe5b8091505b5092915050565b60008082848115156111d657fe5b0490508091505092915050565b60008282111515156111f157fe5b818303905092915050565b600061121261120b848461118d565b60646111c8565b905092915050565b600080828401905083811015151561122e57fe5b8091505092915050565b602060405190810160405280600081525090565b81548183558181151161127957600502816005028360005260206000209182019101611278919061135c565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106112bf57805160ff19168380011785556112ed565b828001600101855582156112ed579182015b828111156112ec5782518255916020019190600101906112d1565b5b5090506112fa91906113ab565b5090565b8154818355818115116113255781836000526020600020918201910161132491906113ab565b5b505050565b8154818355818115116113575760020281600202836000526020600020918201910161135691906113d0565b5b505050565b6113a891905b808211156113a4576000808201600061137b919061141e565b600182016000905560028201600090556003820160009055600482016000905550600501611362565b5090565b90565b6113cd91905b808211156113c95760008160009055506001016113b1565b5090565b90565b61141b91905b8082111561141757600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160009055506002016113d6565b5090565b90565b50805460018160011615610100020316600290046000825580601f106114445750611463565b601f01602090049060005260206000209081019061146291906113ab565b5b505600a165627a7a7230582058b525b30937f9cd1f53276eb5e25c74ffebb3304047fba1a28b079490c8b2ca0029
Deployed Bytecode
0x6060604052600436106100b9576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062f714ce146100bb57806304673368146100fd578063226b876c1461013d578063269aacc8146102125780632deb79b61461025b578063541b9ff4146102d357806357a858fc1461031357806370876c981461037d5780638da5cb5b1461039e578063dc08e5ff146103f3578063e079e7e51461041c578063f2fde38b146104b4575b005b34156100c657600080fd5b6100fb600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506104ed565b005b341561010857600080fd5b6101276004808035906020019091908035906020019091905050610614565b6040518082815260200191505060405180910390f35b341561014857600080fd5b61015e6004808035906020019091905050610695565b60405180806020018681526020018581526020018481526020018381526020018281038252878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156101ff5780601f106101d4576101008083540402835291602001916101ff565b820191906000526020600020905b8154815290600101906020018083116101e257829003601f168201915b5050965050505050505060405180910390f35b341561021d57600080fd5b61024560048080359060200190919080359060200190919080359060200190919050506106d9565b6040518082815260200191505060405180910390f35b341561026657600080fd5b61027c600480803590602001909190505061070f565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156102bf5780820151818401526020810190506102a4565b505050509050019250505060405180910390f35b34156102de57600080fd5b6102fd6004808035906020019091908035906020019091905050610780565b6040518082815260200191505060405180910390f35b341561031e57600080fd5b61033460048080359060200190919050506107b1565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b61039c6004808035906020019091908035906020019091905050610804565b005b34156103a957600080fd5b6103b1610d10565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103fe57600080fd5b610406610d35565b6040518082815260200191505060405180910390f35b341561042757600080fd5b61049e600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803590602001909190803590602001909190803560ff16906020019091905050610d42565b6040518082815260200191505060405180910390f35b34156104bf57600080fd5b6104eb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611038565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561054857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561058457600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163182111515156105aa57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc600084146105d257836105eb565b3073ffffffffffffffffffffffffffffffffffffffff16315b9081150290604051600060405180830381858888f19350505050151561061057600080fd5b5050565b60006001805490508310801561062e575060028054905082105b151561063957600080fd5b61068d61068660018581548110151561064e57fe5b90600052602060002090600502016001015460028581548110151561066f57fe5b90600052602060002090600202016001015461118d565b60646111c8565b905092915050565b6001818154811015156106a457fe5b906000526020600020906005020160009150905080600001908060010154908060020154908060030154908060040154905085565b6000806106f96106f36106ec878761118d565b60646111c8565b866111e3565b905061070581846111c8565b9150509392505050565b610717611238565b6003600083815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561077457602002820191906000526020600020905b815481526020019060010190808311610760575b50505050509050919050565b60036020528160005260406000208181548110151561079b57fe5b9060005260206000209001600091509150505481565b6002818154811015156107c057fe5b90600052602060002090600202016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b60008060008060008060008060006001805490508b10801561082a57506002805490508a105b151561083557600080fd5b60018b81548110151561084457fe5b90600052602060002090600502019850600360008c815260200190815260200160002097506002888b81548110151561087957fe5b90600052602060002090015481548110151561089157fe5b906000526020600020906002020196508660000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695506108da87600101548a600101546111fc565b94508434101515156108eb57600080fd5b8434111561093d573373ffffffffffffffffffffffffffffffffffffffff166108fc61091734886111e3565b9081150290604051600060405180830381858888f19350505050151561093c57600080fd5b5b610953858a6002015460018b80549050036106d9565b935061096f8561096a8660018c805490500361118d565b6111e3565b925061097c8360286111c8565b91506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156109df57600080fd5b8573ffffffffffffffffffffffffffffffffffffffff166108fc610a0385856111e3565b9081150290604051600060405180830381858888f193505050501515610a2857600080fd5b600090505b87805490508160ff161015610bcf57898160ff16141515610bc2576002888260ff16815481101515610a5b57fe5b906000526020600020900154815481101515610a7357fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f193505050501515610ae457600080fd5b610af289600401548561121a565b89600401819055507fb70dbf0e62ac2891fc0dccea9117219168105932d8f1537152476ad5e9f7a19d6002898360ff16815481101515610b2e57fe5b906000526020600020900154815481101515610b4657fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b8080600101915050610a2d565b7f03947f2be2f87e89ad65c0eb1a30dbc46991098b133f174f769f9ea4e32d107e8b8b8960010154888b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633604051808781526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001965050505050505060405180910390a1338760000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508487600101819055504289600301819055505050505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600180549050905090565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610da057600080fd5b600180549050915060018054806001018281610dbc919061124c565b9160005260206000209060050201600060a0604051908101604052808b815260200160008a14610dec5789610def565b60825b815260200160008914610e025788610e05565b606e5b8152602001428152602001600081525090919091506000820151816000019080519060200190610e3692919061127e565b5060208201518160010155604082015181600201556060820151816003015560808201518160040155505050600090505b8260ff168160ff161015610f8a57600360008381526020019081526020016000208054806001018281610e9a91906112fe565b916000526020600020900160006002805490509091909150555060028054806001018281610ec8919061132a565b9160005260206000209060020201600060408051908101604052806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018a815250909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101555050508080600101915050610e67565b7f5b8627dd085bdb239ede72bb09c0d05a5262056ee79ba2747bdc9a310a761f6587876040518080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015610ff3578082015181840152602081019050610fd8565b50505050905090810190601f1680156110205780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15095945050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561109357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156110cf57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008414156111a257600091506111c1565b82840290508284828115156111b357fe5b041415156111bd57fe5b8091505b5092915050565b60008082848115156111d657fe5b0490508091505092915050565b60008282111515156111f157fe5b818303905092915050565b600061121261120b848461118d565b60646111c8565b905092915050565b600080828401905083811015151561122e57fe5b8091505092915050565b602060405190810160405280600081525090565b81548183558181151161127957600502816005028360005260206000209182019101611278919061135c565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106112bf57805160ff19168380011785556112ed565b828001600101855582156112ed579182015b828111156112ec5782518255916020019190600101906112d1565b5b5090506112fa91906113ab565b5090565b8154818355818115116113255781836000526020600020918201910161132491906113ab565b5b505050565b8154818355818115116113575760020281600202836000526020600020918201910161135691906113d0565b5b505050565b6113a891905b808211156113a4576000808201600061137b919061141e565b600182016000905560028201600090556003820160009055600482016000905550600501611362565b5090565b90565b6113cd91905b808211156113c95760008160009055506001016113b1565b5090565b90565b61141b91905b8082111561141757600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160009055506002016113d6565b5090565b90565b50805460018160011615610100020316600290046000825580601f106114445750611463565b601f01602090049060005260206000209081019061146291906113ab565b5b505600a165627a7a7230582058b525b30937f9cd1f53276eb5e25c74ffebb3304047fba1a28b079490c8b2ca0029
Swarm Source
bzzr://58b525b30937f9cd1f53276eb5e25c74ffebb3304047fba1a28b079490c8b2ca
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.