Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0x60806040 | 18247909 | 399 days ago | IN | 0 ETH | 0.00723585 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
KongIDO
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-09-30 */ // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.6.11; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } function min(uint256 x, uint256 y) internal pure returns (uint256 z) { z = x < y ? x : y; } function sqrt(uint256 y) internal pure returns (uint256 z) { if (y > 3) { z = y; uint256 x = y / 2 + 1; while (x < z) { z = x; x = (y / x + x) / 2; } } else if (y != 0) { z = 1; } } } // File: @pancakeswap/pancake-swap-lib/contracts/token/BEP20/IBEP20.sol pragma solidity ^0.6.11; interface IBEP20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the token decimals. */ function decimals() external view returns (uint8); /** * @dev Returns the token symbol. */ function symbol() external view returns (string memory); /** * @dev Returns the token name. */ function name() external view returns (string memory); /** * @dev Returns the bep token owner. */ function getOwner() external view returns (address); /** * @dev Returns the amount of tokens owned by `account`. */ 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); /** * @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 ); } pragma solidity ^0.6.11; /** * @dev Collection of functions related to the address type */ library Address { function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } function sendValue(address payable recipient, uint256 amount) internal { require( address(this).balance >= amount, "Address: insufficient balance" ); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{value: amount}(""); require( success, "Address: unable to send value, recipient may have reverted" ); } function functionCall( address target, bytes memory data ) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue( address target, bytes memory data, uint256 value ) internal returns (bytes memory) { return functionCallWithValue( target, data, value, "Address: low-level call with value failed" ); } function functionCallWithValue( address target, bytes memory data, uint256 value, string memory errorMessage ) internal returns (bytes memory) { require( address(this).balance >= value, "Address: insufficient balance for call" ); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue( address target, bytes memory data, uint256 weiValue, string memory errorMessage ) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{value: weiValue}( data ); if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } pragma solidity ^0.6.11; library SafeBEP20 { using SafeMath for uint256; using Address for address; function safeTransfer(IBEP20 token, address to, uint256 value) internal { _callOptionalReturn( token, abi.encodeWithSelector(token.transfer.selector, to, value) ); } function safeTransferFrom( IBEP20 token, address from, address to, uint256 value ) internal { _callOptionalReturn( token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value) ); } /** * @dev Deprecated. This function has issues similar to the ones found in * {IBEP20-approve}, and its usage is discouraged. * * Whenever possible, use {safeIncreaseAllowance} and * {safeDecreaseAllowance} instead. */ function safeApprove( IBEP20 token, address spender, uint256 value ) internal { // safeApprove should only be called when setting an initial allowance, // or when resetting it to zero. To increase and decrease it, use // 'safeIncreaseAllowance' and 'safeDecreaseAllowance' // solhint-disable-next-line max-line-length require( (value == 0) || (token.allowance(address(this), spender) == 0), "SafeBEP20: approve from non-zero to non-zero allowance" ); _callOptionalReturn( token, abi.encodeWithSelector(token.approve.selector, spender, value) ); } function safeIncreaseAllowance( IBEP20 token, address spender, uint256 value ) internal { uint256 newAllowance = token.allowance(address(this), spender).add( value ); _callOptionalReturn( token, abi.encodeWithSelector( token.approve.selector, spender, newAllowance ) ); } function safeDecreaseAllowance( IBEP20 token, address spender, uint256 value ) internal { uint256 newAllowance = token.allowance(address(this), spender).sub( value, "SafeBEP20: decreased allowance below zero" ); _callOptionalReturn( token, abi.encodeWithSelector( token.approve.selector, spender, newAllowance ) ); } function _callOptionalReturn(IBEP20 token, bytes memory data) private { bytes memory returndata = address(token).functionCall( data, "SafeBEP20: low-level call failed" ); if (returndata.length > 0) { // Return data is optional // solhint-disable-next-line max-line-length require( abi.decode(returndata, (bool)), "SafeBEP20: BEP20 operation did not succeed" ); } } } pragma solidity >=0.6.0; interface AggregatorV3Interface { function decimals() external view returns (uint8); function description() external view returns (string memory); function version() external view returns (uint256); // getRoundData and latestRoundData should both raise "No data present" // if they do not have data to report, instead of returning unset values // which could be misinterpreted as actual reported values. function getRoundData( uint80 _roundId ) external view returns ( uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound ); function latestRoundData() external view returns ( uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound ); } abstract contract Initializable { /** * @dev Indicates that the contract has been initialized. */ bool private _initialized; /** * @dev Indicates that the contract is in the process of being initialized. */ bool private _initializing; /** * @dev Modifier to protect an initializer function from being invoked twice. */ modifier initializer() { require( _initializing || !_initialized, "Initializable: contract is already initialized" ); bool isTopLevelCall = !_initializing; if (isTopLevelCall) { _initializing = true; _initialized = true; } _; if (isTopLevelCall) { _initializing = false; } } } abstract contract ContextUpgradeable is Initializable { function __Context_init() internal initializer { __Context_init_unchained(); } function __Context_init_unchained() internal initializer {} function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal pure virtual returns (bytes calldata) { return msg.data; } uint256[50] private __gap; } abstract contract OwnableUpgradeable is Initializable, ContextUpgradeable { address public _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev Initializes the contract setting the deployer as the initial owner. */ function __Ownable_init() internal initializer { __Context_init_unchained(); __Ownable_init_unchained(); } function __Ownable_init_unchained() internal initializer { _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); } uint256[49] private __gap; } contract KongIDO is ContextUpgradeable, OwnableUpgradeable { using SafeMath for uint256; using SafeBEP20 for IBEP20; address public receiver; uint256 public tokenbusdprice; IBEP20 public usdtToken; IBEP20 public rewardToken; uint256 public totalrewardtoken; uint256 public hardcap; uint256 public totalhardcap; struct BuyInfo { bool isExits; uint256 amount; uint256 claimedAmount; } mapping(address => BuyInfo) public buyers; event buyEvent(address indexed user, uint256 amount, uint256 reward); event claimEvent(address indexed user, uint256 amount); constructor() public {} function initialize( IBEP20 _usdtToken, IBEP20 _rewardToken, uint256 _tokenbusdprice, address _admin ) public initializer { rewardToken = _rewardToken; usdtToken = _usdtToken; tokenbusdprice = _tokenbusdprice; receiver = _admin; totalhardcap = 80000 * 1e6; __Ownable_init(); } function deposit(uint256 _amount) public { require(_amount > 0, "need amount > 0"); require((hardcap + _amount) <= totalhardcap, "hardcap reached"); usdtToken.safeTransferFrom(address(msg.sender), address(this), _amount); usdtToken.safeTransfer(receiver, _amount); uint swapToken = getTokenfromBusd(_amount); buyers[msg.sender].amount += _amount; buyers[msg.sender].claimedAmount += swapToken; rewardToken.safeTransfer(msg.sender, swapToken); totalrewardtoken += swapToken; hardcap += _amount; emit buyEvent(msg.sender, _amount, swapToken); } function getTokenfromBusd(uint256 _amount) public view returns (uint256) { uint256 perToken = tokenbusdprice.mul(_amount); perToken = perToken.div(1e18); perToken = perToken * 1e12; return perToken; } function getBlockNumber() public view returns (uint256) { return block.number; } function safeWithDrawKong(uint256 _amount, address addr) public onlyOwner { rewardToken.safeTransfer(addr, _amount); } function safeWithDrawBusd(uint256 _amount, address addr) public onlyOwner { usdtToken.safeTransfer(addr, _amount); } function getTokenprice() public view returns (uint256) { return tokenbusdprice; } function settoken(uint256 price) public onlyOwner { tokenbusdprice = price; } function setReceiver(address newreceiver) public onlyOwner { receiver = newreceiver; } function changehardcap(uint256 _price) public onlyOwner { totalhardcap = _price * 1e6; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"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":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"buyEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"claimEvent","type":"event"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"buyers","outputs":[{"internalType":"bool","name":"isExits","type":"bool"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"claimedAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_price","type":"uint256"}],"name":"changehardcap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getBlockNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"getTokenfromBusd","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTokenprice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hardcap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IBEP20","name":"_usdtToken","type":"address"},{"internalType":"contract IBEP20","name":"_rewardToken","type":"address"},{"internalType":"uint256","name":"_tokenbusdprice","type":"uint256"},{"internalType":"address","name":"_admin","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"receiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardToken","outputs":[{"internalType":"contract IBEP20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"addr","type":"address"}],"name":"safeWithDrawBusd","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"addr","type":"address"}],"name":"safeWithDrawKong","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newreceiver","type":"address"}],"name":"setReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"price","type":"uint256"}],"name":"settoken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tokenbusdprice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalhardcap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalrewardtoken","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":[],"name":"usdtToken","outputs":[{"internalType":"contract IBEP20","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5061116e806100206000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c8063a98ad46c116100b8578063b765de6c1161007c578063b765de6c146102da578063be203094146102f7578063e2cb920914610333578063f2fde38b1461033b578063f7260d3e14610361578063f7c618c11461036957610142565b8063a98ad46c1461029d578063b071cbe6146102a5578063b2bdfa7b146102ad578063b6b55f25146102b5578063b7378814146102d257610142565b8063718da7ee1161010a578063718da7ee146101e05780637af8b69f146102065780637ea7d7521461020e5780638da5cb5b1461021657806397a993aa1461023a578063a8503d631461028057610142565b8063188f7b821461014757806330ed9629146101755780633ea2e57c146101a157806342cbb15c146101be578063715018a6146101d8575b600080fd5b6101736004803603604081101561015d57600080fd5b50803590602001356001600160a01b0316610371565b005b6101736004803603604081101561018b57600080fd5b50803590602001356001600160a01b03166103ee565b610173600480360360208110156101b757600080fd5b5035610467565b6101c66104ce565b60408051918252519081900360200190f35b6101736104d2565b610173600480360360208110156101f657600080fd5b50356001600160a01b0316610540565b6101c66105c4565b6101c66105ca565b61021e6105d0565b604080516001600160a01b039092168252519081900360200190f35b6102606004803603602081101561025057600080fd5b50356001600160a01b03166105df565b604080519315158452602084019290925282820152519081900360600190f35b6101c66004803603602081101561029657600080fd5b5035610604565b61021e61063e565b6101c661064d565b61021e610653565b610173600480360360208110156102cb57600080fd5b5035610662565b6101c66107c0565b610173600480360360208110156102f057600080fd5b50356107c6565b6101736004803603608081101561030d57600080fd5b506001600160a01b03813581169160208101358216916040820135916060013516610832565b6101c661091d565b6101736004803603602081101561035157600080fd5b50356001600160a01b0316610923565b61021e6109d6565b61021e6109e5565b6103796109f4565b6001600160a01b031661038a6105d0565b6001600160a01b0316146103d3576040805162461bcd60e51b81526020600482018190526024820152600080516020611119833981519152604482015290519081900360640190fd5b6068546103ea906001600160a01b031682846109f8565b5050565b6103f66109f4565b6001600160a01b03166104076105d0565b6001600160a01b031614610450576040805162461bcd60e51b81526020600482018190526024820152600080516020611119833981519152604482015290519081900360640190fd5b6067546103ea906001600160a01b031682846109f8565b61046f6109f4565b6001600160a01b03166104806105d0565b6001600160a01b0316146104c9576040805162461bcd60e51b81526020600482018190526024820152600080516020611119833981519152604482015290519081900360640190fd5b606655565b4390565b6104da6109f4565b6001600160a01b03166104eb6105d0565b6001600160a01b031614610534576040805162461bcd60e51b81526020600482018190526024820152600080516020611119833981519152604482015290519081900360640190fd5b61053e6000610a4f565b565b6105486109f4565b6001600160a01b03166105596105d0565b6001600160a01b0316146105a2576040805162461bcd60e51b81526020600482018190526024820152600080516020611119833981519152604482015290519081900360640190fd5b606580546001600160a01b0319166001600160a01b0392909216919091179055565b606b5481565b60665481565b6033546001600160a01b031690565b606c6020526000908152604090208054600182015460029092015460ff909116919083565b60008061061c83606654610aa190919063ffffffff16565b905061063081670de0b6b3a7640000610b03565b64e8d4a51000029392505050565b6067546001600160a01b031681565b606a5481565b6033546001600160a01b031681565b600081116106a9576040805162461bcd60e51b815260206004820152600f60248201526e06e65656420616d6f756e74203e203608c1b604482015290519081900360640190fd5b606b5481606a540111156106f6576040805162461bcd60e51b815260206004820152600f60248201526e1a185c9918d85c081c995858da1959608a1b604482015290519081900360640190fd5b60675461070e906001600160a01b0316333084610b45565b60655460675461072b916001600160a01b039182169116836109f8565b600061073682610604565b336000818152606c6020526040902060018101805486019055600201805483019055606854919250610772916001600160a01b031690836109f8565b6069805482019055606a8054830190556040805183815260208101839052815133927f6bdf89900030e20009704656040d32b76cc651f0042a5142ae4da1f9c105cecb928290030190a25050565b60665490565b6107ce6109f4565b6001600160a01b03166107df6105d0565b6001600160a01b031614610828576040805162461bcd60e51b81526020600482018190526024820152600080516020611119833981519152604482015290519081900360640190fd5b620f424002606b55565b600054610100900460ff168061084b575060005460ff16155b6108865760405162461bcd60e51b815260040180806020018281038252602e8152602001806110ca602e913960400191505060405180910390fd5b600054610100900460ff161580156108b1576000805460ff1961ff0019909116610100171660011790555b606880546001600160a01b038087166001600160a01b03199283161790925560678054888416908316179055606685905560658054928516929091169190911790556412a05f2000606b55610904610ba5565b8015610916576000805461ff00191690555b5050505050565b60695481565b61092b6109f4565b6001600160a01b031661093c6105d0565b6001600160a01b031614610985576040805162461bcd60e51b81526020600482018190526024820152600080516020611119833981519152604482015290519081900360640190fd5b6001600160a01b0381166109ca5760405162461bcd60e51b81526004018080602001828103825260268152602001806110a46026913960400191505060405180910390fd5b6109d381610a4f565b50565b6065546001600160a01b031681565b6068546001600160a01b031681565b3390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610a4a908490610c48565b505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600082610ab057506000610afd565b82820282848281610abd57fe5b0414610afa5760405162461bcd60e51b81526004018080602001828103825260218152602001806110f86021913960400191505060405180910390fd5b90505b92915050565b6000610afa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610cf9565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610b9f908590610c48565b50505050565b600054610100900460ff1680610bbe575060005460ff16155b610bf95760405162461bcd60e51b815260040180806020018281038252602e8152602001806110ca602e913960400191505060405180910390fd5b600054610100900460ff16158015610c24576000805460ff1961ff0019909116610100171660011790555b610c2c610d9b565b610c34610e2d565b80156109d3576000805461ff001916905550565b6060610c9d826040518060400160405280602081526020017f5361666542455032303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610ebc9092919063ffffffff16565b805190915015610a4a57808060200190516020811015610cbc57600080fd5b5051610a4a5760405162461bcd60e51b815260040180806020018281038252602a81526020018061107a602a913960400191505060405180910390fd5b60008183610d855760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d4a578181015183820152602001610d32565b50505050905090810190601f168015610d775780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610d9157fe5b0495945050505050565b600054610100900460ff1680610db4575060005460ff16155b610def5760405162461bcd60e51b815260040180806020018281038252602e8152602001806110ca602e913960400191505060405180910390fd5b600054610100900460ff16158015610c34576000805460ff1961ff00199091166101001716600117905580156109d3576000805461ff001916905550565b600054610100900460ff1680610e46575060005460ff16155b610e815760405162461bcd60e51b815260040180806020018281038252602e8152602001806110ca602e913960400191505060405180910390fd5b600054610100900460ff16158015610eac576000805460ff1961ff0019909116610100171660011790555b610c34610eb76109f4565b610a4f565b6060610ecb8484600085610ed3565b949350505050565b6060610ede85611040565b610f2f576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610f6e5780518252601f199092019160209182019101610f4f565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610fd0576040519150601f19603f3d011682016040523d82523d6000602084013e610fd5565b606091505b50915091508115610fe9579150610ecb9050565b805115610ff95780518082602001fd5b60405162461bcd60e51b8152602060048201818152865160248401528651879391928392604401919085019080838360008315610d4a578181015183820152602001610d32565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590610ecb57505015159291505056fe5361666542455032303a204245503230206f7065726174696f6e20646964206e6f7420737563636565644f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a26469706673582212208fec6018513d7fdba93104b6c9b5130ff1572a0a8c2fe317ffccf40a067806cb64736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101425760003560e01c8063a98ad46c116100b8578063b765de6c1161007c578063b765de6c146102da578063be203094146102f7578063e2cb920914610333578063f2fde38b1461033b578063f7260d3e14610361578063f7c618c11461036957610142565b8063a98ad46c1461029d578063b071cbe6146102a5578063b2bdfa7b146102ad578063b6b55f25146102b5578063b7378814146102d257610142565b8063718da7ee1161010a578063718da7ee146101e05780637af8b69f146102065780637ea7d7521461020e5780638da5cb5b1461021657806397a993aa1461023a578063a8503d631461028057610142565b8063188f7b821461014757806330ed9629146101755780633ea2e57c146101a157806342cbb15c146101be578063715018a6146101d8575b600080fd5b6101736004803603604081101561015d57600080fd5b50803590602001356001600160a01b0316610371565b005b6101736004803603604081101561018b57600080fd5b50803590602001356001600160a01b03166103ee565b610173600480360360208110156101b757600080fd5b5035610467565b6101c66104ce565b60408051918252519081900360200190f35b6101736104d2565b610173600480360360208110156101f657600080fd5b50356001600160a01b0316610540565b6101c66105c4565b6101c66105ca565b61021e6105d0565b604080516001600160a01b039092168252519081900360200190f35b6102606004803603602081101561025057600080fd5b50356001600160a01b03166105df565b604080519315158452602084019290925282820152519081900360600190f35b6101c66004803603602081101561029657600080fd5b5035610604565b61021e61063e565b6101c661064d565b61021e610653565b610173600480360360208110156102cb57600080fd5b5035610662565b6101c66107c0565b610173600480360360208110156102f057600080fd5b50356107c6565b6101736004803603608081101561030d57600080fd5b506001600160a01b03813581169160208101358216916040820135916060013516610832565b6101c661091d565b6101736004803603602081101561035157600080fd5b50356001600160a01b0316610923565b61021e6109d6565b61021e6109e5565b6103796109f4565b6001600160a01b031661038a6105d0565b6001600160a01b0316146103d3576040805162461bcd60e51b81526020600482018190526024820152600080516020611119833981519152604482015290519081900360640190fd5b6068546103ea906001600160a01b031682846109f8565b5050565b6103f66109f4565b6001600160a01b03166104076105d0565b6001600160a01b031614610450576040805162461bcd60e51b81526020600482018190526024820152600080516020611119833981519152604482015290519081900360640190fd5b6067546103ea906001600160a01b031682846109f8565b61046f6109f4565b6001600160a01b03166104806105d0565b6001600160a01b0316146104c9576040805162461bcd60e51b81526020600482018190526024820152600080516020611119833981519152604482015290519081900360640190fd5b606655565b4390565b6104da6109f4565b6001600160a01b03166104eb6105d0565b6001600160a01b031614610534576040805162461bcd60e51b81526020600482018190526024820152600080516020611119833981519152604482015290519081900360640190fd5b61053e6000610a4f565b565b6105486109f4565b6001600160a01b03166105596105d0565b6001600160a01b0316146105a2576040805162461bcd60e51b81526020600482018190526024820152600080516020611119833981519152604482015290519081900360640190fd5b606580546001600160a01b0319166001600160a01b0392909216919091179055565b606b5481565b60665481565b6033546001600160a01b031690565b606c6020526000908152604090208054600182015460029092015460ff909116919083565b60008061061c83606654610aa190919063ffffffff16565b905061063081670de0b6b3a7640000610b03565b64e8d4a51000029392505050565b6067546001600160a01b031681565b606a5481565b6033546001600160a01b031681565b600081116106a9576040805162461bcd60e51b815260206004820152600f60248201526e06e65656420616d6f756e74203e203608c1b604482015290519081900360640190fd5b606b5481606a540111156106f6576040805162461bcd60e51b815260206004820152600f60248201526e1a185c9918d85c081c995858da1959608a1b604482015290519081900360640190fd5b60675461070e906001600160a01b0316333084610b45565b60655460675461072b916001600160a01b039182169116836109f8565b600061073682610604565b336000818152606c6020526040902060018101805486019055600201805483019055606854919250610772916001600160a01b031690836109f8565b6069805482019055606a8054830190556040805183815260208101839052815133927f6bdf89900030e20009704656040d32b76cc651f0042a5142ae4da1f9c105cecb928290030190a25050565b60665490565b6107ce6109f4565b6001600160a01b03166107df6105d0565b6001600160a01b031614610828576040805162461bcd60e51b81526020600482018190526024820152600080516020611119833981519152604482015290519081900360640190fd5b620f424002606b55565b600054610100900460ff168061084b575060005460ff16155b6108865760405162461bcd60e51b815260040180806020018281038252602e8152602001806110ca602e913960400191505060405180910390fd5b600054610100900460ff161580156108b1576000805460ff1961ff0019909116610100171660011790555b606880546001600160a01b038087166001600160a01b03199283161790925560678054888416908316179055606685905560658054928516929091169190911790556412a05f2000606b55610904610ba5565b8015610916576000805461ff00191690555b5050505050565b60695481565b61092b6109f4565b6001600160a01b031661093c6105d0565b6001600160a01b031614610985576040805162461bcd60e51b81526020600482018190526024820152600080516020611119833981519152604482015290519081900360640190fd5b6001600160a01b0381166109ca5760405162461bcd60e51b81526004018080602001828103825260268152602001806110a46026913960400191505060405180910390fd5b6109d381610a4f565b50565b6065546001600160a01b031681565b6068546001600160a01b031681565b3390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610a4a908490610c48565b505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600082610ab057506000610afd565b82820282848281610abd57fe5b0414610afa5760405162461bcd60e51b81526004018080602001828103825260218152602001806110f86021913960400191505060405180910390fd5b90505b92915050565b6000610afa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610cf9565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610b9f908590610c48565b50505050565b600054610100900460ff1680610bbe575060005460ff16155b610bf95760405162461bcd60e51b815260040180806020018281038252602e8152602001806110ca602e913960400191505060405180910390fd5b600054610100900460ff16158015610c24576000805460ff1961ff0019909116610100171660011790555b610c2c610d9b565b610c34610e2d565b80156109d3576000805461ff001916905550565b6060610c9d826040518060400160405280602081526020017f5361666542455032303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610ebc9092919063ffffffff16565b805190915015610a4a57808060200190516020811015610cbc57600080fd5b5051610a4a5760405162461bcd60e51b815260040180806020018281038252602a81526020018061107a602a913960400191505060405180910390fd5b60008183610d855760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d4a578181015183820152602001610d32565b50505050905090810190601f168015610d775780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610d9157fe5b0495945050505050565b600054610100900460ff1680610db4575060005460ff16155b610def5760405162461bcd60e51b815260040180806020018281038252602e8152602001806110ca602e913960400191505060405180910390fd5b600054610100900460ff16158015610c34576000805460ff1961ff00199091166101001716600117905580156109d3576000805461ff001916905550565b600054610100900460ff1680610e46575060005460ff16155b610e815760405162461bcd60e51b815260040180806020018281038252602e8152602001806110ca602e913960400191505060405180910390fd5b600054610100900460ff16158015610eac576000805460ff1961ff0019909116610100171660011790555b610c34610eb76109f4565b610a4f565b6060610ecb8484600085610ed3565b949350505050565b6060610ede85611040565b610f2f576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610f6e5780518252601f199092019160209182019101610f4f565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610fd0576040519150601f19603f3d011682016040523d82523d6000602084013e610fd5565b606091505b50915091508115610fe9579150610ecb9050565b805115610ff95780518082602001fd5b60405162461bcd60e51b8152602060048201818152865160248401528651879391928392604401919085019080838360008315610d4a578181015183820152602001610d32565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590610ecb57505015159291505056fe5361666542455032303a204245503230206f7065726174696f6e20646964206e6f7420737563636565644f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a26469706673582212208fec6018513d7fdba93104b6c9b5130ff1572a0a8c2fe317ffccf40a067806cb64736f6c634300060c0033
Deployed Bytecode Sourcemap
15186:2781:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17274:132;;;;;;;;;;;;;;;;-1:-1:-1;17274:132:0;;;;;;-1:-1:-1;;;;;17274:132:0;;:::i;:::-;;17414:130;;;;;;;;;;;;;;;;-1:-1:-1;17414:130:0;;;;;;-1:-1:-1;;;;;17414:130:0;;:::i;17655:91::-;;;;;;;;;;;;;;;;-1:-1:-1;17655:91:0;;:::i;17172:94::-;;;:::i;:::-;;;;;;;;;;;;;;;;14298:103;;;:::i;17754:100::-;;;;;;;;;;;;;;;;-1:-1:-1;17754:100:0;-1:-1:-1;;;;;17754:100:0;;:::i;15517:27::-;;;:::i;15350:29::-;;;:::i;13647:87::-;;;:::i;:::-;;;;-1:-1:-1;;;;;13647:87:0;;;;;;;;;;;;;;15662:41;;;;;;;;;;;;;;;;-1:-1:-1;15662:41:0;-1:-1:-1;;;;;15662:41:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16923:241;;;;;;;;;;;;;;;;-1:-1:-1;16923:241:0;;:::i;15388:23::-;;;:::i;15488:22::-;;;:::i;13075:21::-;;;:::i;16265:650::-;;;;;;;;;;;;;;;;-1:-1:-1;16265:650:0;;:::i;17552:95::-;;;:::i;17862:102::-;;;;;;;;;;;;;;;;-1:-1:-1;17862:102:0;;:::i;15881:376::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15881:376:0;;;;;;;;;;;;;;;;;;;;;;:::i;15450:31::-;;;:::i;14556:238::-;;;;;;;;;;;;;;;;-1:-1:-1;14556:238:0;-1:-1:-1;;;;;14556:238:0;;:::i;15320:23::-;;;:::i;15418:25::-;;;:::i;17274:132::-;13878:12;:10;:12::i;:::-;-1:-1:-1;;;;;13867:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;13867:23:0;;13859:68;;;;;-1:-1:-1;;;13859:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13859:68:0;;;;;;;;;;;;;;;17359:11:::1;::::0;:39:::1;::::0;-1:-1:-1;;;;;17359:11:0::1;17384:4:::0;17390:7;17359:24:::1;:39::i;:::-;17274:132:::0;;:::o;17414:130::-;13878:12;:10;:12::i;:::-;-1:-1:-1;;;;;13867:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;13867:23:0;;13859:68;;;;;-1:-1:-1;;;13859:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13859:68:0;;;;;;;;;;;;;;;17499:9:::1;::::0;:37:::1;::::0;-1:-1:-1;;;;;17499:9:0::1;17522:4:::0;17528:7;17499:22:::1;:37::i;17655:91::-:0;13878:12;:10;:12::i;:::-;-1:-1:-1;;;;;13867:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;13867:23:0;;13859:68;;;;;-1:-1:-1;;;13859:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13859:68:0;;;;;;;;;;;;;;;17716:14:::1;:22:::0;17655:91::o;17172:94::-;17246:12;17172:94;:::o;14298:103::-;13878:12;:10;:12::i;:::-;-1:-1:-1;;;;;13867:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;13867:23:0;;13859:68;;;;;-1:-1:-1;;;13859:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13859:68:0;;;;;;;;;;;;;;;14363:30:::1;14390:1;14363:18;:30::i;:::-;14298:103::o:0;17754:100::-;13878:12;:10;:12::i;:::-;-1:-1:-1;;;;;13867:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;13867:23:0;;13859:68;;;;;-1:-1:-1;;;13859:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13859:68:0;;;;;;;;;;;;;;;17824:8:::1;:22:::0;;-1:-1:-1;;;;;;17824:22:0::1;-1:-1:-1::0;;;;;17824:22:0;;;::::1;::::0;;;::::1;::::0;;17754:100::o;15517:27::-;;;;:::o;15350:29::-;;;;:::o;13647:87::-;13720:6;;-1:-1:-1;;;;;13720:6:0;13647:87;:::o;15662:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16923:241::-;16987:7;17007:16;17026:27;17045:7;17026:14;;:18;;:27;;;;:::i;:::-;17007:46;-1:-1:-1;17075:18:0;17007:46;17088:4;17075:12;:18::i;:::-;17126:4;17115:15;;16923:241;-1:-1:-1;;;16923:241:0:o;15388:23::-;;;-1:-1:-1;;;;;15388:23:0;;:::o;15488:22::-;;;;:::o;13075:21::-;;;-1:-1:-1;;;;;13075:21:0;;:::o;16265:650::-;16335:1;16325:7;:11;16317:39;;;;;-1:-1:-1;;;16317:39:0;;;;;;;;;;;;-1:-1:-1;;;16317:39:0;;;;;;;;;;;;;;;16398:12;;16386:7;16376;;:17;16375:35;;16367:63;;;;;-1:-1:-1;;;16367:63:0;;;;;;;;;;;;-1:-1:-1;;;16367:63:0;;;;;;;;;;;;;;;16441:9;;:71;;-1:-1:-1;;;;;16441:9:0;16476:10;16497:4;16504:7;16441:26;:71::i;:::-;16546:8;;16523:9;;:41;;-1:-1:-1;;;;;16523:9:0;;;;16546:8;16556:7;16523:22;:41::i;:::-;16575:14;16592:25;16609:7;16592:16;:25::i;:::-;16637:10;16630:18;;;;:6;:18;;;;;:25;;;:36;;;;;;16677:32;;:45;;;;;;16735:11;;16575:42;;-1:-1:-1;16735:47:0;;-1:-1:-1;;;;;16735:11:0;;16575:42;16735:24;:47::i;:::-;16793:16;:29;;;;;;16833:7;:18;;;;;;16867:40;;;;;;;;;;;;;;16876:10;;16867:40;;;;;;;;16265:650;;:::o;17552:95::-;17625:14;;17552:95;:::o;17862:102::-;13878:12;:10;:12::i;:::-;-1:-1:-1;;;;;13867:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;13867:23:0;;13859:68;;;;;-1:-1:-1;;;13859:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13859:68:0;;;;;;;;;;;;;;;17953:3:::1;17944:12;17929;:27:::0;17862:102::o;15881:376::-;12145:13;;;;;;;;:30;;-1:-1:-1;12163:12:0;;;;12162:13;12145:30;12123:126;;;;-1:-1:-1;;;12123:126:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12262:19;12285:13;;;;;;12284:14;12309:101;;;;12344:13;:20;;-1:-1:-1;;;;12344:20:0;;;;;12379:19;12360:4;12379:19;;;12309:101;16055:11:::1;:26:::0;;-1:-1:-1;;;;;16055:26:0;;::::1;-1:-1:-1::0;;;;;;16055:26:0;;::::1;;::::0;;;16092:9:::1;:22:::0;;;;::::1;::::0;;::::1;;::::0;;16125:14:::1;:32:::0;;;16168:8:::1;:17:::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;16211:11:::1;16196:12;:26:::0;16233:16:::1;:14;:16::i;:::-;12440:14:::0;12436:68;;;12487:5;12471:21;;-1:-1:-1;;12471:21:0;;;12436:68;15881:376;;;;;:::o;15450:31::-;;;;:::o;14556:238::-;13878:12;:10;:12::i;:::-;-1:-1:-1;;;;;13867:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;13867:23:0;;13859:68;;;;;-1:-1:-1;;;13859:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13859:68:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;14659:22:0;::::1;14637:110;;;;-1:-1:-1::0;;;14637:110:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14758:28;14777:8;14758:18;:28::i;:::-;14556:238:::0;:::o;15320:23::-;;;-1:-1:-1;;;;;15320:23:0;;:::o;15418:25::-;;;-1:-1:-1;;;;;15418:25:0;;:::o;12746:98::-;12826:10;12746:98;:::o;7709:214::-;7846:58;;;-1:-1:-1;;;;;7846:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7846:58:0;-1:-1:-1;;;7846:58:0;;;7792:123;;7826:5;;7792:19;:123::i;:::-;7709:214;;;:::o;14954:191::-;15047:6;;;-1:-1:-1;;;;;15064:17:0;;;-1:-1:-1;;;;;;15064:17:0;;;;;;;15097:40;;15047:6;;;15064:17;15047:6;;15097:40;;15028:16;;15097:40;14954:191;;:::o;659:250::-;717:7;741:6;737:47;;-1:-1:-1;771:1:0;764:8;;737:47;808:5;;;812:1;808;:5;:1;832:5;;;;;:10;824:56;;;;-1:-1:-1;;;824:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;900:1;-1:-1:-1;659:250:0;;;;;:::o;917:132::-;975:7;1002:39;1006:1;1009;1002:39;;;;;;;;;;;;;;;;;:3;:39::i;7931:285::-;8129:68;;;-1:-1:-1;;;;;8129:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8129:68:0;-1:-1:-1;;;8129:68:0;;;8075:133;;8109:5;;8075:19;:133::i;:::-;7931:285;;;;:::o;13321:129::-;12145:13;;;;;;;;:30;;-1:-1:-1;12163:12:0;;;;12162:13;12145:30;12123:126;;;;-1:-1:-1;;;12123:126:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12262:19;12285:13;;;;;;12284:14;12309:101;;;;12344:13;:20;;-1:-1:-1;;;;12344:20:0;;;;;12379:19;12360:4;12379:19;;;12309:101;13379:26:::1;:24;:26::i;:::-;13416;:24;:26::i;:::-;12440:14:::0;12436:68;;;12487:5;12471:21;;-1:-1:-1;;12471:21:0;;;13321:129;:::o;10168:517::-;10249:23;10275:106;10317:4;10275:106;;;;;;;;;;;;;;;;;10283:5;-1:-1:-1;;;;;10275:27:0;;;:106;;;;;:::i;:::-;10396:17;;10249:132;;-1:-1:-1;10396:21:0;10392:286;;10569:10;10558:30;;;;;;;;;;;;;;;-1:-1:-1;10558:30:0;10532:134;;;;-1:-1:-1;;;10532:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1057:312;1177:7;1212:12;1205:5;1197:28;;;;-1:-1:-1;;;1197:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1236:9;1252:1;1248;:5;;;;;;;1057:312;-1:-1:-1;;;;;1057:312:0:o;12679:59::-;12145:13;;;;;;;;:30;;-1:-1:-1;12163:12:0;;;;12162:13;12145:30;12123:126;;;;-1:-1:-1;;;12123:126:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12262:19;12285:13;;;;;;12284:14;12309:101;;;;12344:13;:20;;-1:-1:-1;;;;12344:20:0;;;;;12379:19;12360:4;12379:19;;;12440:14;12436:68;;;12487:5;12471:21;;-1:-1:-1;;12471:21:0;;;12679:59;:::o;13458:108::-;12145:13;;;;;;;;:30;;-1:-1:-1;12163:12:0;;;;12162:13;12145:30;12123:126;;;;-1:-1:-1;;;12123:126:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12262:19;12285:13;;;;;;12284:14;12309:101;;;;12344:13;:20;;-1:-1:-1;;;;12344:20:0;;;;;12379:19;12360:4;12379:19;;;12309:101;13526:32:::1;13545:12;:10;:12::i;:::-;13526:18;:32::i;5532:230::-:0;5669:12;5701:53;5724:6;5732:4;5738:1;5741:12;5701:22;:53::i;:::-;5694:60;5532:230;-1:-1:-1;;;;5532:230:0:o;6538:1044::-;6711:12;6744:18;6755:6;6744:10;:18::i;:::-;6736:60;;;;;-1:-1:-1;;;6736:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6870:12;6884:23;6911:6;-1:-1:-1;;;;;6911:11:0;6930:8;6954:4;6911:58;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6911:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6869:100;;;;6984:7;6980:595;;;7015:10;-1:-1:-1;7008:17:0;;-1:-1:-1;7008:17:0;6980:595;7129:17;;:21;7125:439;;7392:10;7386:17;7453:15;7440:10;7436:2;7432:19;7425:44;7340:148;7528:20;;-1:-1:-1;;;7528:20:0;;;;;;;;;;;;;;;;;7535:12;;7528:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3976:641;4036:4;4517:20;;4347:66;4566:23;;;;;;:42;;-1:-1:-1;;4593:15:0;;;4558:51;-1:-1:-1;;3976:641:0:o
Swarm Source
ipfs://8fec6018513d7fdba93104b6c9b5130ff1572a0a8c2fe317ffccf40a067806cb
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.