Contract 0x8782695452adFC00ECdAC202fa53e5A13Dba8073

 
 
Txn Hash
Method
Block
From
To
Value
0x9b99b40c8d4e44da4ee1d6ea8dbccfc6f21c98bfa817fd2992c1cfad1a858ebaSet Approval For...160741862022-11-29 7:34:354 hrs 42 mins ago0xd0b5fc675834e423165ca892b050e1ad30f71841 IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00055367 10.84510069
0xabda31864ac670251d4da77bc0de7be69cda41ac70d3f758bca324b812f732bfSet Approval For...160740152022-11-29 6:59:595 hrs 17 mins ago0xdc22aae1b7de53bdf33ff777edc115e853f6b4cf IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00062674 12.27643316
0xe696e1b2b79da288ce0685e8f7cea0a9848b078b7c27ad7820dc2b23aa909d87Set Approval For...160739632022-11-29 6:49:355 hrs 27 mins ago0xe15f4271bb5d0a7a190b16bfb81c15ca9b9bb468 IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00056545 11.07580163
0xde9426a0a0e0df76d655e4e0718dc071533a540cd724c980141baef13930a2e1Set Approval For...160730922022-11-29 3:54:358 hrs 22 mins agoENS Name strongheart.eth IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00057034 11.17170237
0x2588dd40cd1a8c813db75d759ac7e226ece22011ab98b2e0f759d900f5605ab9Set Approval For...160727052022-11-29 2:36:239 hrs 40 mins ago0xbec1894a849130bfd1fafb680a2a44989c708035 IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00063205 12.380439
0x8b0eff17ae25718fb4fe1eb567b632eb7caf9ba9c39e79fc1885c221ef6bd24aSet Approval For...160726842022-11-29 2:32:119 hrs 45 mins ago0x07cd20e5c476d7b3bcc4a0bd88b324d182f8670e IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00056777 11.12127678
0x265e76ec091b480c56bc43a3ebf3e1d0ce70bd4519b29725caa856112a3908faSafe Transfer Fr...160726662022-11-29 2:28:359 hrs 48 mins agoENS Name sneaky.q00t.eth IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00074047 11.90112952
0x7beee744e44795f1c8272b4413e44c16df763f0e95031dc2617d45b22f142959Set Approval For...160724332022-11-29 1:41:1110 hrs 36 mins agoENS Name nazir.eth IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00058693 11.47769917
0x335ac10219a85fd18621f8b5506287f18c106cf06e99f31635f589da1b4bd642Set Approval For...160707332022-11-28 19:59:5916 hrs 17 mins ago0x76f0eaee2c327c9c8d45d6fde3940ad0eb898dfc IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00065894 12.90711171
0xf1d548f6ac26441308ddb79b7ca9e3b83393f51f390f2aae0596782d2996a298Set Approval For...160703062022-11-28 18:33:5917 hrs 43 mins ago0x67ed35ed9d3bbb0b82596f4e0e07499a87aac518 IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00073811 14.45789616
0x64436825f58be714dd37636dda498741a856ceacc67065a81d326dc97ab8a148Set Approval For...160701212022-11-28 17:56:2318 hrs 20 mins agoENS Name oj1228.eth IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00074269 14.54746857
0xe9242a077a2d0d8450dc6b4ba8473f84534634cfa75d7df3b38e7cf2533e11d3Set Approval For...160692342022-11-28 14:58:3521 hrs 18 mins agoENS Name harry-lee.eth IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00149702 29.32305254
0xe92ba76199dc1241ece42727d26cda6e2c07154b1d5c04bd632765e30c073c2cSet Approval For...160680342022-11-28 10:57:471 day 1 hr agoENS Name jason2290.eth IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.0006146 12.0385652
0xbccbc0e3a87bd4fb0d093f40cf3c2a26e8786b5d7b0fe671b2faf088bb236f99Set Approval For...160675782022-11-28 9:26:111 day 2 hrs agoENS Name valtron541.eth IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.0005840411.44
0xe2a101e1f68fec0923a8ebfad44a12a1ab4fad787f1d89487e872681eaf524d9Set Approval For...160671022022-11-28 7:50:351 day 4 hrs agoENS Name breezybaby.eth IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00055877 10.92701422
0x3bcee0313c66e42fd80d313f6b8b56defbc26bf41dcd534caa10528076392a8fSet Approval For...160664162022-11-28 5:33:111 day 6 hrs ago0x080443e2343feb1ce8dccbb6950709ed2802d2e8 IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00056737 11.11335844
0x029b5ab01192b53adda798a55ad6d698626dee75f6e418b4042a114ebc0b3e1dSet Approval For...160663422022-11-28 5:18:231 day 6 hrs agoENS Name ethereyum.eth IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00055551 10.88115856
0xf916522b9e628c7aef1e99fc8fce7e608c9f051bd997a33468087c02bf73f7faSet Approval For...160661902022-11-28 4:47:591 day 7 hrs ago0x2a00f63af45627ff351549106ea735bd973aa86e IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00057469 11.25688111
0xc124d717c9d1b42a2f2ddcee0fb61a7f2f3ad9b7f306155f43d348cd5079c223Set Approval For...160659002022-11-28 3:49:591 day 8 hrs ago0x8a9eb9993ce3cb71ae9e40536ceaa2bb5de7ac0f IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00055915 10.9523721
0xf23353f6e47c56edb9a2d503b4be57a4edbb2f80d7712a7b81b4739a6e078288Set Approval For...160658592022-11-28 3:41:471 day 8 hrs ago0xf9076ce2a128ba0d5c910a1eb8dcc33271c1c536 IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00052563 10.29580077
0xc19d4a76510ad2d0666a12c7ca88e8bb76f8b3cf054a8a6b7e1cfc2ffbefcfadSet Approval For...160658272022-11-28 3:35:231 day 8 hrs ago0x53201ff143aa386449ed2951c91af2b303512365 IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00055625 10.89558265
0x3c7132e0607f4acbcad6b497d081d51c601fb4fdea19a1a1af2e347f446a246eSet Approval For...160657852022-11-28 3:26:591 day 8 hrs agoENS Name crabb.eth IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00062037 12.15155086
0x0cf6b6eb3031c488ee69d63c43390e0afffd5253c78c3db1dd66d3a841598017Set Approval For...160657062022-11-28 3:11:111 day 9 hrs ago0x93ab3c4e6daa20b2b7ea65754a8c11311fbdba38 IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00055466 10.86455983
0xa17afa708b7b1ee6a772f1832587ccd834ff1cd5133d0a4db97c96b3c728d776Set Approval For...160656682022-11-28 3:03:351 day 9 hrs agoENS Name yaboistoi.eth IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00052537 10.29086701
0x880d365ffc328d764122a68ee69c25a04c304df79bad244905036d77a71a82ffSet Approval For...160656472022-11-28 2:59:231 day 9 hrs ago0x430ffca78955e9eab92236ba2561051914f57c1d IN  0x8782695452adfc00ecdac202fa53e5a13dba80730 Ether0.00053972 10.57192757
[ Download CSV Export 
View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LPOE

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 300 runs

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

pragma solidity ^0.8.0;

/// @title: LUIS PONCE OPEN EDITIONS
/// @author: manifold.xyz

import "./ERC1155Creator.sol";

////////////////////////////////////////////////////////////////////////////////////////////
//                                                                                        //
//                                                                                        //
//    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$    //
//    $$$$$ LUIS PONCE $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ OPEN EDITIONS $$$$$$$$$    //
//    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$    //
//    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&ut/jW&W$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$    //
//    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%{-]|uMWc1,`[email protected]$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$    //
//    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#~_M$$$$$$$$$>[email protected]:j$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$    //
//    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$${iB$$$$$$W/?+"```;t,f$$$$$$$$$$$$$$$$$$$$$$$$$$$$$    //
//    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$-]$$$$$c<^(*$$$$$M{'"`@$$$$$$$$$$$$$$$$$$$$$$$$$$$$    //
//    $$$$$$$$$$$$$$$$$$$$$$$$$$$$r;[email protected]!:^I$$$$$$$$${`.|$$$$$$$$$$$$$$$$$$$$$$$$$$$$    //
//    $$$$$$$$$$$$$$$$$$$$$$$$$$$$`&$$$$>\}`[$$$$$$$$$r'`?$$$$$$$$$$$$$$$$$$$$$$$$$$$$    //
//    $$$$$$$$$$$$$$$$$$$$$$$$$$$v,$$$W-`B;`j$$$$$$$$$/."-$$$$$$$$$$$$$$$$$$$$$$$$$$$$    //
//    $$$$$$$$$$$$$$$$$$$$$$$$$$$<\$$+'<"$'^8$$$$$$$$$~.>]$$$$$$$$$$$$$$$$$$$$$$$$$$$$    //
//    $$$$$$$$$$$$$$$$$$$$$$$$$$W^$$!';'"$'`$$$$$$$$$$``~)$$$$$$$$$$$$$$$$$$$$$$$$$$$$    //
//    $$$$$$$$$$$$$$$$$$$$$$$$$$,v$$x,~~u$,`#$$$$$$$$x^:i/$$$$$$$$$$$$$$$$$$$$$$$$$$$$    //
//    $$$$$$$$$$$$$$$$$$$$$$$$$x:$$$$B}l'&c`:$$$$$$$$";/<($$$$$$$$$$$$$$$$$$$$$$$$$$$$    //
//    $$$$$$$$$$$$$$$$$$$$$$$$$,v$$$$$$%`It[^!&$$$$$f;`$}+$$$$$$$$$$$$$$$$$$$$$$$$$$$$    //
//    $$$$$$$$$$$$$$$$$$$$$$$$$`$$$$$$$$`$x8j;':]v*f",n$M`$$$$$$$$$$$$$$$$$$$$$$$$$$$$    //
//    $$$$$$$$$$$$$$$$$$$$$$$$$`$$$$$$$$^B$$$$%\~,'":x$$$<_$$$$$$$$$$$$$$$$$$$$$$$$$$$    //
//    $$$$$$$$$$$$$$$$$$$$$$$$$`$$$$$$$$,#$$$$r]IW''8$$$$$`>)*$$$$$$$$$$$$$$$$$$$$$$$$    //
//    $$$$$$$$$$$$$$$$$$$$$*(]i`$$$$$$$$:>]]?--?-_[`$$$$$$%^z/??[W$$$$$$$$$$$$$$$$$$$$    //
//    $$$$$$$$$$$$$$$$$$r>+\W$j:$$$$$$$$,z$$$$$$$$$`@$$$$$$W,M$$%}<($$$$$$$$$$$$$$$$$$    //
//    $$$$$$$$$$$$$$$$z:\$$$$$"r$$$$$$$$^@$$$$$$$$$?{$$$$$$$8^8$$$$n:c$$$$$$$$$$$$$$$$    //
//    $$$$$$$$$$$$$$$\:B$$$$$(:$$$$$$$$$`$$$$$$$$$$B`$$$$$$$$n,[email protected]]$$$$$$$$$$$$$$$    //
//    $$$$$$$$$$$$$$[+$$$$$$c^@$$$$$$$$W"$$$$$$$$$$$!j$$$$$$$$`#$$$$$$t;&$$$$$$$$$$$$$    //
//    $$$$$$$$$$$$$+{$$$$$$#^8$$$$$$$$$1?$$$$$$$$$$$x;$$$$$$$${<$$$$$$$8:f$$$$$$$$$$$$    //
//    [email protected];\$$$$$$*^W$$$$$$$$$$,#$$$$$$$$$$$$"M$$$$$$$$^W$$$$$$$$]iB$$$$$$$$$$    //
//    $$$$$$$$$$%,u$$$$$$n^&[email protected]`$$$$$$$$$$$$$*^@$$$$$$$*"B$$$$$$$$z,c$$$$$$$$$    //
//    $$$$$$$$$W,#$$$$$$f,B$$$$$$$$$$$|<$$$$$$$$$$$$$$/I$$$$$$$$c,[email protected]>[$$$$$$$$    //
//    $$$$$$$$c,8$$$$$$f,$$$$$$$$$$$$$"c$$$$$$$$$$$$$$$!/$$$$$$$$&,j$$$$$$$$$t:W$$$$$$    //
//    $$$$$$$j:B$$$$$$f,@$$$$$$$$$$$$$'[email protected]^%$$$$$$$$$l{$$$$$$$$$&;/$$$$$    //
//    $$$$$$|i$$$$$$$j"@[email protected]'$$$$$$$$$$$$$$$$$|<$$$$$$$$$$+-$$$$$$$$$$}>@$$$    //
//    $$$$$[?$$$$$$$c"@$$$$$$$$$$$$$$&`[email protected]`$$$$$$$$$$$!1$$$$$$$$$$v,v$$    //
//    $$$$i)$$$$$$$%`&[email protected]`$$$$$$$$$$$$$$$$$$`[email protected]`W$$$$$$$$$$$<]$    //
//    $$B;r$$$$$$$$,r$$$$$$$$$$$$$$$$$'$$$$$$$$$$$$$$$$$$"W$$$$$$$$$$$1i$$$$$$$$$$$$f;    //
//    $8,z$$$$$$$$f:$$$$$$$$$$$$$$$$$$'$$$$$$$$$$$$$$$$$$"W$$$$$$$$$$$$`$$$$$$$$$$$$$&    //
//    M,M$$$$$$$$$`#$$$$$$$$$$$$$$$$$$'$$$$$$$$$$$$$$$$$$`@$$$$$$$$$$$$<{$$$$$$$$$$$$$    //
//    ,%$$$$$$$$$v^$$$$$$$$$$$$$$$$$$$'$$$$$$$$$$$$$$$$$$`$$$$$$$$$$$$$B`W$$$$$$$$$$$$    //
//    $$$$$$$$$$$;t$$$$$$$$$$$$$$$$$$$'$$$$$$$$$$$$$$$$$$,#$$$$$$$$$$$$$#"#$$$$$$$$$$$    //
//    $$$$$$$$$$&^$$$$$$$$$$$$$$$$$$$$'$$$$$$$$$$$$$$$$$$-}$$$$$$$$$$$$$$8:/$$$$$$$$$$    //
//    $$$$$$$$$$"z$$$$$$$$$$$$$$$$$$$$'$$$$$$$$$$$$$$$$$$W`$$$$$$$$$$$$$$$$+-$$$$$$$$$    //
//    $$$$$$$$$;|$$$$$$$$$$$$$$$$$$$$%`$$$$$$$$$$$$$$$$$$$;t$$$$$$$$$$$$$$$$]_$$$$$$$$    //
//    $$$$$$$$+_$$$$$$$$$$$$$$$$$$$$$v"$$$$$$$$$$$$$$$$$$$&^$$$$$$$$$$$$$$$$$;/$$$$$$$    //
//                                                                                        //
//                                                                                        //
////////////////////////////////////////////////////////////////////////////////////////////


contract LPOE 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.7.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
                /// @solidity memory-safe-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 (last updated v4.7.0) (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) {
        /// @solidity memory-safe-assembly
        assembly {
            r.slot := slot
        }
    }

    /**
     * @dev Returns an `BooleanSlot` with member `value` located at `slot`.
     */
    function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) {
        /// @solidity memory-safe-assembly
        assembly {
            r.slot := slot
        }
    }

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

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

Settings
{
  "remappings": [
    "@openzeppelin/=node_modules/@openzeppelin/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 300
  },
  "metadata": {
    "bytecodeHash": "ipfs"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "london",
  "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"}]

608060405234801561001057600080fd5b5061003c60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd6102a2565b60008051602061064383398151915214610058576100586102f7565b73142fd5b9d67721efda3a5e2e9be47a96c9b724a461009160008051602061064383398151915260001b61010860201b6100dd1760201c565b80546001600160a01b03929092166001600160a01b0319909216919091179055604080516004815260248101909152602080820180516001600160e01b031663204a7f0760e21b1790526101029173142fd5b9d67721efda3a5e2e9be47a96c9b724a4916100e061010b821b17901c565b5061030d565b90565b6060610130838360405180606001604052806027815260200161066360279139610137565b9392505050565b60606001600160a01b0384163b6101a45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b0316856040516101bf9190610253565b600060405180830381855af49150503d80600081146101fa576040519150601f19603f3d011682016040523d82523d6000602084013e6101ff565b606091505b50909250905061021082828661021a565b9695505050505050565b60608315610229575081610130565b8251156102395782518084602001fd5b8160405162461bcd60e51b815260040161019b919061026f565b600082516102658184602087016102c7565b9190910192915050565b602081526000825180602084015261028e8160408501602087016102c7565b601f01601f19169190910160400192915050565b6000828210156102c257634e487b7160e01b600052601160045260246000fd5b500390565b60005b838110156102e25781810151838201526020016102ca565b838111156102f1576000848401525b50505050565b634e487b7160e01b600052600160045260246000fd5b6103278061031c6000396000f3fe6080604052600436106100225760003560e01c80635c60da1b1461003957610031565b366100315761002f61006a565b005b61002f61006a565b34801561004557600080fd5b5061004e6100a5565b6040516001600160a01b03909116815260200160405180910390f35b6100a361009e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b61010c565b565b60006100d87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b90565b606061010583836040518060600160405280602781526020016102cb60279139610130565b9392505050565b3660008037600080366000845af43d6000803e80801561012b573d6000f35b3d6000fd5b60606001600160a01b0384163b61019d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b0316856040516101b8919061024b565b600060405180830381855af49150503d80600081146101f3576040519150601f19603f3d011682016040523d82523d6000602084013e6101f8565b606091505b5091509150610208828286610212565b9695505050505050565b60608315610221575081610105565b8251156102315782518084602001fd5b8160405162461bcd60e51b81526004016101949190610267565b6000825161025d81846020870161029a565b9190910192915050565b602081526000825180602084015261028681604085016020870161029a565b601f01601f19169190910160400192915050565b60005b838110156102b557818101518382015260200161029d565b838111156102c4576000848401525b5050505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122022d4f8c12c977db485f05442adbe25eb94a16669e9afa04e2027e56136bd78f164736f6c63430008070033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564

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.