More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 496 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Unstake | 16207000 | 583 days ago | IN | 0 ETH | 0.00111882 | ||||
Unstake | 16206986 | 583 days ago | IN | 0 ETH | 0.00122576 | ||||
Unstake | 15618087 | 665 days ago | IN | 0 ETH | 0.00144506 | ||||
Unstake | 15618079 | 665 days ago | IN | 0 ETH | 0.00110587 | ||||
Unstake | 15618079 | 665 days ago | IN | 0 ETH | 0.0013132 | ||||
Unstake | 15240765 | 724 days ago | IN | 0 ETH | 0.00102583 | ||||
Unstake | 15240764 | 724 days ago | IN | 0 ETH | 0.00093717 | ||||
Unstake | 15240764 | 724 days ago | IN | 0 ETH | 0.00093943 | ||||
Unstake | 15240764 | 724 days ago | IN | 0 ETH | 0.00093492 | ||||
Unstake | 15240764 | 724 days ago | IN | 0 ETH | 0.00092816 | ||||
Stake | 15225257 | 726 days ago | IN | 0 ETH | 0.00263735 | ||||
Unstake | 15220931 | 727 days ago | IN | 0 ETH | 0.00115193 | ||||
Unstake | 15193265 | 731 days ago | IN | 0 ETH | 0.00320061 | ||||
Unstake | 15146655 | 738 days ago | IN | 0 ETH | 0.00160119 | ||||
Unstake | 15146620 | 738 days ago | IN | 0 ETH | 0.00130453 | ||||
Stake | 15135365 | 740 days ago | IN | 0 ETH | 0.00508068 | ||||
Stake | 15114734 | 743 days ago | IN | 0 ETH | 0.00226835 | ||||
Stake | 15108338 | 744 days ago | IN | 0 ETH | 0.00121296 | ||||
Stake | 15108325 | 744 days ago | IN | 0 ETH | 0.0012496 | ||||
Stake | 15108310 | 744 days ago | IN | 0 ETH | 0.00125364 | ||||
Stake | 15108293 | 744 days ago | IN | 0 ETH | 0.00118424 | ||||
Stake | 15081968 | 748 days ago | IN | 0 ETH | 0.00195985 | ||||
Stake | 15081968 | 748 days ago | IN | 0 ETH | 0.00236445 | ||||
Claim Reward | 15066943 | 751 days ago | IN | 0 ETH | 0.000606 | ||||
Stake | 15063548 | 751 days ago | IN | 0 ETH | 0.00232881 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Staking
Compiler Version
v0.8.4+commit.c7e474f2
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.7.0 <0.9.0; interface ERC721 /* is ERC165 */ { event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId); event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId); event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved); function balanceOf(address _owner) external view returns (uint256); function ownerOf(uint256 _tokenId) external view returns (address); function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes memory data) external payable; function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable; function transferFrom(address _from, address _to, uint256 _tokenId) external payable; function approve(address _approved, uint256 _tokenId) external payable; function setApprovalForAll(address _operator, bool _approved) external; function getApproved(uint256 _tokenId) external view returns (address); function isApprovedForAll(address _owner, address _operator) external view returns (bool); } interface ERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } /** * @title ERC721 token receiver interface * @dev Interface for any contract that wants to support safeTransfers * from ERC721 asset contracts. */ interface IERC721Receiver { /** * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} * by `operator` from `from`, this function is called. * * It must return its Solidity selector to confirm the token transfer. * If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. * * The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`. */ function onERC721Received( address operator, address from, uint256 tokenId, bytes calldata data ) external returns (bytes4); } contract Staking is Ownable, IERC721Receiver { mapping(uint=>uint) public stakingStartTime; // Timestamp of when the staking started. mapping(uint=>address) public tokenOwner; // Owner of the token mapping(uint=>uint) public tokenLevel; // Level of the token mapping(uint=>uint) public lastClaimTime; // Timestamp of when the user last claimed. mapping(address=>uint[]) public stakers; // stakers mapped to tokens uint public reward = 10; // Basic Reward uint public maxLevel = 20; ERC721 erc721; // NFT contract ERC20 erc20; // Reward Token Contract bool public stakingStarted; uint public stakingPeriod = 24 hours; /** * @dev Sets the NFT contract. Can only be called by the current owner. * @notice Once you deployed this smart contract, don't forget to call this method. */ function setErc721(address addr) public onlyOwner { erc721 = ERC721(addr); } /** * @dev Sets the ERC20 reward contract. Can only be called by the current owner. * @notice Once you deployed this smart contract, don't forget to call this method. */ function setErc20(address addr) public onlyOwner { erc20 = ERC20(addr); } /** * @dev Sets if the staking is started or not. Can only be called by the current owner. * @notice The staking works only after you set the staking 'true' */ function setStakingStarted(bool s) public onlyOwner { stakingStarted = s; } function setMaxLevel(uint _level) public onlyOwner { maxLevel = _level; } /** * @dev Starts staking of the 'tokenId' Can only be called by the owner of the tokenId */ function stake(uint tokenId, uint level) external { require(level > 0, "below 0"); require(level <= maxLevel, "over max level"); require(erc721.ownerOf(tokenId) == msg.sender, "You are not the owner."); require(stakingStartTime[tokenId] == 0, "The Token is already on staking."); stakers[msg.sender].push(tokenId); erc721.safeTransferFrom(msg.sender, address(this), tokenId); stakingStartTime[tokenId] = block.timestamp; tokenOwner[tokenId] = msg.sender; tokenLevel[tokenId] = level; lastClaimTime[tokenId] = block.timestamp; } function getStakedTokens(address _user) public view returns (uint[] memory) { return stakers[_user]; } /** * @dev Unstake 'tokenId' Can only be called by the owner of the tokenId Can only be called 1 day after staking */ function unstake(uint tokenId) external { require(stakingStartTime[tokenId] > 0, "This token is not on staking."); require(tokenOwner[tokenId] == msg.sender, "You are not the owner of this token."); uint rwd = calcReward(tokenId); if(rwd > 0) { erc20.transfer(msg.sender, rwd * 10 ** 18); } erc721.safeTransferFrom(address(this), tokenOwner[tokenId], tokenId); uint256 index = indexOf(stakers[msg.sender], tokenId); delete stakers[msg.sender][index]; stakingStartTime[tokenId] = 0; lastClaimTime[tokenId] = 0; tokenOwner[tokenId] = address(0); } function indexOf(uint256[] memory arr, uint256 searchFor) private returns (uint256) { for (uint256 i = 0; i < arr.length; i++) { if (arr[i] == searchFor) { return i; } } revert("Not Found"); } /** * @dev Unstake 'tokenId' Can only be called by the owner of the tokenId Can only be called 1 day after the last claim */ function claimReward(uint tokenId) external { require(stakingStartTime[tokenId] > 0, "This token is not on staking."); require(tokenOwner[tokenId] == msg.sender, "You are not the owner of this token."); uint rwd = calcReward(tokenId); require(rwd > 0, "You don't have funds to claim."); erc20.transfer(msg.sender, rwd * 10 ** 18); lastClaimTime[tokenId] = block.timestamp - (block.timestamp - lastClaimTime[tokenId]) % (stakingPeriod); } /** * @dev Calculates the reward of 'tokenId' */ function calcReward(uint tokenId) public view returns(uint) { uint rwd; if(lastClaimTime[tokenId] > 0) { rwd = (reward + tokenLevel[tokenId]) * ((block.timestamp - lastClaimTime[tokenId]) / stakingPeriod); } return rwd; } function onERC721Received( address operator, address from, uint256 tokenId, bytes calldata data ) external override returns (bytes4) { return bytes4(keccak256("onERC721Received(address,address,uint256,bytes)")); } }
{ "remappings": [], "optimizer": { "enabled": false, "runs": 200 }, "evmVersion": "istanbul", "libraries": {}, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"calcReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"claimReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getStakedTokens","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"lastClaimTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxLevel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setErc20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setErc721","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_level","type":"uint256"}],"name":"setMaxLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"s","type":"bool"}],"name":"setStakingStarted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"stakers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"stakingStartTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingStarted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokenLevel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokenOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"unstake","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052600a600655601460075562015180600a5534801561002157600080fd5b5061003e61003361004360201b60201c565b61004b60201b60201c565b61010f565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612221806200011f6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80637b0472f0116100b8578063c03d5b471161007c578063c03d5b4714610387578063c8b6cbf7146103a5578063cc06c359146103d5578063ee9b80a4146103f3578063f2fde38b1461040f578063f899ccd61461042b57610142565b80637b0472f0146102d1578063877dab7e146102ed5780638da5cb5b1461031d578063ab8ece8b1461033b578063ae169a501461036b57610142565b8063344f1ba51161010a578063344f1ba514610211578063544c465c1461022d57806363c28db11461025d5780636b6f01701461028d578063715018a6146102ab578063731ed3a6146102b557610142565b8063150b7a02146101475780631c06adcd146101775780631caaa487146101a7578063228cb733146101d75780632e17de78146101f5575b600080fd5b610161600480360381019061015c9190611755565b610447565b60405161016e9190611b9f565b60405180910390f35b610191600480360381019061018c9190611863565b610475565b60405161019e9190611cfa565b60405180910390f35b6101c160048036038101906101bc9190611863565b61048d565b6040516101ce9190611ae7565b60405180910390f35b6101df6104c0565b6040516101ec9190611cfa565b60405180910390f35b61020f600480360381019061020a9190611863565b6104c6565b005b61022b60048036038101906102269190611863565b610905565b005b61024760048036038101906102429190611863565b61098b565b6040516102549190611cfa565b60405180910390f35b61027760048036038101906102729190611703565b610a0d565b6040516102849190611b62565b60405180910390f35b610295610aa4565b6040516102a29190611b84565b60405180910390f35b6102b3610ab7565b005b6102cf60048036038101906102ca9190611811565b610b3f565b005b6102eb60048036038101906102e6919061188c565b610bd8565b005b61030760048036038101906103029190611863565b610f63565b6040516103149190611cfa565b60405180910390f35b610325610f7b565b6040516103329190611ae7565b60405180910390f35b61035560048036038101906103509190611863565b610fa4565b6040516103629190611cfa565b60405180910390f35b61038560048036038101906103809190611863565b610fbc565b005b61038f611218565b60405161039c9190611cfa565b60405180910390f35b6103bf60048036038101906103ba91906117d5565b61121e565b6040516103cc9190611cfa565b60405180910390f35b6103dd61124f565b6040516103ea9190611cfa565b60405180910390f35b61040d60048036038101906104089190611703565b611255565b005b61042960048036038101906104249190611703565b611315565b005b61044560048036038101906104409190611703565b61140d565b005b60007f150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f905095945050505050565b60016020528060005260406000206000915090505481565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b600060016000838152602001908152602001600020541161051c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051390611c1a565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b490611bfa565b60405180910390fd5b60006105c88261098b565b9050600081111561069757600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33670de0b6b3a7640000846106269190611de6565b6040518363ffffffff1660e01b8152600401610643929190611b39565b602060405180830381600087803b15801561065d57600080fd5b505af1158015610671573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610695919061183a565b505b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e306002600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518463ffffffff1660e01b815260040161072993929190611b02565b600060405180830381600087803b15801561074357600080fd5b505af1158015610757573d6000803e3d6000fd5b5050505060006107f4600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156107e957602002820191906000526020600020905b8154815260200190600101908083116107d5575b5050505050846114cd565b9050600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020818154811061086d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009055600060016000858152602001908152602001600020819055506000600460008581526020019081526020016000208190555060006002600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b61090d611584565b73ffffffffffffffffffffffffffffffffffffffff1661092b610f7b565b73ffffffffffffffffffffffffffffffffffffffff1614610981576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097890611c9a565b60405180910390fd5b8060078190555050565b600080600060046000858152602001908152602001600020541115610a0457600a546004600085815260200190815260200160002054426109cc9190611e40565b6109d69190611db5565b60036000858152602001908152602001600020546006546109f79190611d5f565b610a019190611de6565b90505b80915050919050565b6060600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610a9857602002820191906000526020600020905b815481526020019060010190808311610a84575b50505050509050919050565b600960149054906101000a900460ff1681565b610abf611584565b73ffffffffffffffffffffffffffffffffffffffff16610add610f7b565b73ffffffffffffffffffffffffffffffffffffffff1614610b33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2a90611c9a565b60405180910390fd5b610b3d600061158c565b565b610b47611584565b73ffffffffffffffffffffffffffffffffffffffff16610b65610f7b565b73ffffffffffffffffffffffffffffffffffffffff1614610bbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb290611c9a565b60405180910390fd5b80600960146101000a81548160ff02191690831515021790555050565b60008111610c1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1290611cba565b60405180910390fd5b600754811115610c60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5790611c3a565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e846040518263ffffffff1660e01b8152600401610cd29190611cfa565b60206040518083038186803b158015610cea57600080fd5b505afa158015610cfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d22919061172c565b73ffffffffffffffffffffffffffffffffffffffff1614610d78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6f90611cda565b60405180910390fd5b6000600160008481526020019081526020016000205414610dce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc590611c7a565b60405180910390fd5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020829080600181540180825580915050600190039060005260206000200160009091909190915055600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3330856040518463ffffffff1660e01b8152600401610e9393929190611b02565b600060405180830381600087803b158015610ead57600080fd5b505af1158015610ec1573d6000803e3d6000fd5b50505050426001600084815260200190815260200160002081905550336002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060036000848152602001908152602001600020819055504260046000848152602001908152602001600020819055505050565b60046020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60036020528060005260406000206000915090505481565b6000600160008381526020019081526020016000205411611012576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100990611c1a565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110aa90611bfa565b60405180910390fd5b60006110be8261098b565b905060008111611103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fa90611c5a565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33670de0b6b3a7640000846111569190611de6565b6040518363ffffffff1660e01b8152600401611173929190611b39565b602060405180830381600087803b15801561118d57600080fd5b505af11580156111a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c5919061183a565b50600a546004600084815260200190815260200160002054426111e89190611e40565b6111f29190611f31565b426111fd9190611e40565b60046000848152602001908152602001600020819055505050565b600a5481565b6005602052816000526040600020818154811061123a57600080fd5b90600052602060002001600091509150505481565b60075481565b61125d611584565b73ffffffffffffffffffffffffffffffffffffffff1661127b610f7b565b73ffffffffffffffffffffffffffffffffffffffff16146112d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c890611c9a565b60405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61131d611584565b73ffffffffffffffffffffffffffffffffffffffff1661133b610f7b565b73ffffffffffffffffffffffffffffffffffffffff1614611391576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138890611c9a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611401576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f890611bda565b60405180910390fd5b61140a8161158c565b50565b611415611584565b73ffffffffffffffffffffffffffffffffffffffff16611433610f7b565b73ffffffffffffffffffffffffffffffffffffffff1614611489576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148090611c9a565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600090505b83518110156115425782848281518110611518577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151141561152f578091505061157e565b808061153a90611ee8565b9150506114d5565b506040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157590611bba565b60405180910390fd5b92915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008135905061165f816121a6565b92915050565b600081519050611674816121a6565b92915050565b600081359050611689816121bd565b92915050565b60008151905061169e816121bd565b92915050565b60008083601f8401126116b657600080fd5b8235905067ffffffffffffffff8111156116cf57600080fd5b6020830191508360018202830111156116e757600080fd5b9250929050565b6000813590506116fd816121d4565b92915050565b60006020828403121561171557600080fd5b600061172384828501611650565b91505092915050565b60006020828403121561173e57600080fd5b600061174c84828501611665565b91505092915050565b60008060008060006080868803121561176d57600080fd5b600061177b88828901611650565b955050602061178c88828901611650565b945050604061179d888289016116ee565b935050606086013567ffffffffffffffff8111156117ba57600080fd5b6117c6888289016116a4565b92509250509295509295909350565b600080604083850312156117e857600080fd5b60006117f685828601611650565b9250506020611807858286016116ee565b9150509250929050565b60006020828403121561182357600080fd5b60006118318482850161167a565b91505092915050565b60006020828403121561184c57600080fd5b600061185a8482850161168f565b91505092915050565b60006020828403121561187557600080fd5b6000611883848285016116ee565b91505092915050565b6000806040838503121561189f57600080fd5b60006118ad858286016116ee565b92505060206118be858286016116ee565b9150509250929050565b60006118d48383611ac9565b60208301905092915050565b6118e981611e74565b82525050565b60006118fa82611d25565b6119048185611d3d565b935061190f83611d15565b8060005b8381101561194057815161192788826118c8565b975061193283611d30565b925050600181019050611913565b5085935050505092915050565b61195681611e86565b82525050565b61196581611e92565b82525050565b6000611978600983611d4e565b915061198382611fc0565b602082019050919050565b600061199b602683611d4e565b91506119a682611fe9565b604082019050919050565b60006119be602483611d4e565b91506119c982612038565b604082019050919050565b60006119e1601d83611d4e565b91506119ec82612087565b602082019050919050565b6000611a04600e83611d4e565b9150611a0f826120b0565b602082019050919050565b6000611a27601e83611d4e565b9150611a32826120d9565b602082019050919050565b6000611a4a602083611d4e565b9150611a5582612102565b602082019050919050565b6000611a6d602083611d4e565b9150611a788261212b565b602082019050919050565b6000611a90600783611d4e565b9150611a9b82612154565b602082019050919050565b6000611ab3601683611d4e565b9150611abe8261217d565b602082019050919050565b611ad281611ede565b82525050565b611ae181611ede565b82525050565b6000602082019050611afc60008301846118e0565b92915050565b6000606082019050611b1760008301866118e0565b611b2460208301856118e0565b611b316040830184611ad8565b949350505050565b6000604082019050611b4e60008301856118e0565b611b5b6020830184611ad8565b9392505050565b60006020820190508181036000830152611b7c81846118ef565b905092915050565b6000602082019050611b99600083018461194d565b92915050565b6000602082019050611bb4600083018461195c565b92915050565b60006020820190508181036000830152611bd38161196b565b9050919050565b60006020820190508181036000830152611bf38161198e565b9050919050565b60006020820190508181036000830152611c13816119b1565b9050919050565b60006020820190508181036000830152611c33816119d4565b9050919050565b60006020820190508181036000830152611c53816119f7565b9050919050565b60006020820190508181036000830152611c7381611a1a565b9050919050565b60006020820190508181036000830152611c9381611a3d565b9050919050565b60006020820190508181036000830152611cb381611a60565b9050919050565b60006020820190508181036000830152611cd381611a83565b9050919050565b60006020820190508181036000830152611cf381611aa6565b9050919050565b6000602082019050611d0f6000830184611ad8565b92915050565b6000819050602082019050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000611d6a82611ede565b9150611d7583611ede565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611daa57611da9611f62565b5b828201905092915050565b6000611dc082611ede565b9150611dcb83611ede565b925082611ddb57611dda611f91565b5b828204905092915050565b6000611df182611ede565b9150611dfc83611ede565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611e3557611e34611f62565b5b828202905092915050565b6000611e4b82611ede565b9150611e5683611ede565b925082821015611e6957611e68611f62565b5b828203905092915050565b6000611e7f82611ebe565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000611ef382611ede565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611f2657611f25611f62565b5b600182019050919050565b6000611f3c82611ede565b9150611f4783611ede565b925082611f5757611f56611f91565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e6f7420466f756e640000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f596f7520617265206e6f7420746865206f776e6572206f66207468697320746f60008201527f6b656e2e00000000000000000000000000000000000000000000000000000000602082015250565b7f5468697320746f6b656e206973206e6f74206f6e207374616b696e672e000000600082015250565b7f6f766572206d6178206c6576656c000000000000000000000000000000000000600082015250565b7f596f7520646f6e277420686176652066756e647320746f20636c61696d2e0000600082015250565b7f54686520546f6b656e20697320616c7265616479206f6e207374616b696e672e600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f62656c6f77203000000000000000000000000000000000000000000000000000600082015250565b7f596f7520617265206e6f7420746865206f776e65722e00000000000000000000600082015250565b6121af81611e74565b81146121ba57600080fd5b50565b6121c681611e86565b81146121d157600080fd5b50565b6121dd81611ede565b81146121e857600080fd5b5056fea2646970667358221220b006b99a45facaba3285d9b1c9a5125095edebc82763fbfb28903970a35f1aa164736f6c63430008040033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101425760003560e01c80637b0472f0116100b8578063c03d5b471161007c578063c03d5b4714610387578063c8b6cbf7146103a5578063cc06c359146103d5578063ee9b80a4146103f3578063f2fde38b1461040f578063f899ccd61461042b57610142565b80637b0472f0146102d1578063877dab7e146102ed5780638da5cb5b1461031d578063ab8ece8b1461033b578063ae169a501461036b57610142565b8063344f1ba51161010a578063344f1ba514610211578063544c465c1461022d57806363c28db11461025d5780636b6f01701461028d578063715018a6146102ab578063731ed3a6146102b557610142565b8063150b7a02146101475780631c06adcd146101775780631caaa487146101a7578063228cb733146101d75780632e17de78146101f5575b600080fd5b610161600480360381019061015c9190611755565b610447565b60405161016e9190611b9f565b60405180910390f35b610191600480360381019061018c9190611863565b610475565b60405161019e9190611cfa565b60405180910390f35b6101c160048036038101906101bc9190611863565b61048d565b6040516101ce9190611ae7565b60405180910390f35b6101df6104c0565b6040516101ec9190611cfa565b60405180910390f35b61020f600480360381019061020a9190611863565b6104c6565b005b61022b60048036038101906102269190611863565b610905565b005b61024760048036038101906102429190611863565b61098b565b6040516102549190611cfa565b60405180910390f35b61027760048036038101906102729190611703565b610a0d565b6040516102849190611b62565b60405180910390f35b610295610aa4565b6040516102a29190611b84565b60405180910390f35b6102b3610ab7565b005b6102cf60048036038101906102ca9190611811565b610b3f565b005b6102eb60048036038101906102e6919061188c565b610bd8565b005b61030760048036038101906103029190611863565b610f63565b6040516103149190611cfa565b60405180910390f35b610325610f7b565b6040516103329190611ae7565b60405180910390f35b61035560048036038101906103509190611863565b610fa4565b6040516103629190611cfa565b60405180910390f35b61038560048036038101906103809190611863565b610fbc565b005b61038f611218565b60405161039c9190611cfa565b60405180910390f35b6103bf60048036038101906103ba91906117d5565b61121e565b6040516103cc9190611cfa565b60405180910390f35b6103dd61124f565b6040516103ea9190611cfa565b60405180910390f35b61040d60048036038101906104089190611703565b611255565b005b61042960048036038101906104249190611703565b611315565b005b61044560048036038101906104409190611703565b61140d565b005b60007f150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f905095945050505050565b60016020528060005260406000206000915090505481565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b600060016000838152602001908152602001600020541161051c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051390611c1a565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b490611bfa565b60405180910390fd5b60006105c88261098b565b9050600081111561069757600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33670de0b6b3a7640000846106269190611de6565b6040518363ffffffff1660e01b8152600401610643929190611b39565b602060405180830381600087803b15801561065d57600080fd5b505af1158015610671573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610695919061183a565b505b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e306002600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518463ffffffff1660e01b815260040161072993929190611b02565b600060405180830381600087803b15801561074357600080fd5b505af1158015610757573d6000803e3d6000fd5b5050505060006107f4600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156107e957602002820191906000526020600020905b8154815260200190600101908083116107d5575b5050505050846114cd565b9050600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020818154811061086d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009055600060016000858152602001908152602001600020819055506000600460008581526020019081526020016000208190555060006002600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b61090d611584565b73ffffffffffffffffffffffffffffffffffffffff1661092b610f7b565b73ffffffffffffffffffffffffffffffffffffffff1614610981576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097890611c9a565b60405180910390fd5b8060078190555050565b600080600060046000858152602001908152602001600020541115610a0457600a546004600085815260200190815260200160002054426109cc9190611e40565b6109d69190611db5565b60036000858152602001908152602001600020546006546109f79190611d5f565b610a019190611de6565b90505b80915050919050565b6060600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610a9857602002820191906000526020600020905b815481526020019060010190808311610a84575b50505050509050919050565b600960149054906101000a900460ff1681565b610abf611584565b73ffffffffffffffffffffffffffffffffffffffff16610add610f7b565b73ffffffffffffffffffffffffffffffffffffffff1614610b33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2a90611c9a565b60405180910390fd5b610b3d600061158c565b565b610b47611584565b73ffffffffffffffffffffffffffffffffffffffff16610b65610f7b565b73ffffffffffffffffffffffffffffffffffffffff1614610bbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb290611c9a565b60405180910390fd5b80600960146101000a81548160ff02191690831515021790555050565b60008111610c1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1290611cba565b60405180910390fd5b600754811115610c60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5790611c3a565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e846040518263ffffffff1660e01b8152600401610cd29190611cfa565b60206040518083038186803b158015610cea57600080fd5b505afa158015610cfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d22919061172c565b73ffffffffffffffffffffffffffffffffffffffff1614610d78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6f90611cda565b60405180910390fd5b6000600160008481526020019081526020016000205414610dce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc590611c7a565b60405180910390fd5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020829080600181540180825580915050600190039060005260206000200160009091909190915055600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3330856040518463ffffffff1660e01b8152600401610e9393929190611b02565b600060405180830381600087803b158015610ead57600080fd5b505af1158015610ec1573d6000803e3d6000fd5b50505050426001600084815260200190815260200160002081905550336002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060036000848152602001908152602001600020819055504260046000848152602001908152602001600020819055505050565b60046020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60036020528060005260406000206000915090505481565b6000600160008381526020019081526020016000205411611012576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100990611c1a565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110aa90611bfa565b60405180910390fd5b60006110be8261098b565b905060008111611103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fa90611c5a565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33670de0b6b3a7640000846111569190611de6565b6040518363ffffffff1660e01b8152600401611173929190611b39565b602060405180830381600087803b15801561118d57600080fd5b505af11580156111a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c5919061183a565b50600a546004600084815260200190815260200160002054426111e89190611e40565b6111f29190611f31565b426111fd9190611e40565b60046000848152602001908152602001600020819055505050565b600a5481565b6005602052816000526040600020818154811061123a57600080fd5b90600052602060002001600091509150505481565b60075481565b61125d611584565b73ffffffffffffffffffffffffffffffffffffffff1661127b610f7b565b73ffffffffffffffffffffffffffffffffffffffff16146112d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c890611c9a565b60405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61131d611584565b73ffffffffffffffffffffffffffffffffffffffff1661133b610f7b565b73ffffffffffffffffffffffffffffffffffffffff1614611391576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138890611c9a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611401576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f890611bda565b60405180910390fd5b61140a8161158c565b50565b611415611584565b73ffffffffffffffffffffffffffffffffffffffff16611433610f7b565b73ffffffffffffffffffffffffffffffffffffffff1614611489576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148090611c9a565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600090505b83518110156115425782848281518110611518577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151141561152f578091505061157e565b808061153a90611ee8565b9150506114d5565b506040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157590611bba565b60405180910390fd5b92915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008135905061165f816121a6565b92915050565b600081519050611674816121a6565b92915050565b600081359050611689816121bd565b92915050565b60008151905061169e816121bd565b92915050565b60008083601f8401126116b657600080fd5b8235905067ffffffffffffffff8111156116cf57600080fd5b6020830191508360018202830111156116e757600080fd5b9250929050565b6000813590506116fd816121d4565b92915050565b60006020828403121561171557600080fd5b600061172384828501611650565b91505092915050565b60006020828403121561173e57600080fd5b600061174c84828501611665565b91505092915050565b60008060008060006080868803121561176d57600080fd5b600061177b88828901611650565b955050602061178c88828901611650565b945050604061179d888289016116ee565b935050606086013567ffffffffffffffff8111156117ba57600080fd5b6117c6888289016116a4565b92509250509295509295909350565b600080604083850312156117e857600080fd5b60006117f685828601611650565b9250506020611807858286016116ee565b9150509250929050565b60006020828403121561182357600080fd5b60006118318482850161167a565b91505092915050565b60006020828403121561184c57600080fd5b600061185a8482850161168f565b91505092915050565b60006020828403121561187557600080fd5b6000611883848285016116ee565b91505092915050565b6000806040838503121561189f57600080fd5b60006118ad858286016116ee565b92505060206118be858286016116ee565b9150509250929050565b60006118d48383611ac9565b60208301905092915050565b6118e981611e74565b82525050565b60006118fa82611d25565b6119048185611d3d565b935061190f83611d15565b8060005b8381101561194057815161192788826118c8565b975061193283611d30565b925050600181019050611913565b5085935050505092915050565b61195681611e86565b82525050565b61196581611e92565b82525050565b6000611978600983611d4e565b915061198382611fc0565b602082019050919050565b600061199b602683611d4e565b91506119a682611fe9565b604082019050919050565b60006119be602483611d4e565b91506119c982612038565b604082019050919050565b60006119e1601d83611d4e565b91506119ec82612087565b602082019050919050565b6000611a04600e83611d4e565b9150611a0f826120b0565b602082019050919050565b6000611a27601e83611d4e565b9150611a32826120d9565b602082019050919050565b6000611a4a602083611d4e565b9150611a5582612102565b602082019050919050565b6000611a6d602083611d4e565b9150611a788261212b565b602082019050919050565b6000611a90600783611d4e565b9150611a9b82612154565b602082019050919050565b6000611ab3601683611d4e565b9150611abe8261217d565b602082019050919050565b611ad281611ede565b82525050565b611ae181611ede565b82525050565b6000602082019050611afc60008301846118e0565b92915050565b6000606082019050611b1760008301866118e0565b611b2460208301856118e0565b611b316040830184611ad8565b949350505050565b6000604082019050611b4e60008301856118e0565b611b5b6020830184611ad8565b9392505050565b60006020820190508181036000830152611b7c81846118ef565b905092915050565b6000602082019050611b99600083018461194d565b92915050565b6000602082019050611bb4600083018461195c565b92915050565b60006020820190508181036000830152611bd38161196b565b9050919050565b60006020820190508181036000830152611bf38161198e565b9050919050565b60006020820190508181036000830152611c13816119b1565b9050919050565b60006020820190508181036000830152611c33816119d4565b9050919050565b60006020820190508181036000830152611c53816119f7565b9050919050565b60006020820190508181036000830152611c7381611a1a565b9050919050565b60006020820190508181036000830152611c9381611a3d565b9050919050565b60006020820190508181036000830152611cb381611a60565b9050919050565b60006020820190508181036000830152611cd381611a83565b9050919050565b60006020820190508181036000830152611cf381611aa6565b9050919050565b6000602082019050611d0f6000830184611ad8565b92915050565b6000819050602082019050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000611d6a82611ede565b9150611d7583611ede565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611daa57611da9611f62565b5b828201905092915050565b6000611dc082611ede565b9150611dcb83611ede565b925082611ddb57611dda611f91565b5b828204905092915050565b6000611df182611ede565b9150611dfc83611ede565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611e3557611e34611f62565b5b828202905092915050565b6000611e4b82611ede565b9150611e5683611ede565b925082821015611e6957611e68611f62565b5b828203905092915050565b6000611e7f82611ebe565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000611ef382611ede565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611f2657611f25611f62565b5b600182019050919050565b6000611f3c82611ede565b9150611f4783611ede565b925082611f5757611f56611f91565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e6f7420466f756e640000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f596f7520617265206e6f7420746865206f776e6572206f66207468697320746f60008201527f6b656e2e00000000000000000000000000000000000000000000000000000000602082015250565b7f5468697320746f6b656e206973206e6f74206f6e207374616b696e672e000000600082015250565b7f6f766572206d6178206c6576656c000000000000000000000000000000000000600082015250565b7f596f7520646f6e277420686176652066756e647320746f20636c61696d2e0000600082015250565b7f54686520546f6b656e20697320616c7265616479206f6e207374616b696e672e600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f62656c6f77203000000000000000000000000000000000000000000000000000600082015250565b7f596f7520617265206e6f7420746865206f776e65722e00000000000000000000600082015250565b6121af81611e74565b81146121ba57600080fd5b50565b6121c681611e86565b81146121d157600080fd5b50565b6121dd81611ede565b81146121e857600080fd5b5056fea2646970667358221220b006b99a45facaba3285d9b1c9a5125095edebc82763fbfb28903970a35f1aa164736f6c63430008040033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 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.