Contract 0xf2FD4d0D9Ad1005a9db6f5b1d5b1D46277C3A990

 
 
Txn Hash
Method
Block
From
To
Value
0x4ade4e26312c0b0be7c1e3d909dd9f85944159842bdb80311093b2fb7b069a1cSet Approval For...164656202023-01-22 23:27:5910 days 21 hrs agoENS Name spotts.eth IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.00075498 14.76400612
0x56ee8d47e836a58e18ec292411dac35b07722c90ba9af5eea40b07cf10651cbaSet Approval For...162720922022-12-26 23:04:4737 days 21 hrs ago0xf6518ad7786cfcf8238a225e83b1f3a3065d729d IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.0006636813
0x6899144f52f61980af604b98f68834251b37e2b04c02994d1f39419f878f2dafSet Approval For...162720922022-12-26 23:04:4737 days 21 hrs ago0xf6518ad7786cfcf8238a225e83b1f3a3065d729d IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.00066413
0x90b9bce5f09daea202ed94d61761fedefcd15e8334ada6aef651267f72a62497Transfer From160068682022-11-19 21:52:5974 days 22 hrs agoENS Name spotts.eth IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.00078755 10.968288
0x84bc644bb8f259c425aab51bc9a299b41849d3dc97ee2b1cf88cf51fad39c857Register Extensi...159878362022-11-17 6:04:5977 days 14 hrs agoENS Name spotts.eth IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.00115335 12.68816711
0xec26ed7a77a00ca08d92fb7070f9c353d99e9210493deaccb5f9bd32e07e6887Transfer From159165312022-11-07 7:03:4787 days 13 hrs agoENS Name spotts.eth IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.00088278 12.29451427
0xd8306dddf1721899cb5e554df6bf7f1c8cd0b2d1e272eec98e13d7d3af6e2205Set Approval For...158902132022-11-03 14:53:4791 days 5 hrs agoENS Name segungtp.eth IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.00111874 21.90315171
0x8ca35e3c6b3719393b1970f4563e2b22eb8098009d09c55471872a8b37e945daSet Approval For...158710342022-10-31 22:30:4793 days 22 hrs ago0xaf74bee969291e5d64433b5e1ed62c2e072a62f7 IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.00090924 17.80148524
0x74afcaf88384cff69381c1e02c4d30c3b45fc202b0120690ee5967dd0e346c8fTransfer From158014242022-10-22 5:02:11103 days 15 hrs agoENS Name spotts.eth IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.0015842 22.06327954
0xf2feba70edfc9bc80e893841461f2b013821bb809cc8ed913a08f5b8f341af3fTransfer157255882022-10-11 14:53:11114 days 5 hrs ago0x3f0bd9feb0b95bc1233682bf56d891eedbdb63da IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.00057433 21.46566181
0xef1c9732fba25b652fa1a7e24eab58f57a3b2cb6e1a9fefe11a0de407d9352a1Safe Transfer Fr...156430422022-09-30 2:02:23125 days 18 hrs agoENS Name spotts.eth IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.00085788 11.4904444
0xdf4d0a3098416dc2af1938e02430d5bce4402a265f26b799057906dab941e964Safe Transfer Fr...156427662022-09-30 1:06:47125 days 19 hrs agoENS Name spotts.eth IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.00069119 9.25784361
0x7a770771dd9adbc1bb8e890a70c31c3a88cba44b5e1fdb67360bdc8b1be8d306Set Approval For...156373572022-09-29 6:57:35126 days 13 hrs ago0x1ff9ccbf1fda807f22744565ceaac486323d1695 IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.00054078 10.59257117
0xb6b44470758532e690984e167c80a60fd56c9fc3abd71619dfc7a4971fdb0b53Set Approval For...156353352022-09-29 0:11:23126 days 20 hrs ago0xd07834e20843843fbd3381cbbb970a0ea5f64c64 IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.00025204 8.09353365
0x1ca417a4f7024d747a0645483db69201eb6fadaa1c21fd6a6cf53c31945584edSet Approval For...156353272022-09-29 0:09:47126 days 20 hrs ago0xd07834e20843843fbd3381cbbb970a0ea5f64c64 IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.00112437 38.58407728
0xa05a420420d7ee2cde4e32ccfc2aad90e93c5e741af88e6ab3a285d8deda3adbSet Approval For...156349702022-09-28 22:57:59126 days 21 hrs ago0xc792f6c2c1285644e46f1b368992aacd12108ec7 IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.00063701 12.47753326
0x7dc4ddde0ab9b83808510d105a5038236aa0906701f33647da852d93bd0f39b2Set Approval For...156349642022-09-28 22:56:47126 days 21 hrs ago0xba4c9019b137052410b7323c1280e27e2b5b509d IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.00052231 10.23090641
0x388c7945109d088b8c30df2e032ae582ce08f26762ffc25c80c30484babbb4b3Set Approval For...156349632022-09-28 22:56:35126 days 21 hrs ago0xaf74bee969291e5d64433b5e1ed62c2e072a62f7 IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.00053881 10.55405538
0x0cae6a12b34ce65440c6e85411ae164b0be530cd19319665b56570d71cd9bb22Set Approval For...156349582022-09-28 22:55:35126 days 21 hrs ago0x3f0bd9feb0b95bc1233682bf56d891eedbdb63da IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.0003348 10.74706447
0xdcf9ac6520180a82cad47dbe48ad00286fe896399ab186bd1df6ebfd09b97969Set Approval For...156349572022-09-28 22:55:23126 days 21 hrs ago0x3f0bd9feb0b95bc1233682bf56d891eedbdb63da IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.0005071 9.93288131
0xc69e6ecc6a1f9e3c697f908f4e30a5ddd7584bea2981832b8799547c37edb74bSet Approval For...156349312022-09-28 22:49:59126 days 22 hrs agoENS Name moonmeandher.eth IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.00056289 11.02561187
0x7fe16659ffe78dbbba4f93ed0715a9d8e132c814c701e0ecab437713653e3d11Set Approval For...156349232022-09-28 22:48:23126 days 22 hrs ago0xd07834e20843843fbd3381cbbb970a0ea5f64c64 IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.00209085 40.95465006
0x9cef61d537df6fb80928fe19d8a2fbc14e6fdfb359388670099bfa40040ca50aRegister Extensi...155918212022-09-22 22:19:11132 days 22 hrs agoENS Name spotts.eth IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.00081905 9.01046764
0x040aa103c20aff36141085a3f5fa82296bc3bdbef8efe2b890138fa16c2217ffRegister Extensi...155797032022-09-21 5:18:59134 days 15 hrs agoENS Name spotts.eth IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.00055788 6.1373441
0xf040cc6a1a3ccc8cd9460e90b54977cf52889714923bdc36a6fb4ac06c89813eSafe Transfer Fr...153437772022-08-15 3:48:51171 days 17 hrs agoENS Name spotts.eth IN  0xf2fd4d0d9ad1005a9db6f5b1d5b1d46277c3a9900 Ether0.00134897 18.06795298
[ Download CSV Export 
View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
VISIONS

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 300 runs

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

pragma solidity ^0.8.0;

/// @title: Visions by Nathan Spotts
/// @author: manifold.xyz

import "./ERC721Creator.sol";

///////////////////////////////////////////////////////////////////////////////////////////
//                                                                                       //
//                                                                                       //
//                                                                                       //
//    :::     ::: ::::::::::: :::::::: ::::::::::: ::::::::  ::::    :::  ::::::::       //
//    :+:     :+:     :+:    :+:    :+:    :+:    :+:    :+: :+:+:   :+: :+:    :+:      //
//    +:+     +:+     +:+    +:+           +:+    +:+    +:+ :+:+:+  +:+ +:+             //
//    +#+     +:+     +#+    +#++:++#++    +#+    +#+    +:+ +#+ +:+ +#+ +#++:++#++      //
//     +#+   +#+      +#+           +#+    +#+    +#+    +#+ +#+  +#+#+#        +#+      //
//      #+#+#+#       #+#    #+#    #+#    #+#    #+#    #+# #+#   #+#+# #+#    #+#      //
//        ###     ########### ######## ########### ########  ###    ####  ########       //
//                                                                                       //
//    ______________________________________________________________________________/    //
//                                                                                       //
//    .                                                                                  //
//    .                                                                                  //
//                                                                                       //
//    By Nathan Spotts                                                                   //
//                                                                                       //
//                                                                                       //
///////////////////////////////////////////////////////////////////////////////////////////


contract VISIONS is ERC721Creator {
    constructor() ERC721Creator("Visions by Nathan Spotts", "VISIONS") {}
}

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.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"}]

608060405234801561001057600080fd5b50604080518082018252601881527f566973696f6e73206279204e617468616e2053706f747473000000000000000060208083019190915282518084019093526007835266564953494f4e5360c81b908301529061008f60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd610343565b6000805160206106e4833981519152146100ab576100ab610398565b73e4e4003afe3765aca8149a82fc064c0b125b9e5a6100e46000805160206106e483398151915260001b61016f60201b6100dd1760201c565b80546001600160a01b0319166001600160a01b03929092169190911790556040516101679073e4e4003afe3765aca8149a82fc064c0b125b9e5a9061012f9085908590602401610315565b60408051601f19818403018152919052602080820180516001600160e01b031663266c45bb60e11b1790526100e0610172821b17901c565b5050506103ae565b90565b606061019783836040518060600160405280602781526020016107046027913961019e565b9392505050565b60606001600160a01b0384163b61020b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b03168560405161022691906102e6565b600060405180830381855af49150503d8060008114610261576040519150601f19603f3d011682016040523d82523d6000602084013e610266565b606091505b509092509050610277828286610281565b9695505050505050565b60608315610290575081610197565b8251156102a05782518084602001fd5b8160405162461bcd60e51b81526004016102029190610302565b600081518084526102d2816020860160208601610368565b601f01601f19169290920160200192915050565b600082516102f8818460208701610368565b9190910192915050565b60208152600061019760208301846102ba565b60408152600061032860408301856102ba565b828103602084015261033a81856102ba565b95945050505050565b60008282101561036357634e487b7160e01b600052601160045260246000fd5b500390565b60005b8381101561038357818101518382015260200161036b565b83811115610392576000848401525b50505050565b634e487b7160e01b600052600160045260246000fd5b610327806103bd6000396000f3fe6080604052600436106100225760003560e01c80635c60da1b1461003957610031565b366100315761002f61006a565b005b61002f61006a565b34801561004557600080fd5b5061004e6100a5565b6040516001600160a01b03909116815260200160405180910390f35b6100a361009e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b61010c565b565b60006100d87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b90565b606061010583836040518060600160405280602781526020016102cb60279139610130565b9392505050565b3660008037600080366000845af43d6000803e80801561012b573d6000f35b3d6000fd5b60606001600160a01b0384163b61019d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b0316856040516101b8919061024b565b600060405180830381855af49150503d80600081146101f3576040519150601f19603f3d011682016040523d82523d6000602084013e6101f8565b606091505b5091509150610208828286610212565b9695505050505050565b60608315610221575081610105565b8251156102315782518084602001fd5b8160405162461bcd60e51b81526004016101949190610267565b6000825161025d81846020870161029a565b9190910192915050565b602081526000825180602084015261028681604085016020870161029a565b601f01601f19169190910160400192915050565b60005b838110156102b557818101518382015260200161029d565b838111156102c4576000848401525b5050505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f0cc509e3e2c7e0296aa5c1f8fce725d7b85e026993ae9dc8deaabaf82ade45464736f6c63430008070033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564

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.