ETH Price: $2,000.22 (+0.76%)
    /

    Token

    Overview

    Max Total Supply

    0

    Holders

    131,420

    Market

    Volume (24H)

    N/A

    Min Price (24H)

    N/A

    Max Price (24H)

    N/A
    0xabe3689039997a188daa22120cbec3dd98c69cf1
    Loading...
    Loading
    Loading...
    Loading
    Loading...
    Loading

    Click here to update the token information / general information

    Contract Source Code Verified (Exact Match)

    Contract Name:
    ERC1967Proxy

    Compiler Version
    v0.8.21-1.0.1

    ZkSolc Version
    v1.5.11

    Optimization Enabled:
    Yes with Mode 3

    Other Settings:
    default evmVersion, MIT license
    File 1 of 8 : ERC1967Proxy.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    // OpenZeppelin Contracts (last updated v5.0.0) (proxy/ERC1967/ERC1967Proxy.sol)
    pragma solidity ^0.8.20;
    import {Proxy} from "../Proxy.sol";
    import {ERC1967Utils} from "./ERC1967Utils.sol";
    /**
    * @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an
    * implementation address that can be changed. This address is stored in storage in the location specified by
    * https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the
    * implementation behind the proxy.
    */
    contract ERC1967Proxy is Proxy {
    /**
    * @dev Initializes the upgradeable proxy with an initial implementation specified by `implementation`.
    *
    * If `_data` is nonempty, it's used as data in a delegate call to `implementation`. This will typically be an
    * encoded function call, and allows initializing the storage of the proxy like a Solidity constructor.
    *
    * Requirements:
    *
    * - If `data` is empty, `msg.value` must be zero.
    */
    constructor(address implementation, bytes memory _data) payable {
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 2 of 8 : Proxy.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    // OpenZeppelin Contracts (last updated v5.0.0) (proxy/Proxy.sol)
    pragma solidity ^0.8.20;
    /**
    * @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM
    * instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to
    * be specified by overriding the virtual {_implementation} function.
    *
    * Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a
    * different contract through the {_delegate} function.
    *
    * The success and return data of the delegated call will be returned back to the caller of the proxy.
    */
    abstract contract Proxy {
    /**
    * @dev Delegates the current call to `implementation`.
    *
    * This function does not return to its internal call site, it will return directly to the external caller.
    */
    function _delegate(address implementation) internal virtual {
    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.
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 3 of 8 : draft-IERC1822.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    // SPDX-License-Identifier: MIT
    // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/draft-IERC1822.sol)
    pragma solidity ^0.8.20;
    /**
    * @dev ERC1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified
    * proxy whose upgrades are fully controlled by the current implementation.
    */
    interface IERC1822Proxiable {
    /**
    * @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation
    * address.
    *
    * IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks
    * bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this
    * function revert if invoked through a proxy.
    */
    function proxiableUUID() external view returns (bytes32);
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 4 of 8 : ERC1967Utils.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    // OpenZeppelin Contracts (last updated v5.0.0) (proxy/ERC1967/ERC1967Utils.sol)
    pragma solidity ^0.8.20;
    import {IBeacon} from "../beacon/IBeacon.sol";
    import {Address} from "../../utils/Address.sol";
    import {StorageSlot} from "../../utils/StorageSlot.sol";
    /**
    * @dev This abstract contract provides getters and event emitting update functions for
    * https://eips.ethereum.org/EIPS/eip-1967[EIP1967] slots.
    */
    library ERC1967Utils {
    // We re-declare ERC-1967 events here because they can't be used directly from IERC1967.
    // This will be fixed in Solidity 0.8.21. At that point we should remove these events.
    /**
    * @dev Emitted when the implementation is upgraded.
    */
    event Upgraded(address indexed implementation);
    /**
    * @dev Emitted when the admin account has changed.
    */
    event AdminChanged(address previousAdmin, address newAdmin);
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 5 of 8 : IBeacon.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    // SPDX-License-Identifier: MIT
    // OpenZeppelin Contracts (last updated v5.0.0) (proxy/beacon/IBeacon.sol)
    pragma solidity ^0.8.20;
    /**
    * @dev This is the interface that {BeaconProxy} expects of its beacon.
    */
    interface IBeacon {
    /**
    * @dev Must return an address that can be used as a delegate call target.
    *
    * {UpgradeableBeacon} will check that this address is a contract.
    */
    function implementation() external view returns (address);
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 6 of 8 : Address.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    // OpenZeppelin Contracts (last updated v5.0.0) (utils/Address.sol)
    pragma solidity ^0.8.20;
    /**
    * @dev Collection of functions related to the address type
    */
    library Address {
    /**
    * @dev The ETH balance of the account is not enough to perform the operation.
    */
    error AddressInsufficientBalance(address account);
    /**
    * @dev There's no code at `target` (it is not a contract).
    */
    error AddressEmptyCode(address target);
    /**
    * @dev A call to an address target failed. The target may have reverted.
    */
    error FailedInnerCall();
    /**
    * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 7 of 8 : StorageSlot.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    // OpenZeppelin Contracts (last updated v5.0.0) (utils/StorageSlot.sol)
    // This file was procedurally generated from scripts/generate/templates/StorageSlot.js.
    pragma solidity ^0.8.20;
    /**
    * @dev Library for reading and writing primitive types to specific storage slots.
    *
    * Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.
    * This library helps with reading and writing to such slots without the need for inline assembly.
    *
    * The functions in this library return Slot structs that contain a `value` member that can be used to read or write.
    *
    * Example usage to set ERC1967 implementation slot:
    * ```solidity
    * contract ERC1967 {
    * bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
    *
    * function _getImplementation() internal view returns (address) {
    * return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;
    * }
    *
    * function _setImplementation(address newImplementation) internal {
    * require(newImplementation.code.length > 0);
    * StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 8 of 8 : Math.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    // OpenZeppelin Contracts (last updated v5.0.0) (utils/math/Math.sol)
    pragma solidity ^0.8.20;
    /**
    * @dev Standard math utilities missing in the Solidity language.
    */
    library Math {
    /**
    * @dev Muldiv operation overflow.
    */
    error MathOverflowedMulDiv();
    enum Rounding {
    Floor, // Toward negative infinity
    Ceil, // Toward positive infinity
    Trunc, // Toward zero
    Expand // Away from zero
    }
    /**
    * @dev Returns the addition of two unsigned integers, with an overflow flag.
    */
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
    unchecked {
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Settings
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    {
    "optimizer": {
    "enabled": true,
    "runs": 200
    },
    "codegen": "evmla",
    "outputSelection": {
    "*": {
    "*": [
    "abi"
    ]
    }
    }
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Contract Security Audit

    Contract ABI

    API
    [{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"}]

    9c4d535b0000000000000000000000000000000000000000000000000000000000000000010000715e053d15c26cfd756b62ba3e711076c58ce739164daa4badb3b97949000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001800000000000000000000000001e576cc24ca750a37c39b5219c458c9bae118f680000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000010490657147000000000000000000000000d2a31bd0e4671616877476c16685bb5afb620625000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001668747470733a2f2f73756761722e746f776e2f746f7300000000000000000000000000000000000000000000000000000000000000000000000000000000003368747470733a2f2f6e6674732e76697369747375676172746f776e2e636f6d2f6e6674732f706f64732f7b69647d2e6a736f6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000

    Deployed Bytecode

    0x000500000000000200000060031002700000001f0530018f0000005a043001970000005b033001970000000100200190000000440000c13d0000008002000039000000400020043f0000006202000041000000000202041a000000000004004b000000130000613d000000000601034f0000000007000019000000006806043c0000000007870436000000000047004b0000000f0000c13d0000005d02200197000000000005004b000000210000613d000000000141034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f0000000000140435000000600130021000000000030004140000005b0030009c0000005b03008041000000c003300210000000000113019f0162015d0000040f00000060051002700000001f0450018f0000005a03500198000000320000613d000000000601034f0000000007000019000000006806043c0000000007870436000000000037004b0000002e0000c13d0000005b05500197000000000004004b000000400000613d000000000131034f0000000304400210000000000603043300000000064601cf000000000646022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000161019f000000000013043500000060015002100000000100200190000001490000613d000001630001042e0000001f023000390000005c022001970000008002200039000000400020043f0000008002400039000000000004004b000000510000613d0000008006000039000000000701034f000000007807043c0000000006860436000000000026004b0000004d0000c13d000000000005004b0000005e0000613d000000000141034f0000000304500210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f0000000000120435000000400030008c000000630000413d000000800600043d0000005d0060009c000000650000a13d00000000010000190000016400010430000000a00200043d0000005e0020009c000000630000213d0000001f01200039000000000031004b00000000040000190000005f040080410000005f01100197000000000001004b00000000050000190000005f050040410000005f0010009c000000000504c019000000000005004b000000630000c13d000000800120003900000000010104330000005e0010009c0000007e0000a13d0000006e01000041000000000010043f0000004101000039000000040010043f0000006a0100004100000164000104300000001f041000390000006f044001970000003f044000390000006f04400197000000400700043d0000000004470019000000000074004b000000000500003900000001050040390000005e0040009c000000780000213d0000000100500190000000780000c13d0000008003300039000000400040043f0000000008170436000000a0022000390000000004210019000000000034004b000000630000213d000000000001004b0000009c0000613d000000000300001900000000043800190000000005230019000000000505043300000000005404350000002003300039000000000013004b000000950000413d000300000008001d000400000007001d00000000017100190000002001100039000000000001043500000060010000410000000000100443000000040060044300000000010004140000005b0010009c0000005b01008041000000c00110021000000061011001c70000800202000039000500000006001d016201580000040f0000000100200190000001130000613d00000005060000290000005d05600197000000400200043d000000000101043b000000000001004b000000bd0000c13d0000006d010000410000000000120435000000040120003900000000005104350000005b0020009c0000005b0200804100000040012002100000006a011001c70000016400010430000200000002001d0000006201000041000000000201041a0000006302200197000000000252019f000000000021041b00000000010004140000005b0010009c0000005b01008041000000c00110021000000064011001c70000800d0200003900000002030000390000006504000041000100000005001d016201530000040f0000000503000029000000010020019000000004010000290000000302000029000000630000613d0000000001010433000000000001004b000000e00000c13d0000000001000416000000000001004b000001140000613d0000006b01000041000000020200002900000000001204350000005b0020009c0000005b02008041000000400120021000000068011001c700000164000104300000005b0010009c0000005b0100804100000060011002100000005b0020009c0000005b020080410000004002200210000000000121019f00000000020004140000005b0020009c0000005b02008041000000c002200210000000000112019f00000000020300190162015d0000040f00000060031002700000005b05300198000001190000c13d0000006003000039000000800400003900000000010304330000000100200190000001400000613d000000000001004b000001140000c13d000000600100004100000000001004430000000501000029000000040010044300000000010004140000005b0010009c0000005b01008041000000c00110021000000061011001c70000800202000039016201580000040f0000000100200190000001130000613d000000000101043b000000000001004b000001140000c13d000000400100043d000000690200004100000000002104350000000402100039000000010300002900000000003204350000005b0010009c0000005b0100804100000040011002100000006a011001c70000016400010430000000000001042f0000002001000039000001000010044300000120000004430000006c01000041000001630001042e0000001f035000390000005c033001970000003f033000390000006604300197000000400300043d0000000004430019000000000034004b000000000600003900000001060040390000005e0040009c000000780000213d0000000100600190000000780000c13d000000400040043f0000001f0650018f00000000045304360000005a075001980000000005740019000001320000613d000000000801034f0000000009040019000000008a08043c0000000009a90436000000000059004b0000012e0000c13d000000000006004b000000f30000613d000000000171034f0000000306600210000000000705043300000000076701cf000000000767022f000000000101043b0000010006600089000000000161022f00000000016101cf000000000171019f0000000000150435000000f30000013d000000000001004b0000014a0000c13d000000400100043d000000670200004100000000002104350000005b0010009c0000005b01008041000000400110021000000068011001c700000164000104300000005b0040009c0000005b0400804100000040024002100000005b0010009c0000005b010080410000006001100210000000000121019f0000016400010430000000000001042f00000156002104210000000102000039000000000001042d0000000002000019000000000001042d0000015b002104230000000102000039000000000001042d0000000002000019000000000001042d00000160002104250000000102000039000000000001042d0000000002000019000000000001042d0000016200000432000001630001042e000001640001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffe000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000001ffffffe0000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff80000000000000000000000000000000000000000000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b830200000200000000000000000000000000000024000000000000000000000000360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcffffffffffffffffffffffff00000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b00000000000000000000000000000000000000000000000000000003ffffffe01425ea420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000009996b315000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000b398979f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000400000010000000000000000004c9c8ce3000000000000000000000000000000000000000000000000000000004e487b7100000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0a4bfa1aa5ec86cc92c9f3e77d902bc214545fd2c9b2e0c1276d7559401864018

    Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

    0000000000000000000000001e576cc24ca750a37c39b5219c458c9bae118f680000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000010490657147000000000000000000000000d2a31bd0e4671616877476c16685bb5afb620625000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001668747470733a2f2f73756761722e746f776e2f746f7300000000000000000000000000000000000000000000000000000000000000000000000000000000003368747470733a2f2f6e6674732e76697369747375676172746f776e2e636f6d2f6e6674732f706f64732f7b69647d2e6a736f6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000

    -----Decoded View---------------
    Arg [0] : implementation (address): 0x1E576cC24cA750A37C39B5219c458c9bAe118f68
    Arg [1] : _data (bytes): 0x90657147000000000000000000000000d2a31bd0e4671616877476c16685bb5afb620625000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001668747470733a2f2f73756761722e746f776e2f746f7300000000000000000000000000000000000000000000000000000000000000000000000000000000003368747470733a2f2f6e6674732e76697369747375676172746f776e2e636f6d2f6e6674732f706f64732f7b69647d2e6a736f6e00000000000000000000000000

    -----Encoded View---------------
    12 Constructor Arguments found :
    Arg [0] : 0000000000000000000000001e576cc24ca750a37c39b5219c458c9bae118f68
    Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
    Arg [2] : 0000000000000000000000000000000000000000000000000000000000000104
    Arg [3] : 90657147000000000000000000000000d2a31bd0e4671616877476c16685bb5a
    Arg [4] : fb62062500000000000000000000000000000000000000000000000000000000
    Arg [5] : 0000006000000000000000000000000000000000000000000000000000000000
    Arg [6] : 000000a000000000000000000000000000000000000000000000000000000000
    Arg [7] : 0000001668747470733a2f2f73756761722e746f776e2f746f73000000000000
    Arg [8] : 0000000000000000000000000000000000000000000000000000000000000000
    Arg [9] : 0000003368747470733a2f2f6e6674732e76697369747375676172746f776e2e
    Arg [10] : 636f6d2f6e6674732f706f64732f7b69647d2e6a736f6e000000000000000000
    Arg [11] : 0000000000000000000000000000000000000000000000000000000000000000


    [ 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.