Contract 0x59c8b1A4CCE058C95AA289ED809816A58cf98326

 
 
Txn Hash
Method
Block
From
To
Value
0x1617c1ee015fd93dbe1ae7ce2d1035b2f941c08a8a358b1e0e8f63d176536a16Set Approval For...164510712023-01-20 22:42:3512 days 23 hrs agoENS Name blockbird.eth IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.00078577 26.88710795
0xcdb021ef4534a745ce2ceddead3b6afc23dc0c2eb9d6445739b8ad14d7a851e5Set Royalties159364112022-11-10 1:42:5984 days 20 hrs agoMarlo: Deployer IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.00542059 31.68346439
0x24bb0b36e5540c0af97f3e662cd98b066a6c4dcae832e5ddd2d3e3c9873f62ecSet Royalties159364062022-11-10 1:41:5984 days 20 hrs agoMarlo: Deployer IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.00556162 32.50779444
0xa03b274869572f971e80aa32cbe5732bc6c3f83f99cc01369e4dd7a48d73bdc5Set Royalties159364012022-11-10 1:40:5984 days 20 hrs agoMarlo: Deployer IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.00607091 35.48457727
0x26a43f88663417638022522573aa71a01b6fc85fc87c02e0826efd95a9608d79Set Royalties159363922022-11-10 1:39:1184 days 20 hrs agoMarlo: Deployer IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.00524853 30.67777795
0x16efed2310e7b00e3a2edc41680ffdf2264d8102830a5c4533f9ab588cbc1f2fSet Royalties159363872022-11-10 1:38:1184 days 20 hrs agoMarlo: Deployer IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.00554826 32.42968574
0x25a5c4fa147e4a6ce4d92eb47255927b3e340a0be79bab723d112b367673ce2eSet Royalties159363642022-11-10 1:33:3584 days 20 hrs agoMarlo: Deployer IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.00589167 34.43691412
0x72ecf5089bcbc16210f4bf572508a9ac3292e53a09ece564a81d12a9b6ed2ac6Set Royalties159363602022-11-10 1:32:4784 days 20 hrs agoMarlo: Deployer IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.00613056 35.8332307
0xa1ba2b0f1a1d59e70a1d975a85779b29a50e0a1f7f6e684b75644cce6e117881Set Royalties159363532022-11-10 1:31:2384 days 20 hrs agoMarlo: Deployer IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.00597637 34.93201381
0x6b56f87f345938f9aa22aa47b91a420010d6409bdcc1feae2e5310adbdf16f79Set Royalties159363422022-11-10 1:29:1184 days 21 hrs agoMarlo: Deployer IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.00596059 34.83974584
0x52b4a52f4c88582b09d1a5811ba1c821c58666b4a7e71cb43f98db62de786c9cSet Royalties159363272022-11-10 1:26:1184 days 21 hrs agoMarlo: Deployer IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.00618882 36.17378442
0xc555524bd05641c6d9d32ad7a2b5c824005a7109b420c8b4691517a3322e1cf9Safe Transfer Fr...158702972022-10-31 20:01:5994 days 2 hrs agoMarlo: Deployer IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.00863404 27.28468683
0xf01a02aa364f82db05a2ae571139e27344e640f129be65ade4fb3e5d88e2e137Safe Transfer Fr...154374252022-08-30 0:59:24156 days 21 hrs agoMarlo: Deployer IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.00058882 10.22743415
0x8f8950dd5f05241b85f8f6c44e3b4a84d2a36aaf6c3b1544682c31c143cdacd0Safe Transfer Fr...154374142022-08-30 0:57:15156 days 21 hrs agoMarlo: Deployer IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.00068417 11.88352609
0x93b5c530743d14608c62e69097e78ed273e7270a7201f46d7b63c524c4ce087aSafe Transfer Fr...154374092022-08-30 0:55:01156 days 21 hrs agoMarlo: Deployer IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.00049474 8.5932885
0x2f69c2ce9159262c64aa208ff58cd79269edff9e8674e1f8540184d72048c47fSet Approval For...150979562022-07-07 21:58:05210 days 32 mins agoMarlo: Deployer IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.00230562 45.08719037
0xdbf90261e32177624611c9d83b04545f97fbc47e9af6b1b5f58053ea4320234eSet Approval For...148364202022-05-24 15:01:20254 days 7 hrs ago0x5dc610bf74b4e6b299306d70bfa7e2162b1d53fc IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.0025546 49.9560895
0xfd005b75d14b745ab8ba4d28af5073c63d8909339433f5b1a4ddea38a6bbd869Set Approval For...147008862022-05-02 22:19:06276 days 11 mins agoENS Name blockbird.eth IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.00446307 87.27680868
0x4cdea0b090fed88fdd919d3dabe52476974d4e1747e47afa4a1cae0118eeb419Set Approval For...146629622022-04-26 23:08:43281 days 23 hrs agoMarlo: Deployer IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.00199322 38.97817954
0x1b2ba2a91f0f984f76e4bd5ee90ff338480af3feb5e80b9f541ae9533e590882Mint Base146626612022-04-26 22:04:14282 days 26 mins agoMarlo: Deployer IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.0055111 34.47131586
0x18152fff2df846abec26e06efce379514e5e28bd3757bc9a1870985b0ae8d5e1Mint Base146626442022-04-26 22:01:46282 days 29 mins agoMarlo: Deployer IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.00801249 50.11723506
0x8f68fd6cc024dfc19f8c50f507e409bee9bc170aafc924efa3090ab59d8e8900Mint Base146626342022-04-26 21:59:13282 days 31 mins agoMarlo: Deployer IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.00584912 36.58562604
0x69ecf9cc3eb95ace701b13235c8084127608f618aafdc795fd2d434e3845cb17Mint Base146626112022-04-26 21:55:31282 days 35 mins agoMarlo: Deployer IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.00788405 49.31387196
0xbaa201a4a0cb4b776aa4b831bf73aba89c77985f5c9f30febb416a85840f80e7Mint Base146625522022-04-26 21:43:52282 days 47 mins agoMarlo: Deployer IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.00619903 38.77423682
0xf2e914bcd252a7647052b02152df29f47421f8c1b47a52142e6fe2dec03eb607Mint Base146625342022-04-26 21:39:46282 days 51 mins agoMarlo: Deployer IN  0x59c8b1a4cce058c95aa289ed809816a58cf983260 Ether0.0070379 44.02129338
[ Download CSV Export 
View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BE

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 300 runs

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

pragma solidity ^0.8.0;

/// @title: meditations
/// @author: manifold.xyz

import "./ERC721Creator.sol";

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//                                                                                    //
//    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++    //
//    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++    //
//    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++    //
//    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++    //
//    ++++++++++++++++++++++++++++++××××××××××××××××++++++++++++++++++++++++++++++    //
//    ++++++++++++++++++++++++××××××××××××××××××××××××××××++++++++++++++++++++++++    //
//    ++++++++++++++++++++××××××××××××××××××××××××××××××××××××++++++++++++++++++++    //
//    +++++++++++++++++××××××××××××××××××××××××××××××××××××××××××+++++++++++++++++    //
//    +++++++++++++++××××××××××××××××××××××××××××××××××××××××××××××+++++++++++++++    //
//    +++++++++++++××××××××××××××××××××××××××××××××××××××××××××××××××+++++++++++++    //
//    ++++++++++++××××××××××××××××××××××××××××××××××××××××××××××××××××++++++++++++    //
//    +++++++++++××××××××××××××××××××××××××××××××××××××××××××××××××××××+++++++++++    //
//    ++++++++++××××××××××××××××××××××××××××××××××××××××××××××××××××××××++++++++++    //
//    ++++++++++××××××××××××××××××××××××××××××××××××××××××××××××××××××××++++++++++    //
//    +++++++++××××××××××××××××××××××××××××××××××××××××××××××××××××××××××+++++++++    //
//    +++++++++××××××××××××××××××××××××××××××××××××××××××××××××××××××××××+++++++++    //
//    +++++++++××××××××××××××××××××××××××××××××××××××××××××××××××××××××××+++++++++    //
//    ++++++++++××××××××××××××××××××××××××××××××××××××××××××××××××××××××++++++++++    //
//    ++++++++++××××××××××××××××××××××××××××××××××××××××××××××××××××××××++++++++++    //
//    +++++++++++××××××××××××××××××××××××××××××××××××××××××××××××××××××+++++++++++    //
//    ++++++++++++××××××××××××××××××××××××××××××××××××××××××××××××××××++++++++++++    //
//    +++++++++++++××××××××××××××××××××××××××××××××××××××××××××××××××+++++++++++++    //
//    +++++++++++++++××××××××××××××××××××××××××××××××××××××××××××××+++++++++++++++    //
//    +++++++++++++++++××××××××××××××××××××××××××××××××××××××××××+++++++++++++++++    //
//    ++++++++++++++++++++××××××××××××××××××××××××××××××××××××++++++++++++++++++++    //
//    ++++++++++++++++++++++++××××××××××××××××××××××××××××++++++++++++++++++++++++    //
//    ++++++++++++++++++++++++++++++××××××××××××××××++++++++++++++++++++++++++++++    //
//    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++    //
//    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++    //
//    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++    //
//    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++    //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////


contract BE is ERC721Creator {
    constructor() ERC721Creator("meditations", "BE") {}
}

File 2 of 5 : ERC721Creator.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 ERC721Creator is Proxy {
    
    constructor(string memory name, string memory symbol) {
        assert(_IMPLEMENTATION_SLOT == bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1));
        StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = 0xe4E4003afE3765Aca8149a82fc064C0b125B9e5a;
        Address.functionDelegateCall(
            0xe4E4003afE3765Aca8149a82fc064C0b125B9e5a,
            abi.encodeWithSignature("initialize(string,string)", name, symbol)
        );
    }
        
    /**
     * @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"}]

608060405234801561001057600080fd5b50604080518082018252600b81526a6d656469746174696f6e7360a81b60208083019190915282518084019093526002835261424560f01b908301529061007860017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd61032c565b6000805160206106cd8339815191521461009457610094610381565b73e4e4003afe3765aca8149a82fc064c0b125b9e5a6100cd6000805160206106cd83398151915260001b61015860201b6100dd1760201c565b80546001600160a01b0319166001600160a01b03929092169190911790556040516101509073e4e4003afe3765aca8149a82fc064c0b125b9e5a9061011890859085906024016102fe565b60408051601f19818403018152919052602080820180516001600160e01b031663266c45bb60e11b1790526100e061015b821b17901c565b505050610397565b90565b606061018083836040518060600160405280602781526020016106ed60279139610187565b9392505050565b60606001600160a01b0384163b6101f45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b03168560405161020f91906102cf565b600060405180830381855af49150503d806000811461024a576040519150601f19603f3d011682016040523d82523d6000602084013e61024f565b606091505b50909250905061026082828661026a565b9695505050505050565b60608315610279575081610180565b8251156102895782518084602001fd5b8160405162461bcd60e51b81526004016101eb91906102eb565b600081518084526102bb816020860160208601610351565b601f01601f19169290920160200192915050565b600082516102e1818460208701610351565b9190910192915050565b60208152600061018060208301846102a3565b60408152600061031160408301856102a3565b828103602084015261032381856102a3565b95945050505050565b60008282101561034c57634e487b7160e01b600052601160045260246000fd5b500390565b60005b8381101561036c578181015183820152602001610354565b8381111561037b576000848401525b50505050565b634e487b7160e01b600052600160045260246000fd5b610327806103a66000396000f3fe6080604052600436106100225760003560e01c80635c60da1b1461003957610031565b366100315761002f61006a565b005b61002f61006a565b34801561004557600080fd5b5061004e6100a5565b6040516001600160a01b03909116815260200160405180910390f35b6100a361009e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b61010c565b565b60006100d87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b90565b606061010583836040518060600160405280602781526020016102cb60279139610130565b9392505050565b3660008037600080366000845af43d6000803e80801561012b573d6000f35b3d6000fd5b60606001600160a01b0384163b61019d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b0316856040516101b8919061024b565b600060405180830381855af49150503d80600081146101f3576040519150601f19603f3d011682016040523d82523d6000602084013e6101f8565b606091505b5091509150610208828286610212565b9695505050505050565b60608315610221575081610105565b8251156102315782518084602001fd5b8160405162461bcd60e51b81526004016101949190610267565b6000825161025d81846020870161029a565b9190910192915050565b602081526000825180602084015261028681604085016020870161029a565b601f01601f19169190910160400192915050565b60005b838110156102b557818101518382015260200161029d565b838111156102c4576000848401525b5050505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220702c35e99794528635b84ef7f2879471dce0c9a578031c63bfbed03d4165eaca64736f6c63430008070033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564

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.