ETH Price: $3,515.94 (+2.77%)
Gas: 4 Gwei

Token

Inception Gold (Inception Gold)
 

Overview

Max Total Supply

81 Inception Gold

Holders

54

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
0xa58100bd194da3dd2b5a76c30415704ac51d4bf1
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Proxy

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : Proxy.sol
pragma solidity ^0.8.0;

/// @dev Proxy for NFT Factory
contract Proxy {

    // Storage for this proxy
    bytes32 private constant IMPLEMENTATION_SLOT = bytes32(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc);
    bytes32 private constant ADMIN_SLOT          = bytes32(0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103);

    constructor(address impl) {
        require(impl != address(0));

        _setSlotValue(IMPLEMENTATION_SLOT, bytes32(uint256(uint160(impl))));
        _setSlotValue(ADMIN_SLOT, bytes32(uint256(uint160(msg.sender))));
    }

    function setImplementation(address newImpl) public {
        require(msg.sender == _getAddress(ADMIN_SLOT));
        _setSlotValue(IMPLEMENTATION_SLOT, bytes32(uint256(uint160(newImpl))));
    }
    
    function implementation() public view returns (address impl) {
        impl = address(uint160(uint256(_getSlotValue(IMPLEMENTATION_SLOT))));
    }

    function _getAddress(bytes32 key) internal view returns (address add) {
        add = address(uint160(uint256(_getSlotValue(key))));
    }

    function _getSlotValue(bytes32 slot_) internal view returns (bytes32 value_) {
        assembly {
            value_ := sload(slot_)
        }
    }

    function _setSlotValue(bytes32 slot_, bytes32 value_) internal {
        assembly {
            sstore(slot_, value_)
        }
    }

    /**
     * @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 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.
            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 Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other
     * function in the contract matches the call data.
     */
    fallback() external payable virtual {
        _delegate(_getAddress(IMPLEMENTATION_SLOT));
    }

    receive() external payable {}
}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"impl","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"impl","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newImpl","type":"address"}],"name":"setImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b5060405161033d38038061033d83398101604081905261002f916100a6565b6001600160a01b03811661004257600080fd5b6001600160a01b03167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55337fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103556100f7565b80516100a0816100e0565b92915050565b6000602082840312156100bb576100bb600080fd5b60006100c78484610095565b949350505050565b60006001600160a01b0382166100a0565b6100e9816100cf565b81146100f457600080fd5b50565b610237806101066000396000f3fe60806040526004361061002d5760003560e01c80635c60da1b14610067578063d784d4261461009257610034565b3661003457005b6100656100607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6100b2565b6100c2565b005b34801561007357600080fd5b5061007c6100e6565b60405161008991906101ce565b60405180910390f35b34801561009e57600080fd5b506100656100ad366004610196565b610115565b60006100bc825490565b92915050565b3660008037600080366000845af43d6000803e8080156100e1573d6000f35b3d6000fd5b60006101107f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b919050565b61013e7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036100b2565b6001600160a01b0316336001600160a01b03161461015b57600080fd5b6001600160a01b03167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b80356100bc816101ed565b6000602082840312156101ab576101ab600080fd5b60006101b7848461018b565b949350505050565b6101c8816101dc565b82525050565b602081016100bc82846101bf565b60006001600160a01b0382166100bc565b6101f6816101dc565b811461018857600080fdfea26469706673582212206d62cc1b219ba69db96ef04b12e39ed547b52f2de60247bb0821bc1c59c975b664736f6c63430008070033000000000000000000000000ee5dff38b5e2950f14f54316881f770af5a74f92

Deployed Bytecode

0x60806040526004361061002d5760003560e01c80635c60da1b14610067578063d784d4261461009257610034565b3661003457005b6100656100607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6100b2565b6100c2565b005b34801561007357600080fd5b5061007c6100e6565b60405161008991906101ce565b60405180910390f35b34801561009e57600080fd5b506100656100ad366004610196565b610115565b60006100bc825490565b92915050565b3660008037600080366000845af43d6000803e8080156100e1573d6000f35b3d6000fd5b60006101107f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b919050565b61013e7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036100b2565b6001600160a01b0316336001600160a01b03161461015b57600080fd5b6001600160a01b03167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b80356100bc816101ed565b6000602082840312156101ab576101ab600080fd5b60006101b7848461018b565b949350505050565b6101c8816101dc565b82525050565b602081016100bc82846101bf565b60006001600160a01b0382166100bc565b6101f6816101dc565b811461018857600080fdfea26469706673582212206d62cc1b219ba69db96ef04b12e39ed547b52f2de60247bb0821bc1c59c975b664736f6c63430008070033

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

000000000000000000000000ee5dff38b5e2950f14f54316881f770af5a74f92

-----Decoded View---------------
Arg [0] : impl (address): 0xee5DFF38b5e2950f14f54316881f770aF5a74f92

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000ee5dff38b5e2950f14f54316881f770af5a74f92


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.