More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 2,041 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim | 21178810 | 16 days ago | IN | 0 ETH | 0.00313642 | ||||
Claim | 21169572 | 18 days ago | IN | 0 ETH | 0.00276983 | ||||
Claim | 21130994 | 23 days ago | IN | 0 ETH | 0.0018626 | ||||
Claim | 20892656 | 56 days ago | IN | 0 ETH | 0.00105562 | ||||
Claim | 20552173 | 104 days ago | IN | 0 ETH | 0.00010682 | ||||
Claim | 20321787 | 136 days ago | IN | 0 ETH | 0.00073755 | ||||
Claim | 20269586 | 143 days ago | IN | 0 ETH | 0.00102921 | ||||
Claim | 20219555 | 150 days ago | IN | 0 ETH | 0.0007805 | ||||
Claim | 20006148 | 180 days ago | IN | 0 ETH | 0.00096287 | ||||
Claim | 19717609 | 220 days ago | IN | 0 ETH | 0.00155562 | ||||
Claim | 19637683 | 232 days ago | IN | 0 ETH | 0.00123077 | ||||
Claim | 19596420 | 237 days ago | IN | 0 ETH | 0.00152472 | ||||
Claim | 19562253 | 242 days ago | IN | 0 ETH | 0.00250472 | ||||
Claim | 19505573 | 250 days ago | IN | 0 ETH | 0.00164087 | ||||
Claim | 19501988 | 251 days ago | IN | 0 ETH | 0.0015207 | ||||
Claim | 19484865 | 253 days ago | IN | 0 ETH | 0.00310091 | ||||
Claim | 19455047 | 257 days ago | IN | 0 ETH | 0.0027727 | ||||
Claim | 19446816 | 258 days ago | IN | 0 ETH | 0.00241888 | ||||
Claim | 19446393 | 258 days ago | IN | 0 ETH | 0.00254278 | ||||
Claim | 19407101 | 264 days ago | IN | 0 ETH | 0.00787345 | ||||
Claim | 19384098 | 267 days ago | IN | 0 ETH | 0.00621423 | ||||
Claim | 19354652 | 271 days ago | IN | 0 ETH | 0.00261359 | ||||
Claim | 19350799 | 272 days ago | IN | 0 ETH | 0.00337368 | ||||
Claim | 19285128 | 281 days ago | IN | 0 ETH | 0.00414288 | ||||
Claim | 19265044 | 284 days ago | IN | 0 ETH | 0.00312845 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
VestingContract
Compiler Version
v0.8.0+commit.c7dfd78e
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; struct Member { address account; uint256 totalAmount; uint256 claimedAmount; uint256 startTime; uint256 endTime; } contract VestingContract is Ownable { event Claimed(address account, uint256 amount); event Added(address account, uint256 amount); event Removed(address account, uint256 amount); IERC20 kataToken; string public name; mapping(address => Member) public members; uint256 public tgeTime; uint256 public tgePercent; uint256 public cliffDuration; uint256 public cliffPercent; uint256 public linearDuration; uint256 public allocatedAmount; /** * @dev Creates a vesting contract that vests its balance of any ERC20 token to the * _beneficiary, gradually in a linear fashion until _start + _duration. By then all * of the balance will have vested. * @param _name beneficiary of tokens after they are released * @param _tgeTime duration in seconds of the period in which tokens will begin to vest * @param _cliffDuration duration in seconds of the cliff in which tokens will begin to vest * @param _cliffPercent dd * @param _linearDuration duration in seconds of the period in which the tokens will vest */ constructor( string memory _name, uint256 _tgeTime, uint256 _tgePercent, uint256 _cliffDuration, uint256 _cliffPercent, uint256 _linearDuration ) { require(_tgeTime > 0, "invalid tgeTime"); name = _name; tgeTime = _tgeTime; tgePercent = _tgePercent; cliffDuration = _cliffDuration; cliffPercent = _cliffPercent; linearDuration = _linearDuration; } modifier onlyMember() { require(members[msg.sender].account != address(0), "You are not a valid member"); _; } function balance() public view returns (uint256) { if (address(kataToken) == address(0)) { return 0; } uint256 _balance = kataToken.balanceOf(address(this)); _balance -= allocatedAmount; return _balance; } /** * @dev Calculates the amount that has already vested but hasn't been released yet. */ function claimableAmount(address addr, uint256 timestamp) public view returns (uint256) { Member memory _member = members[addr]; uint256 vested = vestedAmount(addr, timestamp); if (vested < _member.claimedAmount) { return 0; } return vested - _member.claimedAmount; } /** * @dev Calculates the amount that has already vested. */ function vestedAmount(address addr, uint256 timestamp) public view returns (uint256) { if (address(kataToken) == address(0)) { return 0; } Member memory _member = members[addr]; if (timestamp < _member.startTime) { return 0; } uint256 _tgeAmount = (_member.totalAmount * tgePercent) / 100; uint256 _cliffTime = _member.startTime + cliffDuration; if (timestamp < _cliffTime) { return _tgeAmount; } if (_member.endTime != 0) { return _member.totalAmount; } if (timestamp >= (_cliffTime + linearDuration)) { return _member.totalAmount; } uint256 _cliffAmount = (_member.totalAmount * cliffPercent) / 100; uint256 _linearAmount = (_member.totalAmount - _tgeAmount) - _cliffAmount; _linearAmount = (_linearAmount * (timestamp - _cliffTime)) / linearDuration; return _tgeAmount + _cliffAmount + _linearAmount; } function claim() external onlyMember { Member memory _member = members[msg.sender]; uint256 timestamp = block.timestamp; uint256 claimable = claimableAmount(_member.account, timestamp); require(claimable > 0, "no tokens claimable"); require(_member.totalAmount >= (_member.claimedAmount + claimable), "token pool exhausted"); kataToken.transfer(_member.account, claimable); _member.claimedAmount += claimable; allocatedAmount -= claimable; members[msg.sender] = _member; emit Claimed(_member.account, claimable); } function addMembers(address[] calldata addrs, uint256[] calldata tokenAmounts) external onlyOwner { uint256 _balance = balance(); for (uint256 i = 0; i < addrs.length; i++) { require(tokenAmounts[i] <= _balance, 'allocation would exceed remaining balance'); Member memory _member = members[addrs[i]]; if (_member.account == address(0)) { _member.account = addrs[i]; _member.startTime = block.timestamp; if (_member.startTime < tgeTime) { _member.startTime = tgeTime; } } _member.endTime = 0; _member.totalAmount += tokenAmounts[i]; allocatedAmount += tokenAmounts[i]; _balance -= tokenAmounts[i]; members[addrs[i]] = _member; emit Added(addrs[i], tokenAmounts[i]); } } function removeMember(address addr) external onlyOwner { Member memory _member = members[addr]; uint256 remaining = _member.totalAmount; _member.totalAmount = _member.claimedAmount + claimableAmount(addr, block.timestamp); remaining -= _member.totalAmount; allocatedAmount -= remaining; _member.endTime = block.timestamp; members[addr] = _member; emit Removed(addr, remaining); } function setKataToken(address _erc) external onlyOwner { kataToken = IERC20(_erc); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.0 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.0 (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.0 (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ 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); } }
{ "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
[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"uint256","name":"_tgeTime","type":"uint256"},{"internalType":"uint256","name":"_tgePercent","type":"uint256"},{"internalType":"uint256","name":"_cliffDuration","type":"uint256"},{"internalType":"uint256","name":"_cliffPercent","type":"uint256"},{"internalType":"uint256","name":"_linearDuration","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Added","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Claimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Removed","type":"event"},{"inputs":[{"internalType":"address[]","name":"addrs","type":"address[]"},{"internalType":"uint256[]","name":"tokenAmounts","type":"uint256[]"}],"name":"addMembers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"allocatedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"balance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"claimableAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cliffDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cliffPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"linearDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"members","outputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"totalAmount","type":"uint256"},{"internalType":"uint256","name":"claimedAmount","type":"uint256"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"removeMember","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_erc","type":"address"}],"name":"setKataToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tgePercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tgeTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"vestedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060405162002746380380620027468339818101604052810190620000379190620002ea565b620000576200004b620000e560201b60201c565b620000ed60201b60201c565b600085116200009d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200009490620003db565b60405180910390fd5b8560029080519060200190620000b5929190620001b1565b50846004819055508360058190555082600681905550816007819055508060088190555050505050505062000563565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620001bf90620004b5565b90600052602060002090601f016020900481019282620001e357600085556200022f565b82601f10620001fe57805160ff19168380011785556200022f565b828001600101855582156200022f579182015b828111156200022e57825182559160200191906001019062000211565b5b5090506200023e919062000242565b5090565b5b808211156200025d57600081600090555060010162000243565b5090565b600062000278620002728462000431565b620003fd565b9050828152602081018484840111156200029157600080fd5b6200029e8482856200047f565b509392505050565b600082601f830112620002b857600080fd5b8151620002ca84826020860162000261565b91505092915050565b600081519050620002e48162000549565b92915050565b60008060008060008060c087890312156200030457600080fd5b600087015167ffffffffffffffff8111156200031f57600080fd5b6200032d89828a01620002a6565b96505060206200034089828a01620002d3565b95505060406200035389828a01620002d3565b94505060606200036689828a01620002d3565b93505060806200037989828a01620002d3565b92505060a06200038c89828a01620002d3565b9150509295509295509295565b6000620003a8600f8362000464565b91507f696e76616c69642074676554696d6500000000000000000000000000000000006000830152602082019050919050565b60006020820190508181036000830152620003f68162000399565b9050919050565b6000604051905081810181811067ffffffffffffffff821117156200042757620004266200051a565b5b8060405250919050565b600067ffffffffffffffff8211156200044f576200044e6200051a565b5b601f19601f8301169050602081019050919050565b600082825260208201905092915050565b6000819050919050565b60005b838110156200049f57808201518184015260208101905062000482565b83811115620004af576000848401525b50505050565b60006002820490506001821680620004ce57607f821691505b60208210811415620004e557620004e4620004eb565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620005548162000475565b81146200056057600080fd5b50565b6121d380620005736000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80637910d9fd116100a2578063b69ef8a811610071578063b69ef8a8146102ad578063d85349f7146102cb578063e2f0f42d146102e9578063e67e8aaf14610307578063f2fde38b1461032557610116565b80637910d9fd1461022557806379b8d938146102415780638da5cb5b146102715780639b78a0701461028f57610116565b806317cf5391116100e957806317cf5391146101a75780633163e3a8146101d75780633e72b2bb146101f55780634e71d92d14610211578063715018a61461021b57610116565b806306fdde031461011b57806308ae4b0c146101395780630b1ca49a1461016d578063115425e414610189575b600080fd5b610123610341565b6040516101309190611d96565b60405180910390f35b610153600480360381019061014e91906119b0565b6103cf565b604051610164959493929190611d43565b60405180910390f35b610187600480360381019061018291906119b0565b610425565b005b6101916106bd565b60405161019e9190611e78565b60405180910390f35b6101c160048036038101906101bc91906119d9565b6106c3565b6040516101ce9190611e78565b60405180910390f35b6101df61091b565b6040516101ec9190611e78565b60405180910390f35b61020f600480360381019061020a9190611a15565b610921565b005b610219610f1e565b005b610223611346565b005b61023f600480360381019061023a91906119b0565b6113ce565b005b61025b600480360381019061025691906119d9565b61148e565b6040516102689190611e78565b60405180910390f35b61027961159b565b6040516102869190611cff565b60405180910390f35b6102976115c4565b6040516102a49190611e78565b60405180910390f35b6102b56115ca565b6040516102c29190611e78565b60405180910390f35b6102d36116f2565b6040516102e09190611e78565b60405180910390f35b6102f16116f8565b6040516102fe9190611e78565b60405180910390f35b61030f6116fe565b60405161031c9190611e78565b60405180910390f35b61033f600480360381019061033a91906119b0565b611704565b005b6002805461034e9061203f565b80601f016020809104026020016040519081016040528092919081815260200182805461037a9061203f565b80156103c75780601f1061039c576101008083540402835291602001916103c7565b820191906000526020600020905b8154815290600101906020018083116103aa57829003601f168201915b505050505081565b60036020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154908060040154905085565b61042d6117fc565b73ffffffffffffffffffffffffffffffffffffffff1661044b61159b565b73ffffffffffffffffffffffffffffffffffffffff16146104a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049890611df8565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815260200160028201548152602001600382015481526020016004820154815250509050600081602001519050610580834261148e565b826040015161058f9190611eaf565b8260200181815250508160200151816105a89190611f90565b905080600960008282546105bc9190611f90565b925050819055504282608001818152505081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002015560608201518160030155608082015181600401559050507fbe80a446a00b8794a7d05e8386915bdde937fe8b48da8d16175a5362b4c3f4f883826040516106b0929190611d1a565b60405180910390a1505050565b60095481565b60008073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156107245760009050610915565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090508060600151831015610806576000915050610915565b60006064600554836020015161081c9190611f36565b6108269190611f05565b90506000600654836060015161083c9190611eaf565b90508085101561085157819350505050610915565b600083608001511461086c5782602001519350505050610915565b6008548161087a9190611eaf565b851061088f5782602001519350505050610915565b6000606460075485602001516108a59190611f36565b6108af9190611f05565b90506000818486602001516108c49190611f90565b6108ce9190611f90565b905060085483886108df9190611f90565b826108ea9190611f36565b6108f49190611f05565b90508082856109039190611eaf565b61090d9190611eaf565b955050505050505b92915050565b60045481565b6109296117fc565b73ffffffffffffffffffffffffffffffffffffffff1661094761159b565b73ffffffffffffffffffffffffffffffffffffffff161461099d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099490611df8565b60405180910390fd5b60006109a76115ca565b905060005b85859050811015610f1657818484838181106109f1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201351115610a39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3090611e58565b60405180910390fd5b600060036000888885818110610a78577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002016020810190610a8d91906119b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815260200160028201548152602001600382015481526020016004820154815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff161415610c3657868683818110610bc4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002016020810190610bd991906119b0565b816000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250504281606001818152505060045481606001511015610c35576004548160600181815250505b5b6000816080018181525050848483818110610c7a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002013581602001818151610c929190611eaf565b91508181525050848483818110610cd2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002013560096000828254610cea9190611eaf565b92505081905550848483818110610d2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002013583610d3c9190611f90565b92508060036000898986818110610d7c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002016020810190610d9191906119b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002015560608201518160030155608082015181600401559050507f446e00ad56f9b887844f390c87a128507b991ea0499375f13ecb115288c2df7d878784818110610e97577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002016020810190610eac91906119b0565b868685818110610ee5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020135604051610efa929190611d1a565b60405180910390a1508080610f0e90612071565b9150506109ac565b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff16600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610ff0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe790611e18565b60405180910390fd5b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815260200160028201548152602001600382015481526020016004820154815250509050600042905060006110d183600001518361148e565b905060008111611116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110d90611e38565b60405180910390fd5b8083604001516111269190611eaf565b8360200151101561116c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116390611db8565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8460000151836040518363ffffffff1660e01b81526004016111cd929190611d1a565b602060405180830381600087803b1580156111e757600080fd5b505af11580156111fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121f9190611a8a565b5080836040018181516112329190611eaf565b91508181525050806009600082825461124b9190611f90565b9250508190555082600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002015560608201518160030155608082015181600401559050507fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a836000015182604051611339929190611d1a565b60405180910390a1505050565b61134e6117fc565b73ffffffffffffffffffffffffffffffffffffffff1661136c61159b565b73ffffffffffffffffffffffffffffffffffffffff16146113c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b990611df8565b60405180910390fd5b6113cc6000611804565b565b6113d66117fc565b73ffffffffffffffffffffffffffffffffffffffff166113f461159b565b73ffffffffffffffffffffffffffffffffffffffff161461144a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144190611df8565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815260200160028201548152602001600382015481526020016004820154815250509050600061156785856106c3565b9050816040015181101561158057600092505050611595565b8160400151816115909190611f90565b925050505b92915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60085481565b60008073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561162b57600090506116ef565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016116889190611cff565b60206040518083038186803b1580156116a057600080fd5b505afa1580156116b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d89190611ab3565b9050600954816116e89190611f90565b9050809150505b90565b60065481565b60055481565b60075481565b61170c6117fc565b73ffffffffffffffffffffffffffffffffffffffff1661172a61159b565b73ffffffffffffffffffffffffffffffffffffffff1614611780576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177790611df8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156117f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e790611dd8565b60405180910390fd5b6117f981611804565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000813590506118d781612158565b92915050565b60008083601f8401126118ef57600080fd5b8235905067ffffffffffffffff81111561190857600080fd5b60208301915083602082028301111561192057600080fd5b9250929050565b60008083601f84011261193957600080fd5b8235905067ffffffffffffffff81111561195257600080fd5b60208301915083602082028301111561196a57600080fd5b9250929050565b6000815190506119808161216f565b92915050565b60008135905061199581612186565b92915050565b6000815190506119aa81612186565b92915050565b6000602082840312156119c257600080fd5b60006119d0848285016118c8565b91505092915050565b600080604083850312156119ec57600080fd5b60006119fa858286016118c8565b9250506020611a0b85828601611986565b9150509250929050565b60008060008060408587031215611a2b57600080fd5b600085013567ffffffffffffffff811115611a4557600080fd5b611a51878288016118dd565b9450945050602085013567ffffffffffffffff811115611a7057600080fd5b611a7c87828801611927565b925092505092959194509250565b600060208284031215611a9c57600080fd5b6000611aaa84828501611971565b91505092915050565b600060208284031215611ac557600080fd5b6000611ad38482850161199b565b91505092915050565b611ae581611fc4565b82525050565b6000611af682611e93565b611b008185611e9e565b9350611b1081856020860161200c565b611b1981612147565b840191505092915050565b6000611b31601483611e9e565b91507f746f6b656e20706f6f6c206578686175737465640000000000000000000000006000830152602082019050919050565b6000611b71602683611e9e565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611bd7602083611e9e565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000611c17601a83611e9e565b91507f596f7520617265206e6f7420612076616c6964206d656d6265720000000000006000830152602082019050919050565b6000611c57601383611e9e565b91507f6e6f20746f6b656e7320636c61696d61626c65000000000000000000000000006000830152602082019050919050565b6000611c97602983611e9e565b91507f616c6c6f636174696f6e20776f756c64206578636565642072656d61696e696e60008301527f672062616c616e636500000000000000000000000000000000000000000000006020830152604082019050919050565b611cf981612002565b82525050565b6000602082019050611d146000830184611adc565b92915050565b6000604082019050611d2f6000830185611adc565b611d3c6020830184611cf0565b9392505050565b600060a082019050611d586000830188611adc565b611d656020830187611cf0565b611d726040830186611cf0565b611d7f6060830185611cf0565b611d8c6080830184611cf0565b9695505050505050565b60006020820190508181036000830152611db08184611aeb565b905092915050565b60006020820190508181036000830152611dd181611b24565b9050919050565b60006020820190508181036000830152611df181611b64565b9050919050565b60006020820190508181036000830152611e1181611bca565b9050919050565b60006020820190508181036000830152611e3181611c0a565b9050919050565b60006020820190508181036000830152611e5181611c4a565b9050919050565b60006020820190508181036000830152611e7181611c8a565b9050919050565b6000602082019050611e8d6000830184611cf0565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611eba82612002565b9150611ec583612002565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611efa57611ef96120ba565b5b828201905092915050565b6000611f1082612002565b9150611f1b83612002565b925082611f2b57611f2a6120e9565b5b828204905092915050565b6000611f4182612002565b9150611f4c83612002565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611f8557611f846120ba565b5b828202905092915050565b6000611f9b82612002565b9150611fa683612002565b925082821015611fb957611fb86120ba565b5b828203905092915050565b6000611fcf82611fe2565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101561202a57808201518184015260208101905061200f565b83811115612039576000848401525b50505050565b6000600282049050600182168061205757607f821691505b6020821081141561206b5761206a612118565b5b50919050565b600061207c82612002565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156120af576120ae6120ba565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b61216181611fc4565b811461216c57600080fd5b50565b61217881611fd6565b811461218357600080fd5b50565b61218f81612002565b811461219a57600080fd5b5056fea26469706673582212208d1a873e4e5c9b2ec26a3fc7581b67010f65f693d6b8e4b64524e3a142d31e3b64736f6c6343000800003300000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000061c487e8000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000004f1a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c5c10000000000000000000000000000000000000000000000000000000000000000144b6174616e6120496e75202d2050726573616c65000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101165760003560e01c80637910d9fd116100a2578063b69ef8a811610071578063b69ef8a8146102ad578063d85349f7146102cb578063e2f0f42d146102e9578063e67e8aaf14610307578063f2fde38b1461032557610116565b80637910d9fd1461022557806379b8d938146102415780638da5cb5b146102715780639b78a0701461028f57610116565b806317cf5391116100e957806317cf5391146101a75780633163e3a8146101d75780633e72b2bb146101f55780634e71d92d14610211578063715018a61461021b57610116565b806306fdde031461011b57806308ae4b0c146101395780630b1ca49a1461016d578063115425e414610189575b600080fd5b610123610341565b6040516101309190611d96565b60405180910390f35b610153600480360381019061014e91906119b0565b6103cf565b604051610164959493929190611d43565b60405180910390f35b610187600480360381019061018291906119b0565b610425565b005b6101916106bd565b60405161019e9190611e78565b60405180910390f35b6101c160048036038101906101bc91906119d9565b6106c3565b6040516101ce9190611e78565b60405180910390f35b6101df61091b565b6040516101ec9190611e78565b60405180910390f35b61020f600480360381019061020a9190611a15565b610921565b005b610219610f1e565b005b610223611346565b005b61023f600480360381019061023a91906119b0565b6113ce565b005b61025b600480360381019061025691906119d9565b61148e565b6040516102689190611e78565b60405180910390f35b61027961159b565b6040516102869190611cff565b60405180910390f35b6102976115c4565b6040516102a49190611e78565b60405180910390f35b6102b56115ca565b6040516102c29190611e78565b60405180910390f35b6102d36116f2565b6040516102e09190611e78565b60405180910390f35b6102f16116f8565b6040516102fe9190611e78565b60405180910390f35b61030f6116fe565b60405161031c9190611e78565b60405180910390f35b61033f600480360381019061033a91906119b0565b611704565b005b6002805461034e9061203f565b80601f016020809104026020016040519081016040528092919081815260200182805461037a9061203f565b80156103c75780601f1061039c576101008083540402835291602001916103c7565b820191906000526020600020905b8154815290600101906020018083116103aa57829003601f168201915b505050505081565b60036020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154908060040154905085565b61042d6117fc565b73ffffffffffffffffffffffffffffffffffffffff1661044b61159b565b73ffffffffffffffffffffffffffffffffffffffff16146104a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049890611df8565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815260200160028201548152602001600382015481526020016004820154815250509050600081602001519050610580834261148e565b826040015161058f9190611eaf565b8260200181815250508160200151816105a89190611f90565b905080600960008282546105bc9190611f90565b925050819055504282608001818152505081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002015560608201518160030155608082015181600401559050507fbe80a446a00b8794a7d05e8386915bdde937fe8b48da8d16175a5362b4c3f4f883826040516106b0929190611d1a565b60405180910390a1505050565b60095481565b60008073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156107245760009050610915565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090508060600151831015610806576000915050610915565b60006064600554836020015161081c9190611f36565b6108269190611f05565b90506000600654836060015161083c9190611eaf565b90508085101561085157819350505050610915565b600083608001511461086c5782602001519350505050610915565b6008548161087a9190611eaf565b851061088f5782602001519350505050610915565b6000606460075485602001516108a59190611f36565b6108af9190611f05565b90506000818486602001516108c49190611f90565b6108ce9190611f90565b905060085483886108df9190611f90565b826108ea9190611f36565b6108f49190611f05565b90508082856109039190611eaf565b61090d9190611eaf565b955050505050505b92915050565b60045481565b6109296117fc565b73ffffffffffffffffffffffffffffffffffffffff1661094761159b565b73ffffffffffffffffffffffffffffffffffffffff161461099d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099490611df8565b60405180910390fd5b60006109a76115ca565b905060005b85859050811015610f1657818484838181106109f1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201351115610a39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3090611e58565b60405180910390fd5b600060036000888885818110610a78577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002016020810190610a8d91906119b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815260200160028201548152602001600382015481526020016004820154815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff161415610c3657868683818110610bc4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002016020810190610bd991906119b0565b816000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250504281606001818152505060045481606001511015610c35576004548160600181815250505b5b6000816080018181525050848483818110610c7a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002013581602001818151610c929190611eaf565b91508181525050848483818110610cd2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002013560096000828254610cea9190611eaf565b92505081905550848483818110610d2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002013583610d3c9190611f90565b92508060036000898986818110610d7c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002016020810190610d9191906119b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002015560608201518160030155608082015181600401559050507f446e00ad56f9b887844f390c87a128507b991ea0499375f13ecb115288c2df7d878784818110610e97577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002016020810190610eac91906119b0565b868685818110610ee5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020135604051610efa929190611d1a565b60405180910390a1508080610f0e90612071565b9150506109ac565b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff16600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610ff0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe790611e18565b60405180910390fd5b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815260200160028201548152602001600382015481526020016004820154815250509050600042905060006110d183600001518361148e565b905060008111611116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110d90611e38565b60405180910390fd5b8083604001516111269190611eaf565b8360200151101561116c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116390611db8565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8460000151836040518363ffffffff1660e01b81526004016111cd929190611d1a565b602060405180830381600087803b1580156111e757600080fd5b505af11580156111fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121f9190611a8a565b5080836040018181516112329190611eaf565b91508181525050806009600082825461124b9190611f90565b9250508190555082600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002015560608201518160030155608082015181600401559050507fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a836000015182604051611339929190611d1a565b60405180910390a1505050565b61134e6117fc565b73ffffffffffffffffffffffffffffffffffffffff1661136c61159b565b73ffffffffffffffffffffffffffffffffffffffff16146113c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b990611df8565b60405180910390fd5b6113cc6000611804565b565b6113d66117fc565b73ffffffffffffffffffffffffffffffffffffffff166113f461159b565b73ffffffffffffffffffffffffffffffffffffffff161461144a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144190611df8565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815260200160028201548152602001600382015481526020016004820154815250509050600061156785856106c3565b9050816040015181101561158057600092505050611595565b8160400151816115909190611f90565b925050505b92915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60085481565b60008073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561162b57600090506116ef565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016116889190611cff565b60206040518083038186803b1580156116a057600080fd5b505afa1580156116b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d89190611ab3565b9050600954816116e89190611f90565b9050809150505b90565b60065481565b60055481565b60075481565b61170c6117fc565b73ffffffffffffffffffffffffffffffffffffffff1661172a61159b565b73ffffffffffffffffffffffffffffffffffffffff1614611780576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177790611df8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156117f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e790611dd8565b60405180910390fd5b6117f981611804565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000813590506118d781612158565b92915050565b60008083601f8401126118ef57600080fd5b8235905067ffffffffffffffff81111561190857600080fd5b60208301915083602082028301111561192057600080fd5b9250929050565b60008083601f84011261193957600080fd5b8235905067ffffffffffffffff81111561195257600080fd5b60208301915083602082028301111561196a57600080fd5b9250929050565b6000815190506119808161216f565b92915050565b60008135905061199581612186565b92915050565b6000815190506119aa81612186565b92915050565b6000602082840312156119c257600080fd5b60006119d0848285016118c8565b91505092915050565b600080604083850312156119ec57600080fd5b60006119fa858286016118c8565b9250506020611a0b85828601611986565b9150509250929050565b60008060008060408587031215611a2b57600080fd5b600085013567ffffffffffffffff811115611a4557600080fd5b611a51878288016118dd565b9450945050602085013567ffffffffffffffff811115611a7057600080fd5b611a7c87828801611927565b925092505092959194509250565b600060208284031215611a9c57600080fd5b6000611aaa84828501611971565b91505092915050565b600060208284031215611ac557600080fd5b6000611ad38482850161199b565b91505092915050565b611ae581611fc4565b82525050565b6000611af682611e93565b611b008185611e9e565b9350611b1081856020860161200c565b611b1981612147565b840191505092915050565b6000611b31601483611e9e565b91507f746f6b656e20706f6f6c206578686175737465640000000000000000000000006000830152602082019050919050565b6000611b71602683611e9e565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611bd7602083611e9e565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000611c17601a83611e9e565b91507f596f7520617265206e6f7420612076616c6964206d656d6265720000000000006000830152602082019050919050565b6000611c57601383611e9e565b91507f6e6f20746f6b656e7320636c61696d61626c65000000000000000000000000006000830152602082019050919050565b6000611c97602983611e9e565b91507f616c6c6f636174696f6e20776f756c64206578636565642072656d61696e696e60008301527f672062616c616e636500000000000000000000000000000000000000000000006020830152604082019050919050565b611cf981612002565b82525050565b6000602082019050611d146000830184611adc565b92915050565b6000604082019050611d2f6000830185611adc565b611d3c6020830184611cf0565b9392505050565b600060a082019050611d586000830188611adc565b611d656020830187611cf0565b611d726040830186611cf0565b611d7f6060830185611cf0565b611d8c6080830184611cf0565b9695505050505050565b60006020820190508181036000830152611db08184611aeb565b905092915050565b60006020820190508181036000830152611dd181611b24565b9050919050565b60006020820190508181036000830152611df181611b64565b9050919050565b60006020820190508181036000830152611e1181611bca565b9050919050565b60006020820190508181036000830152611e3181611c0a565b9050919050565b60006020820190508181036000830152611e5181611c4a565b9050919050565b60006020820190508181036000830152611e7181611c8a565b9050919050565b6000602082019050611e8d6000830184611cf0565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611eba82612002565b9150611ec583612002565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611efa57611ef96120ba565b5b828201905092915050565b6000611f1082612002565b9150611f1b83612002565b925082611f2b57611f2a6120e9565b5b828204905092915050565b6000611f4182612002565b9150611f4c83612002565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611f8557611f846120ba565b5b828202905092915050565b6000611f9b82612002565b9150611fa683612002565b925082821015611fb957611fb86120ba565b5b828203905092915050565b6000611fcf82611fe2565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101561202a57808201518184015260208101905061200f565b83811115612039576000848401525b50505050565b6000600282049050600182168061205757607f821691505b6020821081141561206b5761206a612118565b5b50919050565b600061207c82612002565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156120af576120ae6120ba565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b61216181611fc4565b811461216c57600080fd5b50565b61217881611fd6565b811461218357600080fd5b50565b61218f81612002565b811461219a57600080fd5b5056fea26469706673582212208d1a873e4e5c9b2ec26a3fc7581b67010f65f693d6b8e4b64524e3a142d31e3b64736f6c63430008000033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000061c487e8000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000004f1a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c5c10000000000000000000000000000000000000000000000000000000000000000144b6174616e6120496e75202d2050726573616c65000000000000000000000000
-----Decoded View---------------
Arg [0] : _name (string): Katana Inu - Presale
Arg [1] : _tgeTime (uint256): 1640269800
Arg [2] : _tgePercent (uint256): 15
Arg [3] : _cliffDuration (uint256): 5184000
Arg [4] : _cliffPercent (uint256): 0
Arg [5] : _linearDuration (uint256): 12960000
-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [1] : 0000000000000000000000000000000000000000000000000000000061c487e8
Arg [2] : 000000000000000000000000000000000000000000000000000000000000000f
Arg [3] : 00000000000000000000000000000000000000000000000000000000004f1a00
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000c5c100
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000014
Arg [7] : 4b6174616e6120496e75202d2050726573616c65000000000000000000000000
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.000603 | 192,367,128.521 | $116,039.7 |
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.