Mumbai Testnet

Contract

0xc4ACD115F1CeeBD4A88273423D6CF77C4A1c7559

Overview

MATIC Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0 MATIC

Token Holdings

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Value
0x60806040190875992021-09-18 14:05:30922 days ago1631973930IN
 Create: UChildERC20Proxy
0 MATIC0.002106863

Parent Txn Hash Block From To Value
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
UChildERC20Proxy

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at mumbai.polygonscan.com on 2021-09-18
*/

// SPDX-License-Identifier: MIT



// File: contracts/child/ChildToken/IChildToken.sol

pragma solidity 0.6.12;

interface IChildToken {
    function deposit(address user, bytes calldata depositData) external;
}

// File: contracts/common/Initializable.sol

pragma solidity 0.6.12;

contract Initializable {
    bool inited = false;

    modifier initializer() {
        require(!inited, "already inited");
        _;
        inited = true;
    }
}

// File: contracts/common/EIP712Base.sol

pragma solidity 0.6.12;


contract EIP712Base is Initializable {
    struct EIP712Domain {
        string name;
        string version;
        address verifyingContract;
        bytes32 salt;
    }

    string constant public ERC712_VERSION = "1";

    bytes32 internal constant EIP712_DOMAIN_TYPEHASH = keccak256(
        bytes(
            "EIP712Domain(string name,string version,address verifyingContract,bytes32 salt)"
        )
    );
    bytes32 internal domainSeperator;

    // supposed to be called once while initializing.
    // one of the contractsa that inherits this contract follows proxy pattern
    // so it is not possible to do this in a constructor
    function _initializeEIP712(
        string memory name
    )
        internal
        initializer
    {
        _setDomainSeperator(name);
    }

    function _setDomainSeperator(string memory name) internal {
        domainSeperator = keccak256(
            abi.encode(
                EIP712_DOMAIN_TYPEHASH,
                keccak256(bytes(name)),
                keccak256(bytes(ERC712_VERSION)),
                address(this),
                bytes32(getChainId())
            )
        );
    }

    function getDomainSeperator() public view returns (bytes32) {
        return domainSeperator;
    }

    function getChainId() public pure returns (uint256) {
        uint256 id;
        assembly {
            id := chainid()
        }
        return id;
    }

    /**
     * Accept message hash and returns hash message in EIP712 compatible form
     * So that it can be used to recover signer from signature signed using EIP712 formatted data
     * https://eips.ethereum.org/EIPS/eip-712
     * "\\x19" makes the encoding deterministic
     * "\\x01" is the version byte to make it compatible to EIP-191
     */
    function toTypedMessageHash(bytes32 messageHash)
        internal
        view
        returns (bytes32)
    {
        return
            keccak256(
                abi.encodePacked("\x19\x01", getDomainSeperator(), messageHash)
            );
    }
}



// File: contracts/common/Proxy/IERCProxy.sol

pragma solidity 0.6.12;

interface IERCProxy {
    function proxyType() external pure returns (uint256 proxyTypeId);

    function implementation() external view returns (address codeAddr);
}

// File: contracts/common/Proxy/Proxy.sol

pragma solidity 0.6.12;


abstract contract Proxy is IERCProxy {
    function delegatedFwd(address _dst, bytes memory _calldata) internal {
        // solium-disable-next-line security/no-inline-assembly
        assembly {
            let result := delegatecall(
                sub(gas(), 10000),
                _dst,
                add(_calldata, 0x20),
                mload(_calldata),
                0,
                0
            )
            let size := returndatasize()

            let ptr := mload(0x40)
            returndatacopy(ptr, 0, size)

            // revert instead of invalid() bc if the underlying call failed with invalid() it already wasted gas.
            // if the call returned error data, forward it
            switch result
                case 0 {
                    revert(ptr, size)
                }
                default {
                    return(ptr, size)
                }
        }
    }

    function proxyType() external virtual override pure returns (uint256 proxyTypeId) {
        // Upgradeable proxy
        proxyTypeId = 2;
    }

    function implementation() external virtual override view returns (address);
}

// File: contracts/common/Proxy/UpgradableProxy.sol

pragma solidity 0.6.12;


contract UpgradableProxy is Proxy {
    event ProxyUpdated(address indexed _new, address indexed _old);
    event ProxyOwnerUpdate(address _new, address _old);

    bytes32 constant IMPLEMENTATION_SLOT = keccak256("matic.network.proxy.implementation");
    bytes32 constant OWNER_SLOT = keccak256("matic.network.proxy.owner");

    constructor(address _proxyTo) public {
        setProxyOwner(msg.sender);
        setImplementation(_proxyTo);
    }

    fallback() external payable {
        delegatedFwd(loadImplementation(), msg.data);
    }

    receive() external payable {
        delegatedFwd(loadImplementation(), msg.data);
    }

    modifier onlyProxyOwner() {
        require(loadProxyOwner() == msg.sender, "NOT_OWNER");
        _;
    }

    function proxyOwner() external view returns(address) {
        return loadProxyOwner();
    }

    function loadProxyOwner() internal view returns(address) {
        address _owner;
        bytes32 position = OWNER_SLOT;
        assembly {
            _owner := sload(position)
        }
        return _owner;
    }

    function implementation() external override view returns (address) {
        return loadImplementation();
    }

    function loadImplementation() internal view returns(address) {
        address _impl;
        bytes32 position = IMPLEMENTATION_SLOT;
        assembly {
            _impl := sload(position)
        }
        return _impl;
    }

    function transferProxyOwnership(address newOwner) public onlyProxyOwner {
        require(newOwner != address(0), "ZERO_ADDRESS");
        emit ProxyOwnerUpdate(newOwner, loadProxyOwner());
        setProxyOwner(newOwner);
    }

    function setProxyOwner(address newOwner) private {
        bytes32 position = OWNER_SLOT;
        assembly {
            sstore(position, newOwner)
        }
    }

    function updateImplementation(address _newProxyTo) public onlyProxyOwner {
        require(_newProxyTo != address(0x0), "INVALID_PROXY_ADDRESS");
        require(isContract(_newProxyTo), "DESTINATION_ADDRESS_IS_NOT_A_CONTRACT");

        emit ProxyUpdated(_newProxyTo, loadImplementation());
        
        setImplementation(_newProxyTo);
    }

    function updateAndCall(address _newProxyTo, bytes memory data) payable public onlyProxyOwner {
        updateImplementation(_newProxyTo);

        (bool success, bytes memory returnData) = address(this).call{value: msg.value}(data);
        require(success, string(returnData));
    }

    function setImplementation(address _newProxyTo) private {
        bytes32 position = IMPLEMENTATION_SLOT;
        assembly {
            sstore(position, _newProxyTo)
        }
    }
    
    function isContract(address _target) internal view returns (bool) {
        if (_target == address(0)) {
            return false;
        }

        uint256 size;
        assembly {
            size := extcodesize(_target)
        }
        return size > 0;
    }
}

// File: contracts/child/ChildToken/UpgradeableChildERC20/UChildERC20Proxy.sol

pragma solidity 0.6.12;


contract UChildERC20Proxy is UpgradableProxy {
    constructor(address _proxyTo)
        public
        UpgradableProxy(_proxyTo)
    {}
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"_proxyTo","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_new","type":"address"},{"indexed":false,"internalType":"address","name":"_old","type":"address"}],"name":"ProxyOwnerUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_new","type":"address"},{"indexed":true,"internalType":"address","name":"_old","type":"address"}],"name":"ProxyUpdated","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxyOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxyType","outputs":[{"internalType":"uint256","name":"proxyTypeId","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferProxyOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newProxyTo","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"updateAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_newProxyTo","type":"address"}],"name":"updateImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b50604051610bc2380380610bc28339818101604052602081101561003357600080fd5b8101908080519060200190929190505050806100543361006a60201b60201c565b6100638161009660201b60201c565b50506100c2565b60007f44f6e2e8884cba1236b7f22f351fa5d88b17292b7e0225ca47e5ecdf6055cdd690508181555050565b60007fbaab7dbf64751104133af04abc7d9979f0fda3b059a322a8333f533d3f32bf7f90508181555050565b610af1806100d16000396000f3fe6080604052600436106100595760003560e01c8063025313a21461010e578063025b22bc1461014f5780634555d5c9146101a05780635c60da1b146101cb578063d88ca2c81461020c578063f1739cae146102e7576100b6565b366100b6576100b4610069610338565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061036c565b005b61010c6100c1610338565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061036c565b005b34801561011a57600080fd5b50610123610396565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561015b57600080fd5b5061019e6004803603602081101561017257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103a5565b005b3480156101ac57600080fd5b506101b56105bb565b6040518082815260200191505060405180910390f35b3480156101d757600080fd5b506101e06105c4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102e56004803603604081101561022257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561025f57600080fd5b82018360208201111561027157600080fd5b8035906020019184600183028401116401000000008311171561029357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506105d3565b005b3480156102f357600080fd5b506103366004803603602081101561030a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107ef565b005b60008060007fbaab7dbf64751104133af04abc7d9979f0fda3b059a322a8333f533d3f32bf7f905080549150819250505090565b600080825160208401856127105a03f43d604051816000823e8260008114610392578282f35b8282fd5b60006103a06109b8565b905090565b3373ffffffffffffffffffffffffffffffffffffffff166103c46109b8565b73ffffffffffffffffffffffffffffffffffffffff161461044d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156104f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f494e56414c49445f50524f58595f41444452455353000000000000000000000081525060200191505060405180910390fd5b6104f9816109ec565b61054e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610a976025913960400191505060405180910390fd5b610556610338565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e160405160405180910390a36105b881610a3e565b50565b60006002905090565b60006105ce610338565b905090565b3373ffffffffffffffffffffffffffffffffffffffff166105f26109b8565b73ffffffffffffffffffffffffffffffffffffffff161461067b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b610684826103a5565b600060603073ffffffffffffffffffffffffffffffffffffffff1634846040518082805190602001908083835b602083106106d457805182526020820191506020810190506020830392506106b1565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610736576040519150601f19603f3d011682016040523d82523d6000602084013e61073b565b606091505b50915091508181906107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107ad578082015181840152602081019050610792565b50505050905090810190601f1680156107da5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff1661080e6109b8565b73ffffffffffffffffffffffffffffffffffffffff1614610897576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561093a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5a45524f5f41444452455353000000000000000000000000000000000000000081525060200191505060405180910390fd5b7fdbe5fd65bcdbae152f24ab660ea68e72b4d4705b57b16e0caae994e214680ee2816109646109b8565b604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a16109b581610a6a565b50565b60008060007f44f6e2e8884cba1236b7f22f351fa5d88b17292b7e0225ca47e5ecdf6055cdd6905080549150819250505090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a2b5760009050610a39565b6000823b9050600081119150505b919050565b60007fbaab7dbf64751104133af04abc7d9979f0fda3b059a322a8333f533d3f32bf7f90508181555050565b60007f44f6e2e8884cba1236b7f22f351fa5d88b17292b7e0225ca47e5ecdf6055cdd69050818155505056fe44455354494e4154494f4e5f414444524553535f49535f4e4f545f415f434f4e5452414354a2646970667358221220c3fd0b7c8e7f48b86466a2df8184c2ffda56b8a05d5e56b9fed58b7cf368663464736f6c634300060c0033000000000000000000000000c4acd115f1ceebd4a88273423d6cf77c4a1c7559

Deployed Bytecode

0x6080604052600436106100595760003560e01c8063025313a21461010e578063025b22bc1461014f5780634555d5c9146101a05780635c60da1b146101cb578063d88ca2c81461020c578063f1739cae146102e7576100b6565b366100b6576100b4610069610338565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061036c565b005b61010c6100c1610338565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061036c565b005b34801561011a57600080fd5b50610123610396565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561015b57600080fd5b5061019e6004803603602081101561017257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103a5565b005b3480156101ac57600080fd5b506101b56105bb565b6040518082815260200191505060405180910390f35b3480156101d757600080fd5b506101e06105c4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102e56004803603604081101561022257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561025f57600080fd5b82018360208201111561027157600080fd5b8035906020019184600183028401116401000000008311171561029357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506105d3565b005b3480156102f357600080fd5b506103366004803603602081101561030a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107ef565b005b60008060007fbaab7dbf64751104133af04abc7d9979f0fda3b059a322a8333f533d3f32bf7f905080549150819250505090565b600080825160208401856127105a03f43d604051816000823e8260008114610392578282f35b8282fd5b60006103a06109b8565b905090565b3373ffffffffffffffffffffffffffffffffffffffff166103c46109b8565b73ffffffffffffffffffffffffffffffffffffffff161461044d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156104f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f494e56414c49445f50524f58595f41444452455353000000000000000000000081525060200191505060405180910390fd5b6104f9816109ec565b61054e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610a976025913960400191505060405180910390fd5b610556610338565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e160405160405180910390a36105b881610a3e565b50565b60006002905090565b60006105ce610338565b905090565b3373ffffffffffffffffffffffffffffffffffffffff166105f26109b8565b73ffffffffffffffffffffffffffffffffffffffff161461067b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b610684826103a5565b600060603073ffffffffffffffffffffffffffffffffffffffff1634846040518082805190602001908083835b602083106106d457805182526020820191506020810190506020830392506106b1565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610736576040519150601f19603f3d011682016040523d82523d6000602084013e61073b565b606091505b50915091508181906107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107ad578082015181840152602081019050610792565b50505050905090810190601f1680156107da5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff1661080e6109b8565b73ffffffffffffffffffffffffffffffffffffffff1614610897576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561093a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5a45524f5f41444452455353000000000000000000000000000000000000000081525060200191505060405180910390fd5b7fdbe5fd65bcdbae152f24ab660ea68e72b4d4705b57b16e0caae994e214680ee2816109646109b8565b604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a16109b581610a6a565b50565b60008060007f44f6e2e8884cba1236b7f22f351fa5d88b17292b7e0225ca47e5ecdf6055cdd6905080549150819250505090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a2b5760009050610a39565b6000823b9050600081119150505b919050565b60007fbaab7dbf64751104133af04abc7d9979f0fda3b059a322a8333f533d3f32bf7f90508181555050565b60007f44f6e2e8884cba1236b7f22f351fa5d88b17292b7e0225ca47e5ecdf6055cdd69050818155505056fe44455354494e4154494f4e5f414444524553535f49535f4e4f545f415f434f4e5452414354a2646970667358221220c3fd0b7c8e7f48b86466a2df8184c2ffda56b8a05d5e56b9fed58b7cf368663464736f6c634300060c0033

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

000000000000000000000000c4acd115f1ceebd4a88273423d6cf77c4a1c7559

-----Decoded View---------------
Arg [0] : _proxyTo (address): 0xc4ACD115F1CeeBD4A88273423D6CF77C4A1c7559

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000c4acd115f1ceebd4a88273423d6cf77c4a1c7559


Deployed Bytecode Sourcemap

7388:143:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4848:44;4861:20;:18;:20::i;:::-;4883:8;;4848:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:12;:44::i;:::-;7388:143;;4750:44;4763:20;:18;:20::i;:::-;4785:8;;4750:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:12;:44::i;:::-;7388:143;5025:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6139:353;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3925:146;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5360:113;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6500:289;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5723:232;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5481:234;5533:7;5553:13;5577:16;4453:47;5577:38;;5665:8;5659:15;5650:24;;5702:5;5695:12;;;;5481:234;:::o;3021:896::-;3388:1;3368;3339:9;3333:16;3309:4;3298:9;3294:20;3271:4;3246:5;3239;3235:17;3204:200;3430:16;3479:4;3473:11;3521:4;3518:1;3513:3;3498:28;3724:6;3753:1;3748:66;;;;3875:4;3870:3;3863:17;3748:66;3790:4;3785:3;3778:17;5025:95;5069:7;5096:16;:14;:16::i;:::-;5089:23;;5025:95;:::o;6139:353::-;4973:10;4953:30;;:16;:14;:16::i;:::-;:30;;;4945:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6254:3:::1;6231:27;;:11;:27;;;;6223:61;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;6303:23;6314:11;6303:10;:23::i;:::-;6295:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6412:20;:18;:20::i;:::-;6386:47;;6399:11;6386:47;;;;;;;;;;;;6454:30;6472:11;6454:17;:30::i;:::-;6139:353:::0;:::o;3925:146::-;3986:19;4062:1;4048:15;;3925:146;:::o;5360:113::-;5418:7;5445:20;:18;:20::i;:::-;5438:27;;5360:113;:::o;6500:289::-;4973:10;4953:30;;:16;:14;:16::i;:::-;:30;;;4945:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6604:33:::1;6625:11;6604:20;:33::i;:::-;6651:12;6665:23;6700:4;6692:18;;6718:9;6729:4;6692:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6650:84;;;;6753:7;6769:10;6745:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5008:1;;6500:289:::0;;:::o;5723:232::-;4973:10;4953:30;;:16;:14;:16::i;:::-;:30;;;4945:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5834:1:::1;5814:22;;:8;:22;;;;5806:47;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;5869:44;5886:8;5896:16;:14;:16::i;:::-;5869:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;5924:23;5938:8;5924:13;:23::i;:::-;5723:232:::0;:::o;5128:224::-;5176:7;5196:14;5221:16;4537:38;5221:29;;5301:8;5295:15;5285:25;;5338:6;5331:13;;;;5128:224;:::o;6996:274::-;7056:4;7096:1;7077:21;;:7;:21;;;7073:66;;;7122:5;7115:12;;;;7073:66;7151:12;7218:7;7206:20;7198:28;;7261:1;7254:4;:8;7247:15;;;6996:274;;;;:::o;6797:187::-;6864:16;4453:47;6864:38;;6954:11;6944:8;6937:29;6922:55;;:::o;5963:168::-;6023:16;4537:38;6023:29;;6104:8;6094;6087:26;6072:52;;:::o

Swarm Source

ipfs://c3fd0b7c8e7f48b86466a2df8184c2ffda56b8a05d5e56b9fed58b7cf3686634

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Txn Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.