Overview
Max Total Supply
67,158.173360929105492588 iETHv2
Holders
1,592 (0.00%)
Transfers
-
27 ( 50.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
$0.00
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
Vault
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
import "../../infiniteProxy/proxy.sol";
contract Vault is Proxy {
constructor(address admin_, address dummyImplementation_)
Proxy(admin_, dummyImplementation_)
{}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
contract Events {
event LogSetAdmin(address oldAdmin_, address newAdmin_);
event LogSetDummyImplementation(
address oldDummyImplementation_,
address newDummyImplementation_
);
event LogSetImplementation(address implementation_, bytes4[] sigs_);
event LogRemoveImplementation(address implementation_);
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
import { Events } from "./events.sol";
contract CoreInternals is Events {
struct AddressSlot {
address value;
}
struct SigsSlot {
bytes4[] value;
}
/// @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 Storage slot with the address of the current dummy-implementation.
/// This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1, and is
/// validated in the constructor.
bytes32 internal constant _DUMMY_IMPLEMENTATION_SLOT =
0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
/// @dev Returns the storage slot which stores the sigs array set for the implementation.
function getSlotImplSigsSlotInternal(address implementation_) internal pure returns (bytes32) {
return keccak256(abi.encode("eip1967.proxy.implementation", implementation_));
}
/// @dev Returns the storage slot which stores the implementation address for the function sig.
function getSlotSigsImplSlotInternal(bytes4 sig_) internal pure returns (bytes32) {
return keccak256(abi.encode("eip1967.proxy.implementation", sig_));
}
/// @dev Returns an `AddressSlot` with member `value` located at `slot`.
function getAddressSlotInternal(bytes32 slot_) internal pure returns (AddressSlot storage _r) {
assembly {
_r.slot := slot_
}
}
/// @dev Returns an `SigsSlot` with member `value` located at `slot`.
function getSigsSlotInternal(bytes32 slot_) internal pure returns (SigsSlot storage _r) {
assembly {
_r.slot := slot_
}
}
/// @dev Sets new implementation and adds mapping from implementation to sigs and sig to implementation.
function setImplementationSigsInternal(address implementation_, bytes4[] memory sigs_) internal {
require(sigs_.length != 0, "no-sigs");
bytes32 slot_ = getSlotImplSigsSlotInternal(implementation_);
bytes4[] memory sigsCheck_ = getSigsSlotInternal(slot_).value;
require(sigsCheck_.length == 0, "implementation-already-exist");
for (uint256 i; i < sigs_.length; i++) {
bytes32 sigSlot_ = getSlotSigsImplSlotInternal(sigs_[i]);
require(getAddressSlotInternal(sigSlot_).value == address(0), "sig-already-exist");
getAddressSlotInternal(sigSlot_).value = implementation_;
}
getSigsSlotInternal(slot_).value = sigs_;
emit LogSetImplementation(implementation_, sigs_);
}
/// @dev Removes implementation and the mappings corresponding to it.
function removeImplementationSigsInternal(address implementation_) internal {
bytes32 slot_ = getSlotImplSigsSlotInternal(implementation_);
bytes4[] memory sigs_ = getSigsSlotInternal(slot_).value;
require(sigs_.length != 0, "implementation-not-exist");
for (uint256 i; i < sigs_.length; i++) {
bytes32 sigSlot_ = getSlotSigsImplSlotInternal(sigs_[i]);
delete getAddressSlotInternal(sigSlot_).value;
}
delete getSigsSlotInternal(slot_).value;
emit LogRemoveImplementation(implementation_);
}
/// @dev Returns bytes4[] sigs from implementation address. If implemenatation is not registered then returns empty array.
function getImplementationSigsInternal(address implementation_) internal view returns (bytes4[] memory) {
bytes32 slot_ = getSlotImplSigsSlotInternal(implementation_);
return getSigsSlotInternal(slot_).value;
}
/// @dev Returns implementation address from bytes4 sig. If sig is not registered then returns address(0).
function getSigImplementationInternal(bytes4 sig_) internal view returns (address implementation_) {
bytes32 slot_ = getSlotSigsImplSlotInternal(sig_);
return getAddressSlotInternal(slot_).value;
}
/// @dev Returns the current admin.
function getAdminInternal() internal view returns (address) {
return getAddressSlotInternal(_ADMIN_SLOT).value;
}
/// @dev Returns the current dummy-implementation.
function getDummyImplementationInternal() internal view returns (address) {
return getAddressSlotInternal(_DUMMY_IMPLEMENTATION_SLOT).value;
}
/// @dev Stores a new address in the EIP1967 admin slot.
function setAdminInternal(address newAdmin_) internal {
address oldAdmin_ = getAdminInternal();
require(newAdmin_ != address(0), "ERC1967: new admin is the zero address");
getAddressSlotInternal(_ADMIN_SLOT).value = newAdmin_;
emit LogSetAdmin(oldAdmin_, newAdmin_);
}
/// @dev Stores a new address in the EIP1967 implementation slot.
function setDummyImplementationInternal(address newDummyImplementation_) internal {
address oldDummyImplementation_ = getDummyImplementationInternal();
getAddressSlotInternal(_DUMMY_IMPLEMENTATION_SLOT).value = newDummyImplementation_;
emit LogSetDummyImplementation(oldDummyImplementation_, newDummyImplementation_);
}
/// @dev Delegates the current call to `implementation`.
/// This function does not return to its internall call site, it will return directly to the external caller.
function delegateInternal(address implementation_) internal {
// solhint-disable-next-line no-inline-assembly
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 Delegates the current call to the address returned by Implementations registry.
/// This function does not return to its internall call site, it will return directly to the external caller.
function fallbackInternal(bytes4 sig_) internal {
address implementation_ = getSigImplementationInternal(sig_);
require(implementation_ != address(0), "Liquidity: Not able to find implementation_");
delegateInternal(implementation_);
}
}
contract AdminInternals is CoreInternals {
/// @dev Only admin guard
modifier onlyAdmin() {
require(msg.sender == getAdminInternal(), "only-admin");
_;
}
constructor(address admin_, address dummyImplementation_) {
setAdminInternal(admin_);
setDummyImplementationInternal(dummyImplementation_);
}
/// @dev Sets new admin.
function setAdmin(address newAdmin_) external onlyAdmin {
setAdminInternal(newAdmin_);
}
/// @dev Sets new dummy-implementation.
function setDummyImplementation(address newDummyImplementation_) external onlyAdmin {
setDummyImplementationInternal(newDummyImplementation_);
}
/// @dev Adds new implementation address.
function addImplementation(address implementation_, bytes4[] calldata sigs_) external onlyAdmin {
setImplementationSigsInternal(implementation_, sigs_);
}
/// @dev Removes an existing implementation address.
function removeImplementation(address implementation_) external onlyAdmin {
removeImplementationSigsInternal(implementation_);
}
}
/// @title Proxy
/// @notice This abstract contract provides a fallback function that delegates all calls to another contract using the EVM
abstract contract Proxy is AdminInternals {
constructor(address admin_, address dummyImplementation_) AdminInternals(admin_, dummyImplementation_) {}
/// @dev Returns admin's address.
function getAdmin() external view returns (address) {
return getAdminInternal();
}
/// @dev Returns dummy-implementations's address.
function getDummyImplementation() external view returns (address) {
return getDummyImplementationInternal();
}
/// @dev Returns bytes4[] sigs from implementation address If not registered then returns empty array.
function getImplementationSigs(address impl_) external view returns (bytes4[] memory) {
return getImplementationSigsInternal(impl_);
}
/// @dev Returns implementation address from bytes4 sig. If sig is not registered then returns address(0).
function getSigsImplementation(bytes4 sig_) external view returns (address) {
return getSigImplementationInternal(sig_);
}
/// @dev Fallback function that delegates calls to the address returned by Implementations registry.
fallback() external payable {
fallbackInternal(msg.sig);
}
/// @dev Fallback function that delegates calls to the address returned by Implementations registry.
receive() external payable {
if (msg.sig != 0x00000000) {
fallbackInternal(msg.sig);
}
}
}{
"optimizer": {
"enabled": true,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"metadata": {
"useLiteralContent": true
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"admin_","type":"address"},{"internalType":"address","name":"dummyImplementation_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"implementation_","type":"address"}],"name":"LogRemoveImplementation","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldAdmin_","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin_","type":"address"}],"name":"LogSetAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldDummyImplementation_","type":"address"},{"indexed":false,"internalType":"address","name":"newDummyImplementation_","type":"address"}],"name":"LogSetDummyImplementation","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"implementation_","type":"address"},{"indexed":false,"internalType":"bytes4[]","name":"sigs_","type":"bytes4[]"}],"name":"LogSetImplementation","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"implementation_","type":"address"},{"internalType":"bytes4[]","name":"sigs_","type":"bytes4[]"}],"name":"addImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDummyImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"impl_","type":"address"}],"name":"getImplementationSigs","outputs":[{"internalType":"bytes4[]","name":"","type":"bytes4[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"sig_","type":"bytes4"}],"name":"getSigsImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"implementation_","type":"address"}],"name":"removeImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin_","type":"address"}],"name":"setAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newDummyImplementation_","type":"address"}],"name":"setDummyImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60806040523480156200001157600080fd5b506040516200105e3803806200105e833981016040819052620000349162000208565b8181818162000043826200005a565b6200004e816200013e565b50505050505062000240565b600062000066620001b1565b90506001600160a01b038216620000d25760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840160405180910390fd5b816000805160206200101e83398151915280546001600160a01b0319166001600160a01b0392831617905560408051838316815291841660208301527fb2396a4169c0fac3eb0713eb7d54220cbe5e21e585a59578ec4de929657c073391015b60405180910390a15050565b60006200014a620001d3565b9050816000805160206200103e83398151915280546001600160a01b0319166001600160a01b0392831617905560408051838316815291841660208301527f761380f4203cd2fcc7ee1ae32561463bc08bbf6761cb9d5caa925f99a6d54502910162000132565b60006000805160206200101e8339815191525b546001600160a01b0316919050565b60006000805160206200103e833981519152620001c4565b80516001600160a01b03811681146200020357600080fd5b919050565b600080604083850312156200021c57600080fd5b6200022783620001eb565b91506200023760208401620001eb565b90509250929050565b610dce80620002506000396000f3fe60806040526004361061007f5760003560e01c8063908bfe5e1161004e578063908bfe5e14610161578063a5fcc8bc14610176578063c39aa07d14610196578063f0c01b42146101b6576100ad565b806322175a32146100c25780636e9960c3146100e2578063704b6c021461011457806389396dc814610134576100ad565b366100ad576001600160e01b031960003516156100ab576100ab6000356001600160e01b0319166101d6565b005b6100ab6000356001600160e01b0319166101d6565b3480156100ce57600080fd5b506100ab6100dd366004610b36565b61025f565b3480156100ee57600080fd5b506100f76102a3565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561012057600080fd5b506100ab61012f366004610b36565b6102b2565b34801561014057600080fd5b5061015461014f366004610b36565b6102f3565b60405161010b9190610b9d565b34801561016d57600080fd5b506100f7610304565b34801561018257600080fd5b506100f7610191366004610bb0565b61030e565b3480156101a257600080fd5b506100ab6101b1366004610b36565b610319565b3480156101c257600080fd5b506100ab6101d1366004610bda565b61035a565b60006101e1826103d4565b90506001600160a01b0381166102525760405162461bcd60e51b815260206004820152602b60248201527f4c69717569646974793a204e6f742061626c6520746f2066696e6420696d706c60448201526a656d656e746174696f6e5f60a81b60648201526084015b60405180910390fd5b61025b816103f1565b5050565b610267610415565b6001600160a01b0316336001600160a01b0316146102975760405162461bcd60e51b815260040161024990610c60565b6102a081610448565b50565b60006102ad610415565b905090565b6102ba610415565b6001600160a01b0316336001600160a01b0316146102ea5760405162461bcd60e51b815260040161024990610c60565b6102a0816105c2565b60606102fe826106b0565b92915050565b60006102ad610741565b60006102fe826103d4565b610321610415565b6001600160a01b0316336001600160a01b0316146103515760405162461bcd60e51b815260040161024990610c60565b6102a081610769565b610362610415565b6001600160a01b0316336001600160a01b0316146103925760405162461bcd60e51b815260040161024990610c60565b6103cf838383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506107ea92505050565b505050565b6000806103e0836109f1565b546001600160a01b03169392505050565b3660008037600080366000845af43d6000803e808015610410573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b600061045382610a21565b90506000818054604080516020808402820181019092528281529291908301828280156104cc57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161048e5790505b5050505050905080516000036105245760405162461bcd60e51b815260206004820152601860248201527f696d706c656d656e746174696f6e2d6e6f742d657869737400000000000000006044820152606401610249565b60005b815181101561057557600061055483838151811061054757610547610c84565b60200260200101516109f1565b80546001600160a01b0319169055508061056d81610c9a565b915050610527565b50610581826000610a34565b6040516001600160a01b03841681527fda53aaefabec4c3f8ba693a2e3c67fa0152fbd71c369d51f669e66b28a4a08649060200160405180910390a1505050565b60006105cc610415565b90506001600160a01b0382166106335760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610249565b817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610380546001600160a01b0319166001600160a01b0392831617905560408051838316815291841660208301527fb2396a4169c0fac3eb0713eb7d54220cbe5e21e585a59578ec4de929657c073391015b60405180910390a15050565b606060006106bd83610a21565b90508080546040805160208084028201810190925282815292919083018282801561073457602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116106f65790505b5050505050915050919050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610439565b6000610773610741565b9050817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392831617905560408051838316815291841660208301527f761380f4203cd2fcc7ee1ae32561463bc08bbf6761cb9d5caa925f99a6d5450291016106a4565b80516000036108255760405162461bcd60e51b81526020600482015260076024820152666e6f2d7369677360c81b6044820152606401610249565b600061083083610a21565b90506000818054604080516020808402820181019092528281529291908301828280156108a957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161086b5790505b5050505050905080516000146109015760405162461bcd60e51b815260206004820152601c60248201527f696d706c656d656e746174696f6e2d616c72656164792d6578697374000000006044820152606401610249565b60005b835181101561099f57600061092485838151811061054757610547610c84565b9050600081546001600160a01b0316146109745760405162461bcd60e51b81526020600482015260116024820152701cda59cb585b1c9958591e4b595e1a5cdd607a1b6044820152606401610249565b80546001600160a01b0319166001600160a01b0387161790558061099781610c9a565b915050610904565b50828281516109b19260200190610a59565b507fd613a4a18e567ee1f2db4d5b528a5fee09f7dff92d6fb708afd6c095070a9c6d84846040516109e3929190610cc1565b60405180910390a150505050565b600081604051602001610a049190610ced565b604051602081830303815290604052805190602001209050919050565b600081604051602001610a049190610d41565b5080546000825560070160089004906000526020600020908101906102a09190610b05565b82805482825590600052602060002090600701600890048101928215610af55791602002820160005b83821115610ac357835183826101000a81548163ffffffff021916908360e01c02179055509260200192600401602081600301049283019260010302610a82565b8015610af35782816101000a81549063ffffffff0219169055600401602081600301049283019260010302610ac3565b505b50610b01929150610b05565b5090565b5b80821115610b015760008155600101610b06565b80356001600160a01b0381168114610b3157600080fd5b919050565b600060208284031215610b4857600080fd5b610b5182610b1a565b9392505050565b600081518084526020808501945080840160005b83811015610b925781516001600160e01b03191687529582019590820190600101610b6c565b509495945050505050565b602081526000610b516020830184610b58565b600060208284031215610bc257600080fd5b81356001600160e01b031981168114610b5157600080fd5b600080600060408486031215610bef57600080fd5b610bf884610b1a565b9250602084013567ffffffffffffffff80821115610c1557600080fd5b818601915086601f830112610c2957600080fd5b813581811115610c3857600080fd5b8760208260051b8501011115610c4d57600080fd5b6020830194508093505050509250925092565b6020808252600a908201526937b7363c96b0b236b4b760b11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201610cba57634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b0383168152604060208201819052600090610ce590830184610b58565b949350505050565b604081526000610d2a60408301601c81527f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000602082015260400190565b905063ffffffff60e01b8316602083015292915050565b604081526000610d7e60408301601c81527f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000602082015260400190565b6001600160a01b039390931660209290920191909152509056fea2646970667358221220be0b7f4d221d754e3f0731fbc4893a6a7ef8e39f9355766823eb39dc718ae98764736f6c63430008110033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc000000000000000000000000910e413dbf3f6276fe8213ff656726bdc142e08e000000000000000000000000172455d14d1eb242e6f7f3b451529ab289095bb6
Deployed Bytecode
0x60806040526004361061007f5760003560e01c8063908bfe5e1161004e578063908bfe5e14610161578063a5fcc8bc14610176578063c39aa07d14610196578063f0c01b42146101b6576100ad565b806322175a32146100c25780636e9960c3146100e2578063704b6c021461011457806389396dc814610134576100ad565b366100ad576001600160e01b031960003516156100ab576100ab6000356001600160e01b0319166101d6565b005b6100ab6000356001600160e01b0319166101d6565b3480156100ce57600080fd5b506100ab6100dd366004610b36565b61025f565b3480156100ee57600080fd5b506100f76102a3565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561012057600080fd5b506100ab61012f366004610b36565b6102b2565b34801561014057600080fd5b5061015461014f366004610b36565b6102f3565b60405161010b9190610b9d565b34801561016d57600080fd5b506100f7610304565b34801561018257600080fd5b506100f7610191366004610bb0565b61030e565b3480156101a257600080fd5b506100ab6101b1366004610b36565b610319565b3480156101c257600080fd5b506100ab6101d1366004610bda565b61035a565b60006101e1826103d4565b90506001600160a01b0381166102525760405162461bcd60e51b815260206004820152602b60248201527f4c69717569646974793a204e6f742061626c6520746f2066696e6420696d706c60448201526a656d656e746174696f6e5f60a81b60648201526084015b60405180910390fd5b61025b816103f1565b5050565b610267610415565b6001600160a01b0316336001600160a01b0316146102975760405162461bcd60e51b815260040161024990610c60565b6102a081610448565b50565b60006102ad610415565b905090565b6102ba610415565b6001600160a01b0316336001600160a01b0316146102ea5760405162461bcd60e51b815260040161024990610c60565b6102a0816105c2565b60606102fe826106b0565b92915050565b60006102ad610741565b60006102fe826103d4565b610321610415565b6001600160a01b0316336001600160a01b0316146103515760405162461bcd60e51b815260040161024990610c60565b6102a081610769565b610362610415565b6001600160a01b0316336001600160a01b0316146103925760405162461bcd60e51b815260040161024990610c60565b6103cf838383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506107ea92505050565b505050565b6000806103e0836109f1565b546001600160a01b03169392505050565b3660008037600080366000845af43d6000803e808015610410573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b600061045382610a21565b90506000818054604080516020808402820181019092528281529291908301828280156104cc57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161048e5790505b5050505050905080516000036105245760405162461bcd60e51b815260206004820152601860248201527f696d706c656d656e746174696f6e2d6e6f742d657869737400000000000000006044820152606401610249565b60005b815181101561057557600061055483838151811061054757610547610c84565b60200260200101516109f1565b80546001600160a01b0319169055508061056d81610c9a565b915050610527565b50610581826000610a34565b6040516001600160a01b03841681527fda53aaefabec4c3f8ba693a2e3c67fa0152fbd71c369d51f669e66b28a4a08649060200160405180910390a1505050565b60006105cc610415565b90506001600160a01b0382166106335760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610249565b817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610380546001600160a01b0319166001600160a01b0392831617905560408051838316815291841660208301527fb2396a4169c0fac3eb0713eb7d54220cbe5e21e585a59578ec4de929657c073391015b60405180910390a15050565b606060006106bd83610a21565b90508080546040805160208084028201810190925282815292919083018282801561073457602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116106f65790505b5050505050915050919050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610439565b6000610773610741565b9050817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392831617905560408051838316815291841660208301527f761380f4203cd2fcc7ee1ae32561463bc08bbf6761cb9d5caa925f99a6d5450291016106a4565b80516000036108255760405162461bcd60e51b81526020600482015260076024820152666e6f2d7369677360c81b6044820152606401610249565b600061083083610a21565b90506000818054604080516020808402820181019092528281529291908301828280156108a957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161086b5790505b5050505050905080516000146109015760405162461bcd60e51b815260206004820152601c60248201527f696d706c656d656e746174696f6e2d616c72656164792d6578697374000000006044820152606401610249565b60005b835181101561099f57600061092485838151811061054757610547610c84565b9050600081546001600160a01b0316146109745760405162461bcd60e51b81526020600482015260116024820152701cda59cb585b1c9958591e4b595e1a5cdd607a1b6044820152606401610249565b80546001600160a01b0319166001600160a01b0387161790558061099781610c9a565b915050610904565b50828281516109b19260200190610a59565b507fd613a4a18e567ee1f2db4d5b528a5fee09f7dff92d6fb708afd6c095070a9c6d84846040516109e3929190610cc1565b60405180910390a150505050565b600081604051602001610a049190610ced565b604051602081830303815290604052805190602001209050919050565b600081604051602001610a049190610d41565b5080546000825560070160089004906000526020600020908101906102a09190610b05565b82805482825590600052602060002090600701600890048101928215610af55791602002820160005b83821115610ac357835183826101000a81548163ffffffff021916908360e01c02179055509260200192600401602081600301049283019260010302610a82565b8015610af35782816101000a81549063ffffffff0219169055600401602081600301049283019260010302610ac3565b505b50610b01929150610b05565b5090565b5b80821115610b015760008155600101610b06565b80356001600160a01b0381168114610b3157600080fd5b919050565b600060208284031215610b4857600080fd5b610b5182610b1a565b9392505050565b600081518084526020808501945080840160005b83811015610b925781516001600160e01b03191687529582019590820190600101610b6c565b509495945050505050565b602081526000610b516020830184610b58565b600060208284031215610bc257600080fd5b81356001600160e01b031981168114610b5157600080fd5b600080600060408486031215610bef57600080fd5b610bf884610b1a565b9250602084013567ffffffffffffffff80821115610c1557600080fd5b818601915086601f830112610c2957600080fd5b813581811115610c3857600080fd5b8760208260051b8501011115610c4d57600080fd5b6020830194508093505050509250925092565b6020808252600a908201526937b7363c96b0b236b4b760b11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201610cba57634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b0383168152604060208201819052600090610ce590830184610b58565b949350505050565b604081526000610d2a60408301601c81527f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000602082015260400190565b905063ffffffff60e01b8316602083015292915050565b604081526000610d7e60408301601c81527f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000602082015260400190565b6001600160a01b039390931660209290920191909152509056fea2646970667358221220be0b7f4d221d754e3f0731fbc4893a6a7ef8e39f9355766823eb39dc718ae98764736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000910e413dbf3f6276fe8213ff656726bdc142e08e000000000000000000000000172455d14d1eb242e6f7f3b451529ab289095bb6
-----Decoded View---------------
Arg [0] : admin_ (address): 0x910E413DBF3F6276Fe8213fF656726bDc142E08E
Arg [1] : dummyImplementation_ (address): 0x172455D14D1eb242e6f7F3B451529aB289095BB6
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000910e413dbf3f6276fe8213ff656726bdc142e08e
Arg [1] : 000000000000000000000000172455d14d1eb242e6f7f3b451529ab289095bb6
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.
Add Token to MetaMask (Web3)