Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 27 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Mint By Og | 20826299 | 94 days ago | IN | 0 ETH | 0.02776645 | ||||
Mint By Og | 20826289 | 94 days ago | IN | 0 ETH | 0.01061351 | ||||
Mint By Og | 20826273 | 94 days ago | IN | 0 ETH | 0.01340359 | ||||
Bulk Mint | 20825930 | 94 days ago | IN | 0 ETH | 0.06095756 | ||||
Mint By Stage | 20825826 | 94 days ago | IN | 0 ETH | 0.00430086 | ||||
Set Stage | 20825814 | 94 days ago | IN | 0 ETH | 0.00203182 | ||||
Add Whitelist | 20825802 | 94 days ago | IN | 0 ETH | 0.00131635 | ||||
Add Whitelist | 20825781 | 94 days ago | IN | 0 ETH | 0.00046137 | ||||
Add Whitelist | 20825773 | 94 days ago | IN | 0 ETH | 0.00047093 | ||||
Mint By Stage | 20825722 | 94 days ago | IN | 0 ETH | 0.00252212 | ||||
Mint By Stage | 20825722 | 94 days ago | IN | 0 ETH | 0.00276182 | ||||
Add Whitelist | 20825670 | 94 days ago | IN | 0 ETH | 0.00156799 | ||||
Mint By Stage | 20825663 | 94 days ago | IN | 0 ETH | 0.00255089 | ||||
Add Whitelist | 20825603 | 94 days ago | IN | 0 ETH | 0.00068952 | ||||
Mint By Stage | 20825185 | 94 days ago | IN | 0 ETH | 0.00604148 | ||||
Mint By Stage | 20825155 | 94 days ago | IN | 0 ETH | 0.010398 | ||||
Add Whitelist | 20825142 | 94 days ago | IN | 0 ETH | 0.00144003 | ||||
Mint By Og | 20821462 | 95 days ago | IN | 0 ETH | 0.01705183 | ||||
Mint By Stage | 20821424 | 95 days ago | IN | 0 ETH | 0.0086314 | ||||
Mint By Stage | 20821402 | 95 days ago | IN | 0 ETH | 0.0056573 | ||||
Mint By Og | 20821389 | 95 days ago | IN | 0 ETH | 0.01859595 | ||||
Mint By Og | 20821356 | 95 days ago | IN | 0 ETH | 0.01484071 | ||||
Add Whitelist | 20820851 | 95 days ago | IN | 0 ETH | 0.00159525 | ||||
Add Whitelist | 20820849 | 95 days ago | IN | 0 ETH | 0.00155628 | ||||
Set Stages | 20820795 | 95 days ago | IN | 0 ETH | 0.01538721 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
InitializableAdminUpgradeabilityProxy
Compiler Version
v0.8.20+commit.a1b79de6
Optimization Enabled:
No with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: agpl-3.0 pragma solidity ^0.8.9; import "./BaseAdminUpgradeabilityProxy.sol"; import "./InitializableUpgradeabilityProxy.sol"; /** * @title InitializableAdminUpgradeabilityProxy * @dev Extends from BaseAdminUpgradeabilityProxy with an initializer for * initializing the implementation, admin, and init data. */ contract InitializableAdminUpgradeabilityProxy is BaseAdminUpgradeabilityProxy, InitializableUpgradeabilityProxy { /** * Contract initializer. * @param _logic address of the initial implementation. * @param _admin Address of the proxy administrator. * @param _data Data to send as msg.data to the implementation to initialize the proxied contract. * It should include the signature and the parameters of the function to be called, as described in * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding. * This parameter is optional, if no data is given the initialization call to proxied contract will be skipped. */ function initialize(address _logic, address _admin, bytes memory _data) public payable { require(_implementation() == address(0)); InitializableUpgradeabilityProxy.initialize(_logic, _data); assert(ADMIN_SLOT == bytes32(uint256(keccak256("eip1967.proxy.admin")) - 1)); _setAdmin(_admin); } /** * @dev Only fall back when the sender is not the admin. */ function _willFallback() internal override(BaseAdminUpgradeabilityProxy, Proxy) { BaseAdminUpgradeabilityProxy._willFallback(); } }
pragma solidity ^0.8.9; /** * @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) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } /** * @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 { address thisAddress = address(this); require(thisAddress.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"); } }
pragma solidity ^0.8.9; import './UpgradeabilityProxy.sol'; /** * @title BaseAdminUpgradeabilityProxy * @dev This contract combines an upgradeability proxy with an authorization * mechanism for administrative tasks. * All external functions in this contract must be guarded by the * `ifAdmin` modifier. See ethereum/solidity#3864 for a Solidity * feature proposal that would enable this to be done automatically. */ contract BaseAdminUpgradeabilityProxy is BaseUpgradeabilityProxy { /** * @dev Emitted when the administration has been transferred. * @param previousAdmin Address of the previous admin. * @param newAdmin Address of the new admin. */ event AdminChanged(address previousAdmin, address newAdmin); /** * @dev Storage slot with the admin of the contract. * This is the keccak-256 hash of "eip1967.proxy.admin" subtracted by 1, and is * validated in the constructor. */ bytes32 internal constant ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103; /** * @dev Modifier to check whether the `msg.sender` is the admin. * If it is, it will run the function. Otherwise, it will delegate the call * to the implementation. */ modifier ifAdmin() { if (msg.sender == _admin()) { _; } else { _fallback(); } } /** * @return The address of the proxy admin. */ function admin() external ifAdmin returns (address) { return _admin(); } /** * @return The address of the implementation. */ function implementation() external ifAdmin returns (address) { return _implementation(); } /** * @dev Changes the admin of the proxy. * Only the current admin can call this function. * @param newAdmin Address to transfer proxy administration to. */ function changeAdmin(address newAdmin) external ifAdmin { require(newAdmin != address(0), "Cannot change the admin of a proxy to the zero address"); emit AdminChanged(_admin(), newAdmin); _setAdmin(newAdmin); } /** * @dev Upgrade the backing implementation of the proxy. * Only the admin can call this function. * @param newImplementation Address of the new implementation. */ function upgradeTo(address newImplementation) external ifAdmin { _upgradeTo(newImplementation); } /** * @dev Upgrade the backing implementation of the proxy and call a function * on the new implementation. * This is useful to initialize the proxied contract. * @param newImplementation Address of the new implementation. * @param data Data to send as msg.data in the low level call. * It should include the signature and the parameters of the function to be called, as described in * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding. */ function upgradeToAndCall(address newImplementation, bytes calldata data) payable external ifAdmin { _upgradeTo(newImplementation); (bool success,) = newImplementation.delegatecall(data); require(success); } /** * @return adm The admin slot. */ function _admin() internal view returns (address adm) { bytes32 slot = ADMIN_SLOT; assembly { adm := sload(slot) } } /** * @dev Sets the address of the proxy admin. * @param newAdmin Address of the new proxy admin. */ function _setAdmin(address newAdmin) internal { bytes32 slot = ADMIN_SLOT; assembly { sstore(slot, newAdmin) } } /** * @dev Only fall back when the sender is not the admin. */ function _willFallback() internal override virtual { require(msg.sender != _admin(), "Cannot call fallback function from the proxy admin"); super._willFallback(); } }
pragma solidity ^0.8.9; import './Proxy.sol'; import './Address.sol'; /** * @title BaseUpgradeabilityProxy * @dev This contract implements a proxy that allows to change the * implementation address to which it will delegate. * Such a change is called an implementation upgrade. */ contract BaseUpgradeabilityProxy is Proxy { /** * @dev Emitted when the implementation is upgraded. * @param implementation Address of the new implementation. */ event Upgraded(address indexed implementation); /** * @dev Storage slot with the address of the current implementation. * This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1, and is * validated in the constructor. */ bytes32 internal constant IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; /** * @dev Returns the current implementation. * @return impl Address of the current implementation */ function _implementation() internal override view returns (address impl) { bytes32 slot = IMPLEMENTATION_SLOT; assembly { impl := sload(slot) } } /** * @dev Upgrades the proxy to a new implementation. * @param newImplementation Address of the new implementation. */ function _upgradeTo(address newImplementation) internal { _setImplementation(newImplementation); emit Upgraded(newImplementation); } /** * @dev Sets the implementation address of the proxy. * @param newImplementation Address of the new implementation. */ function _setImplementation(address newImplementation) internal { require(Address.isContract(newImplementation), "Cannot set a proxy implementation to a non-contract address"); bytes32 slot = IMPLEMENTATION_SLOT; assembly { sstore(slot, newImplementation) } } }
// SPDX-License-Identifier: agpl-3.0 pragma solidity ^0.8.9; import "./BaseUpgradeabilityProxy.sol"; /** * @title InitializableUpgradeabilityProxy * @dev Extends BaseUpgradeabilityProxy with an initializer for initializing * implementation and init data. */ contract InitializableUpgradeabilityProxy is BaseUpgradeabilityProxy { /** * @dev Contract initializer. * @param _logic Address of the initial implementation. * @param _data Data to send as msg.data to the implementation to initialize the proxied contract. * It should include the signature and the parameters of the function to be called, as described in * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding. * This parameter is optional, if no data is given the initialization call to proxied contract will be skipped. */ function initialize(address _logic, bytes memory _data) public payable { require(_implementation() == address(0)); assert(IMPLEMENTATION_SLOT == bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1)); _setImplementation(_logic); if (_data.length > 0) { (bool success, ) = _logic.delegatecall(_data); require(success); } } }
pragma solidity ^0.8.9; /** * @title Proxy * @dev Implements delegation of calls to other contracts, with proper * forwarding of return values and bubbling of failures. * It defines a fallback function that delegates all calls to the address * returned by the abstract _implementation() internal function. */ abstract contract Proxy { /** * @dev Fallback function. * Implemented entirely in `_fallback`. */ fallback () payable external { _fallback(); } /** * @return The Address of the implementation. */ function _implementation() internal virtual view returns (address); /** * @dev Delegates execution to an implementation contract. * This is a low level function that doesn't return to its internal call site. * It will return to the external caller whatever the implementation returns. * @param implementation Address to delegate. */ function _delegate(address implementation) internal { assembly { // Copy msg.data. We take full control of memory in this inline assembly // block because it will not return to Solidity code. We overwrite the // Solidity scratch pad at memory position 0. calldatacopy(0, 0, calldatasize()) // Call the implementation. // out and outsize are 0 because we don't know the size yet. let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0) // Copy the returned data. returndatacopy(0, 0, returndatasize()) switch result // delegatecall returns 0 on error. case 0 { revert(0, returndatasize()) } default { return(0, returndatasize()) } } } /** * @dev Function that is run as the first thing in the fallback function. * Can be redefined in derived contracts to add functionality. * Redefinitions must call super._willFallback(). */ function _willFallback() internal virtual { } /** * @dev fallback implementation. * Extracted to enable manual triggering. */ function _fallback() internal { _willFallback(); _delegate(_implementation()); } }
pragma solidity ^0.8.9; import './BaseUpgradeabilityProxy.sol'; /** * @title UpgradeabilityProxy * @dev Extends BaseUpgradeabilityProxy with a constructor for initializing * implementation and init data. */ contract UpgradeabilityProxy is BaseUpgradeabilityProxy { /** * @dev Contract constructor. * @param _logic Address of the initial implementation. * @param _data Data to send as msg.data to the implementation to initialize the proxied contract. * It should include the signature and the parameters of the function to be called, as described in * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding. * This parameter is optional, if no data is given the initialization call to proxied contract will be skipped. */ constructor(address _logic, bytes memory _data) public payable { assert(IMPLEMENTATION_SLOT == bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)); _setImplementation(_logic); if(_data.length > 0) { (bool success,) = _logic.delegatecall(_data); require(success); } } }
{ "evmVersion": "paris", "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"changeAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"address","name":"_admin","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50610fcd806100206000396000f3fe6080604052600436106100745760003560e01c80638f2839701161004e5780638f283970146100ef578063cf7a1d7714610118578063d1f5789414610134578063f851a4401461015057610075565b80633659cfe61461007f5780634f1ef286146100a85780635c60da1b146100c457610075565b5b61007d61017b565b005b34801561008b57600080fd5b506100a660048036038101906100a1919061091d565b610195565b005b6100c260048036038101906100bd91906109af565b6101e9565b005b3480156100d057600080fd5b506100d96102b7565b6040516100e69190610a1e565b60405180910390f35b3480156100fb57600080fd5b506101166004803603810190610111919061091d565b61030e565b005b610132600480360381019061012d9190610b7a565b610411565b005b61014e60048036038101906101499190610be9565b6104ce565b005b34801561015c57600080fd5b50610165610601565b6040516101729190610a1e565b60405180910390f35b610183610658565b61019361018e610662565b610693565b565b61019d6106b9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036101dd576101d8816106ea565b6101e6565b6101e561017b565b5b50565b6101f16106b9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036102a95761022c836106ea565b60008373ffffffffffffffffffffffffffffffffffffffff168383604051610255929190610c75565b600060405180830381855af49150503d8060008114610290576040519150601f19603f3d011682016040523d82523d6000602084013e610295565b606091505b50509050806102a357600080fd5b506102b2565b6102b161017b565b5b505050565b60006102c16106b9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603610302576102fb610662565b905061030b565b61030a61017b565b5b90565b6103166106b9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361040557600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036103b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ae90610d11565b60405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e06106b9565b826040516103ef929190610d31565b60405180910390a161040081610739565b61040e565b61040d61017b565b5b50565b600073ffffffffffffffffffffffffffffffffffffffff16610431610662565b73ffffffffffffffffffffffffffffffffffffffff161461045157600080fd5b61045b83826104ce565b60017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610460001c61048b9190610d93565b60001b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b146104c0576104bf610dc7565b5b6104c982610739565b505050565b600073ffffffffffffffffffffffffffffffffffffffff166104ee610662565b73ffffffffffffffffffffffffffffffffffffffff161461050e57600080fd5b60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd60001c61053e9190610d93565b60001b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b1461057357610572610dc7565b5b61057c82610768565b6000815111156105fd5760008273ffffffffffffffffffffffffffffffffffffffff16826040516105ad9190610e5c565b600060405180830381855af49150503d80600081146105e8576040519150601f19603f3d011682016040523d82523d6000602084013e6105ed565b606091505b50509050806105fb57600080fd5b505b5050565b600061060b6106b9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361064c576106456106b9565b9050610655565b61065461017b565b5b90565b6106606107df565b565b6000807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b9050805491505090565b3660008037600080366000845af43d6000803e80600081146106b4573d6000f35b3d6000fd5b6000807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b9050805491505090565b6106f381610768565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b90508181555050565b6107718161085e565b6107b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a790610ee5565b60405180910390fd5b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b90508181555050565b6107e76106b9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603610854576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084b90610f77565b60405180910390fd5b61085c6108a9565b565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91508082141580156108a057506000801b8214155b92505050919050565b565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006108ea826108bf565b9050919050565b6108fa816108df565b811461090557600080fd5b50565b600081359050610917816108f1565b92915050565b600060208284031215610933576109326108b5565b5b600061094184828501610908565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261096f5761096e61094a565b5b8235905067ffffffffffffffff81111561098c5761098b61094f565b5b6020830191508360018202830111156109a8576109a7610954565b5b9250929050565b6000806000604084860312156109c8576109c76108b5565b5b60006109d686828701610908565b935050602084013567ffffffffffffffff8111156109f7576109f66108ba565b5b610a0386828701610959565b92509250509250925092565b610a18816108df565b82525050565b6000602082019050610a336000830184610a0f565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610a8782610a3e565b810181811067ffffffffffffffff82111715610aa657610aa5610a4f565b5b80604052505050565b6000610ab96108ab565b9050610ac58282610a7e565b919050565b600067ffffffffffffffff821115610ae557610ae4610a4f565b5b610aee82610a3e565b9050602081019050919050565b82818337600083830152505050565b6000610b1d610b1884610aca565b610aaf565b905082815260208101848484011115610b3957610b38610a39565b5b610b44848285610afb565b509392505050565b600082601f830112610b6157610b6061094a565b5b8135610b71848260208601610b0a565b91505092915050565b600080600060608486031215610b9357610b926108b5565b5b6000610ba186828701610908565b9350506020610bb286828701610908565b925050604084013567ffffffffffffffff811115610bd357610bd26108ba565b5b610bdf86828701610b4c565b9150509250925092565b60008060408385031215610c0057610bff6108b5565b5b6000610c0e85828601610908565b925050602083013567ffffffffffffffff811115610c2f57610c2e6108ba565b5b610c3b85828601610b4c565b9150509250929050565b600081905092915050565b6000610c5c8385610c45565b9350610c69838584610afb565b82840190509392505050565b6000610c82828486610c50565b91508190509392505050565b600082825260208201905092915050565b7f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f60008201527f787920746f20746865207a65726f206164647265737300000000000000000000602082015250565b6000610cfb603683610c8e565b9150610d0682610c9f565b604082019050919050565b60006020820190508181036000830152610d2a81610cee565b9050919050565b6000604082019050610d466000830185610a0f565b610d536020830184610a0f565b9392505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610d9e82610d5a565b9150610da983610d5a565b9250828203905081811115610dc157610dc0610d64565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b600081519050919050565b60005b83811015610e1f578082015181840152602081019050610e04565b60008484015250505050565b6000610e3682610df6565b610e408185610c45565b9350610e50818560208601610e01565b80840191505092915050565b6000610e688284610e2b565b915081905092915050565b7f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60008201527f6e20746f2061206e6f6e2d636f6e747261637420616464726573730000000000602082015250565b6000610ecf603b83610c8e565b9150610eda82610e73565b604082019050919050565b60006020820190508181036000830152610efe81610ec2565b9050919050565b7f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667260008201527f6f6d207468652070726f78792061646d696e0000000000000000000000000000602082015250565b6000610f61603283610c8e565b9150610f6c82610f05565b604082019050919050565b60006020820190508181036000830152610f9081610f54565b905091905056fea264697066735822122007592ef43d08f804ee92d4c2a1347b0f99d9362c1b33f782cfc3c50e1db48c9064736f6c63430008140033
Deployed Bytecode
0x6080604052600436106100745760003560e01c80638f2839701161004e5780638f283970146100ef578063cf7a1d7714610118578063d1f5789414610134578063f851a4401461015057610075565b80633659cfe61461007f5780634f1ef286146100a85780635c60da1b146100c457610075565b5b61007d61017b565b005b34801561008b57600080fd5b506100a660048036038101906100a1919061091d565b610195565b005b6100c260048036038101906100bd91906109af565b6101e9565b005b3480156100d057600080fd5b506100d96102b7565b6040516100e69190610a1e565b60405180910390f35b3480156100fb57600080fd5b506101166004803603810190610111919061091d565b61030e565b005b610132600480360381019061012d9190610b7a565b610411565b005b61014e60048036038101906101499190610be9565b6104ce565b005b34801561015c57600080fd5b50610165610601565b6040516101729190610a1e565b60405180910390f35b610183610658565b61019361018e610662565b610693565b565b61019d6106b9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036101dd576101d8816106ea565b6101e6565b6101e561017b565b5b50565b6101f16106b9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036102a95761022c836106ea565b60008373ffffffffffffffffffffffffffffffffffffffff168383604051610255929190610c75565b600060405180830381855af49150503d8060008114610290576040519150601f19603f3d011682016040523d82523d6000602084013e610295565b606091505b50509050806102a357600080fd5b506102b2565b6102b161017b565b5b505050565b60006102c16106b9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603610302576102fb610662565b905061030b565b61030a61017b565b5b90565b6103166106b9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361040557600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036103b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ae90610d11565b60405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e06106b9565b826040516103ef929190610d31565b60405180910390a161040081610739565b61040e565b61040d61017b565b5b50565b600073ffffffffffffffffffffffffffffffffffffffff16610431610662565b73ffffffffffffffffffffffffffffffffffffffff161461045157600080fd5b61045b83826104ce565b60017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610460001c61048b9190610d93565b60001b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b146104c0576104bf610dc7565b5b6104c982610739565b505050565b600073ffffffffffffffffffffffffffffffffffffffff166104ee610662565b73ffffffffffffffffffffffffffffffffffffffff161461050e57600080fd5b60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd60001c61053e9190610d93565b60001b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b1461057357610572610dc7565b5b61057c82610768565b6000815111156105fd5760008273ffffffffffffffffffffffffffffffffffffffff16826040516105ad9190610e5c565b600060405180830381855af49150503d80600081146105e8576040519150601f19603f3d011682016040523d82523d6000602084013e6105ed565b606091505b50509050806105fb57600080fd5b505b5050565b600061060b6106b9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361064c576106456106b9565b9050610655565b61065461017b565b5b90565b6106606107df565b565b6000807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b9050805491505090565b3660008037600080366000845af43d6000803e80600081146106b4573d6000f35b3d6000fd5b6000807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b9050805491505090565b6106f381610768565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b90508181555050565b6107718161085e565b6107b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a790610ee5565b60405180910390fd5b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b90508181555050565b6107e76106b9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603610854576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084b90610f77565b60405180910390fd5b61085c6108a9565b565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91508082141580156108a057506000801b8214155b92505050919050565b565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006108ea826108bf565b9050919050565b6108fa816108df565b811461090557600080fd5b50565b600081359050610917816108f1565b92915050565b600060208284031215610933576109326108b5565b5b600061094184828501610908565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261096f5761096e61094a565b5b8235905067ffffffffffffffff81111561098c5761098b61094f565b5b6020830191508360018202830111156109a8576109a7610954565b5b9250929050565b6000806000604084860312156109c8576109c76108b5565b5b60006109d686828701610908565b935050602084013567ffffffffffffffff8111156109f7576109f66108ba565b5b610a0386828701610959565b92509250509250925092565b610a18816108df565b82525050565b6000602082019050610a336000830184610a0f565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610a8782610a3e565b810181811067ffffffffffffffff82111715610aa657610aa5610a4f565b5b80604052505050565b6000610ab96108ab565b9050610ac58282610a7e565b919050565b600067ffffffffffffffff821115610ae557610ae4610a4f565b5b610aee82610a3e565b9050602081019050919050565b82818337600083830152505050565b6000610b1d610b1884610aca565b610aaf565b905082815260208101848484011115610b3957610b38610a39565b5b610b44848285610afb565b509392505050565b600082601f830112610b6157610b6061094a565b5b8135610b71848260208601610b0a565b91505092915050565b600080600060608486031215610b9357610b926108b5565b5b6000610ba186828701610908565b9350506020610bb286828701610908565b925050604084013567ffffffffffffffff811115610bd357610bd26108ba565b5b610bdf86828701610b4c565b9150509250925092565b60008060408385031215610c0057610bff6108b5565b5b6000610c0e85828601610908565b925050602083013567ffffffffffffffff811115610c2f57610c2e6108ba565b5b610c3b85828601610b4c565b9150509250929050565b600081905092915050565b6000610c5c8385610c45565b9350610c69838584610afb565b82840190509392505050565b6000610c82828486610c50565b91508190509392505050565b600082825260208201905092915050565b7f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f60008201527f787920746f20746865207a65726f206164647265737300000000000000000000602082015250565b6000610cfb603683610c8e565b9150610d0682610c9f565b604082019050919050565b60006020820190508181036000830152610d2a81610cee565b9050919050565b6000604082019050610d466000830185610a0f565b610d536020830184610a0f565b9392505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610d9e82610d5a565b9150610da983610d5a565b9250828203905081811115610dc157610dc0610d64565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b600081519050919050565b60005b83811015610e1f578082015181840152602081019050610e04565b60008484015250505050565b6000610e3682610df6565b610e408185610c45565b9350610e50818560208601610e01565b80840191505092915050565b6000610e688284610e2b565b915081905092915050565b7f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60008201527f6e20746f2061206e6f6e2d636f6e747261637420616464726573730000000000602082015250565b6000610ecf603b83610c8e565b9150610eda82610e73565b604082019050919050565b60006020820190508181036000830152610efe81610ec2565b9050919050565b7f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667260008201527f6f6d207468652070726f78792061646d696e0000000000000000000000000000602082015250565b6000610f61603283610c8e565b9150610f6c82610f05565b604082019050919050565b60006020820190508181036000830152610f9081610f54565b905091905056fea264697066735822122007592ef43d08f804ee92d4c2a1347b0f99d9362c1b33f782cfc3c50e1db48c9064736f6c63430008140033
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.