ETH Price: $2,457.61 (+0.79%)

Contract

0x76D49B573eF641faF2Ba5B9f24c74777Ab140841
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Update NFT176935652023-07-14 18:45:47456 days ago1689360347IN
0x76D49B57...7Ab140841
0 ETH0.0010091834.89444748
0x60806040176934012023-07-14 18:12:35456 days ago1689358355IN
 Create: PEPERegistry
0 ETH0.0165055335.10321867

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
182677572023-10-03 4:55:23375 days ago1696308923
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182677572023-10-03 4:55:23375 days ago1696308923
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182677572023-10-03 4:55:23375 days ago1696308923
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182677572023-10-03 4:55:23375 days ago1696308923
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182677572023-10-03 4:55:23375 days ago1696308923
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182677572023-10-03 4:55:23375 days ago1696308923
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182677572023-10-03 4:55:23375 days ago1696308923
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182677572023-10-03 4:55:23375 days ago1696308923
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182677572023-10-03 4:55:23375 days ago1696308923
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182677572023-10-03 4:55:23375 days ago1696308923
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182533162023-10-01 4:31:23377 days ago1696134683
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182532312023-10-01 4:14:23377 days ago1696133663
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182532312023-10-01 4:14:23377 days ago1696133663
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182530472023-10-01 3:37:35378 days ago1696131455
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182530472023-10-01 3:37:35378 days ago1696131455
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182530472023-10-01 3:37:35378 days ago1696131455
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182530472023-10-01 3:37:35378 days ago1696131455
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182530472023-10-01 3:37:35378 days ago1696131455
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182527432023-10-01 2:36:35378 days ago1696127795
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182526602023-10-01 2:19:59378 days ago1696126799
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182526602023-10-01 2:19:59378 days ago1696126799
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182526602023-10-01 2:19:59378 days ago1696126799
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182526602023-10-01 2:19:59378 days ago1696126799
0x76D49B57...7Ab140841
 Contract Creation0 ETH
182526602023-10-01 2:19:59378 days ago1696126799
0x76D49B57...7Ab140841
 Contract Creation0 ETH
181581602023-09-17 20:38:47391 days ago1694983127
0x76D49B57...7Ab140841
 Contract Creation0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PEPERegistry

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
berlin EvmVersion, MIT license
File 1 of 4 : ERC6551Registry.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/utils/Create2.sol";

import "./interfaces/IERC6551Registry.sol";
import "./lib/ERC6551BytecodeLib.sol";

contract PEPERegistry is IERC6551Registry {
    error InitializationFailed();

    address public _nft;
    address public owner;

    constructor(address _nftContract, address _owner) {
        _nft = _nftContract;
        owner = _owner;
    }

    function createAccount(
        address implementation,
        uint256 chainId,
        address tokenContract,
        uint256 tokenId,
        uint256 salt,
        bytes calldata initData
    ) external returns (address) {
        require(_nft == tokenContract, "Invalid NFT");
        bytes memory code = ERC6551BytecodeLib.getCreationCode(
            implementation,
            chainId,
            tokenContract,
            tokenId,
            salt
        );

        address _account = Create2.computeAddress(
            bytes32(salt),
            keccak256(code)
        );

        if (_account.code.length != 0) return _account;

        emit AccountCreated(
            _account,
            implementation,
            chainId,
            tokenContract,
            tokenId,
            salt
        );

        _account = Create2.deploy(0, bytes32(salt), code);

        if (initData.length != 0) {
            (bool success, ) = _account.call(initData);
            if (!success) revert InitializationFailed();
        }

        return _account;
    }

    function account(
        address implementation,
        uint256 chainId,
        address tokenContract,
        uint256 tokenId,
        uint256 salt
    ) external view returns (address) {
        bytes32 bytecodeHash = keccak256(
            ERC6551BytecodeLib.getCreationCode(
                implementation,
                chainId,
                tokenContract,
                tokenId,
                salt
            )
        );

        return Create2.computeAddress(bytes32(salt), bytecodeHash);
    }

    function updateNFT(address _nftAddr) external {
        require(msg.sender == owner, "Not Owner");
        _nft = _nftAddr;
    }
}

File 2 of 4 : Create2.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (utils/Create2.sol)

pragma solidity ^0.8.0;

/**
 * @dev Helper to make usage of the `CREATE2` EVM opcode easier and safer.
 * `CREATE2` can be used to compute in advance the address where a smart
 * contract will be deployed, which allows for interesting new mechanisms known
 * as 'counterfactual interactions'.
 *
 * See the https://eips.ethereum.org/EIPS/eip-1014#motivation[EIP] for more
 * information.
 */
library Create2 {
    /**
     * @dev Deploys a contract using `CREATE2`. The address where the contract
     * will be deployed can be known in advance via {computeAddress}.
     *
     * The bytecode for a contract can be obtained from Solidity with
     * `type(contractName).creationCode`.
     *
     * Requirements:
     *
     * - `bytecode` must not be empty.
     * - `salt` must have not been used for `bytecode` already.
     * - the factory must have a balance of at least `amount`.
     * - if `amount` is non-zero, `bytecode` must have a `payable` constructor.
     */
    function deploy(uint256 amount, bytes32 salt, bytes memory bytecode) internal returns (address addr) {
        require(address(this).balance >= amount, "Create2: insufficient balance");
        require(bytecode.length != 0, "Create2: bytecode length is zero");
        /// @solidity memory-safe-assembly
        assembly {
            addr := create2(amount, add(bytecode, 0x20), mload(bytecode), salt)
        }
        require(addr != address(0), "Create2: Failed on deploy");
    }

    /**
     * @dev Returns the address where a contract will be stored if deployed via {deploy}. Any change in the
     * `bytecodeHash` or `salt` will result in a new destination address.
     */
    function computeAddress(bytes32 salt, bytes32 bytecodeHash) internal view returns (address) {
        return computeAddress(salt, bytecodeHash, address(this));
    }

    /**
     * @dev Returns the address where a contract will be stored if deployed via {deploy} from a contract located at
     * `deployer`. If `deployer` is this contract's address, returns the same value as {computeAddress}.
     */
    function computeAddress(bytes32 salt, bytes32 bytecodeHash, address deployer) internal pure returns (address addr) {
        /// @solidity memory-safe-assembly
        assembly {
            let ptr := mload(0x40) // Get free memory pointer

            // |                   | ↓ ptr ...  ↓ ptr + 0x0B (start) ...  ↓ ptr + 0x20 ...  ↓ ptr + 0x40 ...   |
            // |-------------------|---------------------------------------------------------------------------|
            // | bytecodeHash      |                                                        CCCCCCCCCCCCC...CC |
            // | salt              |                                      BBBBBBBBBBBBB...BB                   |
            // | deployer          | 000000...0000AAAAAAAAAAAAAAAAAAA...AA                                     |
            // | 0xFF              |            FF                                                             |
            // |-------------------|---------------------------------------------------------------------------|
            // | memory            | 000000...00FFAAAAAAAAAAAAAAAAAAA...AABBBBBBBBBBBBB...BBCCCCCCCCCCCCC...CC |
            // | keccak(start, 85) |            ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ |

            mstore(add(ptr, 0x40), bytecodeHash)
            mstore(add(ptr, 0x20), salt)
            mstore(ptr, deployer) // Right-aligned with 12 preceding garbage bytes
            let start := add(ptr, 0x0b) // The hashed data starts at the final garbage byte which we will set to 0xff
            mstore8(start, 0xff)
            addr := keccak256(start, 85)
        }
    }
}

File 3 of 4 : IERC6551Registry.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

interface IERC6551Registry {
    event AccountCreated(
        address account,
        address implementation,
        uint256 chainId,
        address tokenContract,
        uint256 tokenId,
        uint256 salt
    );

    function createAccount(
        address implementation,
        uint256 chainId,
        address tokenContract,
        uint256 tokenId,
        uint256 seed,
        bytes calldata initData
    ) external returns (address);

    function account(
        address implementation,
        uint256 chainId,
        address tokenContract,
        uint256 tokenId,
        uint256 salt
    ) external view returns (address);
}

File 4 of 4 : ERC6551BytecodeLib.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

library ERC6551BytecodeLib {
    function getCreationCode(
        address implementation_,
        uint256 chainId_,
        address tokenContract_,
        uint256 tokenId_,
        uint256 salt_
    ) internal pure returns (bytes memory) {
        return
            abi.encodePacked(
                hex"3d60ad80600a3d3981f3363d3d373d3d3d363d73",
                implementation_,
                hex"5af43d82803e903d91602b57fd5bf3",
                abi.encode(salt_, chainId_, tokenContract_, tokenId_)
            );
    }
}

Settings
{
  "remappings": [],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "evmVersion": "berlin",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_nftContract","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"InitializationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"address","name":"implementation","type":"address"},{"indexed":false,"internalType":"uint256","name":"chainId","type":"uint256"},{"indexed":false,"internalType":"address","name":"tokenContract","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"salt","type":"uint256"}],"name":"AccountCreated","type":"event"},{"inputs":[],"name":"_nft","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"tokenContract","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"salt","type":"uint256"}],"name":"account","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"tokenContract","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"salt","type":"uint256"},{"internalType":"bytes","name":"initData","type":"bytes"}],"name":"createAccount","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_nftAddr","type":"address"}],"name":"updateNFT","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5060405161076c38038061076c83398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b6106ae806100be6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80635be68e931461005c5780635e9bc536146100715780638da5cb5b146100a057806398300e18146100b3578063da7323b3146100c6575b600080fd5b61006f61006a3660046104cd565b6100d9565b005b61008461007f3660046104e8565b610146565b6040516001600160a01b03909116815260200160405180910390f35b600154610084906001600160a01b031681565b600054610084906001600160a01b031681565b6100846100d4366004610536565b610175565b6001546001600160a01b031633146101245760405162461bcd60e51b81526020600482015260096024820152682737ba1027bbb732b960b91b60448201526064015b60405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806101568787878787610306565b8051602090910120905061016a838261036f565b979650505050505050565b600080546001600160a01b038781169116146101c15760405162461bcd60e51b815260206004820152600b60248201526a125b9d985b1a590813919560aa1b604482015260640161011b565b60006101d08989898989610306565b905060006101e88660001b838051906020012061036f565b90506001600160a01b0381163b1561020357915061016a9050565b604080516001600160a01b0383811682528c811660208301528183018c90528a1660608201526080810189905260a0810188905290517f07fba7bba1191da7ee1155dcfa0030701c9c9a9cc34a93b991fc6fd0c9268d8f9181900360c00190a161026f60008784610383565b905083156102f9576000816001600160a01b031686866040516102939291906105e7565b6000604051808303816000865af19150503d80600081146102d0576040519150601f19603f3d011682016040523d82523d6000602084013e6102d5565b606091505b50509050806102f757604051630337323560e31b815260040160405180910390fd5b505b9998505050505050505050565b60408051602081018390529081018590526001600160a01b0384166060828101919091526080820184905290869060a00160408051601f198184030181529082905261035592916020016105f7565b604051602081830303815290604052905095945050505050565b600061037c838330610487565b9392505050565b6000834710156103d55760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e6365000000604482015260640161011b565b81516000036104265760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f604482015260640161011b565b8282516020840186f590506001600160a01b03811661037c5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f7900000000000000604482015260640161011b565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b80356001600160a01b03811681146104c857600080fd5b919050565b6000602082840312156104df57600080fd5b61037c826104b1565b600080600080600060a0868803121561050057600080fd5b610509866104b1565b94506020860135935061051e604087016104b1565b94979396509394606081013594506080013592915050565b600080600080600080600060c0888a03121561055157600080fd5b61055a886104b1565b96506020880135955061056f604089016104b1565b9450606088013593506080880135925060a088013567ffffffffffffffff8082111561059a57600080fd5b818a0191508a601f8301126105ae57600080fd5b8135818111156105bd57600080fd5b8b60208285010111156105cf57600080fd5b60208301945080935050505092959891949750929550565b8183823760009101908152919050565b733d60ad80600a3d3981f3363d3d373d3d3d363d7360601b8152606083901b6bffffffffffffffffffffffff191660148201526e5af43d82803e903d91602b57fd5bf360881b60288201528151600090815b818110156106665760208186018101516037868401015201610649565b5060009201603701918252509291505056fea2646970667358221220ca5015951c593cad338af138820c91092d1b4a7cd32a79723a5590be6a6c662064736f6c63430008120033000000000000000000000000886a4685db071aca57427b6835f38fbbea08dd10000000000000000000000000e87343ed0a37edbc016de6a62cbd85e4150526a9

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100575760003560e01c80635be68e931461005c5780635e9bc536146100715780638da5cb5b146100a057806398300e18146100b3578063da7323b3146100c6575b600080fd5b61006f61006a3660046104cd565b6100d9565b005b61008461007f3660046104e8565b610146565b6040516001600160a01b03909116815260200160405180910390f35b600154610084906001600160a01b031681565b600054610084906001600160a01b031681565b6100846100d4366004610536565b610175565b6001546001600160a01b031633146101245760405162461bcd60e51b81526020600482015260096024820152682737ba1027bbb732b960b91b60448201526064015b60405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806101568787878787610306565b8051602090910120905061016a838261036f565b979650505050505050565b600080546001600160a01b038781169116146101c15760405162461bcd60e51b815260206004820152600b60248201526a125b9d985b1a590813919560aa1b604482015260640161011b565b60006101d08989898989610306565b905060006101e88660001b838051906020012061036f565b90506001600160a01b0381163b1561020357915061016a9050565b604080516001600160a01b0383811682528c811660208301528183018c90528a1660608201526080810189905260a0810188905290517f07fba7bba1191da7ee1155dcfa0030701c9c9a9cc34a93b991fc6fd0c9268d8f9181900360c00190a161026f60008784610383565b905083156102f9576000816001600160a01b031686866040516102939291906105e7565b6000604051808303816000865af19150503d80600081146102d0576040519150601f19603f3d011682016040523d82523d6000602084013e6102d5565b606091505b50509050806102f757604051630337323560e31b815260040160405180910390fd5b505b9998505050505050505050565b60408051602081018390529081018590526001600160a01b0384166060828101919091526080820184905290869060a00160408051601f198184030181529082905261035592916020016105f7565b604051602081830303815290604052905095945050505050565b600061037c838330610487565b9392505050565b6000834710156103d55760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e6365000000604482015260640161011b565b81516000036104265760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f604482015260640161011b565b8282516020840186f590506001600160a01b03811661037c5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f7900000000000000604482015260640161011b565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b80356001600160a01b03811681146104c857600080fd5b919050565b6000602082840312156104df57600080fd5b61037c826104b1565b600080600080600060a0868803121561050057600080fd5b610509866104b1565b94506020860135935061051e604087016104b1565b94979396509394606081013594506080013592915050565b600080600080600080600060c0888a03121561055157600080fd5b61055a886104b1565b96506020880135955061056f604089016104b1565b9450606088013593506080880135925060a088013567ffffffffffffffff8082111561059a57600080fd5b818a0191508a601f8301126105ae57600080fd5b8135818111156105bd57600080fd5b8b60208285010111156105cf57600080fd5b60208301945080935050505092959891949750929550565b8183823760009101908152919050565b733d60ad80600a3d3981f3363d3d373d3d3d363d7360601b8152606083901b6bffffffffffffffffffffffff191660148201526e5af43d82803e903d91602b57fd5bf360881b60288201528151600090815b818110156106665760208186018101516037868401015201610649565b5060009201603701918252509291505056fea2646970667358221220ca5015951c593cad338af138820c91092d1b4a7cd32a79723a5590be6a6c662064736f6c63430008120033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000886a4685db071aca57427b6835f38fbbea08dd10000000000000000000000000e87343ed0a37edbc016de6a62cbd85e4150526a9

-----Decoded View---------------
Arg [0] : _nftContract (address): 0x886A4685dB071acA57427B6835f38fbBEA08Dd10
Arg [1] : _owner (address): 0xE87343eD0a37edbC016de6A62CbD85e4150526a9

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000886a4685db071aca57427b6835f38fbbea08dd10
Arg [1] : 000000000000000000000000e87343ed0a37edbc016de6a62cbd85e4150526a9


Deployed Bytecode Sourcemap

194:1982:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2045:129;;;;;;:::i;:::-;;:::i;:::-;;1524:515;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1018:32:4;;;1000:51;;988:2;973:18;1524:515:1;;;;;;;302:20;;;;;-1:-1:-1;;;;;302:20:1;;;277:19;;;;;-1:-1:-1;;;;;277:19:1;;;445:1073;;;;;;:::i;:::-;;:::i;2045:129::-;2123:5;;-1:-1:-1;;;;;2123:5:1;2109:10;:19;2101:41;;;;-1:-1:-1;;;2101:41:1;;2215:2:4;2101:41:1;;;2197:21:4;2254:1;2234:18;;;2227:29;-1:-1:-1;;;2272:18:4;;;2265:39;2321:18;;2101:41:1;;;;;;;;;2152:4;:15;;-1:-1:-1;;;;;;2152:15:1;-1:-1:-1;;;;;2152:15:1;;;;;;;;;;2045:129::o;1524:515::-;1705:7;1724:20;1770:183;1822:14;1854:7;1879:13;1910:7;1935:4;1770:34;:183::i;:::-;1747:216;;;;;;;;-1:-1:-1;1981:51:1;2012:4;1747:216;1981:22;:51::i;:::-;1974:58;1524:515;-1:-1:-1;;;;;;;1524:515:1:o;445:1073::-;660:7;687:4;;-1:-1:-1;;;;;687:21:1;;;:4;;:21;679:45;;;;-1:-1:-1;;;679:45:1;;2552:2:4;679:45:1;;;2534:21:4;2591:2;2571:18;;;2564:30;-1:-1:-1;;;2610:18:4;;;2603:41;2661:18;;679:45:1;2350:335:4;679:45:1;734:17;754:159;802:14;830:7;851:13;878:7;899:4;754:34;:159::i;:::-;734:179;;924:16;943:88;987:4;979:13;;1016:4;1006:15;;;;;;943:22;:88::i;:::-;924:107;-1:-1:-1;;;;;;1046:20:1;;;:25;1042:46;;1080:8;-1:-1:-1;1073:15:1;;-1:-1:-1;1073:15:1;1042:46;1104:161;;;-1:-1:-1;;;;;3033:15:4;;;3015:34;;3085:15;;;3080:2;3065:18;;3058:43;3117:18;;;3110:34;;;3180:15;;3175:2;3160:18;;3153:43;3227:3;3212:19;;3205:35;;;2995:3;3256:19;;3249:35;;;1104:161:1;;;;;;;2964:3:4;1104:161:1;;;1287:38;1302:1;1313:4;1320;1287:14;:38::i;:::-;1276:49;-1:-1:-1;1340:20:1;;1336:150;;1377:12;1395:8;-1:-1:-1;;;;;1395:13:1;1409:8;;1395:23;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1376:42;;;1437:7;1432:43;;1453:22;;-1:-1:-1;;;1453:22:1;;;;;;;;;;;1432:43;1362:124;1336:150;1503:8;445:1073;-1:-1:-1;;;;;;;;;445:1073:1:o;90:494:3:-;510:53;;;;;;3802:25:4;;;3843:18;;;3836:34;;;-1:-1:-1;;;;;3906:32:4;;284:12:3;3886:18:4;;;3879:60;;;;3955:18;;;3948:34;;;284:12:3;424:15;;3774:19:4;;510:53:3;;;-1:-1:-1;;510:53:3;;;;;;;;;;327:250;;;510:53;327:250;;:::i;:::-;;;;;;;;;;;;;308:269;;90:494;;;;;;;:::o;1769:165:0:-;1852:7;1878:49;1893:4;1899:12;1921:4;1878:14;:49::i;:::-;1871:56;1769:165;-1:-1:-1;;;1769:165:0:o;1081:484::-;1168:12;1225:6;1200:21;:31;;1192:73;;;;-1:-1:-1;;;1192:73:0;;5090:2:4;1192:73:0;;;5072:21:4;5129:2;5109:18;;;5102:30;5168:31;5148:18;;;5141:59;5217:18;;1192:73:0;4888:353:4;1192:73:0;1283:8;:15;1302:1;1283:20;1275:65;;;;-1:-1:-1;;;1275:65:0;;5448:2:4;1275:65:0;;;5430:21:4;;;5467:18;;;5460:30;5526:34;5506:18;;;5499:62;5578:18;;1275:65:0;5246:356:4;1275:65:0;1478:4;1467:8;1461:15;1454:4;1444:8;1440:19;1432:6;1424:59;1416:67;-1:-1:-1;;;;;;1510:18:0;;1502:56;;;;-1:-1:-1;;;1502:56:0;;5809:2:4;1502:56:0;;;5791:21:4;5848:2;5828:18;;;5821:30;5887:27;5867:18;;;5860:55;5932:18;;1502:56:0;5607:349:4;2177:1772:0;2278:12;2385:4;2379:11;3604:12;3597:4;3592:3;3588:14;3581:36;3653:4;3646;3641:3;3637:14;3630:28;3683:8;3678:3;3671:21;3776:4;3771:3;3767:14;3754:27;;3887:4;3880:5;3872:20;3930:2;3913:20;;;2177:1772;-1:-1:-1;;;;2177:1772:0:o;14:173:4:-;82:20;;-1:-1:-1;;;;;131:31:4;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;383:466::-;478:6;486;494;502;510;563:3;551:9;542:7;538:23;534:33;531:53;;;580:1;577;570:12;531:53;603:29;622:9;603:29;:::i;:::-;593:39;;679:2;668:9;664:18;651:32;641:42;;702:38;736:2;725:9;721:18;702:38;:::i;:::-;383:466;;;;-1:-1:-1;692:48:4;;787:2;772:18;;759:32;;-1:-1:-1;838:3:4;823:19;810:33;;383:466;-1:-1:-1;;383:466:4:o;1062:946::-;1177:6;1185;1193;1201;1209;1217;1225;1278:3;1266:9;1257:7;1253:23;1249:33;1246:53;;;1295:1;1292;1285:12;1246:53;1318:29;1337:9;1318:29;:::i;:::-;1308:39;;1394:2;1383:9;1379:18;1366:32;1356:42;;1417:38;1451:2;1440:9;1436:18;1417:38;:::i;:::-;1407:48;;1502:2;1491:9;1487:18;1474:32;1464:42;;1553:3;1542:9;1538:19;1525:33;1515:43;;1609:3;1598:9;1594:19;1581:33;1633:18;1674:2;1666:6;1663:14;1660:34;;;1690:1;1687;1680:12;1660:34;1728:6;1717:9;1713:22;1703:32;;1773:7;1766:4;1762:2;1758:13;1754:27;1744:55;;1795:1;1792;1785:12;1744:55;1835:2;1822:16;1861:2;1853:6;1850:14;1847:34;;;1877:1;1874;1867:12;1847:34;1922:7;1917:2;1908:6;1904:2;1900:15;1896:24;1893:37;1890:57;;;1943:1;1940;1933:12;1890:57;1974:2;1970;1966:11;1956:21;;1996:6;1986:16;;;;;1062:946;;;;;;;;;;:::o;3295:271::-;3478:6;3470;3465:3;3452:33;3434:3;3504:16;;3529:13;;;3504:16;3295:271;-1:-1:-1;3295:271:4:o;3993:890::-;-1:-1:-1;;;4370:64:4;;4386:2;4468:15;;;-1:-1:-1;;4464:53:4;4459:2;4450:12;;4443:75;-1:-1:-1;;;4543:2:4;4534:12;;4527:64;4614:13;;-1:-1:-1;;;4655:138:4;4669:6;4666:1;4663:13;4655:138;;;4776:4;4760:14;;;4756:25;;4750:32;4745:2;4732:11;;;4728:20;4721:62;4684:12;4655:138;;;-1:-1:-1;4857:1:4;4816:16;;4834:2;4812:25;4846:13;;;-1:-1:-1;4812:25:4;3993:890;-1:-1:-1;;3993:890:4:o

Swarm Source

ipfs://ca5015951c593cad338af138820c91092d1b4a7cd32a79723a5590be6a6c6620

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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.