Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 95 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Migrate | 21960167 | 25 days ago | IN | 0 ETH | 0.00040384 | ||||
Migrate | 21888411 | 35 days ago | IN | 0 ETH | 0.00015437 | ||||
Emergency Withdr... | 21317991 | 114 days ago | IN | 0 ETH | 0.00185363 | ||||
Migrate | 21128417 | 141 days ago | IN | 0 ETH | 0.00123611 | ||||
Migrate | 20277902 | 259 days ago | IN | 0 ETH | 0.0007377 | ||||
Migrate | 20277852 | 259 days ago | IN | 0 ETH | 0.00079522 | ||||
Migrate | 20026813 | 295 days ago | IN | 0 ETH | 0.00164904 | ||||
Migrate | 20026796 | 295 days ago | IN | 0 ETH | 0.00173552 | ||||
Migrate | 20026780 | 295 days ago | IN | 0 ETH | 0.00163424 | ||||
Migrate | 20026750 | 295 days ago | IN | 0 ETH | 0.00171174 | ||||
Migrate | 19934749 | 307 days ago | IN | 0 ETH | 0.00097952 | ||||
Migrate | 19934734 | 307 days ago | IN | 0 ETH | 0.00097663 | ||||
Migrate | 19934725 | 307 days ago | IN | 0 ETH | 0.00122685 | ||||
Migrate | 19934715 | 307 days ago | IN | 0 ETH | 0.00128527 | ||||
Migrate | 19934690 | 307 days ago | IN | 0 ETH | 0.00113889 | ||||
Migrate | 19934669 | 307 days ago | IN | 0 ETH | 0.00094808 | ||||
Emergency Withdr... | 19862194 | 318 days ago | IN | 0 ETH | 0.00117748 | ||||
Emergency Withdr... | 19862166 | 318 days ago | IN | 0 ETH | 0.00265574 | ||||
Migrate | 19537462 | 363 days ago | IN | 0 ETH | 0.00209448 | ||||
Migrate | 19537448 | 363 days ago | IN | 0 ETH | 0.00191646 | ||||
Migrate | 19537421 | 363 days ago | IN | 0 ETH | 0.00185517 | ||||
Migrate | 19401069 | 382 days ago | IN | 0 ETH | 0.00513713 | ||||
Emergency Withdr... | 18964224 | 443 days ago | IN | 0 ETH | 0.00395147 | ||||
Migrate | 18961492 | 444 days ago | IN | 0 ETH | 0.00131614 | ||||
Emergency Withdr... | 18950841 | 445 days ago | IN | 0 ETH | 0.00077977 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
TokenMigrator
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-05-20 */ // File: @openzeppelin/contracts/token/ERC20/IERC20.sol // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `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); } // File: @openzeppelin/contracts/utils/Context.sol // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // File: @openzeppelin/contracts/access/Ownable.sol // OpenZeppelin Contracts v4.4.1 (access/Ownable.sol) 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() { _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); } } // File: @openzeppelin/contracts/utils/math/SafeMath.sol // OpenZeppelin Contracts v4.4.1 (utils/math/SafeMath.sol) 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 generally not needed starting with Solidity 0.8, since 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/TokenMigrator.sol pragma solidity ^0.8.7; contract TokenMigrator is Ownable { using SafeMath for uint256; IERC20 public jenny; IERC20 public newJenny; constructor(IERC20 _jenny, IERC20 _newJenny) { jenny = _jenny; newJenny = _newJenny; } function migrate(uint256 _amount) external { jenny.transferFrom(msg.sender, address(this), _amount); newJenny.transfer(msg.sender, _amount.div(10)); } function emergencyWithdraw(address _token, address _to, uint256 _amount) external onlyOwner { IERC20(_token).transfer(_to, _amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"contract IERC20","name":"_jenny","type":"address"},{"internalType":"contract IERC20","name":"_newJenny","type":"address"}],"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":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"emergencyWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"jenny","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"migrate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"newJenny","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"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":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405161076c38038061076c83398101604081905261002f916100d5565b61003833610069565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055610108565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100d057600080fd5b919050565b600080604083850312156100e857600080fd5b6100f1836100b9565b91506100ff602084016100b9565b90509250929050565b610655806101176000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638da5cb5b1161005b5780638da5cb5b146100ce578063de4a2481146100df578063e63ea408146100f2578063f2fde38b1461010557600080fd5b80632799e2c414610082578063454b0608146100b1578063715018a6146100c6575b600080fd5b600254610095906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6100c46100bf3660046105cb565b610118565b005b6100c4610273565b6000546001600160a01b0316610095565b600154610095906001600160a01b031681565b6100c461010036600461056d565b6102de565b6100c4610113366004610552565b6103d9565b6001546040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018390526001600160a01b03909116906323b872dd90606401602060405180830381600087803b15801561018357600080fd5b505af1158015610197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101bb91906105a9565b506002546001600160a01b031663a9059cbb336101d984600a6104bb565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b15801561023757600080fd5b505af115801561024b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026f91906105a9565b5050565b6000546001600160a01b031633146102d25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6102dc60006104ce565b565b6000546001600160a01b031633146103385760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102c9565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526024820183905284169063a9059cbb90604401602060405180830381600087803b15801561039b57600080fd5b505af11580156103af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d391906105a9565b50505050565b6000546001600160a01b031633146104335760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102c9565b6001600160a01b0381166104af5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102c9565b6104b8816104ce565b50565b60006104c782846105e4565b9392505050565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b038116811461054d57600080fd5b919050565b60006020828403121561056457600080fd5b6104c782610536565b60008060006060848603121561058257600080fd5b61058b84610536565b925061059960208501610536565b9150604084013590509250925092565b6000602082840312156105bb57600080fd5b815180151581146104c757600080fd5b6000602082840312156105dd57600080fd5b5035919050565b60008261061a577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea2646970667358221220689aafc6ade81eb86930dc2b53374b5a41f4172930f4f9b7b114ef01e695433964736f6c63430008070033000000000000000000000000a499648fd0e80fd911972bbeb069e4c20e68bf22000000000000000000000000cb4d749fd1ff081d6fea3bd978de87603e098e63
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80638da5cb5b1161005b5780638da5cb5b146100ce578063de4a2481146100df578063e63ea408146100f2578063f2fde38b1461010557600080fd5b80632799e2c414610082578063454b0608146100b1578063715018a6146100c6575b600080fd5b600254610095906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6100c46100bf3660046105cb565b610118565b005b6100c4610273565b6000546001600160a01b0316610095565b600154610095906001600160a01b031681565b6100c461010036600461056d565b6102de565b6100c4610113366004610552565b6103d9565b6001546040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018390526001600160a01b03909116906323b872dd90606401602060405180830381600087803b15801561018357600080fd5b505af1158015610197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101bb91906105a9565b506002546001600160a01b031663a9059cbb336101d984600a6104bb565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b15801561023757600080fd5b505af115801561024b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026f91906105a9565b5050565b6000546001600160a01b031633146102d25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6102dc60006104ce565b565b6000546001600160a01b031633146103385760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102c9565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526024820183905284169063a9059cbb90604401602060405180830381600087803b15801561039b57600080fd5b505af11580156103af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d391906105a9565b50505050565b6000546001600160a01b031633146104335760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102c9565b6001600160a01b0381166104af5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102c9565b6104b8816104ce565b50565b60006104c782846105e4565b9392505050565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b038116811461054d57600080fd5b919050565b60006020828403121561056457600080fd5b6104c782610536565b60008060006060848603121561058257600080fd5b61058b84610536565b925061059960208501610536565b9150604084013590509250925092565b6000602082840312156105bb57600080fd5b815180151581146104c757600080fd5b6000602082840312156105dd57600080fd5b5035919050565b60008261061a577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea2646970667358221220689aafc6ade81eb86930dc2b53374b5a41f4172930f4f9b7b114ef01e695433964736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a499648fd0e80fd911972bbeb069e4c20e68bf22000000000000000000000000cb4d749fd1ff081d6fea3bd978de87603e098e63
-----Decoded View---------------
Arg [0] : _jenny (address): 0xa499648fD0e80FD911972BbEb069e4c20e68bF22
Arg [1] : _newJenny (address): 0xcb4D749FD1FF081D6fEA3bd978de87603E098E63
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000a499648fd0e80fd911972bbeb069e4c20e68bf22
Arg [1] : 000000000000000000000000cb4d749fd1ff081d6fea3bd978de87603e098e63
Deployed Bytecode Sourcemap
13429:582:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13531:22;;;;;-1:-1:-1;;;;;13531:22:0;;;;;;-1:-1:-1;;;;;1370:55:1;;;1352:74;;1340:2;1325:18;13531:22:0;;;;;;;13679:173;;;;;;:::i;:::-;;:::i;:::-;;5514:103;;;:::i;4863:87::-;4909:7;4936:6;-1:-1:-1;;;;;4936:6:0;4863:87;;13505:19;;;;;-1:-1:-1;;;;;13505:19:0;;;13860:148;;;;;;:::i;:::-;;:::i;5772:201::-;;;;;;:::i;:::-;;:::i;13679:173::-;13733:5;;:54;;;;;13752:10;13733:54;;;1700:34:1;13772:4:0;1750:18:1;;;1743:43;1802:18;;;1795:34;;;-1:-1:-1;;;;;13733:5:0;;;;:18;;1612::1;;13733:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;13798:8:0;;-1:-1:-1;;;;;13798:8:0;:17;13816:10;13828:15;:7;13840:2;13828:11;:15::i;:::-;13798:46;;;;;;;;;;-1:-1:-1;;;;;2032:55:1;;;13798:46:0;;;2014:74:1;2104:18;;;2097:34;1987:18;;13798:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13679:173;:::o;5514:103::-;4909:7;4936:6;-1:-1:-1;;;;;4936:6:0;3669:10;5083:23;5075:68;;;;-1:-1:-1;;;5075:68:0;;2995:2:1;5075:68:0;;;2977:21:1;;;3014:18;;;3007:30;3073:34;3053:18;;;3046:62;3125:18;;5075:68:0;;;;;;;;;5579:30:::1;5606:1;5579:18;:30::i;:::-;5514:103::o:0;13860:148::-;4909:7;4936:6;-1:-1:-1;;;;;4936:6:0;3669:10;5083:23;5075:68;;;;-1:-1:-1;;;5075:68:0;;2995:2:1;5075:68:0;;;2977:21:1;;;3014:18;;;3007:30;3073:34;3053:18;;;3046:62;3125:18;;5075:68:0;2793:356:1;5075:68:0;13963:37:::1;::::0;;;;-1:-1:-1;;;;;2032:55:1;;;13963:37:0::1;::::0;::::1;2014:74:1::0;2104:18;;;2097:34;;;13963:23:0;::::1;::::0;::::1;::::0;1987:18:1;;13963:37:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13860:148:::0;;;:::o;5772:201::-;4909:7;4936:6;-1:-1:-1;;;;;4936:6:0;3669:10;5083:23;5075:68;;;;-1:-1:-1;;;5075:68:0;;2995:2:1;5075:68:0;;;2977:21:1;;;3014:18;;;3007:30;3073:34;3053:18;;;3046:62;3125:18;;5075:68:0;2793:356:1;5075:68:0;-1:-1:-1;;;;;5861:22:0;::::1;5853:73;;;::::0;-1:-1:-1;;;5853:73:0;;2588:2:1;5853:73:0::1;::::0;::::1;2570:21:1::0;2627:2;2607:18;;;2600:30;2666:34;2646:18;;;2639:62;2737:8;2717:18;;;2710:36;2763:19;;5853:73:0::1;2386:402:1::0;5853:73:0::1;5937:28;5956:8;5937:18;:28::i;:::-;5772:201:::0;:::o;10330:98::-;10388:7;10415:5;10419:1;10415;:5;:::i;:::-;10408:12;10330:98;-1:-1:-1;;;10330:98:0:o;6133:191::-;6207:16;6226:6;;-1:-1:-1;;;;;6243:17:0;;;;;;;;;;6276:40;;6226:6;;;;;;;6276:40;;6207:16;6276:40;6196:128;6133:191;:::o;14:196:1:-;82:20;;-1:-1:-1;;;;;131:54:1;;121:65;;111:93;;200:1;197;190:12;111:93;14:196;;;:::o;215:186::-;274:6;327:2;315:9;306:7;302:23;298:32;295:52;;;343:1;340;333:12;295:52;366:29;385:9;366:29;:::i;406:328::-;483:6;491;499;552:2;540:9;531:7;527:23;523:32;520:52;;;568:1;565;558:12;520:52;591:29;610:9;591:29;:::i;:::-;581:39;;639:38;673:2;662:9;658:18;639:38;:::i;:::-;629:48;;724:2;713:9;709:18;696:32;686:42;;406:328;;;;;:::o;739:277::-;806:6;859:2;847:9;838:7;834:23;830:32;827:52;;;875:1;872;865:12;827:52;907:9;901:16;960:5;953:13;946:21;939:5;936:32;926:60;;982:1;979;972:12;1021:180;1080:6;1133:2;1121:9;1112:7;1108:23;1104:32;1101:52;;;1149:1;1146;1139:12;1101:52;-1:-1:-1;1172:23:1;;1021:180;-1:-1:-1;1021:180:1:o;3154:274::-;3194:1;3220;3210:189;;3255:77;3252:1;3245:88;3356:4;3353:1;3346:15;3384:4;3381:1;3374:15;3210:189;-1:-1:-1;3413:9:1;;3154:274::o
Swarm Source
ipfs://689aafc6ade81eb86930dc2b53374b5a41f4172930f4f9b7b114ef01e6954339
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.466258 | 2,551,839.3719 | $1,189,815.89 |
Loading...
Loading
Loading...
Loading
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.