Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 920 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Migrate | 21080997 | 167 days ago | IN | 0 ETH | 0.00146937 | ||||
Migrate | 20783213 | 209 days ago | IN | 0 ETH | 0.00095772 | ||||
Migrate | 20764910 | 211 days ago | IN | 0 ETH | 0.00041086 | ||||
Migrate | 20757102 | 212 days ago | IN | 0 ETH | 0.00014634 | ||||
Migrate | 20756139 | 212 days ago | IN | 0 ETH | 0.00013372 | ||||
Migrate | 20754142 | 213 days ago | IN | 0 ETH | 0.00007687 | ||||
Migrate | 20752931 | 213 days ago | IN | 0 ETH | 0.00010268 | ||||
Migrate | 20750891 | 213 days ago | IN | 0 ETH | 0.00018686 | ||||
Migrate | 20749773 | 213 days ago | IN | 0 ETH | 0.00012358 | ||||
Migrate | 20749748 | 213 days ago | IN | 0 ETH | 0.00019029 | ||||
Migrate | 20749716 | 213 days ago | IN | 0 ETH | 0.00018325 | ||||
Migrate | 20749713 | 213 days ago | IN | 0 ETH | 0.0001708 | ||||
Migrate | 20748999 | 213 days ago | IN | 0 ETH | 0.00014763 | ||||
Migrate | 20748993 | 213 days ago | IN | 0 ETH | 0.00013344 | ||||
Migrate | 20748867 | 213 days ago | IN | 0 ETH | 0.00013271 | ||||
Migrate | 20748704 | 213 days ago | IN | 0 ETH | 0.00017096 | ||||
Migrate | 20748379 | 213 days ago | IN | 0 ETH | 0.00011392 | ||||
Migrate | 20748298 | 214 days ago | IN | 0 ETH | 0.00016203 | ||||
Migrate | 20748268 | 214 days ago | IN | 0 ETH | 0.00011167 | ||||
Migrate | 20748260 | 214 days ago | IN | 0 ETH | 0.0001141 | ||||
Migrate | 20748249 | 214 days ago | IN | 0 ETH | 0.00012115 | ||||
Migrate | 20748101 | 214 days ago | IN | 0 ETH | 0.00018088 | ||||
Migrate | 20748099 | 214 days ago | IN | 0 ETH | 0.00017006 | ||||
Migrate | 20748062 | 214 days ago | IN | 0 ETH | 0.00018042 | ||||
Migrate | 20747944 | 214 days ago | IN | 0 ETH | 0.00016072 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
TokenMigration
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-08-19 */ // File: @openzeppelin/contracts/token/ERC20/IERC20.sol // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.20; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @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); /** * @dev Returns the value of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the value of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves a `value` amount of 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 value) 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 a `value` amount of tokens 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 value) external returns (bool); /** * @dev Moves a `value` amount of tokens from `from` to `to` using the * allowance mechanism. `value` 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 value) external returns (bool); } // File: @openzeppelin/contracts/utils/Context.sol // OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol) pragma solidity ^0.8.20; /** * @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; } function _contextSuffixLength() internal view virtual returns (uint256) { return 0; } } // File: @openzeppelin/contracts/access/Ownable.sol // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol) pragma solidity ^0.8.20; /** * @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. * * The initial owner is set to the address provided by the deployer. 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; /** * @dev The caller account is not authorized to perform an operation. */ error OwnableUnauthorizedAccount(address account); /** * @dev The owner is not a valid owner account. (eg. `address(0)`) */ error OwnableInvalidOwner(address owner); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the address provided by the deployer as the initial owner. */ constructor(address initialOwner) { if (initialOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(initialOwner); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { if (owner() != _msgSender()) { revert OwnableUnauthorizedAccount(_msgSender()); } } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling 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 { if (newOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _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: contracts/TokenMigration.sol pragma solidity ^0.8.0; contract TokenMigration is Ownable { IERC20 public tokenH; IERC20 public tokenV2; address public tokenV2Owner; // Mapping to keep track of blacklisted addresses mapping(address => bool) public isBlacklisted; constructor(IERC20 _tokenH, IERC20 _tokenV2, address _tokenV2Owner) Ownable(msg.sender) { tokenH = _tokenH; tokenV2 = _tokenV2; tokenV2Owner = _tokenV2Owner; } function setTokenV2Owner(address _tokenV2Owner) external onlyOwner { tokenV2Owner = _tokenV2Owner; } // Function to manage the blacklist function blacklistAddress(address user, bool value) external onlyOwner { isBlacklisted[user] = value; } function migrate(uint256 amount) external { // Check if the sender is blacklisted require(!isBlacklisted[msg.sender], "Address is blacklisted and cannot migrate tokens"); // Transfer TokenH from the user to the TokenV2 owner require(tokenH.transferFrom(msg.sender, tokenV2Owner, amount), "Transfer of TokenH failed"); // Transfer TokenV2 from the TokenV2 owner to the user require(tokenV2.transferFrom(tokenV2Owner, msg.sender, amount), "Transfer of TokenV2 failed"); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"contract IERC20","name":"_tokenH","type":"address"},{"internalType":"contract IERC20","name":"_tokenV2","type":"address"},{"internalType":"address","name":"_tokenV2Owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"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":"user","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"blacklistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"migrate","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":"address","name":"_tokenV2Owner","type":"address"}],"name":"setTokenV2Owner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tokenH","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenV2","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenV2Owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561000f575f80fd5b5060405161070238038061070283398101604081905261002e91610105565b338061005357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61005c8161009f565b50600180546001600160a01b039485166001600160a01b03199182161790915560028054938516938216939093179092556003805491909316911617905561014f565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114610102575f80fd5b50565b5f805f60608486031215610117575f80fd5b8351610122816100ee565b6020850151909350610133816100ee565b6040850151909250610144816100ee565b809150509250925092565b6105a68061015c5f395ff3fe608060405234801561000f575f80fd5b506004361061009b575f3560e01c80638da5cb5b116100635780638da5cb5b14610112578063a04f60f514610122578063a5a69d4f14610135578063f2fde38b14610148578063fe575a871461015b575f80fd5b80631382d8c21461009f578063454b0608146100cf578063455a4396146100e45780635a0254e2146100f7578063715018a61461010a575b5f80fd5b6002546100b2906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100e26100dd3660046104c1565b61018d565b005b6100e26100f2366004610500565b61039d565b6001546100b2906001600160a01b031681565b6100e26103cf565b5f546001600160a01b03166100b2565b6003546100b2906001600160a01b031681565b6100e2610143366004610535565b6103e2565b6100e2610156366004610535565b61040c565b61017d610169366004610535565b60046020525f908152604090205460ff1681565b60405190151581526020016100c6565b335f9081526004602052604090205460ff161561020a5760405162461bcd60e51b815260206004820152603060248201527f4164647265737320697320626c61636b6c697374656420616e642063616e6e6f60448201526f74206d69677261746520746f6b656e7360801b60648201526084015b60405180910390fd5b6001546003546040516323b872dd60e01b81523360048201526001600160a01b039182166024820152604481018490529116906323b872dd906064016020604051808303815f875af1158015610262573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102869190610555565b6102d25760405162461bcd60e51b815260206004820152601960248201527f5472616e73666572206f6620546f6b656e48206661696c6564000000000000006044820152606401610201565b6002546003546040516323b872dd60e01b81526001600160a01b039182166004820152336024820152604481018490529116906323b872dd906064016020604051808303815f875af115801561032a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061034e9190610555565b61039a5760405162461bcd60e51b815260206004820152601a60248201527f5472616e73666572206f6620546f6b656e5632206661696c65640000000000006044820152606401610201565b50565b6103a5610446565b6001600160a01b03919091165f908152600460205260409020805460ff1916911515919091179055565b6103d7610446565b6103e05f610472565b565b6103ea610446565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b610414610446565b6001600160a01b03811661043d57604051631e4fbdf760e01b81525f6004820152602401610201565b61039a81610472565b5f546001600160a01b031633146103e05760405163118cdaa760e01b8152336004820152602401610201565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f602082840312156104d1575f80fd5b5035919050565b80356001600160a01b03811681146104ee575f80fd5b919050565b801515811461039a575f80fd5b5f8060408385031215610511575f80fd5b61051a836104d8565b9150602083013561052a816104f3565b809150509250929050565b5f60208284031215610545575f80fd5b61054e826104d8565b9392505050565b5f60208284031215610565575f80fd5b815161054e816104f356fea2646970667358221220bbd568dc8cd17db3dd90c4c3e01bc4945ed375a19369d3681c1768165eb9cbda64736f6c634300081a0033000000000000000000000000bb9fd9fa4863c03c574007ff3370787b9ce65ff60000000000000000000000006c3fe25a4de7fa243c653cfe1f165bf11d99704e0000000000000000000000002d47b6f9251de1dd7e260d042322b1a6a455332e
Deployed Bytecode
0x608060405234801561000f575f80fd5b506004361061009b575f3560e01c80638da5cb5b116100635780638da5cb5b14610112578063a04f60f514610122578063a5a69d4f14610135578063f2fde38b14610148578063fe575a871461015b575f80fd5b80631382d8c21461009f578063454b0608146100cf578063455a4396146100e45780635a0254e2146100f7578063715018a61461010a575b5f80fd5b6002546100b2906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100e26100dd3660046104c1565b61018d565b005b6100e26100f2366004610500565b61039d565b6001546100b2906001600160a01b031681565b6100e26103cf565b5f546001600160a01b03166100b2565b6003546100b2906001600160a01b031681565b6100e2610143366004610535565b6103e2565b6100e2610156366004610535565b61040c565b61017d610169366004610535565b60046020525f908152604090205460ff1681565b60405190151581526020016100c6565b335f9081526004602052604090205460ff161561020a5760405162461bcd60e51b815260206004820152603060248201527f4164647265737320697320626c61636b6c697374656420616e642063616e6e6f60448201526f74206d69677261746520746f6b656e7360801b60648201526084015b60405180910390fd5b6001546003546040516323b872dd60e01b81523360048201526001600160a01b039182166024820152604481018490529116906323b872dd906064016020604051808303815f875af1158015610262573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102869190610555565b6102d25760405162461bcd60e51b815260206004820152601960248201527f5472616e73666572206f6620546f6b656e48206661696c6564000000000000006044820152606401610201565b6002546003546040516323b872dd60e01b81526001600160a01b039182166004820152336024820152604481018490529116906323b872dd906064016020604051808303815f875af115801561032a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061034e9190610555565b61039a5760405162461bcd60e51b815260206004820152601a60248201527f5472616e73666572206f6620546f6b656e5632206661696c65640000000000006044820152606401610201565b50565b6103a5610446565b6001600160a01b03919091165f908152600460205260409020805460ff1916911515919091179055565b6103d7610446565b6103e05f610472565b565b6103ea610446565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b610414610446565b6001600160a01b03811661043d57604051631e4fbdf760e01b81525f6004820152602401610201565b61039a81610472565b5f546001600160a01b031633146103e05760405163118cdaa760e01b8152336004820152602401610201565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f602082840312156104d1575f80fd5b5035919050565b80356001600160a01b03811681146104ee575f80fd5b919050565b801515811461039a575f80fd5b5f8060408385031215610511575f80fd5b61051a836104d8565b9150602083013561052a816104f3565b809150509250929050565b5f60208284031215610545575f80fd5b61054e826104d8565b9392505050565b5f60208284031215610565575f80fd5b815161054e816104f356fea2646970667358221220bbd568dc8cd17db3dd90c4c3e01bc4945ed375a19369d3681c1768165eb9cbda64736f6c634300081a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000bb9fd9fa4863c03c574007ff3370787b9ce65ff60000000000000000000000006c3fe25a4de7fa243c653cfe1f165bf11d99704e0000000000000000000000002d47b6f9251de1dd7e260d042322b1a6a455332e
-----Decoded View---------------
Arg [0] : _tokenH (address): 0xbb9FD9Fa4863C03c574007fF3370787B9cE65ff6
Arg [1] : _tokenV2 (address): 0x6c3fE25a4de7FA243c653cfE1F165bf11D99704E
Arg [2] : _tokenV2Owner (address): 0x2d47B6f9251dE1Dd7E260D042322b1A6A455332e
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000bb9fd9fa4863c03c574007ff3370787b9ce65ff6
Arg [1] : 0000000000000000000000006c3fe25a4de7fa243c653cfe1f165bf11d99704e
Arg [2] : 0000000000000000000000002d47b6f9251de1dd7e260d042322b1a6a455332e
Deployed Bytecode Sourcemap
7159:1264:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7228:21;;;;;-1:-1:-1;;;;;7228:21:0;;;;;;-1:-1:-1;;;;;191:32:1;;;173:51;;161:2;146:18;7228:21:0;;;;;;;;7888:532;;;;;;:::i;:::-;;:::i;:::-;;7763:117;;;;;;:::i;:::-;;:::i;7201:20::-;;;;;-1:-1:-1;;;;;7201:20:0;;;6249:103;;;:::i;5574:87::-;5620:7;5647:6;-1:-1:-1;;;;;5647:6:0;5574:87;;7256:27;;;;;-1:-1:-1;;;;;7256:27:0;;;7600:114;;;;;;:::i;:::-;;:::i;6507:220::-;;;;;;:::i;:::-;;:::i;7347:45::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1605:14:1;;1598:22;1580:41;;1568:2;1553:18;7347:45:0;1440:187:1;7888:532:0;8011:10;7997:25;;;;:13;:25;;;;;;;;7996:26;7988:87;;;;-1:-1:-1;;;7988:87:0;;1834:2:1;7988:87:0;;;1816:21:1;1873:2;1853:18;;;1846:30;1912:34;1892:18;;;1885:62;-1:-1:-1;;;1963:18:1;;;1956:46;2019:19;;7988:87:0;;;;;;;;;8159:6;;8191:12;;8159:53;;-1:-1:-1;;;8159:53:0;;8179:10;8159:53;;;2251:51:1;-1:-1:-1;;;;;8191:12:0;;;2318:18:1;;;2311:60;2387:18;;;2380:34;;;8159:6:0;;;:19;;2224:18:1;;8159:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8151:91;;;;-1:-1:-1;;;8151:91:0;;2877:2:1;8151:91:0;;;2859:21:1;2916:2;2896:18;;;2889:30;2955:27;2935:18;;;2928:55;3000:18;;8151:91:0;2675:349:1;8151:91:0;8327:7;;8348:12;;8327:54;;-1:-1:-1;;;8327:54:0;;-1:-1:-1;;;;;8348:12:0;;;8327:54;;;2251:51:1;8362:10:0;2318:18:1;;;2311:60;2387:18;;;2380:34;;;8327:7:0;;;:20;;2224:18:1;;8327:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8319:93;;;;-1:-1:-1;;;8319:93:0;;3231:2:1;8319:93:0;;;3213:21:1;3270:2;3250:18;;;3243:30;3309:28;3289:18;;;3282:56;3355:18;;8319:93:0;3029:350:1;8319:93:0;7888:532;:::o;7763:117::-;5460:13;:11;:13::i;:::-;-1:-1:-1;;;;;7845:19:0;;;::::1;;::::0;;;:13:::1;:19;::::0;;;;:27;;-1:-1:-1;;7845:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7763:117::o;6249:103::-;5460:13;:11;:13::i;:::-;6314:30:::1;6341:1;6314:18;:30::i;:::-;6249:103::o:0;7600:114::-;5460:13;:11;:13::i;:::-;7678:12:::1;:28:::0;;-1:-1:-1;;;;;;7678:28:0::1;-1:-1:-1::0;;;;;7678:28:0;;;::::1;::::0;;;::::1;::::0;;7600:114::o;6507:220::-;5460:13;:11;:13::i;:::-;-1:-1:-1;;;;;6592:22:0;::::1;6588:93;;6638:31;::::0;-1:-1:-1;;;6638:31:0;;6666:1:::1;6638:31;::::0;::::1;173:51:1::0;146:18;;6638:31:0::1;14:216:1::0;6588:93:0::1;6691:28;6710:8;6691:18;:28::i;5739:166::-:0;5620:7;5647:6;-1:-1:-1;;;;;5647:6:0;3663:10;5799:23;5795:103;;5846:40;;-1:-1:-1;;;5846:40:0;;3663:10;5846:40;;;173:51:1;146:18;;5846:40:0;14:216:1;6887:191:0;6961:16;6980:6;;-1:-1:-1;;;;;6997:17:0;;;-1:-1:-1;;;;;;6997:17:0;;;;;;7030:40;;6980:6;;;;;;;7030:40;;6961:16;7030:40;6950:128;6887:191;:::o;235:180:1:-;294:6;347:2;335:9;326:7;322:23;318:32;315:52;;;363:1;360;353:12;315:52;-1:-1:-1;386:23:1;;235:180;-1:-1:-1;235:180:1:o;420:173::-;488:20;;-1:-1:-1;;;;;537:31:1;;527:42;;517:70;;583:1;580;573:12;517:70;420:173;;;:::o;598:118::-;684:5;677:13;670:21;663:5;660:32;650:60;;706:1;703;696:12;721:315;786:6;794;847:2;835:9;826:7;822:23;818:32;815:52;;;863:1;860;853:12;815:52;886:29;905:9;886:29;:::i;:::-;876:39;;965:2;954:9;950:18;937:32;978:28;1000:5;978:28;:::i;:::-;1025:5;1015:15;;;721:315;;;;;:::o;1249:186::-;1308:6;1361:2;1349:9;1340:7;1336:23;1332:32;1329:52;;;1377:1;1374;1367:12;1329:52;1400:29;1419:9;1400:29;:::i;:::-;1390:39;1249:186;-1:-1:-1;;;1249:186:1:o;2425:245::-;2492:6;2545:2;2533:9;2524:7;2520:23;2516:32;2513:52;;;2561:1;2558;2551:12;2513:52;2593:9;2587:16;2612:28;2634:5;2612:28;:::i
Swarm Source
ipfs://bbd568dc8cd17db3dd90c4c3e01bc4945ed375a19369d3681c1768165eb9cbda
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.