More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 494 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim | 18865792 | 268 days ago | IN | 0 ETH | 0.00114083 | ||||
Claim | 18005092 | 388 days ago | IN | 0 ETH | 0.00055131 | ||||
Claim | 17852153 | 410 days ago | IN | 0 ETH | 0.00097599 | ||||
Claim | 17820030 | 414 days ago | IN | 0 ETH | 0.00119538 | ||||
Claim | 17690147 | 432 days ago | IN | 0 ETH | 0.00107765 | ||||
Claim | 17662810 | 436 days ago | IN | 0 ETH | 0.00084341 | ||||
Claim | 17591255 | 446 days ago | IN | 0 ETH | 0.00110708 | ||||
Claim | 16931352 | 539 days ago | IN | 0 ETH | 0.00163967 | ||||
Claim | 16928959 | 540 days ago | IN | 0 ETH | 0.00297652 | ||||
Claim | 16848550 | 551 days ago | IN | 0 ETH | 0.00130544 | ||||
Claim | 16733553 | 567 days ago | IN | 0 ETH | 0.00176476 | ||||
Claim | 16665675 | 577 days ago | IN | 0 ETH | 0.00142894 | ||||
Claim | 16665664 | 577 days ago | IN | 0 ETH | 0.00115279 | ||||
Claim | 16564139 | 591 days ago | IN | 0 ETH | 0.00141106 | ||||
Claim | 16564134 | 591 days ago | IN | 0 ETH | 0.00116329 | ||||
Claim | 16471956 | 604 days ago | IN | 0 ETH | 0.00105534 | ||||
Claim | 16471951 | 604 days ago | IN | 0 ETH | 0.00106454 | ||||
Claim | 16441502 | 608 days ago | IN | 0 ETH | 0.00083916 | ||||
Claim | 16441497 | 608 days ago | IN | 0 ETH | 0.000789 | ||||
Claim | 16416359 | 611 days ago | IN | 0 ETH | 0.00167964 | ||||
Claim | 16416259 | 612 days ago | IN | 0 ETH | 0.00075546 | ||||
Claim | 16413785 | 612 days ago | IN | 0 ETH | 0.00111555 | ||||
Claim | 16388641 | 615 days ago | IN | 0 ETH | 0.0008346 | ||||
Claim | 16371658 | 618 days ago | IN | 0 ETH | 0.00124995 | ||||
Claim | 16371651 | 618 days ago | IN | 0 ETH | 0.00127622 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Vesting
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-10-19 */ // Sources flattened with hardhat v2.4.3 https://hardhat.org // File @openzeppelin/contracts/token/ERC20/[email protected] // SPDX-License-Identifier: MIT 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); } // File @openzeppelin/contracts/utils/[email protected] 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; } } // File @openzeppelin/contracts/access/[email protected] pragma solidity ^0.8.0; /** * @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() { _setOwner(_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 { _setOwner(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"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File @openzeppelin/contracts/security/[email protected] pragma solidity ^0.8.0; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor() { _status = _NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and make it call a * `private` function that does the actual work. */ modifier nonReentrant() { // On the first call to nonReentrant, _notEntered will be true require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; _; // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } } // File @openzeppelin/contracts/utils/math/[email protected] pragma solidity ^0.8.0; /** * @dev Standard math utilities missing in the Solidity language. */ library Math { /** * @dev Returns the largest of two numbers. */ function max(uint256 a, uint256 b) internal pure returns (uint256) { return a >= b ? a : b; } /** * @dev Returns the smallest of two numbers. */ function min(uint256 a, uint256 b) internal pure returns (uint256) { return a < b ? a : b; } /** * @dev Returns the average of two numbers. The result is rounded towards * zero. */ function average(uint256 a, uint256 b) internal pure returns (uint256) { // (a + b) / 2 can overflow, so we distribute. return (a / 2) + (b / 2) + (((a % 2) + (b % 2)) / 2); } /** * @dev Returns the ceiling of the division of two numbers. * * This differs from standard division with `/` in that it rounds up instead * of rounding down. */ function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) { // (a + b - 1) / b can overflow on addition, so we distribute. return a / b + (a % b == 0 ? 0 : 1); } } // File @openzeppelin/contracts/utils/math/[email protected] pragma solidity ^0.8.0; // CAUTION // This version of SafeMath should only be used with Solidity 0.8 or later, // because it relies on the compiler's built in overflow checks. /** * @dev Wrappers over Solidity's arithmetic operations. * * NOTE: `SafeMath` is no longer needed starting with Solidity 0.8. The compiler * now has built in overflow checking. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the substraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } // File contracts/ethereum/Vesting.sol pragma solidity 0.8.4; contract Vesting is Ownable, ReentrancyGuard { using SafeMath for uint256; event TokensClaimed(address indexed beneficient, uint256 amount); IERC20 private _token; uint256 private _vestingLaunchBlock; uint256 private _numberOfParts; mapping(address => uint256) private _beneficientsTokens; mapping(address => uint256) private _beneficientsClaimedTokens; mapping(address => uint256) private _beneficientsLastClaimedBlock; constructor(address token_, uint256 blockNumber) Ownable() { _token = IERC20(token_); _vestingLaunchBlock = blockNumber; } function beneficientsTokens(address beneficient) external view returns(uint256) { return _beneficientsTokens[beneficient]; } function availableToClaim(address beneficient) public view returns(uint256) { uint256 blocksPassed = block.number - _beneficientsLastClaimedBlock[beneficient]; return Math.min(_beneficientsTokens[beneficient].div(_numberOfParts).mul(blocksPassed), _beneficientsTokens[beneficient].sub(_beneficientsClaimedTokens[beneficient])); } function totalClaimed(address beneficient) public view returns(uint256) { return _beneficientsClaimedTokens[beneficient]; } function totalLeft(address beneficient) public view returns(uint256) { return _beneficientsTokens[beneficient] - totalClaimed(beneficient); } function claim() external nonReentrant { uint256 tokensToClaim = availableToClaim(msg.sender); require(tokensToClaim > 0, "Vesting: All tokens claimed"); _beneficientsLastClaimedBlock[msg.sender] = block.number; _beneficientsClaimedTokens[msg.sender] = _beneficientsClaimedTokens[msg.sender].add(tokensToClaim); require(_token.transfer(msg.sender, tokensToClaim), "Vesting: Something went wrong with token transfer"); emit TokensClaimed(msg.sender, tokensToClaim); } function addBeneficients(address[] memory beneficients, uint256[] memory amounts) external onlyOwner { uint256 length = beneficients.length; require(length == amounts.length, "Vesting: Must pass the same number of beneficients and amounts"); for (uint256 i = 0; i < length; i++) { _beneficientsTokens[beneficients[i]] = amounts[i]; _beneficientsLastClaimedBlock[beneficients[i]] = _vestingLaunchBlock; } } function setNumberOfParts(uint256 numberOfParts) external onlyOwner { _numberOfParts = numberOfParts; } function withdrawERC20(address token, address recipent) external onlyOwner { require(IERC20(token).transfer(recipent, IERC20(token).balanceOf(address(this))), "MoonieIDOPayments: Something went wrong with ERC20 withdrawal"); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"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":"beneficient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokensClaimed","type":"event"},{"inputs":[{"internalType":"address[]","name":"beneficients","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"addBeneficients","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"beneficient","type":"address"}],"name":"availableToClaim","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"beneficient","type":"address"}],"name":"beneficientsTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"numberOfParts","type":"uint256"}],"name":"setNumberOfParts","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"beneficient","type":"address"}],"name":"totalClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"beneficient","type":"address"}],"name":"totalLeft","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":"token","type":"address"},{"internalType":"address","name":"recipent","type":"address"}],"name":"withdrawERC20","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405161124538038061124583398101604081905261002f916100b5565b61003833610065565b60018055600280546001600160a01b0319166001600160a01b0393909316929092179091556003556100ed565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080604083850312156100c7578182fd5b82516001600160a01b03811681146100dd578283fd5b6020939093015192949293505050565b611149806100fc6000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80639456fbcc11610081578063ef5d9ae81161005b578063ef5d9ae81461017a578063f2fde38b146101b0578063fe6c7b07146101c357600080fd5b80639456fbcc14610141578063c81988c114610154578063e5feb1011461016757600080fd5b8063715018a6116100b2578063715018a6146100fe5780637b962878146101065780638da5cb5b1461011957600080fd5b80630da45188146100ce5780634e71d92d146100f4575b600080fd5b6100e16100dc366004610e07565b6101f9565b6040519081526020015b60405180910390f35b6100fc6102b7565b005b6100fc610554565b6100fc610114366004610f34565b6105e1565b60005460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100eb565b6100fc61014f366004610e21565b610667565b6100e1610162366004610e07565b6108c2565b6100fc610175366004610e53565b610903565b6100e1610188366004610e07565b73ffffffffffffffffffffffffffffffffffffffff1660009081526006602052604090205490565b6100fc6101be366004610e07565b610b84565b6100e16101d1366004610e07565b73ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604090205490565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260076020526040812054819061022b9043611065565b60045473ffffffffffffffffffffffffffffffffffffffff85166000908152600560205260409020549192506102b09161027091849161026a91610cb4565b90610cc0565b73ffffffffffffffffffffffffffffffffffffffff85166000908152600660209081526040808320546005909252909120546102ab91610ccc565b610cd8565b9392505050565b60026001541415610329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026001556000610339336101f9565b9050600081116103a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f56657374696e673a20416c6c20746f6b656e7320636c61696d656400000000006044820152606401610320565b33600090815260076020908152604080832043905560069091529020546103cc9082610cee565b33600081815260066020526040908190209290925560025491517fa9059cbb00000000000000000000000000000000000000000000000000000000815260048101919091526024810183905273ffffffffffffffffffffffffffffffffffffffff9091169063a9059cbb90604401602060405180830381600087803b15801561045457600080fd5b505af1158015610468573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048c9190610f14565b610518576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f56657374696e673a20536f6d657468696e672077656e742077726f6e6720776960448201527f746820746f6b656e207472616e736665720000000000000000000000000000006064820152608401610320565b60405181815233907f896e034966eaaf1adc54acc0f257056febbd300c9e47182cf761982cf1f5e4309060200160405180910390a25060018055565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610320565b6105df6000610cfa565b565b60005473ffffffffffffffffffffffffffffffffffffffff163314610662576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610320565b600455565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610320565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff83169063a9059cbb90839083906370a082319060240160206040518083038186803b15801561075757600080fd5b505afa15801561076b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078f9190610f4c565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401602060405180830381600087803b1580156107fa57600080fd5b505af115801561080e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108329190610f14565b6108be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4d6f6f6e696549444f5061796d656e74733a20536f6d657468696e672077656e60448201527f742077726f6e672077697468204552433230207769746864726177616c0000006064820152608401610320565b5050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526006602090815260408083205460059092528220546108fd9190611065565b92915050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610984576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610320565b815181518114610a16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f56657374696e673a204d7573742070617373207468652073616d65206e756d6260448201527f6572206f662062656e6566696369656e747320616e6420616d6f756e747300006064820152608401610320565b60005b81811015610b7e57828181518110610a5a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160056000868481518110610a9f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060035460076000868481518110610b25577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080610b769061107c565b915050610a19565b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610c05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610320565b73ffffffffffffffffffffffffffffffffffffffff8116610ca8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610320565b610cb181610cfa565b50565b60006102b08284610fef565b60006102b08284611028565b60006102b08284611065565b6000818310610ce757816102b0565b5090919050565b60006102b08284610fd7565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d9357600080fd5b919050565b600082601f830112610da8578081fd5b81356020610dbd610db883610fb3565b610f64565b80838252828201915082860187848660051b8901011115610ddc578586fd5b855b85811015610dfa57813584529284019290840190600101610dde565b5090979650505050505050565b600060208284031215610e18578081fd5b6102b082610d6f565b60008060408385031215610e33578081fd5b610e3c83610d6f565b9150610e4a60208401610d6f565b90509250929050565b60008060408385031215610e65578182fd5b823567ffffffffffffffff80821115610e7c578384fd5b818501915085601f830112610e8f578384fd5b81356020610e9f610db883610fb3565b8083825282820191508286018a848660051b8901011115610ebe578889fd5b8896505b84871015610ee757610ed381610d6f565b835260019690960195918301918301610ec2565b5096505086013592505080821115610efd578283fd5b50610f0a85828601610d98565b9150509250929050565b600060208284031215610f25578081fd5b815180151581146102b0578182fd5b600060208284031215610f45578081fd5b5035919050565b600060208284031215610f5d578081fd5b5051919050565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610fab57610fab6110e4565b604052919050565b600067ffffffffffffffff821115610fcd57610fcd6110e4565b5060051b60200190565b60008219821115610fea57610fea6110b5565b500190565b600082611023577f4e487b710000000000000000000000000000000000000000000000000000000081526012600452602481fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611060576110606110b5565b500290565b600082821015611077576110776110b5565b500390565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156110ae576110ae6110b5565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220f1a1609244d0ef47e9f93289cab75c0cdd34640276544c72e4e052159a64ab6764736f6c63430008040033000000000000000000000000a6f7645ed967faf708a614a2fca8d4790138586f0000000000000000000000000000000000000000000000000000000000cd1dce
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80639456fbcc11610081578063ef5d9ae81161005b578063ef5d9ae81461017a578063f2fde38b146101b0578063fe6c7b07146101c357600080fd5b80639456fbcc14610141578063c81988c114610154578063e5feb1011461016757600080fd5b8063715018a6116100b2578063715018a6146100fe5780637b962878146101065780638da5cb5b1461011957600080fd5b80630da45188146100ce5780634e71d92d146100f4575b600080fd5b6100e16100dc366004610e07565b6101f9565b6040519081526020015b60405180910390f35b6100fc6102b7565b005b6100fc610554565b6100fc610114366004610f34565b6105e1565b60005460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100eb565b6100fc61014f366004610e21565b610667565b6100e1610162366004610e07565b6108c2565b6100fc610175366004610e53565b610903565b6100e1610188366004610e07565b73ffffffffffffffffffffffffffffffffffffffff1660009081526006602052604090205490565b6100fc6101be366004610e07565b610b84565b6100e16101d1366004610e07565b73ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604090205490565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260076020526040812054819061022b9043611065565b60045473ffffffffffffffffffffffffffffffffffffffff85166000908152600560205260409020549192506102b09161027091849161026a91610cb4565b90610cc0565b73ffffffffffffffffffffffffffffffffffffffff85166000908152600660209081526040808320546005909252909120546102ab91610ccc565b610cd8565b9392505050565b60026001541415610329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026001556000610339336101f9565b9050600081116103a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f56657374696e673a20416c6c20746f6b656e7320636c61696d656400000000006044820152606401610320565b33600090815260076020908152604080832043905560069091529020546103cc9082610cee565b33600081815260066020526040908190209290925560025491517fa9059cbb00000000000000000000000000000000000000000000000000000000815260048101919091526024810183905273ffffffffffffffffffffffffffffffffffffffff9091169063a9059cbb90604401602060405180830381600087803b15801561045457600080fd5b505af1158015610468573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048c9190610f14565b610518576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f56657374696e673a20536f6d657468696e672077656e742077726f6e6720776960448201527f746820746f6b656e207472616e736665720000000000000000000000000000006064820152608401610320565b60405181815233907f896e034966eaaf1adc54acc0f257056febbd300c9e47182cf761982cf1f5e4309060200160405180910390a25060018055565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610320565b6105df6000610cfa565b565b60005473ffffffffffffffffffffffffffffffffffffffff163314610662576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610320565b600455565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610320565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff83169063a9059cbb90839083906370a082319060240160206040518083038186803b15801561075757600080fd5b505afa15801561076b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078f9190610f4c565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401602060405180830381600087803b1580156107fa57600080fd5b505af115801561080e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108329190610f14565b6108be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4d6f6f6e696549444f5061796d656e74733a20536f6d657468696e672077656e60448201527f742077726f6e672077697468204552433230207769746864726177616c0000006064820152608401610320565b5050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526006602090815260408083205460059092528220546108fd9190611065565b92915050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610984576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610320565b815181518114610a16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f56657374696e673a204d7573742070617373207468652073616d65206e756d6260448201527f6572206f662062656e6566696369656e747320616e6420616d6f756e747300006064820152608401610320565b60005b81811015610b7e57828181518110610a5a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160056000868481518110610a9f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060035460076000868481518110610b25577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080610b769061107c565b915050610a19565b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610c05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610320565b73ffffffffffffffffffffffffffffffffffffffff8116610ca8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610320565b610cb181610cfa565b50565b60006102b08284610fef565b60006102b08284611028565b60006102b08284611065565b6000818310610ce757816102b0565b5090919050565b60006102b08284610fd7565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d9357600080fd5b919050565b600082601f830112610da8578081fd5b81356020610dbd610db883610fb3565b610f64565b80838252828201915082860187848660051b8901011115610ddc578586fd5b855b85811015610dfa57813584529284019290840190600101610dde565b5090979650505050505050565b600060208284031215610e18578081fd5b6102b082610d6f565b60008060408385031215610e33578081fd5b610e3c83610d6f565b9150610e4a60208401610d6f565b90509250929050565b60008060408385031215610e65578182fd5b823567ffffffffffffffff80821115610e7c578384fd5b818501915085601f830112610e8f578384fd5b81356020610e9f610db883610fb3565b8083825282820191508286018a848660051b8901011115610ebe578889fd5b8896505b84871015610ee757610ed381610d6f565b835260019690960195918301918301610ec2565b5096505086013592505080821115610efd578283fd5b50610f0a85828601610d98565b9150509250929050565b600060208284031215610f25578081fd5b815180151581146102b0578182fd5b600060208284031215610f45578081fd5b5035919050565b600060208284031215610f5d578081fd5b5051919050565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610fab57610fab6110e4565b604052919050565b600067ffffffffffffffff821115610fcd57610fcd6110e4565b5060051b60200190565b60008219821115610fea57610fea6110b5565b500190565b600082611023577f4e487b710000000000000000000000000000000000000000000000000000000081526012600452602481fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611060576110606110b5565b500290565b600082821015611077576110776110b5565b500390565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156110ae576110ae6110b5565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220f1a1609244d0ef47e9f93289cab75c0cdd34640276544c72e4e052159a64ab6764736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a6f7645ed967faf708a614a2fca8d4790138586f0000000000000000000000000000000000000000000000000000000000cd1dce
-----Decoded View---------------
Arg [0] : token_ (address): 0xA6F7645ed967FAF708A614a2fcA8D4790138586f
Arg [1] : blockNumber (uint256): 13442510
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000a6f7645ed967faf708a614a2fca8d4790138586f
Arg [1] : 0000000000000000000000000000000000000000000000000000000000cd1dce
Deployed Bytecode Sourcemap
17089:2834:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17874:352;;;;;;:::i;:::-;;:::i;:::-;;;6744:25:1;;;6732:2;6717:18;17874:352:0;;;;;;;;18542:525;;;:::i;:::-;;5439:94;;;:::i;19555:117::-;;;;;;:::i;:::-;;:::i;4788:87::-;4834:7;4861:6;4788:87;;4861:6;;;;3448:74:1;;3436:2;3421:18;4788:87:0;3403:125:1;19680:240:0;;;;;;:::i;:::-;;:::i;18379:155::-;;;;;;:::i;:::-;;:::i;19075:472::-;;;;;;:::i;:::-;;:::i;18234:137::-;;;;;;:::i;:::-;18324:39;;18297:7;18324:39;;;:26;:39;;;;;;;18234:137;5688:192;;;;;;:::i;:::-;;:::i;17728:138::-;;;;;;:::i;:::-;17826:32;;17799:7;17826:32;;;:19;:32;;;;;;;17728:138;17874:352;17999:42;;;17941:7;17999:42;;;:29;:42;;;;;;17941:7;;17984:57;;:12;:57;:::i;:::-;18105:14;;18068:32;;;;;;;:19;:32;;;;;;17961:80;;-1:-1:-1;18059:159:0;;18068:70;;17961:80;;18068:52;;:36;:52::i;:::-;:56;;:70::i;:::-;18177:39;;;;;;;:26;:39;;;;;;;;;18140:19;:32;;;;;;;:77;;:36;:77::i;:::-;18059:8;:159::i;:::-;18052:166;17874:352;-1:-1:-1;;;17874:352:0:o;18542:525::-;7823:1;8419:7;;:19;;8411:63;;;;;;;6440:2:1;8411:63:0;;;6422:21:1;6479:2;6459:18;;;6452:30;6518:33;6498:18;;;6491:61;6569:18;;8411:63:0;;;;;;;;;7823:1;8552:7;:18;18592:21:::1;18616:28;18633:10;18616:16;:28::i;:::-;18592:52;;18679:1;18663:13;:17;18655:57;;;::::0;::::1;::::0;;6084:2:1;18655:57:0::1;::::0;::::1;6066:21:1::0;6123:2;6103:18;;;6096:30;6162:29;6142:18;;;6135:57;6209:18;;18655:57:0::1;6056:177:1::0;18655:57:0::1;18753:10;18723:41;::::0;;;:29:::1;:41;::::0;;;;;;;18767:12:::1;18723:56:::0;;18831:26:::1;:38:::0;;;;;;:57:::1;::::0;18874:13;18831:42:::1;:57::i;:::-;18817:10;18790:38;::::0;;;:26:::1;:38;::::0;;;;;;:98;;;;18907:6:::1;::::0;:42;;;;;::::1;::::0;::::1;3707:74:1::0;;;;3797:18;;;3790:34;;;18790:38:0::1;18907:6:::0;;::::1;::::0;:15:::1;::::0;3680:18:1;;18907:42:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18899:104;;;::::0;::::1;::::0;;4874:2:1;18899:104:0::1;::::0;::::1;4856:21:1::0;4913:2;4893:18;;;4886:30;4952:34;4932:18;;;4925:62;5023:19;5003:18;;;4996:47;5060:19;;18899:104:0::1;4846:239:1::0;18899:104:0::1;19019:40;::::0;6744:25:1;;;19033:10:0::1;::::0;19019:40:::1;::::0;6732:2:1;6717:18;19019:40:0::1;;;;;;;-1:-1:-1::0;7779:1:0;8731:22;;18542:525::o;5439:94::-;4834:7;4861:6;5008:23;4861:6;3650:10;5008:23;5000:68;;;;;;;5292:2:1;5000:68:0;;;5274:21:1;;;5311:18;;;5304:30;5370:34;5350:18;;;5343:62;5422:18;;5000:68:0;5264:182:1;5000:68:0;5504:21:::1;5522:1;5504:9;:21::i;:::-;5439:94::o:0;19555:117::-;4834:7;4861:6;5008:23;4861:6;3650:10;5008:23;5000:68;;;;;;;5292:2:1;5000:68:0;;;5274:21:1;;;5311:18;;;5304:30;5370:34;5350:18;;;5343:62;5422:18;;5000:68:0;5264:182:1;5000:68:0;19634:14:::1;:30:::0;19555:117::o;19680:240::-;4834:7;4861:6;5008:23;4861:6;3650:10;5008:23;5000:68;;;;;;;5292:2:1;5000:68:0;;;5274:21:1;;;5311:18;;;5304:30;5370:34;5350:18;;;5343:62;5422:18;;5000:68:0;5264:182:1;5000:68:0;19807:38:::1;::::0;;;;19839:4:::1;19807:38;::::0;::::1;3448:74:1::0;19774:22:0::1;::::0;::::1;::::0;::::1;::::0;19797:8;;19774:22;;19807:23:::1;::::0;3421:18:1;;19807:38:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19774:72;::::0;;::::1;::::0;;;;;;3737:42:1;3725:55;;;19774:72:0::1;::::0;::::1;3707:74:1::0;3797:18;;;3790:34;3680:18;;19774:72:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19766:146;;;::::0;::::1;::::0;;4037:2:1;19766:146:0::1;::::0;::::1;4019:21:1::0;4076:2;4056:18;;;4049:30;4115:34;4095:18;;;4088:62;4186:31;4166:18;;;4159:59;4235:19;;19766:146:0::1;4009:251:1::0;19766:146:0::1;19680:240:::0;;:::o;18379:155::-;18324:39;;;18439:7;18324:39;;;:26;:39;;;;;;;;;18466:19;:32;;;;;;:60;;18324:39;18466:60;:::i;:::-;18459:67;18379:155;-1:-1:-1;;18379:155:0:o;19075:472::-;4834:7;4861:6;5008:23;4861:6;3650:10;5008:23;5000:68;;;;;;;5292:2:1;5000:68:0;;;5274:21:1;;;5311:18;;;5304:30;5370:34;5350:18;;;5343:62;5422:18;;5000:68:0;5264:182:1;5000:68:0;19204:19;;19252:14;;19242:24;::::1;19234:99;;;::::0;::::1;::::0;;5653:2:1;19234:99:0::1;::::0;::::1;5635:21:1::0;5692:2;5672:18;;;5665:30;5731:34;5711:18;;;5704:62;5802:32;5782:18;;;5775:60;5852:19;;19234:99:0::1;5625:252:1::0;19234:99:0::1;19349:9;19344:196;19368:6;19364:1;:10;19344:196;;;19435:7;19443:1;19435:10;;;;;;;;;;;;;;;;;;;;;;19396:19;:36;19416:12;19429:1;19416:15;;;;;;;;;;;;;;;;;;;;;;19396:36;;;;;;;;;;;;;;;:49;;;;19509:19;;19460:29;:46;19490:12;19503:1;19490:15;;;;;;;;;;;;;;;;;;;;;;19460:46;;;;;;;;;;;;;;;:68;;;;19376:3;;;;;:::i;:::-;;;;19344:196;;;;5079:1;19075:472:::0;;:::o;5688:192::-;4834:7;4861:6;5008:23;4861:6;3650:10;5008:23;5000:68;;;;;;;5292:2:1;5000:68:0;;;5274:21:1;;;5311:18;;;5304:30;5370:34;5350:18;;;5343:62;5422:18;;5000:68:0;5264:182:1;5000:68:0;5777:22:::1;::::0;::::1;5769:73;;;::::0;::::1;::::0;;4467:2:1;5769:73:0::1;::::0;::::1;4449:21:1::0;4506:2;4486:18;;;4479:30;4545:34;4525:18;;;4518:62;4616:8;4596:18;;;4589:36;4642:19;;5769:73:0::1;4439:228:1::0;5769:73:0::1;5853:19;5863:8;5853:9;:19::i;:::-;5688:192:::0;:::o;13981:98::-;14039:7;14066:5;14070:1;14066;:5;:::i;13582:98::-;13640:7;13667:5;13671:1;13667;:5;:::i;13225:98::-;13283:7;13310:5;13314:1;13310;:5;:::i;9210:106::-;9268:7;9299:1;9295;:5;:13;;9307:1;9295:13;;;-1:-1:-1;9303:1:0;;9210:106;-1:-1:-1;9210:106:0:o;12844:98::-;12902:7;12929:5;12933:1;12929;:5;:::i;5888:173::-;5944:16;5963:6;;;5980:17;;;;;;;;;;6013:40;;5963:6;;;;;;;6013:40;;5944:16;6013:40;5888:173;;:::o;14:196:1:-;82:20;;142:42;131:54;;121:65;;111:2;;200:1;197;190:12;111:2;63:147;;;:::o;215:693::-;269:5;322:3;315:4;307:6;303:17;299:27;289:2;;344:5;337;330:20;289:2;384:6;371:20;410:4;434:60;450:43;490:2;450:43;:::i;:::-;434:60;:::i;:::-;516:3;540:2;535:3;528:15;568:2;563:3;559:12;552:19;;603:2;595:6;591:15;655:3;650:2;644;641:1;637:10;629:6;625:23;621:32;618:41;615:2;;;676:5;669;662:20;615:2;702:5;716:163;730:2;727:1;724:9;716:163;;;787:17;;775:30;;825:12;;;;857;;;;748:1;741:9;716:163;;;-1:-1:-1;897:5:1;;279:629;-1:-1:-1;;;;;;;279:629:1:o;913:196::-;972:6;1025:2;1013:9;1004:7;1000:23;996:32;993:2;;;1046:6;1038;1031:22;993:2;1074:29;1093:9;1074:29;:::i;1114:270::-;1182:6;1190;1243:2;1231:9;1222:7;1218:23;1214:32;1211:2;;;1264:6;1256;1249:22;1211:2;1292:29;1311:9;1292:29;:::i;:::-;1282:39;;1340:38;1374:2;1363:9;1359:18;1340:38;:::i;:::-;1330:48;;1201:183;;;;;:::o;1389:1212::-;1507:6;1515;1568:2;1556:9;1547:7;1543:23;1539:32;1536:2;;;1589:6;1581;1574:22;1536:2;1634:9;1621:23;1663:18;1704:2;1696:6;1693:14;1690:2;;;1725:6;1717;1710:22;1690:2;1768:6;1757:9;1753:22;1743:32;;1813:7;1806:4;1802:2;1798:13;1794:27;1784:2;;1840:6;1832;1825:22;1784:2;1881;1868:16;1903:4;1927:60;1943:43;1983:2;1943:43;:::i;1927:60::-;2009:3;2033:2;2028:3;2021:15;2061:2;2056:3;2052:12;2045:19;;2092:2;2088;2084:11;2140:7;2135:2;2129;2126:1;2122:10;2118:2;2114:19;2110:28;2107:41;2104:2;;;2166:6;2158;2151:22;2104:2;2193:6;2184:15;;2208:169;2222:2;2219:1;2216:9;2208:169;;;2279:23;2298:3;2279:23;:::i;:::-;2267:36;;2240:1;2233:9;;;;;2323:12;;;;2355;;2208:169;;;-1:-1:-1;2396:5:1;-1:-1:-1;;2439:18:1;;2426:32;;-1:-1:-1;;2470:16:1;;;2467:2;;;2504:6;2496;2489:22;2467:2;;2532:63;2587:7;2576:8;2565:9;2561:24;2532:63;:::i;:::-;2522:73;;;1526:1075;;;;;:::o;2606:297::-;2673:6;2726:2;2714:9;2705:7;2701:23;2697:32;2694:2;;;2747:6;2739;2732:22;2694:2;2784:9;2778:16;2837:5;2830:13;2823:21;2816:5;2813:32;2803:2;;2864:6;2856;2849:22;2908:190;2967:6;3020:2;3008:9;2999:7;2995:23;2991:32;2988:2;;;3041:6;3033;3026:22;2988:2;-1:-1:-1;3069:23:1;;2978:120;-1:-1:-1;2978:120:1:o;3103:194::-;3173:6;3226:2;3214:9;3205:7;3201:23;3197:32;3194:2;;;3247:6;3239;3232:22;3194:2;-1:-1:-1;3275:16:1;;3184:113;-1:-1:-1;3184:113:1:o;6780:334::-;6851:2;6845:9;6907:2;6897:13;;6912:66;6893:86;6881:99;;7010:18;6995:34;;7031:22;;;6992:62;6989:2;;;7057:18;;:::i;:::-;7093:2;7086:22;6825:289;;-1:-1:-1;6825:289:1:o;7119:183::-;7179:4;7212:18;7204:6;7201:30;7198:2;;;7234:18;;:::i;:::-;-1:-1:-1;7279:1:1;7275:14;7291:4;7271:25;;7188:114::o;7307:128::-;7347:3;7378:1;7374:6;7371:1;7368:13;7365:2;;;7384:18;;:::i;:::-;-1:-1:-1;7420:9:1;;7355:80::o;7440:274::-;7480:1;7506;7496:2;;7541:77;7538:1;7531:88;7642:4;7639:1;7632:15;7670:4;7667:1;7660:15;7496:2;-1:-1:-1;7699:9:1;;7486:228::o;7719:::-;7759:7;7885:1;7817:66;7813:74;7810:1;7807:81;7802:1;7795:9;7788:17;7784:105;7781:2;;;7892:18;;:::i;:::-;-1:-1:-1;7932:9:1;;7771:176::o;7952:125::-;7992:4;8020:1;8017;8014:8;8011:2;;;8025:18;;:::i;:::-;-1:-1:-1;8062:9:1;;8001:76::o;8082:195::-;8121:3;8152:66;8145:5;8142:77;8139:2;;;8222:18;;:::i;:::-;-1:-1:-1;8269:1:1;8258:13;;8129:148::o;8282:184::-;8334:77;8331:1;8324:88;8431:4;8428:1;8421:15;8455:4;8452:1;8445:15;8471:184;8523:77;8520:1;8513:88;8620:4;8617:1;8610:15;8644:4;8641:1;8634:15
Swarm Source
ipfs://f1a1609244d0ef47e9f93289cab75c0cdd34640276544c72e4e052159a64ab67
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 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.