Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Create Rich Cont... | 5108317 | 2524 days ago | IN | 0 ETH | 0.00025982 |
Loading...
Loading
Contract Name:
RichToken
Compiler Version
v0.4.18+commit.9cf6e910
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-02-17 */ pragma solidity ^0.4.18; contract ERC721 { // Required methods function approve(address _to, uint256 _tokenId) public; function balanceOf(address _owner) public view returns (uint256 balance); function implementsERC721() public pure returns (bool); function ownerOf(uint256 _tokenId) public view returns (address addr); function takeOwnership(uint256 _tokenId) public; function totalSupply() public view returns (uint256 total); function transferFrom(address _from, address _to, uint256 _tokenId) public; function transfer(address _to, uint256 _tokenId) public; event Transfer(address indexed from, address indexed to, uint256 tokenId); event Approval(address indexed owner, address indexed approved, uint256 tokenId); } contract RichToken is ERC721 { /*** EVENTS ***/ /// @dev The Birth event is fired whenever a new richtoken comes into existence. event Birth(uint256 tokenId, string name, address owner); /// @dev The TokenSold event is fired whenever a token is sold. event TokenSold(uint256 tokenId, uint256 oldPrice, uint256 newPrice, address prevOwner, address winner, string name); /// @dev Transfer event as defined in current draft of ERC721. /// ownership is assigned, including births. event Transfer(address from, address to, uint256 tokenId); /*** CONSTANTS ***/ /// @notice Name and symbol of the non fungible token, as defined in ERC721. string public constant NAME = "RichToken"; string public constant SYMBOL = "RT"; uint256 private startingPrice = 10 ether; /*** STORAGE ***/ /// @dev A mapping from richtoken IDs to the address that owns them. All richtokens have /// some valid owner address. mapping (uint256 => address) public richtokenIndexToOwner; // @dev A mapping from owner address to count of tokens that address owns. // Used internally inside balanceOf() to resolve ownership count. mapping (address => uint256) private ownershipTokenCount; /// @dev A mapping from RichIDs to an address that has been approved to call /// transferFrom(). Each Rich can only have one approved address for transfer /// at any time. A zero value means no approval is outstanding. mapping (uint256 => address) public richtokenIndexToApproved; // @dev A mapping from RichIDs to the price of the token. mapping (uint256 => uint256) private richtokenIndexToPrice; address public creator; /*** DATATYPES ***/ struct Rich { string name; } Rich[] private richtokens; modifier onlyCreator() { require(msg.sender == creator); _; } function RichToken() public { creator = msg.sender; } /*** PUBLIC FUNCTIONS ***/ /// @notice Grant another address the right to transfer token via takeOwnership() and transferFrom(). /// @param _to The address to be granted transfer approval. Pass address(0) to /// clear all approvals. /// @param _tokenId The ID of the Token that can be transferred if this call succeeds. /// @dev Required for ERC-721 compliance. function approve( address _to, uint256 _tokenId ) public { // Caller must own token. require(_owns(msg.sender, _tokenId)); richtokenIndexToApproved[_tokenId] = _to; Approval(msg.sender, _to, _tokenId); } /// For querying balance of a particular account /// @param _owner The address for balance query /// @dev Required for ERC-721 compliance. function balanceOf(address _owner) public view returns (uint256 balance) { return ownershipTokenCount[_owner]; } function createRichContract(string _name) public onlyCreator { _createRich(_name, address(this), startingPrice); } /// @notice Returns all the relevant information about a specific richtoken. /// @param _tokenId The tokenId of the richtoken of interest. function getRichToken(uint256 _tokenId) public view returns ( string richtokenName, uint256 sellingPrice, address owner ) { Rich storage richtoken = richtokens[_tokenId]; richtokenName = richtoken.name; sellingPrice = richtokenIndexToPrice[_tokenId]; owner = richtokenIndexToOwner[_tokenId]; } function implementsERC721() public pure returns (bool) { return true; } /// @dev Required for ERC-721 compliance. function name() public pure returns (string) { return NAME; } /// For querying owner of token /// @param _tokenId The tokenID for owner inquiry /// @dev Required for ERC-721 compliance. function ownerOf(uint256 _tokenId) public view returns (address owner) { owner = richtokenIndexToOwner[_tokenId]; require(owner != address(0)); } function payout(address _to) public onlyCreator { _payout(_to); } // Allows someone to send ether and obtain the token function purchase(uint256 _tokenId) public payable { address oldOwner = richtokenIndexToOwner[_tokenId]; address newOwner = msg.sender; uint256 sellingPrice = richtokenIndexToPrice[_tokenId]; // Making sure token owner is not sending to self require(oldOwner != newOwner); // Safety check to prevent against an unexpected 0x0 default. require(_addressNotNull(newOwner)); // Making sure sent amount is greater than or equal to the sellingPrice require(msg.value >= sellingPrice); uint256 payment = uint256(SafeMath.div(SafeMath.mul(sellingPrice, 92), 100)); uint256 purchaseExcess = SafeMath.sub(msg.value, sellingPrice); richtokenIndexToPrice[_tokenId] = SafeMath.div(SafeMath.mul(sellingPrice, 120), 92); _transfer(oldOwner, newOwner, _tokenId); // Pay previous tokenOwner if owner is not contract if (oldOwner != address(this)) { oldOwner.transfer(payment); } TokenSold(_tokenId, sellingPrice, richtokenIndexToPrice[_tokenId], oldOwner, newOwner, richtokens[_tokenId].name); msg.sender.transfer(purchaseExcess); } function priceOf(uint256 _tokenId) public view returns (uint256 price) { return richtokenIndexToPrice[_tokenId]; } function setCreator(address _creator) public onlyCreator { require(_creator != address(0)); creator = _creator; } /// @dev Required for ERC-721 compliance. function symbol() public pure returns (string) { return SYMBOL; } /// @notice Allow pre-approved user to take ownership of a token /// @param _tokenId The ID of the Token that can be transferred if this call succeeds. /// @dev Required for ERC-721 compliance. function takeOwnership(uint256 _tokenId) public { address newOwner = msg.sender; address oldOwner = richtokenIndexToOwner[_tokenId]; // Safety check to prevent against an unexpected 0x0 default. require(_addressNotNull(newOwner)); // Making sure transfer is approved require(_approved(newOwner, _tokenId)); _transfer(oldOwner, newOwner, _tokenId); } /// For querying totalSupply of token /// @dev Required for ERC-721 compliance. function totalSupply() public view returns (uint256 total) { return richtokens.length; } /// Owner initates the transfer of the token to another account /// @param _to The address for the token to be transferred to. /// @param _tokenId The ID of the Token that can be transferred if this call succeeds. /// @dev Required for ERC-721 compliance. function transfer( address _to, uint256 _tokenId ) public { require(_owns(msg.sender, _tokenId)); require(_addressNotNull(_to)); _transfer(msg.sender, _to, _tokenId); } /// Third-party initiates transfer of token from address _from to address _to /// @param _from The address for the token to be transferred from. /// @param _to The address for the token to be transferred to. /// @param _tokenId The ID of the Token that can be transferred if this call succeeds. /// @dev Required for ERC-721 compliance. function transferFrom( address _from, address _to, uint256 _tokenId ) public { require(_owns(_from, _tokenId)); require(_approved(_to, _tokenId)); require(_addressNotNull(_to)); _transfer(_from, _to, _tokenId); } /*** PRIVATE FUNCTIONS ***/ /// Safety check on _to address to prevent against an unexpected 0x0 default. function _addressNotNull(address _to) private pure returns (bool) { return _to != address(0); } /// For checking approval of transfer for address _to function _approved(address _to, uint256 _tokenId) private view returns (bool) { return richtokenIndexToApproved[_tokenId] == _to; } /// For creating Rich Token function _createRich(string _name, address _owner, uint256 _price) private { Rich memory _richtoken = Rich({ name: _name }); uint256 newRichId = richtokens.push(_richtoken) - 1; // It's probably never going to happen, 4 billion tokens are A LOT, but // let's just be 100% sure we never let this happen. require(newRichId == uint256(uint32(newRichId))); Birth(newRichId, _name, _owner); richtokenIndexToPrice[newRichId] = _price; // This will assign ownership, and also emit the Transfer event as // per ERC721 draft _transfer(address(0), _owner, newRichId); } /// Check for token ownership function _owns(address claimant, uint256 _tokenId) private view returns (bool) { return claimant == richtokenIndexToOwner[_tokenId]; } /// For paying out balance on contract function _payout(address _to) private { if (_to == address(0)) { creator.transfer(this.balance); } else { _to.transfer(this.balance); } } /// @dev Assigns ownership of a specific Rich to an address. function _transfer(address _from, address _to, uint256 _tokenId) private { // Since the number of richtokens is capped to 2^32 we can't overflow this ownershipTokenCount[_to]++; //transfer ownership richtokenIndexToOwner[_tokenId] = _to; // When creating new richtokens _from is 0x0, but we can't account that address. if (_from != address(0)) { ownershipTokenCount[_from]--; // clear any previously approved ownership exchange delete richtokenIndexToApproved[_tokenId]; } // Emit the transfer event. Transfer(_from, _to, _tokenId); } } 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; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"creator","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"payout","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"implementsERC721","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"total","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_creator","type":"address"}],"name":"setCreator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"richtokenIndexToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"richtokenIndexToApproved","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"createRichContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"NAME","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"takeOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"priceOf","outputs":[{"name":"price","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getRichToken","outputs":[{"name":"richtokenName","type":"string"},{"name":"sellingPrice","type":"uint256"},{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"purchase","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"name","type":"string"},{"indexed":false,"name":"owner","type":"address"}],"name":"Birth","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"oldPrice","type":"uint256"},{"indexed":false,"name":"newPrice","type":"uint256"},{"indexed":false,"name":"prevOwner","type":"address"},{"indexed":false,"name":"winner","type":"address"},{"indexed":false,"name":"name","type":"string"}],"name":"TokenSold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"approved","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"}]
Contract Creation Code
6060604052678ac7230489e80000600055341561001b57600080fd5b33600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611a7f8061006b6000396000f30060606040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302d05d3f1461012257806306fdde0314610177578063095ea7b3146102055780630b7e9c44146102475780631051db341461028057806318160ddd146102ad57806323b872dd146102d65780633f516018146103375780636352211e1461037057806370a08231146103d35780638a5a68f41461042057806393bd90c41461048357806395d89b41146104e65780639f6fb2ba14610574578063a3f4df7e146105d1578063a9059cbb1461065f578063b2e6ceeb146106a1578063b9186d7d146106c4578063d6351433146106fb578063efef39a1146107d1578063f76f8d78146107e9575b600080fd5b341561012d57600080fd5b610135610877565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561018257600080fd5b61018a61089d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ca5780820151818401526020810190506101af565b50505050905090810190601f1680156101f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561021057600080fd5b610245600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506108e0565b005b341561025257600080fd5b61027e600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506109b0565b005b341561028b57600080fd5b610293610a18565b604051808215151515815260200191505060405180910390f35b34156102b857600080fd5b6102c0610a21565b6040518082815260200191505060405180910390f35b34156102e157600080fd5b610335600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a2e565b005b341561034257600080fd5b61036e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a7c565b005b341561037b57600080fd5b6103916004808035906020019091905050610b58565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103de57600080fd5b61040a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610bd1565b6040518082815260200191505060405180910390f35b341561042b57600080fd5b6104416004808035906020019091905050610c1a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561048e57600080fd5b6104a46004808035906020019091905050610c4d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104f157600080fd5b6104f9610c80565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561053957808201518184015260208101905061051e565b50505050905090810190601f1680156105665780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561057f57600080fd5b6105cf600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610cc3565b005b34156105dc57600080fd5b6105e4610d2f565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610624578082015181840152602081019050610609565b50505050905090810190601f1680156106515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561066a57600080fd5b61069f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d68565b005b34156106ac57600080fd5b6106c26004808035906020019091905050610da0565b005b34156106cf57600080fd5b6106e56004808035906020019091905050610e15565b6040518082815260200191505060405180910390f35b341561070657600080fd5b61071c6004808035906020019091905050610e32565b60405180806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b83811015610794578082015181840152602081019050610779565b50505050905090810190601f1680156107c15780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b6107e76004808035906020019091905050610f4e565b005b34156107f457600080fd5b6107fc611282565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561083c578082015181840152602081019050610821565b50505050905090810190601f1680156108695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108a56118c9565b6040805190810160405280600981526020017f52696368546f6b656e0000000000000000000000000000000000000000000000815250905090565b6108ea33826112bb565b15156108f557600080fd5b816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a0c57600080fd5b610a1581611327565b50565b60006001905090565b6000600680549050905090565b610a3883826112bb565b1515610a4357600080fd5b610a4d8282611435565b1515610a5857600080fd5b610a61826114a1565b1515610a6c57600080fd5b610a778383836114da565b505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ad857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610b1457600080fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610bcc57600080fd5b919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c886118c9565b6040805190810160405280600281526020017f5254000000000000000000000000000000000000000000000000000000000000815250905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d1f57600080fd5b610d2c81306000546116dc565b50565b6040805190810160405280600981526020017f52696368546f6b656e000000000000000000000000000000000000000000000081525081565b610d7233826112bb565b1515610d7d57600080fd5b610d86826114a1565b1515610d9157600080fd5b610d9c3383836114da565b5050565b6000803391506001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610de5826114a1565b1515610df057600080fd5b610dfa8284611435565b1515610e0557600080fd5b610e108183856114da565b505050565b600060046000838152602001908152602001600020549050919050565b610e3a6118c9565b6000806000600685815481101515610e4e57fe5b90600052602060002090019050806000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ef35780601f10610ec857610100808354040283529160200191610ef3565b820191906000526020600020905b815481529060010190602001808311610ed657829003601f168201915b50505050509350600460008681526020019081526020016000205492506001600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150509193909250565b60008060008060006001600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169450339350600460008781526020019081526020016000205492508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614151515610fe057600080fd5b610fe9846114a1565b1515610ff457600080fd5b82341015151561100357600080fd5b61101861101184605c61185a565b6064611895565b915061102434846118b0565b905061103b61103484607861185a565b605c611895565b600460008881526020019081526020016000208190555061105d8585886114da565b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415156110d3578473ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156110d257600080fd5b5b7e8201e7bcbf010c2c07de59d6e97cb7e3cf67a46125c49cbc89b9d2cde1f48f8684600460008a815260200190815260200160002054888860068c81548110151561111a57fe5b9060005260206000209001600001604051808781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156112275780601f106111fc57610100808354040283529160200191611227565b820191906000526020600020905b81548152906001019060200180831161120a57829003601f168201915b505097505050505050505060405180910390a13373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561127a57600080fd5b505050505050565b6040805190810160405280600281526020017f525400000000000000000000000000000000000000000000000000000000000081525081565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113da57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015156113d557600080fd5b611432565b8073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561143157600080fd5b5b50565b60008273ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151561163857600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506003600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b6116e46118dd565b600060206040519081016040528086815250915060016006805480600101828161170e91906118f7565b91600052602060002090016000859091909150600082015181600001908051906020019061173d929190611923565b5050500390508063ffffffff168114151561175757600080fd5b7fb3b0cf861f168bcdb275c69da97b2543631552ba562628aa3c7317d4a6089ef281868660405180848152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b838110156117f35780820151818401526020810190506117d8565b50505050905090810190601f1680156118205780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1826004600083815260200190815260200160002081905550611853600085836114da565b5050505050565b600080600084141561186f576000915061188e565b828402905082848281151561188057fe5b0414151561188a57fe5b8091505b5092915050565b60008082848115156118a357fe5b0490508091505092915050565b60008282111515156118be57fe5b818303905092915050565b602060405190810160405280600081525090565b6020604051908101604052806118f16119a3565b81525090565b81548183558181151161191e5781836000526020600020918201910161191d91906119b7565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061196457805160ff1916838001178555611992565b82800160010185558215611992579182015b82811115611991578251825591602001919060010190611976565b5b50905061199f91906119e6565b5090565b602060405190810160405280600081525090565b6119e391905b808211156119df57600080820160006119d69190611a0b565b506001016119bd565b5090565b90565b611a0891905b80821115611a045760008160009055506001016119ec565b5090565b90565b50805460018160011615610100020316600290046000825580601f10611a315750611a50565b601f016020900490600052602060002090810190611a4f91906119e6565b5b505600a165627a7a72305820a637e3f3354dbb3d2da6b9cc4e4a4be1b3b744c720913b38952c07075fd38f5e0029
Deployed Bytecode
0x60606040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302d05d3f1461012257806306fdde0314610177578063095ea7b3146102055780630b7e9c44146102475780631051db341461028057806318160ddd146102ad57806323b872dd146102d65780633f516018146103375780636352211e1461037057806370a08231146103d35780638a5a68f41461042057806393bd90c41461048357806395d89b41146104e65780639f6fb2ba14610574578063a3f4df7e146105d1578063a9059cbb1461065f578063b2e6ceeb146106a1578063b9186d7d146106c4578063d6351433146106fb578063efef39a1146107d1578063f76f8d78146107e9575b600080fd5b341561012d57600080fd5b610135610877565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561018257600080fd5b61018a61089d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ca5780820151818401526020810190506101af565b50505050905090810190601f1680156101f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561021057600080fd5b610245600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506108e0565b005b341561025257600080fd5b61027e600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506109b0565b005b341561028b57600080fd5b610293610a18565b604051808215151515815260200191505060405180910390f35b34156102b857600080fd5b6102c0610a21565b6040518082815260200191505060405180910390f35b34156102e157600080fd5b610335600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a2e565b005b341561034257600080fd5b61036e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a7c565b005b341561037b57600080fd5b6103916004808035906020019091905050610b58565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103de57600080fd5b61040a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610bd1565b6040518082815260200191505060405180910390f35b341561042b57600080fd5b6104416004808035906020019091905050610c1a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561048e57600080fd5b6104a46004808035906020019091905050610c4d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104f157600080fd5b6104f9610c80565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561053957808201518184015260208101905061051e565b50505050905090810190601f1680156105665780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561057f57600080fd5b6105cf600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610cc3565b005b34156105dc57600080fd5b6105e4610d2f565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610624578082015181840152602081019050610609565b50505050905090810190601f1680156106515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561066a57600080fd5b61069f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d68565b005b34156106ac57600080fd5b6106c26004808035906020019091905050610da0565b005b34156106cf57600080fd5b6106e56004808035906020019091905050610e15565b6040518082815260200191505060405180910390f35b341561070657600080fd5b61071c6004808035906020019091905050610e32565b60405180806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b83811015610794578082015181840152602081019050610779565b50505050905090810190601f1680156107c15780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b6107e76004808035906020019091905050610f4e565b005b34156107f457600080fd5b6107fc611282565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561083c578082015181840152602081019050610821565b50505050905090810190601f1680156108695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108a56118c9565b6040805190810160405280600981526020017f52696368546f6b656e0000000000000000000000000000000000000000000000815250905090565b6108ea33826112bb565b15156108f557600080fd5b816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a0c57600080fd5b610a1581611327565b50565b60006001905090565b6000600680549050905090565b610a3883826112bb565b1515610a4357600080fd5b610a4d8282611435565b1515610a5857600080fd5b610a61826114a1565b1515610a6c57600080fd5b610a778383836114da565b505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ad857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610b1457600080fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610bcc57600080fd5b919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c886118c9565b6040805190810160405280600281526020017f5254000000000000000000000000000000000000000000000000000000000000815250905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d1f57600080fd5b610d2c81306000546116dc565b50565b6040805190810160405280600981526020017f52696368546f6b656e000000000000000000000000000000000000000000000081525081565b610d7233826112bb565b1515610d7d57600080fd5b610d86826114a1565b1515610d9157600080fd5b610d9c3383836114da565b5050565b6000803391506001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610de5826114a1565b1515610df057600080fd5b610dfa8284611435565b1515610e0557600080fd5b610e108183856114da565b505050565b600060046000838152602001908152602001600020549050919050565b610e3a6118c9565b6000806000600685815481101515610e4e57fe5b90600052602060002090019050806000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ef35780601f10610ec857610100808354040283529160200191610ef3565b820191906000526020600020905b815481529060010190602001808311610ed657829003601f168201915b50505050509350600460008681526020019081526020016000205492506001600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150509193909250565b60008060008060006001600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169450339350600460008781526020019081526020016000205492508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614151515610fe057600080fd5b610fe9846114a1565b1515610ff457600080fd5b82341015151561100357600080fd5b61101861101184605c61185a565b6064611895565b915061102434846118b0565b905061103b61103484607861185a565b605c611895565b600460008881526020019081526020016000208190555061105d8585886114da565b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415156110d3578473ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156110d257600080fd5b5b7e8201e7bcbf010c2c07de59d6e97cb7e3cf67a46125c49cbc89b9d2cde1f48f8684600460008a815260200190815260200160002054888860068c81548110151561111a57fe5b9060005260206000209001600001604051808781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156112275780601f106111fc57610100808354040283529160200191611227565b820191906000526020600020905b81548152906001019060200180831161120a57829003601f168201915b505097505050505050505060405180910390a13373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561127a57600080fd5b505050505050565b6040805190810160405280600281526020017f525400000000000000000000000000000000000000000000000000000000000081525081565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113da57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015156113d557600080fd5b611432565b8073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561143157600080fd5b5b50565b60008273ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151561163857600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506003600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b6116e46118dd565b600060206040519081016040528086815250915060016006805480600101828161170e91906118f7565b91600052602060002090016000859091909150600082015181600001908051906020019061173d929190611923565b5050500390508063ffffffff168114151561175757600080fd5b7fb3b0cf861f168bcdb275c69da97b2543631552ba562628aa3c7317d4a6089ef281868660405180848152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b838110156117f35780820151818401526020810190506117d8565b50505050905090810190601f1680156118205780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1826004600083815260200190815260200160002081905550611853600085836114da565b5050505050565b600080600084141561186f576000915061188e565b828402905082848281151561188057fe5b0414151561188a57fe5b8091505b5092915050565b60008082848115156118a357fe5b0490508091505092915050565b60008282111515156118be57fe5b818303905092915050565b602060405190810160405280600081525090565b6020604051908101604052806118f16119a3565b81525090565b81548183558181151161191e5781836000526020600020918201910161191d91906119b7565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061196457805160ff1916838001178555611992565b82800160010185558215611992579182015b82811115611991578251825591602001919060010190611976565b5b50905061199f91906119e6565b5090565b602060405190810160405280600081525090565b6119e391905b808211156119df57600080820160006119d69190611a0b565b506001016119bd565b5090565b90565b611a0891905b80821115611a045760008160009055506001016119ec565b5090565b90565b50805460018160011615610100020316600290046000825580601f10611a315750611a50565b601f016020900490600052602060002090810190611a4f91906119e6565b5b505600a165627a7a72305820a637e3f3354dbb3d2da6b9cc4e4a4be1b3b744c720913b38952c07075fd38f5e0029
Swarm Source
bzzr://a637e3f3354dbb3d2da6b9cc4e4a4be1b3b744c720913b38952c07075fd38f5e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.