Contract 0xe125091e7c669D47e374D7F23bC857789F701780

 
Txn Hash
Method
Block
From
To
Value
0xd4b2fc4cc9e95d7e152f1bb5f14e485fc4cbe56a6e5768c4c0cc3f1b82eff3f9Set Approval For...156201152022-09-26 21:07:1117 hrs 14 mins agoENS Name mallardo.eth IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00074221 14.53816583
0xb5c3c0f448c7e6a76e5918d59eab7743a8c5bad60c92ba7611d0acdfb46da00fSet Approval For...156032372022-09-24 12:31:593 days 1 hr agoENS Name geme.eth IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00015964 5.46252217
0xf64d6314c56a9b3177fca826bf3099b70b127b573cca8733500aef1bd082ee44Safe Transfer Fr...155240282022-09-13 0:55:0514 days 13 hrs agoENS Name elz.eth IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00045947 7.39529623
0xfcd7b471a1549c94df4522141291bc5af8fd3536044f541e88a7d77477350842Set Approval For...155210252022-09-12 13:07:4015 days 1 hr agoENS Name litianchen.eth IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00143662 28.09365826
0x8ae4494b38ba41950689fd14f6dd87f96734c5e89a657b985309209e2dc6ad57Set Approval For...155210242022-09-12 13:07:2315 days 1 hr agoENS Name litianchen.eth IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00129494 25.32903727
0xa1a8231460b10465a74664ab325cd5849130cb2b7752e117c6a772908e01a8abSafe Transfer Fr...155062212022-09-10 2:15:1517 days 12 hrs agoENS Name mintface.eth IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00058452 8.75836988
0xb36894702c2e6755906484a4dc1cd74eb05ee690b282bcbca652ef13320c06e7Set Approval For...154961812022-09-08 11:00:1919 days 3 hrs agoENS Name xargsdisco.eth IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00026417 9.06538985
0xbf78d821d2c77f362b42549f70ed83b2748b3623c791cb9a3c5f5a6e83eb5256Set Approval For...154933502022-09-08 0:13:2019 days 14 hrs agoENS Name xargsdisco.eth IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00052286 10.24161855
0x321e592d0b59213715fbb52e399d2bc755026eef6e0de6ca194d784e29a80bb1Set Approval For...154852422022-09-06 16:51:0920 days 21 hrs agoENS Name ddg00se.eth IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00178038 34.87328025
0x57b42bd10feaefd6c50e4029c24046bece93966f5a7167333f373c947e215405Set Approval For...154799272022-09-05 20:33:4221 days 17 hrs agoENS Name 246o1.eth IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00077849 15.24882314
0xf08ebbcacfe4bfd887c4645c6289194b0e6fa0e62b9eb684f1f64262e0cd1f60Safe Transfer Fr...154316762022-08-29 3:05:5829 days 11 hrs agoENS Name mintface.eth IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00097483 14.55957229
0xe1cbf2a2c342cd3653610216bd562df9f91b32090001e78e1b706df715226db0Mint Base New154309692022-08-29 0:29:5129 days 13 hrs agoENS Name mintface.eth IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00205338 11.24746098
0xdbe54926e7f1c7ba44b421c416f3dfa83f74d6944f84c8e615d04a83d03b6e0fSet Approval For...154199392022-08-27 6:08:3731 days 8 hrs agoENS Name dellch.eth IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.0002795 5.4747958
0x026163517156468342b9a9453cff35bb59c4fc6cf35572be8bc0d92d6c70d0acSafe Transfer Fr...154031362022-08-24 13:18:1434 days 1 hr agoENS Name amtwo.eth IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00080346 12
0xc4803ff3d2aa23da3fecfa5cb33a7ac1fa72dd8c76bc5ae1c402b8d39c88052eSafe Transfer Fr...154008822022-08-24 4:40:3334 days 9 hrs agoENS Name mintface.eth IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00045542 6.80196076
0xa2ecd40990046df4dee3cbe20bf71d6502ba0c2b77cbd457c0e68e483b78b694Safe Transfer Fr...153937072022-08-23 1:28:0935 days 12 hrs ago0x14b465e00e2d2263a8985bf05b3ea0b69e6f8723 IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00073973 11.90150247
0x7424f22ac28e323d28281c646c86e700eb2ed3954e0e49a99f79a027f57cf6e6Set Approval For...153905672022-08-22 13:48:5236 days 32 mins agoENS Name maxfowler.eth IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00108894 21.32977381
0xe581159921183107f78122553c4c9eb5391dcff58f0da5396b6496c64cb41a7dSafe Transfer Fr...153776932022-08-20 12:49:0438 days 1 hr ago0x62fbfa01ab509ffbbb9fc9976085682c2bf7e7ca IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00090642 14.5791105
0xf97eb84abd8588ed35457d8b139168ffe5812f6079cfee4281f52099fca0ad11Set Approval For...153726182022-08-19 17:22:1938 days 20 hrs agoENS Name ashiqmk.eth IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00075856 14.85841929
0xf4643175d6144227cd956af47d87e68ea8baa8a61082f7ed09222012f32b8a1fSet Approval For...153624082022-08-18 2:31:4340 days 11 hrs agoENS Name seanbonner.eth IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00046379 9.08458213
0x25a0de1cedd0eaaa59722bfc76b3775241520832aaa529eea3818672763f13e2Set Approval For...153484252022-08-15 21:39:0742 days 16 hrs agoENS Name amtwo.eth IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00068139 13.34672314
0x1f2e0e0d0d313566b47c1fe1f54c06dc3cae27f2a2c5dc3d66a7c0672be30ff5Safe Transfer Fr...153472152022-08-15 17:05:1642 days 21 hrs ago0xbb251285d15e119c07948c4121ae2748b9168567 IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00154426 24.89912347
0x3afd64015b840d7d0f1d7526f4d0e8787ebc5e86a68a99531d9ac77fbb3c9392Safe Transfer Fr...153422442022-08-14 21:53:3743 days 16 hrs agoENS Name mintface.eth IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00072246 10.81200704
0xf1a00602e0437900559be8396a1778fa6f6ee9a2e73ba6d1b52bfe87b78a68dcSafe Transfer Fr...153174852022-08-11 0:14:3047 days 14 hrs agoENS Name nesnft.eth IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.00180162 26.96201494
0x0d5e8056466c30ae57dca467699314140843ec30b957c3614060cb181328758aSafe Transfer Fr...153107262022-08-09 22:42:4948 days 15 hrs ago0x9b0ac500edd1e6b9b22aae96deba8ea9be86a113 IN  0xe125091e7c669d47e374d7f23bc857789f7017800 Ether0.0017298627.89701974
[ Download CSV Export 
View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TENK

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 300 runs

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

pragma solidity ^0.8.0;

/// @title: 10k Project
/// @author: manifold.xyz

import "./ERC1155Creator.sol";

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//                                                                                                                                                                    //
//                                                                                                                                                                    //
//                                                                                                                                                                    //
//    ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────    //
//    ─████████───██████████████─██████──████████────██████████████─████████████████───██████████████─────────██████─██████████████─██████████████─██████████████─    //
//    ─██░░░░██───██░░░░░░░░░░██─██░░██──██░░░░██────██░░░░░░░░░░██─██░░░░░░░░░░░░██───██░░░░░░░░░░██─────────██░░██─██░░░░░░░░░░██─██░░░░░░░░░░██─██░░░░░░░░░░██─    //
//    ─████░░██───██░░██████░░██─██░░██──██░░████────██░░██████░░██─██░░████████░░██───██░░██████░░██─────────██░░██─██░░██████████─██░░██████████─██████░░██████─    //
//    ───██░░██───██░░██──██░░██─██░░██──██░░██──────██░░██──██░░██─██░░██────██░░██───██░░██──██░░██─────────██░░██─██░░██─────────██░░██─────────────██░░██─────    //
//    ───██░░██───██░░██──██░░██─██░░██████░░██──────██░░██████░░██─██░░████████░░██───██░░██──██░░██─────────██░░██─██░░██████████─██░░██─────────────██░░██─────    //
//    ───██░░██───██░░██──██░░██─██░░░░░░░░░░██──────██░░░░░░░░░░██─██░░░░░░░░░░░░██───██░░██──██░░██─────────██░░██─██░░░░░░░░░░██─██░░██─────────────██░░██─────    //
//    ───██░░██───██░░██──██░░██─██░░██████░░██──────██░░██████████─██░░██████░░████───██░░██──██░░██─██████──██░░██─██░░██████████─██░░██─────────────██░░██─────    //
//    ───██░░██───██░░██──██░░██─██░░██──██░░██──────██░░██─────────██░░██──██░░██─────██░░██──██░░██─██░░██──██░░██─██░░██─────────██░░██─────────────██░░██─────    //
//    ─████░░████─██░░██████░░██─██░░██──██░░████────██░░██─────────██░░██──██░░██████─██░░██████░░██─██░░██████░░██─██░░██████████─██░░██████████─────██░░██─────    //
//    ─██░░░░░░██─██░░░░░░░░░░██─██░░██──██░░░░██────██░░██─────────██░░██──██░░░░░░██─██░░░░░░░░░░██─██░░░░░░░░░░██─██░░░░░░░░░░██─██░░░░░░░░░░██─────██░░██─────    //
//    ─██████████─██████████████─██████──████████────██████─────────██████──██████████─██████████████─██████████████─██████████████─██████████████─────██████─────    //
//    ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────    //
//                                                                                                                                                                    //
//                                                                                                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


contract TENK 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.6.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 overridden 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 internal 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 overridden 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"}]

608060405234801561001057600080fd5b5061003c60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd6102a2565b60008051602061064383398151915214610058576100586102f7565b73142fd5b9d67721efda3a5e2e9be47a96c9b724a461009160008051602061064383398151915260001b61010860201b6100dd1760201c565b80546001600160a01b03929092166001600160a01b0319909216919091179055604080516004815260248101909152602080820180516001600160e01b031663204a7f0760e21b1790526101029173142fd5b9d67721efda3a5e2e9be47a96c9b724a4916100e061010b821b17901c565b5061030d565b90565b6060610130838360405180606001604052806027815260200161066360279139610137565b9392505050565b60606001600160a01b0384163b6101a45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b0316856040516101bf9190610253565b600060405180830381855af49150503d80600081146101fa576040519150601f19603f3d011682016040523d82523d6000602084013e6101ff565b606091505b50909250905061021082828661021a565b9695505050505050565b60608315610229575081610130565b8251156102395782518084602001fd5b8160405162461bcd60e51b815260040161019b919061026f565b600082516102658184602087016102c7565b9190910192915050565b602081526000825180602084015261028e8160408501602087016102c7565b601f01601f19169190910160400192915050565b6000828210156102c257634e487b7160e01b600052601160045260246000fd5b500390565b60005b838110156102e25781810151838201526020016102ca565b838111156102f1576000848401525b50505050565b634e487b7160e01b600052600160045260246000fd5b6103278061031c6000396000f3fe6080604052600436106100225760003560e01c80635c60da1b1461003957610031565b366100315761002f61006a565b005b61002f61006a565b34801561004557600080fd5b5061004e6100a5565b6040516001600160a01b03909116815260200160405180910390f35b6100a361009e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b61010c565b565b60006100d87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b90565b606061010583836040518060600160405280602781526020016102cb60279139610130565b9392505050565b3660008037600080366000845af43d6000803e80801561012b573d6000f35b3d6000fd5b60606001600160a01b0384163b61019d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b0316856040516101b8919061024b565b600060405180830381855af49150503d80600081146101f3576040519150601f19603f3d011682016040523d82523d6000602084013e6101f8565b606091505b5091509150610208828286610212565b9695505050505050565b60608315610221575081610105565b8251156102315782518084602001fd5b8160405162461bcd60e51b81526004016101949190610267565b6000825161025d81846020870161029a565b9190910192915050565b602081526000825180602084015261028681604085016020870161029a565b601f01601f19169190910160400192915050565b60005b838110156102b557818101518382015260200161029d565b838111156102c4576000848401525b5050505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122092da92d2a44158669affda1e94accf91c59ed767c9731b253c7981fd3c1915b164736f6c63430008070033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564

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.