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 25 from a total of 36 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Flush Liquidity | 15704832 | 873 days ago | IN | 0 ETH | 0.00578853 | ||||
Claim Tokens | 15160184 | 956 days ago | IN | 0 ETH | 0.00262158 | ||||
Claim Tokens | 15121558 | 962 days ago | IN | 0 ETH | 0.00602656 | ||||
Claim Tokens | 15116522 | 963 days ago | IN | 0 ETH | 0.00424971 | ||||
Claim Tokens | 15086296 | 968 days ago | IN | 0 ETH | 0.00373718 | ||||
Claim Tokens | 15066333 | 971 days ago | IN | 0 ETH | 0.00146493 | ||||
Claim Tokens | 15009439 | 981 days ago | IN | 0 ETH | 0.00726459 | ||||
Claim Tokens | 15000561 | 983 days ago | IN | 0 ETH | 0.00455816 | ||||
Claim Tokens | 14990535 | 984 days ago | IN | 0 ETH | 0.00303404 | ||||
Claim Tokens | 14977450 | 987 days ago | IN | 0 ETH | 0.00370179 | ||||
Claim Tokens | 14964293 | 989 days ago | IN | 0 ETH | 0.00496637 | ||||
Claim Tokens | 14963499 | 989 days ago | IN | 0 ETH | 0.00612466 | ||||
Claim Tokens | 14961608 | 989 days ago | IN | 0 ETH | 0.0071449 | ||||
Claim Tokens | 14959911 | 990 days ago | IN | 0 ETH | 0.02202715 | ||||
Claim Tokens | 14957838 | 990 days ago | IN | 0 ETH | 0.00780825 | ||||
Claim Tokens | 14957434 | 990 days ago | IN | 0 ETH | 0.01167269 | ||||
Claim Tokens | 14957266 | 990 days ago | IN | 0 ETH | 0.00833097 | ||||
Claim Tokens | 14953876 | 991 days ago | IN | 0 ETH | 0.01812744 | ||||
Claim Tokens | 14953283 | 991 days ago | IN | 0 ETH | 0.03379971 | ||||
Claim Tokens | 14952842 | 991 days ago | IN | 0 ETH | 0.00345185 | ||||
Claim Tokens | 14952227 | 991 days ago | IN | 0 ETH | 0.00385283 | ||||
Claim Tokens | 14950837 | 991 days ago | IN | 0 ETH | 0.00657944 | ||||
Claim Tokens | 14950126 | 991 days ago | IN | 0 ETH | 0.00399422 | ||||
Claim Tokens | 14949632 | 991 days ago | IN | 0 ETH | 0.00311979 | ||||
Claim Tokens | 14948034 | 992 days ago | IN | 0 ETH | 0.01348957 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
ClaimCrcV2
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-06-11 */ // SPDX-License-Identifier: MIT 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; } } /** * @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); } } /** * @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 `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, 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 `from` to `to` 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 from, address to, 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); } /********************************************************** __ __ __ __ __ / / / /___ ______/ /_____ _____/ / ____ _/ /_ _____ / /_/ / __ `/ ___/ //_/ _ \/ ___/ / / __ `/ __ \/ ___/ / __ / /_/ / /__/ ,< / __/ / / /___/ /_/ / /_/ (__ ) /_/ /_/\__,_/\___/_/|_|\___/_/ /_____/\__,_/_.___/____/ *********************************************************/ contract ClaimCrcV2 is Ownable { mapping(address => uint256) public snapshot; uint256 public snapshotOwnersCount = 0; uint256 public snapshotOwnersClaimedCount = 0; uint256 public crcUnclaimed = 0; uint256 public crcClaimed = 0; bool public setTokensAllowed = true; bool public migrationOpen = false; IERC20 public v1CrcToken = IERC20(0xC23fa49b581fFF9a3ea7E49D0504B06D07C6FF2a); IERC20 public v2CrcToken; address constant DEAD = 0x0000000000000000000000000000000000000000; //mainnet: 0xC23fa49b581fFF9a3ea7E49D0504B06D07C6FF2a constructor() {} function setAddresses(address[] memory accounts, uint256[] memory amount) external onlyOwner { require(setTokensAllowed == true, "disabled"); require(accounts.length == amount.length, "ACCOUNT_LIST_NOT_EQUAL"); for (uint8 i = 0; i < accounts.length; i++) { address _owner = accounts[i]; require(snapshot[_owner] == 0, "owner !exists"); snapshot[_owner] = amount[i]; crcUnclaimed += amount[i]; snapshotOwnersCount += 1; } } function setCrcToken(address _newCrcToken) external onlyOwner { v2CrcToken = IERC20(_newCrcToken); } function swapMigrationStatus() external onlyOwner { migrationOpen = !migrationOpen; } function disableSetTokens() external onlyOwner { require(setTokensAllowed == true, "Already disabled"); setTokensAllowed = false; } function claimTokens() external { require(migrationOpen == true, "closed"); address _owner = msg.sender; uint256 _v1Balance = snapshot[_owner]; require(_owner != address(this), "Contract cannot claim tokens"); require(_v1Balance > 0, "Insufficient V1 balance in account"); require(v1CrcToken.balanceOf(msg.sender) >= _v1Balance,"SUFFICIENT_TOKEN_NOT_AVAILABLE"); require(v1CrcToken.allowance(_owner,address(this)) >= _v1Balance,"SUFFICIENT_ALLOWANCE_NOT_GIVEN"); uint256 _tokensLeft = v2CrcToken.balanceOf(address(this)); if (_v1Balance > _tokensLeft) { _v1Balance = _tokensLeft; } snapshot[_owner] -= _v1Balance; crcUnclaimed -= _v1Balance; crcClaimed += _v1Balance; snapshotOwnersClaimedCount += 1; v1CrcToken.transferFrom(_owner,DEAD,_v1Balance); v2CrcToken.transfer(_owner, _v1Balance); } function claimTokensFor(address _owner) external { require(migrationOpen == true, "closed"); uint256 _v1Balance = snapshot[_owner]; require(_owner != address(this), "Contract cannot claim tokens"); require(_v1Balance > 0, "Insufficient V1 balance in account"); require(v1CrcToken.balanceOf(_owner) >= _v1Balance,"SUFFICIENT_TOKEN_NOT_AVAILABLE"); require(v1CrcToken.allowance(_owner,address(this)) >= _v1Balance,"SUFFICIENT_ALLOWANCE_NOT_GIVEN"); uint256 _tokensLeft = v2CrcToken.balanceOf(address(this)); if (_v1Balance > _tokensLeft) { _v1Balance = _tokensLeft; } snapshot[_owner] -= _v1Balance; crcUnclaimed -= _v1Balance; crcClaimed += _v1Balance; snapshotOwnersClaimedCount += 1; v1CrcToken.transferFrom(_owner,DEAD,_v1Balance); v2CrcToken.transfer(_owner, _v1Balance); } function flushLiquidity() external onlyOwner { uint256 totalBalance = v2CrcToken.balanceOf(address(this)); require(totalBalance > 0, "CONTRACT_IS_EMPTY"); v2CrcToken.transfer(msg.sender, totalBalance); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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"},{"inputs":[],"name":"claimTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"claimTokensFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"crcClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"crcUnclaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableSetTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"flushLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"migrationOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"amount","type":"uint256[]"}],"name":"setAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newCrcToken","type":"address"}],"name":"setCrcToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setTokensAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"snapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"snapshotOwnersClaimedCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"snapshotOwnersCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapMigrationStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"v1CrcToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"v2CrcToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040526000600281905560038190556004819055600555600680546001600160b01b03191675c23fa49b581fff9a3ea7e49d0504b06d07c6ff2a000117905534801561004c57600080fd5b506100563361005b565b6100ab565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6110ef806100ba6000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80637e3a1512116100ad578063cf62e9fc11610071578063cf62e9fc14610228578063ee0b04be14610231578063f2fde38b14610244578063f3aa5f4314610257578063f4c36c9a1461026457600080fd5b80637e3a1512146101dc57806388bfa626146101e45780638da5cb5b146101ed57806392c24307146101fe57806398c8bece1461020657600080fd5b806337afc1e7116100f457806337afc1e71461019d57806348c54b9d146101a6578063499d3120146101ae578063715018a6146101c15780637553d915146101c957600080fd5b80630561cddf146101265780630627cd1d14610130578063265121601461016657806326a76abf14610194575b600080fd5b61012e610277565b005b600654610149906201000090046001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b610186610174366004610dd4565b60016020526000908152604090205481565b60405190815260200161015d565b61018660025481565b61018660055481565b61012e6102c7565b61012e6101bc366004610ecc565b610758565b61012e610950565b600754610149906001600160a01b031681565b61012e610986565b61018660035481565b6000546001600160a01b0316610149565b61012e610a06565b60065461021890610100900460ff1681565b604051901515815260200161015d565b61018660045481565b61012e61023f366004610dd4565b610b7a565b61012e610252366004610dd4565b610c81565b6006546102189060ff1681565b61012e610272366004610dd4565b610d1c565b6000546001600160a01b031633146102aa5760405162461bcd60e51b81526004016102a190610f8c565b60405180910390fd5b6006805461ff001981166101009182900460ff1615909102179055565b60065460ff61010090910416151560011461030d5760405162461bcd60e51b815260206004820152600660248201526518db1bdcd95960d21b60448201526064016102a1565b336000818152600160205260409020543082141561036d5760405162461bcd60e51b815260206004820152601c60248201527f436f6e74726163742063616e6e6f7420636c61696d20746f6b656e730000000060448201526064016102a1565b6000811161038d5760405162461bcd60e51b81526004016102a190610fc1565b6006546040516370a0823160e01b815233600482015282916201000090046001600160a01b0316906370a08231906024015b60206040518083038186803b1580156103d757600080fd5b505afa1580156103eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040f9190611003565b101561045d5760405162461bcd60e51b815260206004820152601e60248201527f53554646494349454e545f544f4b454e5f4e4f545f415641494c41424c45000060448201526064016102a1565b600654604051636eb1769f60e11b81526001600160a01b0384811660048301523060248301528392620100009004169063dd62ed3e9060440160206040518083038186803b1580156104ae57600080fd5b505afa1580156104c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e69190611003565b10156105345760405162461bcd60e51b815260206004820152601e60248201527f53554646494349454e545f414c4c4f57414e43455f4e4f545f474956454e000060448201526064016102a1565b6007546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b15801561057857600080fd5b505afa15801561058c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b09190611003565b9050808211156105be578091505b6001600160a01b038316600090815260016020526040812080548492906105e6908490611032565b9250508190555081600460008282546105ff9190611032565b9250508190555081600560008282546106189190611049565b925050819055506001600360008282546106329190611049565b90915550506006546040516323b872dd60e01b81526001600160a01b038581166004830152600060248301526044820185905262010000909204909116906323b872dd90606401602060405180830381600087803b15801561069357600080fd5b505af11580156106a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cb9190611061565b5060075460405163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529091169063a9059cbb90604401602060405180830381600087803b15801561071a57600080fd5b505af115801561072e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107529190611061565b50505050565b6000546001600160a01b031633146107825760405162461bcd60e51b81526004016102a190610f8c565b60065460ff1615156001146107c45760405162461bcd60e51b8152602060048201526008602482015267191a5cd8589b195960c21b60448201526064016102a1565b805182511461080e5760405162461bcd60e51b81526020600482015260166024820152751050d0d3d5539517d31254d517d393d517d15455505360521b60448201526064016102a1565b60005b82518160ff16101561094b576000838260ff168151811061083457610834611083565b6020026020010151905060016000826001600160a01b03166001600160a01b03168152602001908152602001600020546000146108a35760405162461bcd60e51b815260206004820152600d60248201526c6f776e6572202165786973747360981b60448201526064016102a1565b828260ff16815181106108b8576108b8611083565b602002602001015160016000836001600160a01b03166001600160a01b0316815260200190815260200160002081905550828260ff16815181106108fe576108fe611083565b6020026020010151600460008282546109179190611049565b925050819055506001600260008282546109319190611049565b90915550829150610943905081611099565b915050610811565b505050565b6000546001600160a01b0316331461097a5760405162461bcd60e51b81526004016102a190610f8c565b6109846000610d68565b565b6000546001600160a01b031633146109b05760405162461bcd60e51b81526004016102a190610f8c565b60065460ff1615156001146109fa5760405162461bcd60e51b815260206004820152601060248201526f105b1c9958591e48191a5cd8589b195960821b60448201526064016102a1565b6006805460ff19169055565b6000546001600160a01b03163314610a305760405162461bcd60e51b81526004016102a190610f8c565b6007546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b158015610a7457600080fd5b505afa158015610a88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aac9190611003565b905060008111610af25760405162461bcd60e51b8152602060048201526011602482015270434f4e54524143545f49535f454d50545960781b60448201526064016102a1565b60075460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb90604401602060405180830381600087803b158015610b3e57600080fd5b505af1158015610b52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b769190611061565b5050565b60065460ff610100909104161515600114610bc05760405162461bcd60e51b815260206004820152600660248201526518db1bdcd95960d21b60448201526064016102a1565b6001600160a01b03811660008181526001602052604090205490301415610c295760405162461bcd60e51b815260206004820152601c60248201527f436f6e74726163742063616e6e6f7420636c61696d20746f6b656e730000000060448201526064016102a1565b60008111610c495760405162461bcd60e51b81526004016102a190610fc1565b6006546040516370a0823160e01b81526001600160a01b038481166004830152839262010000900416906370a08231906024016103bf565b6000546001600160a01b03163314610cab5760405162461bcd60e51b81526004016102a190610f8c565b6001600160a01b038116610d105760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102a1565b610d1981610d68565b50565b6000546001600160a01b03163314610d465760405162461bcd60e51b81526004016102a190610f8c565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b0381168114610dcf57600080fd5b919050565b600060208284031215610de657600080fd5b610def82610db8565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610e3557610e35610df6565b604052919050565b600067ffffffffffffffff821115610e5757610e57610df6565b5060051b60200190565b600082601f830112610e7257600080fd5b81356020610e87610e8283610e3d565b610e0c565b82815260059290921b84018101918181019086841115610ea657600080fd5b8286015b84811015610ec15780358352918301918301610eaa565b509695505050505050565b60008060408385031215610edf57600080fd5b823567ffffffffffffffff80821115610ef757600080fd5b818501915085601f830112610f0b57600080fd5b81356020610f1b610e8283610e3d565b82815260059290921b84018101918181019089841115610f3a57600080fd5b948201945b83861015610f5f57610f5086610db8565b82529482019490820190610f3f565b96505086013592505080821115610f7557600080fd5b50610f8285828601610e61565b9150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526022908201527f496e73756666696369656e742056312062616c616e636520696e206163636f756040820152611b9d60f21b606082015260800190565b60006020828403121561101557600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110445761104461101c565b500390565b6000821982111561105c5761105c61101c565b500190565b60006020828403121561107357600080fd5b81518015158114610def57600080fd5b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff8114156110b0576110b061101c565b6001019291505056fea26469706673582212208f6df0d56f1218b56ca5f19b92fb7bba4dfa56c93a58df898a82bb553a0689c164736f6c63430008090033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101215760003560e01c80637e3a1512116100ad578063cf62e9fc11610071578063cf62e9fc14610228578063ee0b04be14610231578063f2fde38b14610244578063f3aa5f4314610257578063f4c36c9a1461026457600080fd5b80637e3a1512146101dc57806388bfa626146101e45780638da5cb5b146101ed57806392c24307146101fe57806398c8bece1461020657600080fd5b806337afc1e7116100f457806337afc1e71461019d57806348c54b9d146101a6578063499d3120146101ae578063715018a6146101c15780637553d915146101c957600080fd5b80630561cddf146101265780630627cd1d14610130578063265121601461016657806326a76abf14610194575b600080fd5b61012e610277565b005b600654610149906201000090046001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b610186610174366004610dd4565b60016020526000908152604090205481565b60405190815260200161015d565b61018660025481565b61018660055481565b61012e6102c7565b61012e6101bc366004610ecc565b610758565b61012e610950565b600754610149906001600160a01b031681565b61012e610986565b61018660035481565b6000546001600160a01b0316610149565b61012e610a06565b60065461021890610100900460ff1681565b604051901515815260200161015d565b61018660045481565b61012e61023f366004610dd4565b610b7a565b61012e610252366004610dd4565b610c81565b6006546102189060ff1681565b61012e610272366004610dd4565b610d1c565b6000546001600160a01b031633146102aa5760405162461bcd60e51b81526004016102a190610f8c565b60405180910390fd5b6006805461ff001981166101009182900460ff1615909102179055565b60065460ff61010090910416151560011461030d5760405162461bcd60e51b815260206004820152600660248201526518db1bdcd95960d21b60448201526064016102a1565b336000818152600160205260409020543082141561036d5760405162461bcd60e51b815260206004820152601c60248201527f436f6e74726163742063616e6e6f7420636c61696d20746f6b656e730000000060448201526064016102a1565b6000811161038d5760405162461bcd60e51b81526004016102a190610fc1565b6006546040516370a0823160e01b815233600482015282916201000090046001600160a01b0316906370a08231906024015b60206040518083038186803b1580156103d757600080fd5b505afa1580156103eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040f9190611003565b101561045d5760405162461bcd60e51b815260206004820152601e60248201527f53554646494349454e545f544f4b454e5f4e4f545f415641494c41424c45000060448201526064016102a1565b600654604051636eb1769f60e11b81526001600160a01b0384811660048301523060248301528392620100009004169063dd62ed3e9060440160206040518083038186803b1580156104ae57600080fd5b505afa1580156104c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e69190611003565b10156105345760405162461bcd60e51b815260206004820152601e60248201527f53554646494349454e545f414c4c4f57414e43455f4e4f545f474956454e000060448201526064016102a1565b6007546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b15801561057857600080fd5b505afa15801561058c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b09190611003565b9050808211156105be578091505b6001600160a01b038316600090815260016020526040812080548492906105e6908490611032565b9250508190555081600460008282546105ff9190611032565b9250508190555081600560008282546106189190611049565b925050819055506001600360008282546106329190611049565b90915550506006546040516323b872dd60e01b81526001600160a01b038581166004830152600060248301526044820185905262010000909204909116906323b872dd90606401602060405180830381600087803b15801561069357600080fd5b505af11580156106a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cb9190611061565b5060075460405163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529091169063a9059cbb90604401602060405180830381600087803b15801561071a57600080fd5b505af115801561072e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107529190611061565b50505050565b6000546001600160a01b031633146107825760405162461bcd60e51b81526004016102a190610f8c565b60065460ff1615156001146107c45760405162461bcd60e51b8152602060048201526008602482015267191a5cd8589b195960c21b60448201526064016102a1565b805182511461080e5760405162461bcd60e51b81526020600482015260166024820152751050d0d3d5539517d31254d517d393d517d15455505360521b60448201526064016102a1565b60005b82518160ff16101561094b576000838260ff168151811061083457610834611083565b6020026020010151905060016000826001600160a01b03166001600160a01b03168152602001908152602001600020546000146108a35760405162461bcd60e51b815260206004820152600d60248201526c6f776e6572202165786973747360981b60448201526064016102a1565b828260ff16815181106108b8576108b8611083565b602002602001015160016000836001600160a01b03166001600160a01b0316815260200190815260200160002081905550828260ff16815181106108fe576108fe611083565b6020026020010151600460008282546109179190611049565b925050819055506001600260008282546109319190611049565b90915550829150610943905081611099565b915050610811565b505050565b6000546001600160a01b0316331461097a5760405162461bcd60e51b81526004016102a190610f8c565b6109846000610d68565b565b6000546001600160a01b031633146109b05760405162461bcd60e51b81526004016102a190610f8c565b60065460ff1615156001146109fa5760405162461bcd60e51b815260206004820152601060248201526f105b1c9958591e48191a5cd8589b195960821b60448201526064016102a1565b6006805460ff19169055565b6000546001600160a01b03163314610a305760405162461bcd60e51b81526004016102a190610f8c565b6007546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b158015610a7457600080fd5b505afa158015610a88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aac9190611003565b905060008111610af25760405162461bcd60e51b8152602060048201526011602482015270434f4e54524143545f49535f454d50545960781b60448201526064016102a1565b60075460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb90604401602060405180830381600087803b158015610b3e57600080fd5b505af1158015610b52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b769190611061565b5050565b60065460ff610100909104161515600114610bc05760405162461bcd60e51b815260206004820152600660248201526518db1bdcd95960d21b60448201526064016102a1565b6001600160a01b03811660008181526001602052604090205490301415610c295760405162461bcd60e51b815260206004820152601c60248201527f436f6e74726163742063616e6e6f7420636c61696d20746f6b656e730000000060448201526064016102a1565b60008111610c495760405162461bcd60e51b81526004016102a190610fc1565b6006546040516370a0823160e01b81526001600160a01b038481166004830152839262010000900416906370a08231906024016103bf565b6000546001600160a01b03163314610cab5760405162461bcd60e51b81526004016102a190610f8c565b6001600160a01b038116610d105760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102a1565b610d1981610d68565b50565b6000546001600160a01b03163314610d465760405162461bcd60e51b81526004016102a190610f8c565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b0381168114610dcf57600080fd5b919050565b600060208284031215610de657600080fd5b610def82610db8565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610e3557610e35610df6565b604052919050565b600067ffffffffffffffff821115610e5757610e57610df6565b5060051b60200190565b600082601f830112610e7257600080fd5b81356020610e87610e8283610e3d565b610e0c565b82815260059290921b84018101918181019086841115610ea657600080fd5b8286015b84811015610ec15780358352918301918301610eaa565b509695505050505050565b60008060408385031215610edf57600080fd5b823567ffffffffffffffff80821115610ef757600080fd5b818501915085601f830112610f0b57600080fd5b81356020610f1b610e8283610e3d565b82815260059290921b84018101918181019089841115610f3a57600080fd5b948201945b83861015610f5f57610f5086610db8565b82529482019490820190610f3f565b96505086013592505080821115610f7557600080fd5b50610f8285828601610e61565b9150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526022908201527f496e73756666696369656e742056312062616c616e636520696e206163636f756040820152611b9d60f21b606082015260800190565b60006020828403121561101557600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110445761104461101c565b500390565b6000821982111561105c5761105c61101c565b500190565b60006020828403121561107357600080fd5b81518015158114610def57600080fd5b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff8114156110b0576110b061101c565b6001019291505056fea26469706673582212208f6df0d56f1218b56ca5f19b92fb7bba4dfa56c93a58df898a82bb553a0689c164736f6c63430008090033
Deployed Bytecode Sourcemap
6432:3740:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7740:99;;;:::i;:::-;;6779:86;;;;;;;;-1:-1:-1;;;;;6779:86:0;;;;;;-1:-1:-1;;;;;192:32:1;;;174:51;;162:2;147:18;6779:86:0;;;;;;;;6470:43;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;751:25:1;;;739:2;724:18;6470:43:0;605:177:1;6520:38:0;;;;;;6657:29;;;;;;8009:966;;;:::i;7059:551::-;;;;;;:::i;:::-;;:::i;2394:103::-;;;:::i;6872:24::-;;;;;-1:-1:-1;;;;;6872:24:0;;;7847:154;;;:::i;6565:45::-;;;;;;1743:87;1789:7;1816:6;-1:-1:-1;;;;;1816:6:0;1743:87;;9932:237;;;:::i;6737:33::-;;;;;;;;;;;;;;;3578:14:1;;3571:22;3553:41;;3541:2;3526:18;6737:33:0;3413:187:1;6619:31:0;;;;;;8983:941;;;;;;:::i;:::-;;:::i;2652:201::-;;;;;;:::i;:::-;;:::i;6695:35::-;;;;;;;;;7618:114;;;;;;:::i;:::-;;:::i;7740:99::-;1789:7;1816:6;-1:-1:-1;;;;;1816:6:0;682:10;1963:23;1955:68;;;;-1:-1:-1;;;1955:68:0;;;;;;;:::i;:::-;;;;;;;;;7818:13:::1;::::0;;-1:-1:-1;;7801:30:0;::::1;7818:13;::::0;;;::::1;;;7817:14;7801:30:::0;;::::1;;::::0;;7740:99::o;8009:966::-;8060:13;;;;;;;;:21;;:13;:21;8052:40;;;;-1:-1:-1;;;8052:40:0;;4168:2:1;8052:40:0;;;4150:21:1;4207:1;4187:18;;;4180:29;-1:-1:-1;;;4225:18:1;;;4218:36;4271:18;;8052:40:0;3966:329:1;8052:40:0;8120:10;8103:14;8162:16;;;:8;:16;;;;;;8217:4;8199:23;;;8191:64;;;;-1:-1:-1;;;8191:64:0;;4502:2:1;8191:64:0;;;4484:21:1;4541:2;4521:18;;;4514:30;4580;4560:18;;;4553:58;4628:18;;8191:64:0;4300:352:1;8191:64:0;8287:1;8274:10;:14;8266:61;;;;-1:-1:-1;;;8266:61:0;;;;;;;:::i;:::-;8346:10;;:32;;-1:-1:-1;;;8346:32:0;;8367:10;8346:32;;;174:51:1;8382:10:0;;8346;;;-1:-1:-1;;;;;8346:10:0;;:20;;147:18:1;;8346:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:46;;8338:88;;;;-1:-1:-1;;;8338:88:0;;5451:2:1;8338:88:0;;;5433:21:1;5490:2;5470:18;;;5463:30;5529:32;5509:18;;;5502:60;5579:18;;8338:88:0;5249:354:1;8338:88:0;8445:10;;:42;;-1:-1:-1;;;8445:42:0;;-1:-1:-1;;;;;5838:15:1;;;8445:42:0;;;5820:34:1;8481:4:0;5870:18:1;;;5863:43;8491:10:0;;8445;;;;;:20;;5755:18:1;;8445:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:56;;8437:98;;;;-1:-1:-1;;;8437:98:0;;6119:2:1;8437:98:0;;;6101:21:1;6158:2;6138:18;;;6131:30;6197:32;6177:18;;;6170:60;6247:18;;8437:98:0;5917:354:1;8437:98:0;8570:10;;:35;;-1:-1:-1;;;8570:35:0;;8599:4;8570:35;;;174:51:1;8548:19:0;;-1:-1:-1;;;;;8570:10:0;;:20;;147:18:1;;8570:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8548:57;;8635:11;8622:10;:24;8618:81;;;8676:11;8663:24;;8618:81;-1:-1:-1;;;;;8711:16:0;;;;;;:8;:16;;;;;:30;;8731:10;;8711:16;:30;;8731:10;;8711:30;:::i;:::-;;;;;;;;8770:10;8754:12;;:26;;;;;;;:::i;:::-;;;;;;;;8805:10;8791;;:24;;;;;;;:::i;:::-;;;;;;;;8856:1;8826:26;;:31;;;;;;;:::i;:::-;;;;-1:-1:-1;;8870:10:0;;:47;;-1:-1:-1;;;8870:47:0;;-1:-1:-1;;;;;6929:15:1;;;8870:47:0;;;6911:34:1;6927:42:0;6961:18:1;;;6954:43;7013:18;;;7006:34;;;8870:10:0;;;;;;;;:23;;6846:18:1;;8870:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;8928:10:0;;:39;;-1:-1:-1;;;8928:39:0;;-1:-1:-1;;;;;7525:32:1;;;8928:39:0;;;7507:51:1;7574:18;;;7567:34;;;8928:10:0;;;;:19;;7480:18:1;;8928:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8041:934;;;8009:966::o;7059:551::-;1789:7;1816:6;-1:-1:-1;;;;;1816:6:0;682:10;1963:23;1955:68;;;;-1:-1:-1;;;1955:68:0;;;;;;;:::i;:::-;7194:16:::1;::::0;::::1;;:24;;:16:::0;:24:::1;7186:45;;;::::0;-1:-1:-1;;;7186:45:0;;7814:2:1;7186:45:0::1;::::0;::::1;7796:21:1::0;7853:1;7833:18;;;7826:29;-1:-1:-1;;;7871:18:1;;;7864:38;7919:18;;7186:45:0::1;7612:331:1::0;7186:45:0::1;7269:6;:13;7250:8;:15;:32;7242:67;;;::::0;-1:-1:-1;;;7242:67:0;;8150:2:1;7242:67:0::1;::::0;::::1;8132:21:1::0;8189:2;8169:18;;;8162:30;-1:-1:-1;;;8208:18:1;;;8201:52;8270:18;;7242:67:0::1;7948:346:1::0;7242:67:0::1;7325:7;7320:283;7342:8;:15;7338:1;:19;;;7320:283;;;7379:14;7396:8;7405:1;7396:11;;;;;;;;;;:::i;:::-;;;;;;;7379:28;;7430:8;:16;7439:6;-1:-1:-1::0;;;;;7430:16:0::1;-1:-1:-1::0;;;;;7430:16:0::1;;;;;;;;;;;;;7450:1;7430:21;7422:47;;;::::0;-1:-1:-1;;;7422:47:0;;8633:2:1;7422:47:0::1;::::0;::::1;8615:21:1::0;8672:2;8652:18;;;8645:30;-1:-1:-1;;;8691:18:1;;;8684:43;8744:18;;7422:47:0::1;8431:337:1::0;7422:47:0::1;7503:6;7510:1;7503:9;;;;;;;;;;:::i;:::-;;;;;;;7484:8;:16;7493:6;-1:-1:-1::0;;;;;7484:16:0::1;-1:-1:-1::0;;;;;7484:16:0::1;;;;;;;;;;;;:28;;;;7543:6;7550:1;7543:9;;;;;;;;;;:::i;:::-;;;;;;;7527:12;;:25;;;;;;;:::i;:::-;;;;;;;;7590:1;7567:19;;:24;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;7359:3:0;;-1:-1:-1;7359:3:0::1;::::0;-1:-1:-1;7359:3:0;::::1;:::i;:::-;;;;7320:283;;;;7059:551:::0;;:::o;2394:103::-;1789:7;1816:6;-1:-1:-1;;;;;1816:6:0;682:10;1963:23;1955:68;;;;-1:-1:-1;;;1955:68:0;;;;;;;:::i;:::-;2459:30:::1;2486:1;2459:18;:30::i;:::-;2394:103::o:0;7847:154::-;1789:7;1816:6;-1:-1:-1;;;;;1816:6:0;682:10;1963:23;1955:68;;;;-1:-1:-1;;;1955:68:0;;;;;;;:::i;:::-;7913:16:::1;::::0;::::1;;:24;;:16:::0;:24:::1;7905:53;;;::::0;-1:-1:-1;;;7905:53:0;;9155:2:1;7905:53:0::1;::::0;::::1;9137:21:1::0;9194:2;9174:18;;;9167:30;-1:-1:-1;;;9213:18:1;;;9206:46;9269:18;;7905:53:0::1;8953:340:1::0;7905:53:0::1;7969:16;:24:::0;;-1:-1:-1;;7969:24:0::1;::::0;;7847:154::o;9932:237::-;1789:7;1816:6;-1:-1:-1;;;;;1816:6:0;682:10;1963:23;1955:68;;;;-1:-1:-1;;;1955:68:0;;;;;;;:::i;:::-;10011:10:::1;::::0;:35:::1;::::0;-1:-1:-1;;;10011:35:0;;10040:4:::1;10011:35;::::0;::::1;174:51:1::0;9988:20:0::1;::::0;-1:-1:-1;;;;;10011:10:0::1;::::0;:20:::1;::::0;147:18:1;;10011:35:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9988:58;;10080:1;10065:12;:16;10057:46;;;::::0;-1:-1:-1;;;10057:46:0;;9500:2:1;10057:46:0::1;::::0;::::1;9482:21:1::0;9539:2;9519:18;;;9512:30;-1:-1:-1;;;9558:18:1;;;9551:47;9615:18;;10057:46:0::1;9298:341:1::0;10057:46:0::1;10116:10;::::0;:45:::1;::::0;-1:-1:-1;;;10116:45:0;;10136:10:::1;10116:45;::::0;::::1;7507:51:1::0;7574:18;;;7567:34;;;-1:-1:-1;;;;;10116:10:0;;::::1;::::0;:19:::1;::::0;7480:18:1;;10116:45:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9977:192;9932:237::o:0;8983:941::-;9051:13;;;;;;;;:21;;:13;:21;9043:40;;;;-1:-1:-1;;;9043:40:0;;4168:2:1;9043:40:0;;;4150:21:1;4207:1;4187:18;;;4180:29;-1:-1:-1;;;4225:18:1;;;4218:36;4271:18;;9043:40:0;3966:329:1;9043:40:0;-1:-1:-1;;;;;9115:16:0;;9094:18;9115:16;;;:8;:16;;;;;;;9170:4;9152:23;;9144:64;;;;-1:-1:-1;;;9144:64:0;;4502:2:1;9144:64:0;;;4484:21:1;4541:2;4521:18;;;4514:30;4580;4560:18;;;4553:58;4628:18;;9144:64:0;4300:352:1;9144:64:0;9240:1;9227:10;:14;9219:61;;;;-1:-1:-1;;;9219:61:0;;;;;;;:::i;:::-;9299:10;;:28;;-1:-1:-1;;;9299:28:0;;-1:-1:-1;;;;;192:32:1;;;9299:28:0;;;174:51:1;9331:10:0;;9299;;;;;:20;;147:18:1;;9299:28:0;14:217:1;2652:201:0;1789:7;1816:6;-1:-1:-1;;;;;1816:6:0;682:10;1963:23;1955:68;;;;-1:-1:-1;;;1955:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2741:22:0;::::1;2733:73;;;::::0;-1:-1:-1;;;2733:73:0;;9846:2:1;2733:73:0::1;::::0;::::1;9828:21:1::0;9885:2;9865:18;;;9858:30;9924:34;9904:18;;;9897:62;-1:-1:-1;;;9975:18:1;;;9968:36;10021:19;;2733:73:0::1;9644:402:1::0;2733:73:0::1;2817:28;2836:8;2817:18;:28::i;:::-;2652:201:::0;:::o;7618:114::-;1789:7;1816:6;-1:-1:-1;;;;;1816:6:0;682:10;1963:23;1955:68;;;;-1:-1:-1;;;1955:68:0;;;;;;;:::i;:::-;7691:10:::1;:33:::0;;-1:-1:-1;;;;;;7691:33:0::1;-1:-1:-1::0;;;;;7691:33:0;;;::::1;::::0;;;::::1;::::0;;7618:114::o;3013:191::-;3087:16;3106:6;;-1:-1:-1;;;;;3123:17:0;;;-1:-1:-1;;;;;;3123:17:0;;;;;;3156:40;;3106:6;;;;;;;3156:40;;3087:16;3156:40;3076:128;3013:191;:::o;236:173:1:-;304:20;;-1:-1:-1;;;;;353:31:1;;343:42;;333:70;;399:1;396;389:12;333:70;236:173;;;:::o;414:186::-;473:6;526:2;514:9;505:7;501:23;497:32;494:52;;;542:1;539;532:12;494:52;565:29;584:9;565:29;:::i;:::-;555:39;414:186;-1:-1:-1;;;414:186:1:o;787:127::-;848:10;843:3;839:20;836:1;829:31;879:4;876:1;869:15;903:4;900:1;893:15;919:275;990:2;984:9;1055:2;1036:13;;-1:-1:-1;;1032:27:1;1020:40;;1090:18;1075:34;;1111:22;;;1072:62;1069:88;;;1137:18;;:::i;:::-;1173:2;1166:22;919:275;;-1:-1:-1;919:275:1:o;1199:183::-;1259:4;1292:18;1284:6;1281:30;1278:56;;;1314:18;;:::i;:::-;-1:-1:-1;1359:1:1;1355:14;1371:4;1351:25;;1199:183::o;1387:662::-;1441:5;1494:3;1487:4;1479:6;1475:17;1471:27;1461:55;;1512:1;1509;1502:12;1461:55;1548:6;1535:20;1574:4;1598:60;1614:43;1654:2;1614:43;:::i;:::-;1598:60;:::i;:::-;1692:15;;;1778:1;1774:10;;;;1762:23;;1758:32;;;1723:12;;;;1802:15;;;1799:35;;;1830:1;1827;1820:12;1799:35;1866:2;1858:6;1854:15;1878:142;1894:6;1889:3;1886:15;1878:142;;;1960:17;;1948:30;;1998:12;;;;1911;;1878:142;;;-1:-1:-1;2038:5:1;1387:662;-1:-1:-1;;;;;;1387:662:1:o;2054:1146::-;2172:6;2180;2233:2;2221:9;2212:7;2208:23;2204:32;2201:52;;;2249:1;2246;2239:12;2201:52;2289:9;2276:23;2318:18;2359:2;2351:6;2348:14;2345:34;;;2375:1;2372;2365:12;2345:34;2413:6;2402:9;2398:22;2388:32;;2458:7;2451:4;2447:2;2443:13;2439:27;2429:55;;2480:1;2477;2470:12;2429:55;2516:2;2503:16;2538:4;2562:60;2578:43;2618:2;2578:43;:::i;2562:60::-;2656:15;;;2738:1;2734:10;;;;2726:19;;2722:28;;;2687:12;;;;2762:19;;;2759:39;;;2794:1;2791;2784:12;2759:39;2818:11;;;;2838:148;2854:6;2849:3;2846:15;2838:148;;;2920:23;2939:3;2920:23;:::i;:::-;2908:36;;2871:12;;;;2964;;;;2838:148;;;3005:5;-1:-1:-1;;3048:18:1;;3035:32;;-1:-1:-1;;3079:16:1;;;3076:36;;;3108:1;3105;3098:12;3076:36;;3131:63;3186:7;3175:8;3164:9;3160:24;3131:63;:::i;:::-;3121:73;;;2054:1146;;;;;:::o;3605:356::-;3807:2;3789:21;;;3826:18;;;3819:30;3885:34;3880:2;3865:18;;3858:62;3952:2;3937:18;;3605:356::o;4657:398::-;4859:2;4841:21;;;4898:2;4878:18;;;4871:30;4937:34;4932:2;4917:18;;4910:62;-1:-1:-1;;;5003:2:1;4988:18;;4981:32;5045:3;5030:19;;4657:398::o;5060:184::-;5130:6;5183:2;5171:9;5162:7;5158:23;5154:32;5151:52;;;5199:1;5196;5189:12;5151:52;-1:-1:-1;5222:16:1;;5060:184;-1:-1:-1;5060:184:1:o;6276:127::-;6337:10;6332:3;6328:20;6325:1;6318:31;6368:4;6365:1;6358:15;6392:4;6389:1;6382:15;6408:125;6448:4;6476:1;6473;6470:8;6467:34;;;6481:18;;:::i;:::-;-1:-1:-1;6518:9:1;;6408:125::o;6538:128::-;6578:3;6609:1;6605:6;6602:1;6599:13;6596:39;;;6615:18;;:::i;:::-;-1:-1:-1;6651:9:1;;6538:128::o;7051:277::-;7118:6;7171:2;7159:9;7150:7;7146:23;7142:32;7139:52;;;7187:1;7184;7177:12;7139:52;7219:9;7213:16;7272:5;7265:13;7258:21;7251:5;7248:32;7238:60;;7294:1;7291;7284:12;8299:127;8360:10;8355:3;8351:20;8348:1;8341:31;8391:4;8388:1;8381:15;8415:4;8412:1;8405:15;8773:175;8810:3;8854:4;8847:5;8843:16;8883:4;8874:7;8871:17;8868:43;;;8891:18;;:::i;:::-;8940:1;8927:15;;8773:175;-1:-1:-1;;8773:175:1:o
Swarm Source
ipfs://8f6df0d56f1218b56ca5f19b92fb7bba4dfa56c93a58df898a82bb553a0689c1
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 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.