ETH Price: $3,157.36 (-4.07%)

Token

Instadapp DAI (iDAI)
 

Overview

Max Total Supply

346.645362944762702907 iDAI

Holders

20 (0.00%)

Market

Price

$1.13 @ 0.000358 ETH (+0.26%)

Onchain Market Cap

$391.71

Circulating Supply Market Cap

$393.06

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.525472878641482731 iDAI

Value
$0.59 ( ~0.000186864877810726 Eth) [0.1516%]
0x4f58985B75EeC8f14C536878A19EAdF4a1960D6c
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Instadapp is an open source and non-custodial middleware platform for decentralized finance applications.

# Exchange Pair Price  24H Volume % Volume

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xEC363faa...760E7cdeB
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
InstaVault

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 3 : infiniteProxy.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "../../infiniteProxy/proxy.sol";

contract InstaVault is Proxy {
    constructor(address admin_, address dummyImplementation_)
        Proxy(admin_, dummyImplementation_)
    {}
}

File 2 of 3 : proxy.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "./events.sol";

/**
 * @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM
 * instruction `delegatecall`.
 */
contract Internals 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 _getImplSigsSlot(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 _getSigsImplSlot(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 getAddressSlot(bytes32 slot_)
        internal
        pure
        returns (AddressSlot storage _r)
    {
        assembly {
            _r.slot := slot_
        }
    }

    /**
     * @dev Returns an `SigsSlot` with member `value` located at `slot`.
     */
    function getSigsSlot(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 _setImplementationSigs(
        address implementation_,
        bytes4[] memory sigs_
    ) internal {
        require(sigs_.length != 0, "no-sigs");
        bytes32 slot_ = _getImplSigsSlot(implementation_);
        bytes4[] memory sigsCheck_ = getSigsSlot(slot_).value;
        require(sigsCheck_.length == 0, "implementation-already-exist");
        for (uint256 i = 0; i < sigs_.length; i++) {
            bytes32 sigSlot_ = _getSigsImplSlot(sigs_[i]);
            require(
                getAddressSlot(sigSlot_).value == address(0),
                "sig-already-exist"
            );
            getAddressSlot(sigSlot_).value = implementation_;
        }
        getSigsSlot(slot_).value = sigs_;
        emit setImplementationLog(implementation_, sigs_);
    }

    /**
     * @dev Removes implementation and the mappings corresponding to it.
     */
    function _removeImplementationSigs(address implementation_) internal {
        bytes32 slot_ = _getImplSigsSlot(implementation_);
        bytes4[] memory sigs_ = getSigsSlot(slot_).value;
        require(sigs_.length != 0, "implementation-not-exist");
        for (uint256 i = 0; i < sigs_.length; i++) {
            bytes32 sigSlot_ = _getSigsImplSlot(sigs_[i]);
            delete getAddressSlot(sigSlot_).value;
        }
        delete getSigsSlot(slot_).value;
        emit removeImplementationLog(implementation_);
    }

    /**
     * @dev Returns bytes4[] sigs from implementation address. If implemenatation is not registered then returns empty array.
     */
    function _getImplementationSigs(address implementation_)
        internal
        view
        returns (bytes4[] memory)
    {
        bytes32 slot_ = _getImplSigsSlot(implementation_);
        return getSigsSlot(slot_).value;
    }

    /**
     * @dev Returns implementation address from bytes4 sig. If sig is not registered then returns address(0).
     */
    function _getSigImplementation(bytes4 sig_)
        internal
        view
        returns (address implementation_)
    {
        bytes32 slot_ = _getSigsImplSlot(sig_);
        return getAddressSlot(slot_).value;
    }

    /**
     * @dev Returns the current admin.
     */
    function _getAdmin() internal view returns (address) {
        return getAddressSlot(_ADMIN_SLOT).value;
    }

    /**
     * @dev Returns the current dummy-implementation.
     */
    function _getDummyImplementation() internal view returns (address) {
        return getAddressSlot(_DUMMY_IMPLEMENTATION_SLOT).value;
    }

    /**
     * @dev Stores a new address in the EIP1967 admin slot.
     */
    function _setAdmin(address newAdmin_) internal {
        address oldAdmin_ = _getAdmin();
        require(
            newAdmin_ != address(0),
            "ERC1967: new admin is the zero address"
        );
        getAddressSlot(_ADMIN_SLOT).value = newAdmin_;
        emit setAdminLog(oldAdmin_, newAdmin_);
    }

    /**
     * @dev Stores a new address in the EIP1967 implementation slot.
     */
    function _setDummyImplementation(address newDummyImplementation_) internal {
        address oldDummyImplementation_ = _getDummyImplementation();
        getAddressSlot(_DUMMY_IMPLEMENTATION_SLOT)
            .value = newDummyImplementation_;
        emit setDummyImplementationLog(
            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 _delegate(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 _fallback(bytes4 sig_) internal {
        address implementation_ = _getSigImplementation(sig_);
        require(
            implementation_ != address(0),
            "Liquidity: Not able to find implementation_"
        );
        _delegate(implementation_);
    }
}

contract AdminStuff is Internals {
    /**
     * @dev Only admin gaurd.
     */
    modifier onlyAdmin() {
        require(msg.sender == _getAdmin(), "not-the-admin");
        _;
    }

    /**
     * @dev Sets new admin.
     */
    function setAdmin(address newAdmin_) external onlyAdmin {
        _setAdmin(newAdmin_);
    }

    /**
     * @dev Sets new dummy-implementation.
     */
    function setDummyImplementation(address newDummyImplementation_)
        external
        onlyAdmin
    {
        _setDummyImplementation(newDummyImplementation_);
    }

    /**
     * @dev Adds new implementation address.
     */
    function addImplementation(address implementation_, bytes4[] calldata sigs_)
        external
        onlyAdmin
    {
        _setImplementationSigs(implementation_, sigs_);
    }

    /**
     * @dev Removes an existing implementation address.
     */
    function removeImplementation(address implementation_) external onlyAdmin {
        _removeImplementationSigs(implementation_);
    }

    constructor(address admin_, address dummyImplementation_) {
        _setAdmin(admin_);
        _setDummyImplementation(dummyImplementation_);
    }
}

abstract contract Proxy is AdminStuff {
    constructor(address admin_, address dummyImplementation_)
        AdminStuff(admin_, dummyImplementation_)
    {}

    /**
     * @dev Returns admin's address.
     */
    function getAdmin() external view returns (address) {
        return _getAdmin();
    }

    /**
     * @dev Returns dummy-implementations's address.
     */
    function getDummyImplementation() external view returns (address) {
        return _getDummyImplementation();
    }

    /**
     * @dev Returns bytes4[] sigs from implementation address If not registered then returns empty array.
     */
    function getImplementationSigs(address impl_)
        external
        view
        returns (bytes4[] memory)
    {
        return _getImplementationSigs(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 _getSigImplementation(sig_);
    }

    /**
     * @dev Fallback function that delegates calls to the address returned by Implementations registry.
     */
    fallback() external payable {
        _fallback(msg.sig);
    }

    /**
     * @dev Fallback function that delegates calls to the address returned by Implementations registry.
     */
    receive() external payable {
        if (msg.sig != 0x00000000) {
            _fallback(msg.sig);
        }
    }
}

File 3 of 3 : events.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract Events {
    event setAdminLog(address oldAdmin_, address newAdmin_);

    event setDummyImplementationLog(
        address oldDummyImplementation_,
        address newDummyImplementation_
    );

    event setImplementationLog(address implementation_, bytes4[] sigs_);

    event removeImplementationLog(address implementation_);
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"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":"removeImplementationLog","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldAdmin_","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin_","type":"address"}],"name":"setAdminLog","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldDummyImplementation_","type":"address"},{"indexed":false,"internalType":"address","name":"newDummyImplementation_","type":"address"}],"name":"setDummyImplementationLog","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"implementation_","type":"address"},{"indexed":false,"internalType":"bytes4[]","name":"sigs_","type":"bytes4[]"}],"name":"setImplementationLog","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"}]

60806040523480156200001157600080fd5b506040516200106138038062001061833981016040819052620000349162000208565b8181818162000043826200005a565b6200004e816200013e565b50505050505062000240565b600062000066620001b1565b90506001600160a01b038216620000d25760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840160405180910390fd5b816000805160206200102183398151915280546001600160a01b0319166001600160a01b0392831617905560408051838316815291841660208301527fa2010e522d52edde51a4dcbc8241004a97a55844cfa6823ddabbb3cafe993a6291015b60405180910390a15050565b60006200014a620001d3565b9050816000805160206200104183398151915280546001600160a01b0319166001600160a01b0392831617905560408051838316815291841660208301527fa0dd191daed6af360e85495ba5fa09c213452c3cda2f13e995775d5756deda00910162000132565b6000600080516020620010218339815191525b546001600160a01b0316919050565b600060008051602062001041833981519152620001c4565b80516001600160a01b03811681146200020357600080fd5b919050565b600080604083850312156200021c57600080fd5b6200022783620001eb565b91506200023760208401620001eb565b90509250929050565b610dd180620002506000396000f3fe60806040526004361061007f5760003560e01c8063908bfe5e1161004e578063908bfe5e14610161578063a5fcc8bc14610176578063c39aa07d14610196578063f0c01b42146101b6576100ad565b806322175a32146100c25780636e9960c3146100e2578063704b6c021461011457806389396dc814610134576100ad565b366100ad576001600160e01b031960003516156100ab576100ab6000356001600160e01b0319166101d6565b005b6100ab6000356001600160e01b0319166101d6565b3480156100ce57600080fd5b506100ab6100dd366004610b34565b61025f565b3480156100ee57600080fd5b506100f76102a3565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561012057600080fd5b506100ab61012f366004610b34565b6102b2565b34801561014057600080fd5b5061015461014f366004610b34565b6102f3565b60405161010b9190610c77565b34801561016d57600080fd5b506100f7610304565b34801561018257600080fd5b506100f7610191366004610bdc565b61030e565b3480156101a257600080fd5b506100ab6101b1366004610b34565b610319565b3480156101c257600080fd5b506100ab6101d1366004610b56565b61035a565b60006101e1826103d4565b90506001600160a01b0381166102525760405162461bcd60e51b815260206004820152602b60248201527f4c69717569646974793a204e6f742061626c6520746f2066696e6420696d706c60448201526a656d656e746174696f6e5f60a81b60648201526084015b60405180910390fd5b61025b816103f1565b5050565b610267610415565b6001600160a01b0316336001600160a01b0316146102975760405162461bcd60e51b815260040161024990610d35565b6102a081610448565b50565b60006102ad610415565b905090565b6102ba610415565b6001600160a01b0316336001600160a01b0316146102ea5760405162461bcd60e51b815260040161024990610d35565b6102a0816105c3565b60606102fe826106b1565b92915050565b60006102ad610742565b60006102fe826103d4565b610321610415565b6001600160a01b0316336001600160a01b0316146103515760405162461bcd60e51b815260040161024990610d35565b6102a08161076a565b610362610415565b6001600160a01b0316336001600160a01b0316146103925760405162461bcd60e51b815260040161024990610d35565b6103cf838383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506107eb92505050565b505050565b6000806103e0836109ef565b546001600160a01b03169392505050565b3660008037600080366000845af43d6000803e808015610410573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b600061045382610a1f565b90506000818054604080516020808402820181019092528281529291908301828280156104cc57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161048e5790505b505050505090508051600014156105255760405162461bcd60e51b815260206004820152601860248201527f696d706c656d656e746174696f6e2d6e6f742d657869737400000000000000006044820152606401610249565b60005b815181101561057657600061055583838151811061054857610548610d85565b60200260200101516109ef565b80546001600160a01b0319169055508061056e81610d5c565b915050610528565b50610582826000610a32565b6040516001600160a01b03841681527fd854fc630d6476d1ad6df14d295fdb83c1464a63cf75d456f14cd75353696ed39060200160405180910390a1505050565b60006105cd610415565b90506001600160a01b0382166106345760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610249565b817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610380546001600160a01b0319166001600160a01b0392831617905560408051838316815291841660208301527fa2010e522d52edde51a4dcbc8241004a97a55844cfa6823ddabbb3cafe993a6291015b60405180910390a15050565b606060006106be83610a1f565b90508080546040805160208084028201810190925282815292919083018282801561073557602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116106f75790505b5050505050915050919050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610439565b6000610774610742565b9050817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392831617905560408051838316815291841660208301527fa0dd191daed6af360e85495ba5fa09c213452c3cda2f13e995775d5756deda0091016106a5565b80516108235760405162461bcd60e51b81526020600482015260076024820152666e6f2d7369677360c81b6044820152606401610249565b600061082e83610a1f565b90506000818054604080516020808402820181019092528281529291908301828280156108a757602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116108695790505b5050505050905080516000146108ff5760405162461bcd60e51b815260206004820152601c60248201527f696d706c656d656e746174696f6e2d616c72656164792d6578697374000000006044820152606401610249565b60005b835181101561099d57600061092285838151811061054857610548610d85565b9050600081546001600160a01b0316146109725760405162461bcd60e51b81526020600482015260116024820152701cda59cb585b1c9958591e4b595e1a5cdd607a1b6044820152606401610249565b80546001600160a01b0319166001600160a01b0387161790558061099581610d5c565b915050610902565b50828281516109af9260200190610a57565b507f955f674d8fbada18242ae4d19f71c66ce496150270d0c82520ab4b40ce61d1af84846040516109e1929190610c4b565b60405180910390a150505050565b600081604051602001610a029190610ce1565b604051602081830303815290604052805190602001209050919050565b600081604051602001610a029190610c8a565b5080546000825560070160089004906000526020600020908101906102a09190610b03565b82805482825590600052602060002090600701600890048101928215610af35791602002820160005b83821115610ac157835183826101000a81548163ffffffff021916908360e01c02179055509260200192600401602081600301049283019260010302610a80565b8015610af15782816101000a81549063ffffffff0219169055600401602081600301049283019260010302610ac1565b505b50610aff929150610b03565b5090565b5b80821115610aff5760008155600101610b04565b80356001600160a01b0381168114610b2f57600080fd5b919050565b600060208284031215610b4657600080fd5b610b4f82610b18565b9392505050565b600080600060408486031215610b6b57600080fd5b610b7484610b18565b9250602084013567ffffffffffffffff80821115610b9157600080fd5b818601915086601f830112610ba557600080fd5b813581811115610bb457600080fd5b8760208260051b8501011115610bc957600080fd5b6020830194508093505050509250925092565b600060208284031215610bee57600080fd5b81356001600160e01b031981168114610b4f57600080fd5b600081518084526020808501945080840160005b83811015610c405781516001600160e01b03191687529582019590820190600101610c1a565b509495945050505050565b6001600160a01b0383168152604060208201819052600090610c6f90830184610c06565b949350505050565b602081526000610b4f6020830184610c06565b604081526000610cc760408301601c81527f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000602082015260400190565b6001600160a01b0393909316602092909201919091525090565b604081526000610d1e60408301601c81527f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000602082015260400190565b905063ffffffff60e01b8316602083015292915050565b6020808252600d908201526c3737ba16ba343296b0b236b4b760991b604082015260600190565b6000600019821415610d7e57634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052603260045260246000fdfea264697066735822122008555c4a0a3da1af739b3f2cc93701c583da767f0f6208b71609ff03b7b37f7264736f6c63430008060033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc00000000000000000000000085b40eb65e49eb61de78a3a989752249f8837fc500000000000000000000000071a990035d6126e520bbb939ea00dbf455a912e6

Deployed Bytecode

0x60806040526004361061007f5760003560e01c8063908bfe5e1161004e578063908bfe5e14610161578063a5fcc8bc14610176578063c39aa07d14610196578063f0c01b42146101b6576100ad565b806322175a32146100c25780636e9960c3146100e2578063704b6c021461011457806389396dc814610134576100ad565b366100ad576001600160e01b031960003516156100ab576100ab6000356001600160e01b0319166101d6565b005b6100ab6000356001600160e01b0319166101d6565b3480156100ce57600080fd5b506100ab6100dd366004610b34565b61025f565b3480156100ee57600080fd5b506100f76102a3565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561012057600080fd5b506100ab61012f366004610b34565b6102b2565b34801561014057600080fd5b5061015461014f366004610b34565b6102f3565b60405161010b9190610c77565b34801561016d57600080fd5b506100f7610304565b34801561018257600080fd5b506100f7610191366004610bdc565b61030e565b3480156101a257600080fd5b506100ab6101b1366004610b34565b610319565b3480156101c257600080fd5b506100ab6101d1366004610b56565b61035a565b60006101e1826103d4565b90506001600160a01b0381166102525760405162461bcd60e51b815260206004820152602b60248201527f4c69717569646974793a204e6f742061626c6520746f2066696e6420696d706c60448201526a656d656e746174696f6e5f60a81b60648201526084015b60405180910390fd5b61025b816103f1565b5050565b610267610415565b6001600160a01b0316336001600160a01b0316146102975760405162461bcd60e51b815260040161024990610d35565b6102a081610448565b50565b60006102ad610415565b905090565b6102ba610415565b6001600160a01b0316336001600160a01b0316146102ea5760405162461bcd60e51b815260040161024990610d35565b6102a0816105c3565b60606102fe826106b1565b92915050565b60006102ad610742565b60006102fe826103d4565b610321610415565b6001600160a01b0316336001600160a01b0316146103515760405162461bcd60e51b815260040161024990610d35565b6102a08161076a565b610362610415565b6001600160a01b0316336001600160a01b0316146103925760405162461bcd60e51b815260040161024990610d35565b6103cf838383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506107eb92505050565b505050565b6000806103e0836109ef565b546001600160a01b03169392505050565b3660008037600080366000845af43d6000803e808015610410573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b600061045382610a1f565b90506000818054604080516020808402820181019092528281529291908301828280156104cc57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161048e5790505b505050505090508051600014156105255760405162461bcd60e51b815260206004820152601860248201527f696d706c656d656e746174696f6e2d6e6f742d657869737400000000000000006044820152606401610249565b60005b815181101561057657600061055583838151811061054857610548610d85565b60200260200101516109ef565b80546001600160a01b0319169055508061056e81610d5c565b915050610528565b50610582826000610a32565b6040516001600160a01b03841681527fd854fc630d6476d1ad6df14d295fdb83c1464a63cf75d456f14cd75353696ed39060200160405180910390a1505050565b60006105cd610415565b90506001600160a01b0382166106345760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610249565b817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610380546001600160a01b0319166001600160a01b0392831617905560408051838316815291841660208301527fa2010e522d52edde51a4dcbc8241004a97a55844cfa6823ddabbb3cafe993a6291015b60405180910390a15050565b606060006106be83610a1f565b90508080546040805160208084028201810190925282815292919083018282801561073557602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116106f75790505b5050505050915050919050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610439565b6000610774610742565b9050817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392831617905560408051838316815291841660208301527fa0dd191daed6af360e85495ba5fa09c213452c3cda2f13e995775d5756deda0091016106a5565b80516108235760405162461bcd60e51b81526020600482015260076024820152666e6f2d7369677360c81b6044820152606401610249565b600061082e83610a1f565b90506000818054604080516020808402820181019092528281529291908301828280156108a757602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116108695790505b5050505050905080516000146108ff5760405162461bcd60e51b815260206004820152601c60248201527f696d706c656d656e746174696f6e2d616c72656164792d6578697374000000006044820152606401610249565b60005b835181101561099d57600061092285838151811061054857610548610d85565b9050600081546001600160a01b0316146109725760405162461bcd60e51b81526020600482015260116024820152701cda59cb585b1c9958591e4b595e1a5cdd607a1b6044820152606401610249565b80546001600160a01b0319166001600160a01b0387161790558061099581610d5c565b915050610902565b50828281516109af9260200190610a57565b507f955f674d8fbada18242ae4d19f71c66ce496150270d0c82520ab4b40ce61d1af84846040516109e1929190610c4b565b60405180910390a150505050565b600081604051602001610a029190610ce1565b604051602081830303815290604052805190602001209050919050565b600081604051602001610a029190610c8a565b5080546000825560070160089004906000526020600020908101906102a09190610b03565b82805482825590600052602060002090600701600890048101928215610af35791602002820160005b83821115610ac157835183826101000a81548163ffffffff021916908360e01c02179055509260200192600401602081600301049283019260010302610a80565b8015610af15782816101000a81549063ffffffff0219169055600401602081600301049283019260010302610ac1565b505b50610aff929150610b03565b5090565b5b80821115610aff5760008155600101610b04565b80356001600160a01b0381168114610b2f57600080fd5b919050565b600060208284031215610b4657600080fd5b610b4f82610b18565b9392505050565b600080600060408486031215610b6b57600080fd5b610b7484610b18565b9250602084013567ffffffffffffffff80821115610b9157600080fd5b818601915086601f830112610ba557600080fd5b813581811115610bb457600080fd5b8760208260051b8501011115610bc957600080fd5b6020830194508093505050509250925092565b600060208284031215610bee57600080fd5b81356001600160e01b031981168114610b4f57600080fd5b600081518084526020808501945080840160005b83811015610c405781516001600160e01b03191687529582019590820190600101610c1a565b509495945050505050565b6001600160a01b0383168152604060208201819052600090610c6f90830184610c06565b949350505050565b602081526000610b4f6020830184610c06565b604081526000610cc760408301601c81527f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000602082015260400190565b6001600160a01b0393909316602092909201919091525090565b604081526000610d1e60408301601c81527f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000602082015260400190565b905063ffffffff60e01b8316602083015292915050565b6020808252600d908201526c3737ba16ba343296b0b236b4b760991b604082015260600190565b6000600019821415610d7e57634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052603260045260246000fdfea264697066735822122008555c4a0a3da1af739b3f2cc93701c583da767f0f6208b71609ff03b7b37f7264736f6c63430008060033

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.