Contract 0x4FAC3c88Ab97750095cad8Eca2CeF27521d72de8

 
 
Txn Hash
Method
Block
From
To
Value
0xb994974fe7a4ed057f8a5a8de3ccc028b7f1090ed37ba59031e2c5275a8c12deBurn162701852022-12-26 16:41:3538 days 5 hrs agoENS Name vivianeg.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00083265 14.2553251
0xe3d0336a94b47825a55e9f65e03c5dd0f2ddfbd9d85256360b6b223bc67532e7Burn162430842022-12-22 21:58:3542 days 24 mins agoENS Name vivianeg.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00215906 36.96401373
0xbc60c5c5fdc7cb05eb9bdf65e4b0090fe77c6753c2c871c3246f5f4fd2905b81Set Approval For...161521452022-12-10 5:14:3554 days 17 hrs ago0x7d08c340fcfe051c462dcfda8b9ed47642b96b10 IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00041172 14.12866151
0x719ba3f55e7e42664df35f9a7af7eb9cf9aa46fdb061513be762323d63545ab1Burn161343602022-12-07 17:37:1157 days 4 hrs agoENS Name vivianeg.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00116543 19.95263239
0xea738b149930af815574e690bd5a035ed2fab75724e571bf9b52c837c257e155Set Token URI159911872022-11-17 17:18:3577 days 5 hrs agoENS Name vivianeg.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00097837 21.61909646
0x20605b1e27bb7aa0e40c2613a2c175bc7f7c756e194e61853ff5a3c39e0f28d0Mint Base159708762022-11-14 21:10:5980 days 1 hr agoENS Name vivianeg.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00453859 25.64542573
0x803764a840cb5457c7ec51801c79f914022b9ec2d2a0fe848fe8a515b5d3f7e2Set Approval For...158435802022-10-28 2:28:2397 days 19 hrs ago0x7d08c340fcfe051c462dcfda8b9ed47642b96b10 IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00051204 10.02966111
0xb72fade5384a8565bc6401def3a9c28d32dccd70836def8801f548f9c72da583Mint Base155764352022-09-20 18:20:35135 days 4 hrs agoENS Name vivianeg.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00254478 14.37933496
0x04b578f836d47566e3398023827093ad5765702900488bb26a3f0d1b2ae8885eMint Base155411232022-09-15 19:19:23140 days 3 hrs agoENS Name vivianeg.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00201935 11.41040792
0x85fbc4d5f33bec2563116f596b5916b1132284bea753784cd006f1769c840a8bSet Token URI155086382022-09-10 11:45:06145 days 10 hrs agoENS Name vivianeg.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00035111 7.75851127
0x0bf527ce9eefc254cba8ae1b54d6995e37cac3b4ebf32d5c815d9ebcbc27c7f6Set Token URI155085872022-09-10 11:33:50145 days 10 hrs agoENS Name vivianeg.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00024994 5.52310084
0xf79e8293b3b395e62316ad66088f892e60cd6c877c046b7de58f8d7f7a5d0f42Mint Base155031052022-09-09 13:57:02146 days 8 hrs agoENS Name vivianeg.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00448696 25.35366772
0x838874f48f5f052a20fef1bb44701cd0543d06b49ca865208d265f8bbfc9269cSet Token URI154916722022-09-07 17:40:26148 days 4 hrs agoENS Name vivianeg.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00078043 17.24536988
0xbec25d64d8c8d750ed1c77faafafd46a33ab96a4e0214504d149ae0c347c7566Set Token URI154688792022-09-04 1:51:48151 days 20 hrs agoENS Name vivianeg.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00018356 4.05615745
0x345e813f80ed035194b7da46801ff9e7b005af028ad55b1f79e9ea7316ebdf50Set Token URI154671032022-09-03 19:04:41152 days 3 hrs agoENS Name vivianeg.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00034242 7.56665112
0x2d5346dacdbf4c43766a60b7611b11eeb378ae5f9c11d175c1b624ff3cb49b0cMint Base154419842022-08-30 18:44:23156 days 3 hrs agoENS Name vivianeg.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00347059 19.61062658
0x74fd45afcdd24f2d771a62ebd032bebba4d0b876cb08805968a24d31f3e9f660Mint Base153608882022-08-17 20:43:06169 days 1 hr agoENS Name vivianeg.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00221041 12.48999492
0x3f4169eb9a58bdd81b2b708c08fbf8309b9b59ace454bc96140540ace6ba6bcbMint Base153480372022-08-15 20:10:47171 days 2 hrs agoENS Name vivianeg.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00471165 26.62328946
0xf61878a158d4937f946b597e1e01df6467a576a9d39ad7faee0e2d4906717b24Set Approval For...153094822022-08-09 18:14:00177 days 4 hrs agoENS Name jdove.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.0005851 20.02070931
0xab6240f38d5012d1fff3bcf69154180b30179f4a3348ef274d6509baa03a627cMint Base153084492022-08-09 14:11:53177 days 8 hrs agoENS Name vivianeg.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00842977 47.63254977
0x709a33c60651d3c056a8c5e350b6c6b7cf2cd1bfa9658bd232cddc33e7bd2e3dMint Base152784242022-08-04 22:04:21182 days 19 mins agoENS Name vivianeg.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00144325 8.15512635
0xc8a3676a31c037080dfd3899da2390f8798c593c8f52114317d37bcb1f164eb7Set Approval For...152581222022-08-01 17:54:18185 days 4 hrs agoENS Name jdove.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00097532 19.07278743
0x7f86c60c8508005d54940aaecaba7f60ee0a4f2249b12577d21b6cb6b2b0fa88Set Approval For...152531952022-07-31 23:30:16185 days 22 hrs agoENS Name vivianeg.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00045106 8.82067761
0xd2ca14e929e90f41f1a144cdab19dceb5b1f907a1d7ed29d77b6c6adf0c69da8Mint Base152531312022-07-31 23:14:05185 days 23 hrs agoENS Name vivianeg.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00122217 7.64454736
0x3f2f128db796b021818291545b50fec59edd206e70d526de28d0db76b877a69fSet Royalties152519742022-07-31 18:55:15186 days 3 hrs agoENS Name vivianeg.eth IN  0x4fac3c88ab97750095cad8eca2cef27521d72de80 Ether0.00141343 11.53169216
[ Download CSV Export 
View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Places

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 300 runs

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

pragma solidity ^0.8.0;

/// @title: Magical Places
/// @author: manifold.xyz

import "./ERC721Creator.sol";

//////////////////////////////////////////////////////////////////////////////
//                                                                          //
//                                                                          //
//                                                                          //
//      __  __             _           _   _____  _                         //
//     |  \/  |           (_)         | | |  __ \| |                        //
//     | \  / | __ _  __ _ _  ___ __ _| | | |__) | | __ _  ___ ___  ___     //
//     | |\/| |/ _` |/ _` | |/ __/ _` | | |  ___/| |/ _` |/ __/ _ \/ __|    //
//     | |  | | (_| | (_| | | (_| (_| | | | |    | | (_| | (_|  __/\__ \    //
//     |_|  |_|\__,_|\__, |_|\___\__,_|_| |_|    |_|\__,_|\___\___||___/    //
//                    __/ |                                                 //
//                   |___/                                                  //
//                                                                          //
//                                                                          //
//                                                                          //
//////////////////////////////////////////////////////////////////////////////


contract Places is ERC721Creator {
    constructor() ERC721Creator("Magical Places", "Places") {}
}

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

608060405234801561001057600080fd5b50604080518082018252600e81526d4d61676963616c20506c6163657360901b60208083019190915282518084019093526006835265506c6163657360d01b908301529061007f60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd610333565b6000805160206106d48339815191521461009b5761009b610388565b73e4e4003afe3765aca8149a82fc064c0b125b9e5a6100d46000805160206106d483398151915260001b61015f60201b6100dd1760201c565b80546001600160a01b0319166001600160a01b03929092169190911790556040516101579073e4e4003afe3765aca8149a82fc064c0b125b9e5a9061011f9085908590602401610305565b60408051601f19818403018152919052602080820180516001600160e01b031663266c45bb60e11b1790526100e0610162821b17901c565b50505061039e565b90565b606061018783836040518060600160405280602781526020016106f46027913961018e565b9392505050565b60606001600160a01b0384163b6101fb5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b03168560405161021691906102d6565b600060405180830381855af49150503d8060008114610251576040519150601f19603f3d011682016040523d82523d6000602084013e610256565b606091505b509092509050610267828286610271565b9695505050505050565b60608315610280575081610187565b8251156102905782518084602001fd5b8160405162461bcd60e51b81526004016101f291906102f2565b600081518084526102c2816020860160208601610358565b601f01601f19169290920160200192915050565b600082516102e8818460208701610358565b9190910192915050565b60208152600061018760208301846102aa565b60408152600061031860408301856102aa565b828103602084015261032a81856102aa565b95945050505050565b60008282101561035357634e487b7160e01b600052601160045260246000fd5b500390565b60005b8381101561037357818101518382015260200161035b565b83811115610382576000848401525b50505050565b634e487b7160e01b600052600160045260246000fd5b610327806103ad6000396000f3fe6080604052600436106100225760003560e01c80635c60da1b1461003957610031565b366100315761002f61006a565b005b61002f61006a565b34801561004557600080fd5b5061004e6100a5565b6040516001600160a01b03909116815260200160405180910390f35b6100a361009e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b61010c565b565b60006100d87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b90565b606061010583836040518060600160405280602781526020016102cb60279139610130565b9392505050565b3660008037600080366000845af43d6000803e80801561012b573d6000f35b3d6000fd5b60606001600160a01b0384163b61019d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b0316856040516101b8919061024b565b600060405180830381855af49150503d80600081146101f3576040519150601f19603f3d011682016040523d82523d6000602084013e6101f8565b606091505b5091509150610208828286610212565b9695505050505050565b60608315610221575081610105565b8251156102315782518084602001fd5b8160405162461bcd60e51b81526004016101949190610267565b6000825161025d81846020870161029a565b9190910192915050565b602081526000825180602084015261028681604085016020870161029a565b601f01601f19169190910160400192915050565b60005b838110156102b557818101518382015260200161029d565b838111156102c4576000848401525b5050505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208b0839a395aaeb183bef0390e4ff5476aaabf05d5671f42ce96c16c8097192a564736f6c63430008070033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564

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.