Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 60 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Payout From Cont... | 5438725 | 2446 days ago | IN | 0 ETH | 0.0000301 | ||||
Change Kitty | 5208068 | 2485 days ago | IN | 0.02 ETH | 0.00068177 | ||||
Purchase | 5208049 | 2485 days ago | IN | 0.0075 ETH | 0.00034598 | ||||
Change Kitty | 5177716 | 2490 days ago | IN | 0.02 ETH | 0.00056814 | ||||
Purchase | 5177696 | 2490 days ago | IN | 0.0075 ETH | 0.00025948 | ||||
Payout From Cont... | 5173216 | 2491 days ago | IN | 0 ETH | 0.0000903 | ||||
Purchase | 5170561 | 2491 days ago | IN | 0.045 ETH | 0.0017299 | ||||
Change Kitty | 5169294 | 2491 days ago | IN | 0.02 ETH | 0.00090902 | ||||
Change Kitty | 5169280 | 2491 days ago | IN | 0.02 ETH | 0.00090902 | ||||
Purchase | 5168858 | 2491 days ago | IN | 0.01 ETH | 0.00071497 | ||||
Change Kitty | 5166636 | 2492 days ago | IN | 0.02 ETH | 0.00068177 | ||||
Purchase | 5166618 | 2492 days ago | IN | 0.01 ETH | 0.00022573 | ||||
Change Kitty | 5166599 | 2492 days ago | IN | 0.02 ETH | 0.00090877 | ||||
Purchase | 5166590 | 2492 days ago | IN | 0.01 ETH | 0.00028573 | ||||
Change Kitty | 5166512 | 2492 days ago | IN | 0.02 ETH | 0.00159079 | ||||
Change Kitty | 5166511 | 2492 days ago | IN | 0.02 ETH | 0.00159079 | ||||
Purchase | 5166490 | 2492 days ago | IN | 0.03 ETH | 0.00048996 | ||||
Purchase | 5166469 | 2492 days ago | IN | 0.03 ETH | 0.00146988 | ||||
Change Kitty | 5166452 | 2492 days ago | IN | 0.02 ETH | 0.00240892 | ||||
Change Kitty | 5166429 | 2492 days ago | IN | 0.02 ETH | 0.00227257 | ||||
Change Kitty | 5166425 | 2492 days ago | IN | 0.02 ETH | 0.00227257 | ||||
Purchase | 5166425 | 2492 days ago | IN | 0.30375 ETH | 0.00075784 | ||||
Purchase | 5166422 | 2492 days ago | IN | 0.045 ETH | 0.0051897 | ||||
Change Kitty | 5166416 | 2492 days ago | IN | 0.02 ETH | 0.00159079 | ||||
Change Kitty | 5166416 | 2492 days ago | IN | 0.02 ETH | 0.00159079 |
Latest 24 internal transactions
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
5438725 | 2446 days ago | 0.0415 ETH | ||||
5208049 | 2485 days ago | 0.00075 ETH | ||||
5208049 | 2485 days ago | 0.006 ETH | ||||
5177696 | 2490 days ago | 0.00075 ETH | ||||
5177696 | 2490 days ago | 0.006 ETH | ||||
5173216 | 2491 days ago | 0.923375 ETH | ||||
5170561 | 2491 days ago | 0.0045 ETH | ||||
5170561 | 2491 days ago | 0.036 ETH | ||||
5166490 | 2492 days ago | 0.024 ETH | ||||
5166469 | 2492 days ago | 0.024 ETH | ||||
5166425 | 2492 days ago | 0.030375 ETH | ||||
5166425 | 2492 days ago | 0.243 ETH | ||||
5166422 | 2492 days ago | 0.0045 ETH | ||||
5166422 | 2492 days ago | 0.036 ETH | ||||
5166404 | 2492 days ago | 0.024 ETH | ||||
5166376 | 2492 days ago | 0.024 ETH | ||||
5166369 | 2492 days ago | 0.072 ETH | ||||
5166368 | 2492 days ago | 0.648 ETH | ||||
5166366 | 2492 days ago | 0.024 ETH | ||||
5166364 | 2492 days ago | 0.024 ETH | ||||
5166363 | 2492 days ago | 0.02 ETH | ||||
5166362 | 2492 days ago | 0.216 ETH | ||||
5166359 | 2492 days ago | 0.072 ETH | ||||
5166352 | 2492 days ago | 0.024 ETH |
Loading...
Loading
Contract Name:
KittyEthPics
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-02-27 */ pragma solidity ^0.4.19; 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 Ownable { address public contractOwner; event ContractOwnershipTransferred(address indexed previousOwner, address indexed newOwner); function Ownable() public { contractOwner = msg.sender; } modifier onlyContractOwner() { require(msg.sender == contractOwner); _; } function transferContractOwnership(address _newOwner) public onlyContractOwner { require(_newOwner != address(0)); ContractOwnershipTransferred(contractOwner, _newOwner); contractOwner = _newOwner; } function payoutFromContract() public onlyContractOwner { contractOwner.transfer(this.balance); } } /// @title Interface for contracts conforming to ERC-721: Non-Fungible Tokens /// @author Dieter Shirley <[email protected]> (https://github.com/dete) 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); // Optional // function name() public view returns (string name); // function symbol() public view returns (string symbol); // function tokenOfOwnerByIndex(address _owner, uint256 _index) external view returns (uint256 tokenId); // function tokensOfOwner(address _owner) external view returns (uint256[] tokenIds); // function tokenMetadata(uint256 _tokenId) public view returns (string infoUrl); } contract KittyEthPics is ERC721, Ownable { event KittyCreated(uint256 tokenId, string name, address owner); event TokenSold(uint256 tokenId, uint256 oldPrice, uint256 newPrice, address prevOwner, address winner, string name); event Transfer(address from, address to, uint256 tokenId); string public constant NAME = "KittyEthPics"; string public constant SYMBOL = "KittyPicsToken"; uint256 private startingPrice = 0.01 ether; mapping (uint256 => address) public kittyIdToOwner; mapping (uint256 => address) public kittyIdToDivs; mapping (address => uint256) private ownershipTokenCount; mapping (uint256 => address) public kittyIdToApproved; mapping (uint256 => uint256) private kittyIdToPrice; /*** DATATYPES ***/ struct Kitty { string name; } Kitty[] private kitties; function approve(address _to, uint256 _tokenId) public { //ERC721 // Caller must own token. require(_owns(msg.sender, _tokenId)); kittyIdToApproved[_tokenId] = _to; Approval(msg.sender, _to, _tokenId); } function balanceOf(address _owner) public view returns (uint256 balance) { //ERC721 return ownershipTokenCount[_owner]; } function createKittyToken(string _name, uint256 _price) private { _createKitty(_name, msg.sender, _price); } function create21KittiesTokens() public onlyContractOwner { uint256 totalKitties = totalSupply(); require (totalKitties<1); // only 21 tokens for start for (uint8 i=1; i<=21; i++) _createKitty("EthKitty", address(this), startingPrice); } function getKitty(uint256 _tokenId) public view returns (string kittyName, uint256 sellingPrice, address owner) { Kitty storage kitty = kitties[_tokenId]; kittyName = kitty.name; sellingPrice = kittyIdToPrice[_tokenId]; owner = kittyIdToOwner[_tokenId]; } function implementsERC721() public pure returns (bool) { return true; } function name() public pure returns (string) { //ERC721 return NAME; } function ownerOf(uint256 _tokenId) public view returns (address owner) { //ERC721 owner = kittyIdToOwner[_tokenId]; require(owner != address(0)); } // Allows someone to send ether and obtain the token function purchase(uint256 _tokenId) public payable { address oldOwner = kittyIdToOwner[_tokenId]; address newOwner = msg.sender; uint256 sellingPrice = kittyIdToPrice[_tokenId]; require(oldOwner != newOwner); require(_addressNotNull(newOwner)); require(msg.value >= sellingPrice); uint256 payment = uint256(SafeMath.div(SafeMath.mul(sellingPrice, 8), 10)); //80% to previous owner uint256 divs_payment = uint256(SafeMath.div(SafeMath.mul(sellingPrice, 1), 10)); //10% divs address divs_address = kittyIdToDivs[_tokenId]; // Next price will rise on 300% kittyIdToPrice[_tokenId] = uint256(SafeMath.mul(sellingPrice, 3)); _transfer(oldOwner, newOwner, _tokenId); // Pay previous tokenOwner if owner is not contract if (oldOwner != address(this)) { oldOwner.transfer(payment); // } // Pay winner tokenOwner if owner is not contract if (divs_address != address(this)) { divs_address.transfer(divs_payment); // } TokenSold(_tokenId, sellingPrice, kittyIdToPrice[_tokenId], oldOwner, newOwner, kitties[_tokenId].name); if (msg.value > sellingPrice) { //if excess pay uint256 purchaseExcess = SafeMath.sub(msg.value, sellingPrice); msg.sender.transfer(purchaseExcess); } } function changeKitty(uint256 _tokenId) public payable { // require(kittyIdToOwner[_tokenId] == msg.sender && msg.value == 20 finney); //tax 0.02eth for change uint256 newPrice = SafeMath.div(kittyIdToPrice[_tokenId], 2); //get two kitties within one createKittyToken("EthKitty", newPrice); createKittyToken("EthKitty", newPrice); kittyIdToOwner[_tokenId] = address(this); //return changed kitty to kittypics kittyIdToPrice[_tokenId] = 10 finney; } function symbol() public pure returns (string) { //ERC721 return SYMBOL; } function takeOwnership(uint256 _tokenId) public { //ERC721 address newOwner = msg.sender; address oldOwner = kittyIdToOwner[_tokenId]; require(_addressNotNull(newOwner)); require(_approved(newOwner, _tokenId)); _transfer(oldOwner, newOwner, _tokenId); } function priceOf(uint256 _tokenId) public view returns (uint256 price) { //for web site view return kittyIdToPrice[_tokenId]; } function ALLownersANDprices(uint256 _startKittyId) public view returns (address[] owners, address[] divs, uint256[] prices) { //for web site view uint256 totalKitties = totalSupply(); if (totalKitties == 0 || _startKittyId >= totalKitties) { // Return an empty array return (new address[](0),new address[](0),new uint256[](0)); } uint256 indexTo; if (totalKitties > _startKittyId+1000) indexTo = _startKittyId + 1000; else indexTo = totalKitties; uint256 totalResultKitties = indexTo - _startKittyId; address[] memory owners_res = new address[](totalResultKitties); address[] memory divs_res = new address[](totalResultKitties); uint256[] memory prices_res = new uint256[](totalResultKitties); for (uint256 kittyId = _startKittyId; kittyId < indexTo; kittyId++) { owners_res[kittyId - _startKittyId] = kittyIdToOwner[kittyId]; divs_res[kittyId - _startKittyId] = kittyIdToDivs[kittyId]; prices_res[kittyId - _startKittyId] = kittyIdToPrice[kittyId]; } return (owners_res, divs_res, prices_res); } function tokensOfOwner(address _owner) public view returns(uint256[] ownerToken) { //ERC721 for web site view uint256 tokenCount = balanceOf(_owner); if (tokenCount == 0) { // Return an empty array return new uint256[](0); } else { uint256[] memory result = new uint256[](tokenCount); uint256 totalKitties = totalSupply(); uint256 resultIndex = 0; uint256 kittyId; for (kittyId = 0; kittyId <= totalKitties; kittyId++) { if (kittyIdToOwner[kittyId] == _owner) { result[resultIndex] = kittyId; resultIndex++; } } return result; } } function totalSupply() public view returns (uint256 total) { //ERC721 return kitties.length; } function transfer(address _to, uint256 _tokenId) public { //ERC721 require(_owns(msg.sender, _tokenId)); require(_addressNotNull(_to)); _transfer(msg.sender, _to, _tokenId); } function transferFrom(address _from, address _to, uint256 _tokenId) public { //ERC721 require(_owns(_from, _tokenId)); require(_approved(_to, _tokenId)); require(_addressNotNull(_to)); _transfer(_from, _to, _tokenId); } /* PRIVATE FUNCTIONS */ function _addressNotNull(address _to) private pure returns (bool) { return _to != address(0); } function _approved(address _to, uint256 _tokenId) private view returns (bool) { return kittyIdToApproved[_tokenId] == _to; } function _createKitty(string _name, address _owner, uint256 _price) private { Kitty memory _kitty = Kitty({ name: _name }); uint256 newKittyId = kitties.push(_kitty) - 1; require(newKittyId == uint256(uint32(newKittyId))); //check maximum limit of tokens KittyCreated(newKittyId, _name, _owner); kittyIdToPrice[newKittyId] = _price; kittyIdToDivs[newKittyId] = _owner; //dividents address; _transfer(address(0), _owner, newKittyId); } function _owns(address _checkedAddr, uint256 _tokenId) private view returns (bool) { return _checkedAddr == kittyIdToOwner[_tokenId]; } function _transfer(address _from, address _to, uint256 _tokenId) private { ownershipTokenCount[_to]++; kittyIdToOwner[_tokenId] = _to; // When creating new kitties _from is 0x0, but we can't account that address. if (_from != address(0)) { ownershipTokenCount[_from]--; // clear any previously approved ownership exchange delete kittyIdToApproved[_tokenId]; } // Emit the transfer event. Transfer(_from, _to, _tokenId); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"kittyIdToApproved","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":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":true,"inputs":[{"name":"","type":"uint256"}],"name":"kittyIdToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"kittyIdToDivs","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"create21KittiesTokens","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":"_owner","type":"address"}],"name":"tokensOfOwner","outputs":[{"name":"ownerToken","type":"uint256[]"}],"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":"payoutFromContract","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":"_newOwner","type":"address"}],"name":"transferContractOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"contractOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getKitty","outputs":[{"name":"kittyName","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":"_startKittyId","type":"uint256"}],"name":"ALLownersANDprices","outputs":[{"name":"owners","type":"address[]"},{"name":"divs","type":"address[]"},{"name":"prices","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"changeKitty","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"name","type":"string"},{"indexed":false,"name":"owner","type":"address"}],"name":"KittyCreated","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":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"ContractOwnershipTransferred","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
6060604052662386f26fc10000600155336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506123958061005e6000396000f300606060405260043610610149576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063044fa7831461014e57806306fdde03146101b1578063095ea7b31461023f5780631051db341461028157806318160ddd146102ae57806323b872dd146102d75780632595a8c914610338578063371627171461039b578063485dc6cf146103fe5780636352211e1461041357806370a08231146104765780638462151c146104c357806395d89b41146105515780639eec4bac146105df578063a3f4df7e146105f4578063a843c51f14610682578063a9059cbb146106bb578063b2e6ceeb146106fd578063b9186d7d14610720578063ce606ee014610757578063e98b7f4d146107ac578063efef39a114610882578063f0d93eae1461089a578063f76f8d78146109a2578063fb866f2f14610a30575b600080fd5b341561015957600080fd5b61016f6004808035906020019091905050610a48565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101bc57600080fd5b6101c4610a7b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102045780820151818401526020810190506101e9565b50505050905090810190601f1680156102315780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561024a57600080fd5b61027f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610abe565b005b341561028c57600080fd5b610294610b8e565b604051808215151515815260200191505060405180910390f35b34156102b957600080fd5b6102c1610b97565b6040518082815260200191505060405180910390f35b34156102e257600080fd5b610336600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ba4565b005b341561034357600080fd5b6103596004808035906020019091905050610bf2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103a657600080fd5b6103bc6004808035906020019091905050610c25565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561040957600080fd5b610411610c58565b005b341561041e57600080fd5b6104346004808035906020019091905050610d34565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561048157600080fd5b6104ad600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610dad565b6040518082815260200191505060405180910390f35b34156104ce57600080fd5b6104fa600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610df6565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561053d578082015181840152602081019050610522565b505050509050019250505060405180910390f35b341561055c57600080fd5b610564610f2d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105a4578082015181840152602081019050610589565b50505050905090810190601f1680156105d15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156105ea57600080fd5b6105f2610f70565b005b34156105ff57600080fd5b610607611045565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561064757808201518184015260208101905061062c565b50505050905090810190601f1680156106745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561068d57600080fd5b6106b9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061107e565b005b34156106c657600080fd5b6106fb600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506111d3565b005b341561070857600080fd5b61071e600480803590602001909190505061120b565b005b341561072b57600080fd5b6107416004808035906020019091905050611280565b6040518082815260200191505060405180910390f35b341561076257600080fd5b61076a61129d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156107b757600080fd5b6107cd60048080359060200190919050506112c2565b60405180806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b8381101561084557808201518184015260208101905061082a565b50505050905090810190601f1680156108725780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b61089860048080359060200190919050506113de565b005b34156108a557600080fd5b6108bb60048080359060200190919050506117d9565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156109065780820151818401526020810190506108eb565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561094857808201518184015260208101905061092d565b50505050905001848103825285818151815260200191508051906020019060200280838360005b8381101561098a57808201518184015260208101905061096f565b50505050905001965050505050505060405180910390f35b34156109ad57600080fd5b6109b5611a89565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109f55780820151818401526020810190506109da565b50505050905090810190601f168015610a225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610a466004808035906020019091905050611ac2565b005b60056020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610a836121b7565b6040805190810160405280600c81526020017f4b69747479457468506963730000000000000000000000000000000000000000815250905090565b610ac83382611c56565b1515610ad357600080fd5b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b60006001905090565b6000600780549050905090565b610bae8382611c56565b1515610bb957600080fd5b610bc38282611cc2565b1515610bce57600080fd5b610bd782611d2e565b1515610be257600080fd5b610bed838383611d67565b505050565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cb657600080fd5b610cbe610b97565b9150600182101515610ccf57600080fd5b600190505b60158160ff16111515610d3057610d236040805190810160405280600881526020017f4574684b6974747900000000000000000000000000000000000000000000000081525030600154611f69565b8080600101915050610cd4565b5050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610da857600080fd5b919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610dfe6121cb565b6000610e086121cb565b6000806000610e1687610dad565b94506000851415610e48576000604051805910610e305750595b90808252806020026020018201604052509550610f23565b84604051805910610e565750595b90808252806020026020018201604052509350610e71610b97565b925060009150600090505b8281111515610f1f578673ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610f1257808483815181101515610efb57fe5b906020019060200201818152505081806001019250505b8080600101915050610e7c565b8395505b5050505050919050565b610f356121b7565b6040805190810160405280600e81526020017f4b6974747950696373546f6b656e000000000000000000000000000000000000815250905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fcb57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561104357600080fd5b565b6040805190810160405280600c81526020017f4b6974747945746850696373000000000000000000000000000000000000000081525081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110d957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561111557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2260a4d0c00902d7996e8f7d669d22564414d41be4d278a40387ddf58179d39260405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6111dd3382611c56565b15156111e857600080fd5b6111f182611d2e565b15156111fc57600080fd5b611207338383611d67565b5050565b6000803391506002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061125082611d2e565b151561125b57600080fd5b6112658284611cc2565b151561127057600080fd5b61127b818385611d67565b505050565b600060066000838152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6112ca6121b7565b60008060006007858154811015156112de57fe5b90600052602060002090019050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113835780601f1061135857610100808354040283529160200191611383565b820191906000526020600020905b81548152906001019060200180831161136657829003601f168201915b50505050509350600660008681526020019081526020016000205492506002600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150509193909250565b60008060008060008060006002600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169650339550600660008981526020019081526020016000205494508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415151561147357600080fd5b61147c86611d2e565b151561148757600080fd5b84341015151561149657600080fd5b6114ab6114a4866008612139565b600a612174565b93506114c26114bb866001612139565b600a612174565b92506003600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150611505856003612139565b600660008a81526020019081526020016000208190555061152787878a611d67565b3073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614151561159d578673ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f19350505050151561159c57600080fd5b5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515611613578173ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050151561161257600080fd5b5b7e8201e7bcbf010c2c07de59d6e97cb7e3cf67a46125c49cbc89b9d2cde1f48f8886600660008c8152602001908152602001600020548a8a60078e81548110151561165a57fe5b9060005260206000209001600001604051808781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156117675780601f1061173c57610100808354040283529160200191611767565b820191906000526020600020905b81548152906001019060200180831161174a57829003601f168201915b505097505050505050505060405180910390a1843411156117cf5761178c348661218f565b90503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156117ce57600080fd5b5b5050505050505050565b6117e16121df565b6117e96121df565b6117f16121cb565b60008060006117fe6121df565b6118066121df565b61180e6121cb565b6000611818610b97565b965060008714806118295750868b10155b156118a257600060405180591061183d5750595b9080825280602002602001820160405250600060405180591061185d5750595b9080825280602002602001820160405250600060405180591061187d5750595b9080825280602002602001820160405250829250819150809050995099509950611a7b565b6103e88b018711156118ba576103e88b0195506118be565b8695505b8a86039450846040518059106118d15750595b90808252806020026020018201604052509350846040518059106118f25750595b90808252806020026020018201604052509250846040518059106119135750595b908082528060200260200182016040525091508a90505b85811015611a71576002600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848c830381518110151561197657fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506003600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838c83038151811015156119f657fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506006600082815260200190815260200160002054828c8303815181101515611a5657fe5b9060200190602002018181525050808060010191505061192a565b8383839950995099505b505050505050509193909250565b6040805190810160405280600e81526020017f4b6974747950696373546f6b656e00000000000000000000000000000000000081525081565b60003373ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015611b38575066470de4df82000034145b1515611b4357600080fd5b611b6160066000848152602001908152602001600020546002612174565b9050611ba26040805190810160405280600881526020017f4574684b69747479000000000000000000000000000000000000000000000000815250826121a8565b611be16040805190810160405280600881526020017f4574684b69747479000000000000000000000000000000000000000000000000815250826121a8565b306002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550662386f26fc1000060066000848152602001908152602001600020819055505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff166005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515611ec557600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b611f716121f3565b6000602060405190810160405280868152509150600160078054806001018281611f9b919061220d565b916000526020600020900160008590919091506000820151816000019080519060200190611fca929190612239565b5050500390508063ffffffff1681141515611fe457600080fd5b7f2e79d389ea739b09ef49b281ad442a07dba991441fcef7590ad7b8c262a3787081868660405180848152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015612080578082015181840152602081019050612065565b50505050905090810190601f1680156120ad5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1826006600083815260200190815260200160002081905550836003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061213260008583611d67565b5050505050565b600080600084141561214e576000915061216d565b828402905082848281151561215f57fe5b0414151561216957fe5b8091505b5092915050565b600080828481151561218257fe5b0490508091505092915050565b600082821115151561219d57fe5b818303905092915050565b6121b3823383611f69565b5050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b6020604051908101604052806122076122b9565b81525090565b8154818355818115116122345781836000526020600020918201910161223391906122cd565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061227a57805160ff19168380011785556122a8565b828001600101855582156122a8579182015b828111156122a757825182559160200191906001019061228c565b5b5090506122b591906122fc565b5090565b602060405190810160405280600081525090565b6122f991905b808211156122f557600080820160006122ec9190612321565b506001016122d3565b5090565b90565b61231e91905b8082111561231a576000816000905550600101612302565b5090565b90565b50805460018160011615610100020316600290046000825580601f106123475750612366565b601f01602090049060005260206000209081019061236591906122fc565b5b505600a165627a7a723058200dd5df60da52da22a766207dd8e3465d44543e5fd4efbb19a2365ea3af4daa900029
Deployed Bytecode
0x606060405260043610610149576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063044fa7831461014e57806306fdde03146101b1578063095ea7b31461023f5780631051db341461028157806318160ddd146102ae57806323b872dd146102d75780632595a8c914610338578063371627171461039b578063485dc6cf146103fe5780636352211e1461041357806370a08231146104765780638462151c146104c357806395d89b41146105515780639eec4bac146105df578063a3f4df7e146105f4578063a843c51f14610682578063a9059cbb146106bb578063b2e6ceeb146106fd578063b9186d7d14610720578063ce606ee014610757578063e98b7f4d146107ac578063efef39a114610882578063f0d93eae1461089a578063f76f8d78146109a2578063fb866f2f14610a30575b600080fd5b341561015957600080fd5b61016f6004808035906020019091905050610a48565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101bc57600080fd5b6101c4610a7b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102045780820151818401526020810190506101e9565b50505050905090810190601f1680156102315780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561024a57600080fd5b61027f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610abe565b005b341561028c57600080fd5b610294610b8e565b604051808215151515815260200191505060405180910390f35b34156102b957600080fd5b6102c1610b97565b6040518082815260200191505060405180910390f35b34156102e257600080fd5b610336600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ba4565b005b341561034357600080fd5b6103596004808035906020019091905050610bf2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103a657600080fd5b6103bc6004808035906020019091905050610c25565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561040957600080fd5b610411610c58565b005b341561041e57600080fd5b6104346004808035906020019091905050610d34565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561048157600080fd5b6104ad600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610dad565b6040518082815260200191505060405180910390f35b34156104ce57600080fd5b6104fa600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610df6565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561053d578082015181840152602081019050610522565b505050509050019250505060405180910390f35b341561055c57600080fd5b610564610f2d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105a4578082015181840152602081019050610589565b50505050905090810190601f1680156105d15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156105ea57600080fd5b6105f2610f70565b005b34156105ff57600080fd5b610607611045565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561064757808201518184015260208101905061062c565b50505050905090810190601f1680156106745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561068d57600080fd5b6106b9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061107e565b005b34156106c657600080fd5b6106fb600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506111d3565b005b341561070857600080fd5b61071e600480803590602001909190505061120b565b005b341561072b57600080fd5b6107416004808035906020019091905050611280565b6040518082815260200191505060405180910390f35b341561076257600080fd5b61076a61129d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156107b757600080fd5b6107cd60048080359060200190919050506112c2565b60405180806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b8381101561084557808201518184015260208101905061082a565b50505050905090810190601f1680156108725780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b61089860048080359060200190919050506113de565b005b34156108a557600080fd5b6108bb60048080359060200190919050506117d9565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156109065780820151818401526020810190506108eb565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561094857808201518184015260208101905061092d565b50505050905001848103825285818151815260200191508051906020019060200280838360005b8381101561098a57808201518184015260208101905061096f565b50505050905001965050505050505060405180910390f35b34156109ad57600080fd5b6109b5611a89565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109f55780820151818401526020810190506109da565b50505050905090810190601f168015610a225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610a466004808035906020019091905050611ac2565b005b60056020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610a836121b7565b6040805190810160405280600c81526020017f4b69747479457468506963730000000000000000000000000000000000000000815250905090565b610ac83382611c56565b1515610ad357600080fd5b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b60006001905090565b6000600780549050905090565b610bae8382611c56565b1515610bb957600080fd5b610bc38282611cc2565b1515610bce57600080fd5b610bd782611d2e565b1515610be257600080fd5b610bed838383611d67565b505050565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cb657600080fd5b610cbe610b97565b9150600182101515610ccf57600080fd5b600190505b60158160ff16111515610d3057610d236040805190810160405280600881526020017f4574684b6974747900000000000000000000000000000000000000000000000081525030600154611f69565b8080600101915050610cd4565b5050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610da857600080fd5b919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610dfe6121cb565b6000610e086121cb565b6000806000610e1687610dad565b94506000851415610e48576000604051805910610e305750595b90808252806020026020018201604052509550610f23565b84604051805910610e565750595b90808252806020026020018201604052509350610e71610b97565b925060009150600090505b8281111515610f1f578673ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610f1257808483815181101515610efb57fe5b906020019060200201818152505081806001019250505b8080600101915050610e7c565b8395505b5050505050919050565b610f356121b7565b6040805190810160405280600e81526020017f4b6974747950696373546f6b656e000000000000000000000000000000000000815250905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fcb57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561104357600080fd5b565b6040805190810160405280600c81526020017f4b6974747945746850696373000000000000000000000000000000000000000081525081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110d957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561111557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2260a4d0c00902d7996e8f7d669d22564414d41be4d278a40387ddf58179d39260405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6111dd3382611c56565b15156111e857600080fd5b6111f182611d2e565b15156111fc57600080fd5b611207338383611d67565b5050565b6000803391506002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061125082611d2e565b151561125b57600080fd5b6112658284611cc2565b151561127057600080fd5b61127b818385611d67565b505050565b600060066000838152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6112ca6121b7565b60008060006007858154811015156112de57fe5b90600052602060002090019050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113835780601f1061135857610100808354040283529160200191611383565b820191906000526020600020905b81548152906001019060200180831161136657829003601f168201915b50505050509350600660008681526020019081526020016000205492506002600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150509193909250565b60008060008060008060006002600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169650339550600660008981526020019081526020016000205494508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415151561147357600080fd5b61147c86611d2e565b151561148757600080fd5b84341015151561149657600080fd5b6114ab6114a4866008612139565b600a612174565b93506114c26114bb866001612139565b600a612174565b92506003600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150611505856003612139565b600660008a81526020019081526020016000208190555061152787878a611d67565b3073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614151561159d578673ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f19350505050151561159c57600080fd5b5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515611613578173ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050151561161257600080fd5b5b7e8201e7bcbf010c2c07de59d6e97cb7e3cf67a46125c49cbc89b9d2cde1f48f8886600660008c8152602001908152602001600020548a8a60078e81548110151561165a57fe5b9060005260206000209001600001604051808781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156117675780601f1061173c57610100808354040283529160200191611767565b820191906000526020600020905b81548152906001019060200180831161174a57829003601f168201915b505097505050505050505060405180910390a1843411156117cf5761178c348661218f565b90503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156117ce57600080fd5b5b5050505050505050565b6117e16121df565b6117e96121df565b6117f16121cb565b60008060006117fe6121df565b6118066121df565b61180e6121cb565b6000611818610b97565b965060008714806118295750868b10155b156118a257600060405180591061183d5750595b9080825280602002602001820160405250600060405180591061185d5750595b9080825280602002602001820160405250600060405180591061187d5750595b9080825280602002602001820160405250829250819150809050995099509950611a7b565b6103e88b018711156118ba576103e88b0195506118be565b8695505b8a86039450846040518059106118d15750595b90808252806020026020018201604052509350846040518059106118f25750595b90808252806020026020018201604052509250846040518059106119135750595b908082528060200260200182016040525091508a90505b85811015611a71576002600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848c830381518110151561197657fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506003600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838c83038151811015156119f657fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506006600082815260200190815260200160002054828c8303815181101515611a5657fe5b9060200190602002018181525050808060010191505061192a565b8383839950995099505b505050505050509193909250565b6040805190810160405280600e81526020017f4b6974747950696373546f6b656e00000000000000000000000000000000000081525081565b60003373ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015611b38575066470de4df82000034145b1515611b4357600080fd5b611b6160066000848152602001908152602001600020546002612174565b9050611ba26040805190810160405280600881526020017f4574684b69747479000000000000000000000000000000000000000000000000815250826121a8565b611be16040805190810160405280600881526020017f4574684b69747479000000000000000000000000000000000000000000000000815250826121a8565b306002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550662386f26fc1000060066000848152602001908152602001600020819055505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff166005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515611ec557600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b611f716121f3565b6000602060405190810160405280868152509150600160078054806001018281611f9b919061220d565b916000526020600020900160008590919091506000820151816000019080519060200190611fca929190612239565b5050500390508063ffffffff1681141515611fe457600080fd5b7f2e79d389ea739b09ef49b281ad442a07dba991441fcef7590ad7b8c262a3787081868660405180848152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015612080578082015181840152602081019050612065565b50505050905090810190601f1680156120ad5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1826006600083815260200190815260200160002081905550836003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061213260008583611d67565b5050505050565b600080600084141561214e576000915061216d565b828402905082848281151561215f57fe5b0414151561216957fe5b8091505b5092915050565b600080828481151561218257fe5b0490508091505092915050565b600082821115151561219d57fe5b818303905092915050565b6121b3823383611f69565b5050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b6020604051908101604052806122076122b9565b81525090565b8154818355818115116122345781836000526020600020918201910161223391906122cd565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061227a57805160ff19168380011785556122a8565b828001600101855582156122a8579182015b828111156122a757825182559160200191906001019061228c565b5b5090506122b591906122fc565b5090565b602060405190810160405280600081525090565b6122f991905b808211156122f557600080820160006122ec9190612321565b506001016122d3565b5090565b90565b61231e91905b8082111561231a576000816000905550600101612302565b5090565b90565b50805460018160011615610100020316600290046000825580601f106123475750612366565b601f01602090049060005260206000209081019061236591906122fc565b5b505600a165627a7a723058200dd5df60da52da22a766207dd8e3465d44543e5fd4efbb19a2365ea3af4daa900029
Swarm Source
bzzr://0dd5df60da52da22a766207dd8e3465d44543e5fd4efbb19a2365ea3af4daa90
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.