Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Initialize | 13037565 | 1230 days ago | IN | 0 ETH | 0.00508532 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
InstaDelegateClone
Compiler Version
v0.7.2+commit.51b20bc0
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.7.0; pragma experimental ABIEncoderV2; import { Initializable } from "@openzeppelin/contracts/proxy/Initializable.sol"; interface IERC20 { function transfer(address recipient, uint256 amount) external returns (bool); function balanceOf(address owner) external view returns (uint256); function delegate(address delegator) external; function approve(address spender, uint amount) external returns (bool); } contract InstaDelegateClone is Initializable { event LogDelegate(address owner, address delegatee); event LogChangeOwner(address oldOwner, address newOwner); event LogWithdraw(address owner, uint256 amount); IERC20 constant public token = IERC20(0x6f40d4A6237C257fff2dB00FA0510DeEECd303eb); // INST token address public owner; modifier isOwner { require(owner == msg.sender, "not-owner"); _; } function initialize(address _owner, address _delegatee) external initializer { require(_owner != address(0), "address-not-valid"); owner = _owner; token.delegate(_delegatee); emit LogDelegate(owner, _delegatee); } function delegate(address _delegatee) external isOwner { token.delegate(_delegatee); emit LogDelegate(owner, _delegatee); } function changeOwner(address _newOwner) external isOwner { require(_newOwner != address(0), "not-vaild-new-owner"); emit LogChangeOwner(owner, _newOwner); owner = _newOwner; } function withdrawToken(uint amount) public isOwner { uint256 _amount = amount == uint256(-1) ? token.balanceOf(address(this)) : amount; require(token.transfer(msg.sender, _amount), "transfer-failed"); emit LogWithdraw(msg.sender, _amount); } function spell(address _target, bytes memory _data) external isOwner { require(_target != address(0), "target-invalid"); assembly { let succeeded := delegatecall(gas(), _target, add(_data, 0x20), mload(_data), 0, 0) switch iszero(succeeded) case 1 { // throw if delegatecall failed let size := returndatasize() returndatacopy(0x00, 0x00, size) revert(0x00, size) } } } }
// SPDX-License-Identifier: MIT // solhint-disable-next-line compiler-version pragma solidity >=0.4.24 <0.8.0; import "../utils/Address.sol"; /** * @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed * behind a proxy. Since a proxied contract can't have a constructor, it's common to move constructor logic to an * external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer * function so it can only be called once. The {initializer} modifier provided by this contract will have this effect. * * TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as * possible by providing the encoded function call as the `_data` argument to {UpgradeableProxy-constructor}. * * CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure * that all initializers are idempotent. This is not verified automatically as constructors are by Solidity. */ abstract contract Initializable { /** * @dev Indicates that the contract has been initialized. */ bool private _initialized; /** * @dev Indicates that the contract is in the process of being initialized. */ bool private _initializing; /** * @dev Modifier to protect an initializer function from being invoked twice. */ modifier initializer() { require(_initializing || _isConstructor() || !_initialized, "Initializable: contract is already initialized"); bool isTopLevelCall = !_initializing; if (isTopLevelCall) { _initializing = true; _initialized = true; } _; if (isTopLevelCall) { _initializing = false; } } /// @dev Returns true if and only if the function is running in the constructor function _isConstructor() private view returns (bool) { return !Address.isContract(address(this)); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.7.0; /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // This method relies on extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain`call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: value }(data); return _verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.staticcall(data); return _verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.delegatecall(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) { if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"LogChangeOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"address","name":"delegatee","type":"address"}],"name":"LogDelegate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LogWithdraw","type":"event"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_delegatee","type":"address"}],"name":"delegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_delegatee","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_target","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"spell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5061117b806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638da5cb5b1161005b5780638da5cb5b146100d6578063a6f9dae1146100f4578063c7acb01f14610110578063fc0c546a1461012c5761007d565b8063485cc9551461008257806350baa6221461009e5780635c19a95c146100ba575b600080fd5b61009c60048036038101906100979190610ba6565b61014a565b005b6100b860048036038101906100b39190610c5f565b6103bf565b005b6100d460048036038101906100cf9190610b7d565b61063b565b005b6100de6107a8565b6040516100eb9190610e93565b60405180910390f35b61010e60048036038101906101099190610b7d565b6107ce565b005b61012a60048036038101906101259190610be2565b61096d565b005b610134610a99565b6040516101419190610f00565b60405180910390f35b600060019054906101000a900460ff16806101695750610168610ab1565b5b8061017f575060008054906101000a900460ff16155b6101be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b590610f5b565b60405180910390fd5b60008060019054906101000a900460ff16159050801561020e576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561027e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027590610f7b565b60405180910390fd5b82600060026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550736f40d4a6237c257fff2db00fa0510deeecd303eb73ffffffffffffffffffffffffffffffffffffffff16635c19a95c836040518263ffffffff1660e01b815260040161030c9190610e93565b600060405180830381600087803b15801561032657600080fd5b505af115801561033a573d6000803e3d6000fd5b505050507f465d041ee9dd42565f39729b208714e59ebf80dcbd95f34c7ff9db40f3a43991600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683604051610391929190610ed7565b60405180910390a180156103ba5760008060016101000a81548160ff0219169083151502179055505b505050565b3373ffffffffffffffffffffffffffffffffffffffff16600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461044f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044690610f1b565b60405180910390fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821461047e578161051c565b736f40d4a6237c257fff2db00fa0510deeecd303eb73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016104cb9190610e93565b60206040518083038186803b1580156104e357600080fd5b505afa1580156104f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051b9190610c88565b5b9050736f40d4a6237c257fff2db00fa0510deeecd303eb73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b815260040161056d929190610eae565b602060405180830381600087803b15801561058757600080fd5b505af115801561059b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bf9190610c36565b6105fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f590610fbb565b60405180910390fd5b7f4ce7033d118120e254016dccf195288400b28fc8936425acd5f17ce2df3ab708338260405161062f929190610eae565b60405180910390a15050565b3373ffffffffffffffffffffffffffffffffffffffff16600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c290610f1b565b60405180910390fd5b736f40d4a6237c257fff2db00fa0510deeecd303eb73ffffffffffffffffffffffffffffffffffffffff16635c19a95c826040518263ffffffff1660e01b81526004016107189190610e93565b600060405180830381600087803b15801561073257600080fd5b505af1158015610746573d6000803e3d6000fd5b505050507f465d041ee9dd42565f39729b208714e59ebf80dcbd95f34c7ff9db40f3a43991600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260405161079d929190610ed7565b60405180910390a150565b600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461085e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085590610f1b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156108ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c590610f9b565b60405180910390fd5b7f96b36bedce75759b139551b10b3d2e1e863dbbfbdc30f9f9e374bb24431d5da2600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682604051610921929190610ed7565b60405180910390a180600060026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f490610f1b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6490610f3b565b60405180910390fd5b600080825160208401855af4801560018114610a8857610a93565b3d806000803e806000fd5b50505050565b736f40d4a6237c257fff2db00fa0510deeecd303eb81565b6000610abc30610ac2565b15905090565b600080823b905060008111915050919050565b600081359050610ae481611100565b92915050565b600081519050610af981611117565b92915050565b600082601f830112610b1057600080fd5b8135610b23610b1e8261100c565b610fdb565b91508082526020830160208301858383011115610b3f57600080fd5b610b4a8382846110ef565b50505092915050565b600081359050610b628161112e565b92915050565b600081519050610b778161112e565b92915050565b600060208284031215610b8f57600080fd5b6000610b9d84828501610ad5565b91505092915050565b60008060408385031215610bb957600080fd5b6000610bc785828601610ad5565b9250506020610bd885828601610ad5565b9150509250929050565b60008060408385031215610bf557600080fd5b6000610c0385828601610ad5565b925050602083013567ffffffffffffffff811115610c2057600080fd5b610c2c85828601610aff565b9150509250929050565b600060208284031215610c4857600080fd5b6000610c5684828501610aea565b91505092915050565b600060208284031215610c7157600080fd5b6000610c7f84828501610b53565b91505092915050565b600060208284031215610c9a57600080fd5b6000610ca884828501610b68565b91505092915050565b610cba81611095565b82525050565b610cc98161104d565b82525050565b610cd8816110a7565b82525050565b6000610ceb60098361103c565b91507f6e6f742d6f776e657200000000000000000000000000000000000000000000006000830152602082019050919050565b6000610d2b600e8361103c565b91507f7461726765742d696e76616c69640000000000000000000000000000000000006000830152602082019050919050565b6000610d6b602e8361103c565b91507f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008301527f647920696e697469616c697a65640000000000000000000000000000000000006020830152604082019050919050565b6000610dd160118361103c565b91507f616464726573732d6e6f742d76616c69640000000000000000000000000000006000830152602082019050919050565b6000610e1160138361103c565b91507f6e6f742d7661696c642d6e65772d6f776e6572000000000000000000000000006000830152602082019050919050565b6000610e51600f8361103c565b91507f7472616e736665722d6661696c656400000000000000000000000000000000006000830152602082019050919050565b610e8d8161108b565b82525050565b6000602082019050610ea86000830184610cc0565b92915050565b6000604082019050610ec36000830185610cb1565b610ed06020830184610e84565b9392505050565b6000604082019050610eec6000830185610cc0565b610ef96020830184610cc0565b9392505050565b6000602082019050610f156000830184610ccf565b92915050565b60006020820190508181036000830152610f3481610cde565b9050919050565b60006020820190508181036000830152610f5481610d1e565b9050919050565b60006020820190508181036000830152610f7481610d5e565b9050919050565b60006020820190508181036000830152610f9481610dc4565b9050919050565b60006020820190508181036000830152610fb481610e04565b9050919050565b60006020820190508181036000830152610fd481610e44565b9050919050565b6000604051905081810181811067ffffffffffffffff82111715611002576110016110fe565b5b8060405250919050565b600067ffffffffffffffff821115611027576110266110fe565b5b601f19601f8301169050602081019050919050565b600082825260208201905092915050565b60006110588261106b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006110a0826110cb565b9050919050565b60006110b2826110b9565b9050919050565b60006110c48261106b565b9050919050565b60006110d6826110dd565b9050919050565b60006110e88261106b565b9050919050565b82818337600083830152505050565bfe5b6111098161104d565b811461111457600080fd5b50565b6111208161105f565b811461112b57600080fd5b50565b6111378161108b565b811461114257600080fd5b5056fea264697066735822122068e666815dc3f92c25b267ebffb3fd4d636a9c11c85a40f38af6126ac113b10b64736f6c63430007020033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80638da5cb5b1161005b5780638da5cb5b146100d6578063a6f9dae1146100f4578063c7acb01f14610110578063fc0c546a1461012c5761007d565b8063485cc9551461008257806350baa6221461009e5780635c19a95c146100ba575b600080fd5b61009c60048036038101906100979190610ba6565b61014a565b005b6100b860048036038101906100b39190610c5f565b6103bf565b005b6100d460048036038101906100cf9190610b7d565b61063b565b005b6100de6107a8565b6040516100eb9190610e93565b60405180910390f35b61010e60048036038101906101099190610b7d565b6107ce565b005b61012a60048036038101906101259190610be2565b61096d565b005b610134610a99565b6040516101419190610f00565b60405180910390f35b600060019054906101000a900460ff16806101695750610168610ab1565b5b8061017f575060008054906101000a900460ff16155b6101be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b590610f5b565b60405180910390fd5b60008060019054906101000a900460ff16159050801561020e576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561027e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027590610f7b565b60405180910390fd5b82600060026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550736f40d4a6237c257fff2db00fa0510deeecd303eb73ffffffffffffffffffffffffffffffffffffffff16635c19a95c836040518263ffffffff1660e01b815260040161030c9190610e93565b600060405180830381600087803b15801561032657600080fd5b505af115801561033a573d6000803e3d6000fd5b505050507f465d041ee9dd42565f39729b208714e59ebf80dcbd95f34c7ff9db40f3a43991600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683604051610391929190610ed7565b60405180910390a180156103ba5760008060016101000a81548160ff0219169083151502179055505b505050565b3373ffffffffffffffffffffffffffffffffffffffff16600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461044f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044690610f1b565b60405180910390fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821461047e578161051c565b736f40d4a6237c257fff2db00fa0510deeecd303eb73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016104cb9190610e93565b60206040518083038186803b1580156104e357600080fd5b505afa1580156104f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051b9190610c88565b5b9050736f40d4a6237c257fff2db00fa0510deeecd303eb73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b815260040161056d929190610eae565b602060405180830381600087803b15801561058757600080fd5b505af115801561059b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bf9190610c36565b6105fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f590610fbb565b60405180910390fd5b7f4ce7033d118120e254016dccf195288400b28fc8936425acd5f17ce2df3ab708338260405161062f929190610eae565b60405180910390a15050565b3373ffffffffffffffffffffffffffffffffffffffff16600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c290610f1b565b60405180910390fd5b736f40d4a6237c257fff2db00fa0510deeecd303eb73ffffffffffffffffffffffffffffffffffffffff16635c19a95c826040518263ffffffff1660e01b81526004016107189190610e93565b600060405180830381600087803b15801561073257600080fd5b505af1158015610746573d6000803e3d6000fd5b505050507f465d041ee9dd42565f39729b208714e59ebf80dcbd95f34c7ff9db40f3a43991600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260405161079d929190610ed7565b60405180910390a150565b600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461085e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085590610f1b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156108ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c590610f9b565b60405180910390fd5b7f96b36bedce75759b139551b10b3d2e1e863dbbfbdc30f9f9e374bb24431d5da2600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682604051610921929190610ed7565b60405180910390a180600060026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f490610f1b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6490610f3b565b60405180910390fd5b600080825160208401855af4801560018114610a8857610a93565b3d806000803e806000fd5b50505050565b736f40d4a6237c257fff2db00fa0510deeecd303eb81565b6000610abc30610ac2565b15905090565b600080823b905060008111915050919050565b600081359050610ae481611100565b92915050565b600081519050610af981611117565b92915050565b600082601f830112610b1057600080fd5b8135610b23610b1e8261100c565b610fdb565b91508082526020830160208301858383011115610b3f57600080fd5b610b4a8382846110ef565b50505092915050565b600081359050610b628161112e565b92915050565b600081519050610b778161112e565b92915050565b600060208284031215610b8f57600080fd5b6000610b9d84828501610ad5565b91505092915050565b60008060408385031215610bb957600080fd5b6000610bc785828601610ad5565b9250506020610bd885828601610ad5565b9150509250929050565b60008060408385031215610bf557600080fd5b6000610c0385828601610ad5565b925050602083013567ffffffffffffffff811115610c2057600080fd5b610c2c85828601610aff565b9150509250929050565b600060208284031215610c4857600080fd5b6000610c5684828501610aea565b91505092915050565b600060208284031215610c7157600080fd5b6000610c7f84828501610b53565b91505092915050565b600060208284031215610c9a57600080fd5b6000610ca884828501610b68565b91505092915050565b610cba81611095565b82525050565b610cc98161104d565b82525050565b610cd8816110a7565b82525050565b6000610ceb60098361103c565b91507f6e6f742d6f776e657200000000000000000000000000000000000000000000006000830152602082019050919050565b6000610d2b600e8361103c565b91507f7461726765742d696e76616c69640000000000000000000000000000000000006000830152602082019050919050565b6000610d6b602e8361103c565b91507f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008301527f647920696e697469616c697a65640000000000000000000000000000000000006020830152604082019050919050565b6000610dd160118361103c565b91507f616464726573732d6e6f742d76616c69640000000000000000000000000000006000830152602082019050919050565b6000610e1160138361103c565b91507f6e6f742d7661696c642d6e65772d6f776e6572000000000000000000000000006000830152602082019050919050565b6000610e51600f8361103c565b91507f7472616e736665722d6661696c656400000000000000000000000000000000006000830152602082019050919050565b610e8d8161108b565b82525050565b6000602082019050610ea86000830184610cc0565b92915050565b6000604082019050610ec36000830185610cb1565b610ed06020830184610e84565b9392505050565b6000604082019050610eec6000830185610cc0565b610ef96020830184610cc0565b9392505050565b6000602082019050610f156000830184610ccf565b92915050565b60006020820190508181036000830152610f3481610cde565b9050919050565b60006020820190508181036000830152610f5481610d1e565b9050919050565b60006020820190508181036000830152610f7481610d5e565b9050919050565b60006020820190508181036000830152610f9481610dc4565b9050919050565b60006020820190508181036000830152610fb481610e04565b9050919050565b60006020820190508181036000830152610fd481610e44565b9050919050565b6000604051905081810181811067ffffffffffffffff82111715611002576110016110fe565b5b8060405250919050565b600067ffffffffffffffff821115611027576110266110fe565b5b601f19601f8301169050602081019050919050565b600082825260208201905092915050565b60006110588261106b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006110a0826110cb565b9050919050565b60006110b2826110b9565b9050919050565b60006110c48261106b565b9050919050565b60006110d6826110dd565b9050919050565b60006110e88261106b565b9050919050565b82818337600083830152505050565bfe5b6111098161104d565b811461111457600080fd5b50565b6111208161105f565b811461112b57600080fd5b50565b6111378161108b565b811461114257600080fd5b5056fea264697066735822122068e666815dc3f92c25b267ebffb3fd4d636a9c11c85a40f38af6126ac113b10b64736f6c63430007020033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.