Contract 0x9622Fa8Bb2de6031bD7dFe6Dc11F9C78958d97F8

 
 
Txn Hash
Method
Block
From
To
Value
0xb01277591c422ccf8a50f6df402e4c42c332307db19e0146c95f5faa3fb43f7cSet Approval For...160857022022-11-30 22:12:351 day 16 hrs ago0x5bb3d5e0c3992354307f48d4c31f8abc933fabb9 IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.00087956 17.22839929
0xbdedb6db4c563de4d138777715cafe3b7cd986ce9204854d0f0370d565951bb5Register Extensi...160841372022-11-30 16:57:111 day 22 hrs agoENS Name glitchofmind.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.00147395 13.65066266
0x7c0f9f6e725898c418e66a5417a8ecb8fb8df43d3207fa3fdacedea6efd2abefSafe Transfer Fr...155716562022-09-20 2:16:1173 days 12 hrs agoENS Name hopiummm.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.00039198 6.3066012
0x9c9ed3754542bfc90d10794810a8c9a2231d83e48e4d45f265b2b01934400054Set Approval For...154399012022-08-30 10:39:1494 days 4 hrs agoENS Name claremaguire.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.00067409 13.20391397
0xcc83bbbb8d2dd7042f6ffc7503ff7eca42f731144a24ebdc9b543275f47c0a6bSet Token URI153150292022-08-10 15:04:27114 days 7 mins agoENS Name glitchofmind.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.00141648 31.31607638
0x39bcab95718547651e0cd3f13a63a84c0e23c3fae41b56521c45aed0cfbde0edSet Token URI153149582022-08-10 14:53:11114 days 19 mins agoENS Name glitchofmind.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.00328482 72.62167153
0x893d4e851b5bcc7344cba31e4737e32540c3e7113dad07f22b85864697f0891aMint Base New153141122022-08-10 11:39:01114 days 3 hrs agoENS Name glitchofmind.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.00311818 17.07995403
0x5379e8ea72c1123daa01d24ec4840678c611046939d04ac6146b7cfa589a018dMint Base New153140972022-08-10 11:33:53114 days 3 hrs agoENS Name glitchofmind.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.0025013 13.70095978
0x7311704d4c72cc1ba1e7ccab8757a262c40e59c702f784d539f67425a674aa68Safe Transfer Fr...151536302022-07-16 12:01:44139 days 3 hrs ago0xac8db6f474b318a0d92933fcd71f2cfd73f0f622 IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.00064828 10.45264133
0x189bc90c6d4b57a24c304e640853b29f75458ec32207c30ac9818e4cbca4e7d3Set Approval For...150027852022-06-21 14:44:33164 days 27 mins agoENS Name glitchofmind.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.00464086 90.90281045
0xfdab251aac539cbb5c79795f65c9219b00c0871ca1df11725a281f36eeec8727Set Token URI149316012022-06-09 8:26:54176 days 6 hrs agoENS Name glitchofmind.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.00162373 35.89796978
0x53c9e3f20b19d9ffb3fb268a486f82fb58e8c596622304e38e706384f4d4303dMint Base New149217902022-06-07 16:13:36177 days 22 hrs agoENS Name glitchofmind.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.0106818 58.50990058
0x1217c1f42ebbb0d9c7977d59c437a91d9a212c4f71ea5fb8b17ddfffe7bfaa1fMint Base New148791672022-05-31 14:21:03185 days 51 mins agoENS Name glitchofmind.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.00715452 39.18911166
0xf909739a15fce9de194d1ebdee331256b24f85c5924a3f68d9ce55b87538df4cMint Base New148371152022-05-24 17:55:02191 days 21 hrs agoENS Name glitchofmind.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.00651017 35.65970111
0x2cce6312a2ffc57d2afd3a496915b3daa169762ea6dbb60b0ab0ca5eb7f9ec19Set Token URI148370342022-05-24 17:38:17191 days 21 hrs agoENS Name glitchofmind.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.00263314 58.21419985
0xe6948acb84f9bcf76adea1fcfc39448dba2fc9e8efecc9a854a7b0f950c9a3ddSet Token URI148370212022-05-24 17:34:15191 days 21 hrs agoENS Name glitchofmind.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.00285252 63.06433766
0xa35fb2b6697f14bba2bd9ca082d93dbddaaac5936a126a918df12fdedbf0d866Burn146600542022-04-26 12:07:52220 days 3 hrs agoENS Name glitchofmind.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.0017306 34.03416515
0x7b940e65f27cb33d371a59909740f4c583959e3598abab1048bcf0cb526b7d54Burn146600532022-04-26 12:07:40220 days 3 hrs agoENS Name glitchofmind.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.00173795 34.17873679
0xeceda29f1e8ee972185468e3760d9b1ad7216943e3a8fb7721b5b7f82645b0aaBurn146600412022-04-26 12:05:07220 days 3 hrs agoENS Name glitchofmind.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.00185926 36.56449492
0x694701b6d2bb7ef9a4a19d767c7cc48d84f645a87cbac4693a09388e25427fb6Set Approval For...146104352022-04-18 17:11:02227 days 22 hrs agoENS Name glitchofmind.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.00289398 56.59272363
0x30a973fea4c9b2f243ce51cfe27a153127fc7478b54900828a23aeb4ac6b7db3Set Token URI146103612022-04-18 16:55:38227 days 22 hrs agoENS Name glitchofmind.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.00173879 38.44167394
0xb21d8ebda31b307c3c59869a0fbf45a00ba0fe32ac577ce50eac67ec6a96a295Set Token URI146099972022-04-18 15:33:57227 days 23 hrs agoENS Name glitchofmind.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.00228669 50.55484325
0x51906bccfb64202a14f70993b577c894fd7a2820e160c88e3b5c3ad1232c4ed7Set Token URI146099872022-04-18 15:31:09227 days 23 hrs agoENS Name glitchofmind.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.00181745 40.18079378
0x146ccd47cb506987b41a10116b1bde640325c4c2511362fd94edd00f93b35e35Mint Base New146099562022-04-18 15:23:20227 days 23 hrs agoENS Name glitchofmind.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.00656614 35.96626634
0xd21463cb541942047069074868a179f16c8b5bc67fe2a35cecaf8879041e367bMint Base New146098892022-04-18 15:07:44228 days 4 mins agoENS Name glitchofmind.eth IN  0x9622fa8bb2de6031bd7dfe6dc11f9c78958d97f80 Ether0.00674648 36.95409235
[ Download CSV Export 
View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GoHoM

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 300 runs

Other Settings:
default evmVersion
File 1 of 5 : GoHoM.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/// @title: HoM Collection
/// @author: manifold.xyz

import "./ERC1155Creator.sol";

///////////////////////////////////////////////////////////////////////////////////////////////
//                                                                                           //
//                                                                                           //
//                                                                                           //
//    ██╗  ██╗ █████╗ ███╗   ██╗██████╗  ██████╗ ███████╗███╗   ███╗██╗███╗   ██╗██████╗     //
//    ██║  ██║██╔══██╗████╗  ██║██╔══██╗██╔═══██╗██╔════╝████╗ ████║██║████╗  ██║██╔══██╗    //
//    ███████║███████║██╔██╗ ██║██║  ██║██║   ██║█████╗  ██╔████╔██║██║██╔██╗ ██║██║  ██║    //
//    ██╔══██║██╔══██║██║╚██╗██║██║  ██║██║   ██║██╔══╝  ██║╚██╔╝██║██║██║╚██╗██║██║  ██║    //
//    ██║  ██║██║  ██║██║ ╚████║██████╔╝╚██████╔╝██║     ██║ ╚═╝ ██║██║██║ ╚████║██████╔╝    //
//    ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝  ╚═══╝╚═════╝  ╚═════╝ ╚═╝     ╚═╝     ╚═╝╚═╝╚═╝  ╚═══╝╚═════╝     //
//                                                                                           //
//     ██████╗ ██████╗ ██╗     ██╗     ███████╗ ██████╗████████╗██╗ ██████╗ ███╗   ██╗       //
//    ██╔════╝██╔═══██╗██║     ██║     ██╔════╝██╔════╝╚══██╔══╝██║██╔═══██╗████╗  ██║       //
//    ██║     ██║   ██║██║     ██║     █████╗  ██║        ██║   ██║██║   ██║██╔██╗ ██║       //
//    ██║     ██║   ██║██║     ██║     ██╔══╝  ██║        ██║   ██║██║   ██║██║╚██╗██║       //
//    ╚██████╗╚██████╔╝███████╗███████╗███████╗╚██████╗   ██║   ██║╚██████╔╝██║ ╚████║       //
//     ╚═════╝ ╚═════╝ ╚══════╝╚══════╝╚══════╝ ╚═════╝   ╚═╝   ╚═╝ ╚═════╝ ╚═╝  ╚═══╝       //
//                                                                                           //
//                                                                                           //
//                                                                                           //
//                                                                                           //
///////////////////////////////////////////////////////////////////////////////////////////////


contract GoHoM is ERC1155Creator {
    constructor() ERC1155Creator() {}
}

File 2 of 5 : ERC1155Creator.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/// @author: manifold.xyz

import "@openzeppelin/contracts/proxy/Proxy.sol";
import "@openzeppelin/contracts/utils/Address.sol";
import "@openzeppelin/contracts/utils/StorageSlot.sol";

contract ERC1155Creator is Proxy {

    constructor() {
        assert(_IMPLEMENTATION_SLOT == bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1));
        StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = 0x142FD5b9d67721EfDA3A5E2E9be47A96c9B724A4;
        Address.functionDelegateCall(
            0x142FD5b9d67721EfDA3A5E2E9be47A96c9B724A4,
            abi.encodeWithSignature("initialize()")
        );
    }

    /**
     * @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 address.
     */
     function implementation() public view returns (address) {
        return _implementation();
    }

    function _implementation() internal override view returns (address) {
        return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;
    }    

}

File 3 of 5 : Proxy.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.5.0) (proxy/Proxy.sol)

pragma solidity ^0.8.0;

/**
 * @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.
            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 This is a virtual function that should be overriden so it returns the address to which the fallback function
     * and {_fallback} should delegate.
     */
    function _implementation() internal view virtual returns (address);

    /**
     * @dev Delegates the current call to the address returned by `_implementation()`.
     *
     * This function does not return to its internall call site, it will return directly to the external caller.
     */
    function _fallback() internal virtual {
        _beforeFallback();
        _delegate(_implementation());
    }

    /**
     * @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 {
        _fallback();
    }

    /**
     * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if call data
     * is empty.
     */
    receive() external payable virtual {
        _fallback();
    }

    /**
     * @dev Hook that is called before falling back to the implementation. Can happen as part of a manual `_fallback`
     * call, or as part of the Solidity `fallback` or `receive` functions.
     *
     * If overriden should call `super._beforeFallback()`.
     */
    function _beforeFallback() internal virtual {}
}

File 4 of 5 : Address.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.5.0) (utils/Address.sol)

pragma solidity ^0.8.1;

/**
 * @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
     * ====
     *
     * [IMPORTANT]
     * ====
     * You shouldn't rely on `isContract` to protect against flash loan attacks!
     *
     * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets
     * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract
     * constructor.
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // This method relies on extcodesize/address.code.length, which returns 0
        // for contracts in construction, since the code is only stored at the end
        // of the constructor execution.

        return account.code.length > 0;
    }

    /**
     * @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 {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain `call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{value: value}(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");

        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");

        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    /**
     * @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the
     * revert reason using the provided one.
     *
     * _Available since v4.3._
     */
    function verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

File 5 of 5 : StorageSlot.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/StorageSlot.sol)

pragma solidity ^0.8.0;

/**
 * @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:
 * ```
 * 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(Address.isContract(newImplementation), "ERC1967: new implementation is not a contract");
 *         StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;
 *     }
 * }
 * ```
 *
 * _Available since v4.1 for `address`, `bool`, `bytes32`, and `uint256`._
 */
library StorageSlot {
    struct AddressSlot {
        address value;
    }

    struct BooleanSlot {
        bool value;
    }

    struct Bytes32Slot {
        bytes32 value;
    }

    struct Uint256Slot {
        uint256 value;
    }

    /**
     * @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 `BooleanSlot` with member `value` located at `slot`.
     */
    function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) {
        assembly {
            r.slot := slot
        }
    }

    /**
     * @dev Returns an `Bytes32Slot` with member `value` located at `slot`.
     */
    function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) {
        assembly {
            r.slot := slot
        }
    }

    /**
     * @dev Returns an `Uint256Slot` with member `value` located at `slot`.
     */
    function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) {
        assembly {
            r.slot := slot
        }
    }
}

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

Contract Security Audit

Contract ABI

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

608060405234801561001057600080fd5b5061003c60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd6102a2565b60008051602061064383398151915214610058576100586102f7565b73142fd5b9d67721efda3a5e2e9be47a96c9b724a461009160008051602061064383398151915260001b61010860201b6100dd1760201c565b80546001600160a01b03929092166001600160a01b0319909216919091179055604080516004815260248101909152602080820180516001600160e01b031663204a7f0760e21b1790526101029173142fd5b9d67721efda3a5e2e9be47a96c9b724a4916100e061010b821b17901c565b5061030d565b90565b6060610130838360405180606001604052806027815260200161066360279139610137565b9392505050565b60606001600160a01b0384163b6101a45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b0316856040516101bf9190610253565b600060405180830381855af49150503d80600081146101fa576040519150601f19603f3d011682016040523d82523d6000602084013e6101ff565b606091505b50909250905061021082828661021a565b9695505050505050565b60608315610229575081610130565b8251156102395782518084602001fd5b8160405162461bcd60e51b815260040161019b919061026f565b600082516102658184602087016102c7565b9190910192915050565b602081526000825180602084015261028e8160408501602087016102c7565b601f01601f19169190910160400192915050565b6000828210156102c257634e487b7160e01b600052601160045260246000fd5b500390565b60005b838110156102e25781810151838201526020016102ca565b838111156102f1576000848401525b50505050565b634e487b7160e01b600052600160045260246000fd5b6103278061031c6000396000f3fe6080604052600436106100225760003560e01c80635c60da1b1461003957610031565b366100315761002f61006a565b005b61002f61006a565b34801561004557600080fd5b5061004e6100a5565b6040516001600160a01b03909116815260200160405180910390f35b6100a361009e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b61010c565b565b60006100d87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b90565b606061010583836040518060600160405280602781526020016102cb60279139610130565b9392505050565b3660008037600080366000845af43d6000803e80801561012b573d6000f35b3d6000fd5b60606001600160a01b0384163b61019d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b0316856040516101b8919061024b565b600060405180830381855af49150503d80600081146101f3576040519150601f19603f3d011682016040523d82523d6000602084013e6101f8565b606091505b5091509150610208828286610212565b9695505050505050565b60608315610221575081610105565b8251156102315782518084602001fd5b8160405162461bcd60e51b81526004016101949190610267565b6000825161025d81846020870161029a565b9190910192915050565b602081526000825180602084015261028681604085016020870161029a565b601f01601f19169190910160400192915050565b60005b838110156102b557818101518382015260200161029d565b838111156102c4576000848401525b5050505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220409e15fe3d0f2f6fab11ef635bcd895baa3e9998c00095dcfa3ac3901af0560764736f6c63430008070033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564

Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

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.