ETH Price: $1,806.09 (+10.73%)
 

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Fill Batch Signe...293070862025-04-23 10:18:391 hr ago1745403519IN
Element: ElementEx
0.00001 ETH0.000000260.00214354
Fill Batch Signe...293060142025-04-23 9:42:551 hr ago1745401375IN
Element: ElementEx
0.000025 ETH0.000000290.00221308
Transfer Items293038762025-04-23 8:31:392 hrs ago1745397099IN
Element: ElementEx
0 ETH0.000000290.00201768
Cancel ERC721Ord...293028102025-04-23 7:56:073 hrs ago1745394967IN
Element: ElementEx
0 ETH0.000000090.00281816
Sell ERC721293028042025-04-23 7:55:553 hrs ago1745394955IN
Element: ElementEx
0 ETH0.000000350.00220922
Cancel ERC721Ord...293027692025-04-23 7:54:453 hrs ago1745394885IN
Element: ElementEx
0 ETH0.000000070.00217315
Fill Batch Signe...293021962025-04-23 7:35:393 hrs ago1745393739IN
Element: ElementEx
0.00002 ETH0.000000410.00248656
Fill Batch Signe...293021542025-04-23 7:34:153 hrs ago1745393655IN
Element: ElementEx
0.00001 ETH0.000000370.00248449
Fill Batch Signe...293021152025-04-23 7:32:573 hrs ago1745393577IN
Element: ElementEx
0.00001 ETH0.000000460.00249003
Buy ERC1155Ex293016812025-04-23 7:18:294 hrs ago1745392709IN
Element: ElementEx
0.00145 ETH0.000000260.00197618
Fill Batch Signe...293004822025-04-23 6:38:314 hrs ago1745390311IN
Element: ElementEx
0.00004 ETH0.000000280.00214528
Cancel ERC1155Or...292997742025-04-23 6:14:555 hrs ago1745388895IN
Element: ElementEx
0 ETH0.000000110.00230931
Fill Batch Signe...292995482025-04-23 6:07:235 hrs ago1745388443IN
Element: ElementEx
0.026 ETH0.000000250.00200159
Buy ERC1155Ex292992332025-04-23 5:56:535 hrs ago1745387813IN
Element: ElementEx
0.0019 ETH0.000000290.00216178
Fill Batch Signe...292967642025-04-23 4:34:356 hrs ago1745382875IN
Element: ElementEx
0.000025 ETH0.000000370.00282322
Cancel ERC721Ord...292914252025-04-23 1:36:379 hrs ago1745372197IN
Element: ElementEx
0 ETH0.000000060.00137764
Buy ERC1155Ex292860392025-04-22 22:37:0512 hrs ago1745361425IN
Element: ElementEx
0.00009 ETH0.000000380.00270591
Cancel ERC721Ord...292815952025-04-22 20:08:5715 hrs ago1745352537IN
Element: ElementEx
0 ETH0.000000070.00217503
Cancel ERC1155Or...292804222025-04-22 19:29:5115 hrs ago1745350191IN
Element: ElementEx
0 ETH0.000000070.00224301
Cancel ERC1155Or...292804042025-04-22 19:29:1515 hrs ago1745350155IN
Element: ElementEx
0 ETH0.000000110.00224675
Buy ERC1155Ex292782102025-04-22 18:16:0717 hrs ago1745345767IN
Element: ElementEx
0.0015 ETH0.00000030.00256987
Fill Batch Signe...292772222025-04-22 17:43:1117 hrs ago1745343791IN
Element: ElementEx
0.000021 ETH0.000000530.0029108
Fill Batch Signe...292772032025-04-22 17:42:3317 hrs ago1745343753IN
Element: ElementEx
0.000012 ETH0.000000560.0030762
Fill Batch Signe...292771772025-04-22 17:41:4117 hrs ago1745343701IN
Element: ElementEx
0.00002 ETH0.000000510.00306417
Fill Batch Signe...292768982025-04-22 17:32:2317 hrs ago1745343143IN
Element: ElementEx
0.000012 ETH0.000000510.00304904
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
293070862025-04-23 10:18:391 hr ago1745403519
Element: ElementEx
0.0000002 ETH
293070862025-04-23 10:18:391 hr ago1745403519
Element: ElementEx
0.0000098 ETH
293060142025-04-23 9:42:551 hr ago1745401375
Element: ElementEx
0.0000005 ETH
293060142025-04-23 9:42:551 hr ago1745401375
Element: ElementEx
0.0000245 ETH
293056032025-04-23 9:29:131 hr ago1745400553
Element: ElementEx
0.0000016 ETH
293056032025-04-23 9:29:131 hr ago1745400553
Element: ElementEx
0.0000784 ETH
293056032025-04-23 9:29:131 hr ago1745400553
Element: ElementEx
0.00008 ETH
293056032025-04-23 9:29:131 hr ago1745400553
Element: ElementEx
0.0000016 ETH
293056032025-04-23 9:29:131 hr ago1745400553
Element: ElementEx
0.0000784 ETH
293056032025-04-23 9:29:131 hr ago1745400553
Element: ElementEx
0.00008 ETH
293056032025-04-23 9:29:131 hr ago1745400553
Element: ElementEx
0.0000016 ETH
293056032025-04-23 9:29:131 hr ago1745400553
Element: ElementEx
0.0000784 ETH
293056032025-04-23 9:29:131 hr ago1745400553
Element: ElementEx
0.00008 ETH
293056032025-04-23 9:29:131 hr ago1745400553
Element: ElementEx
0.0000016 ETH
293056032025-04-23 9:29:131 hr ago1745400553
Element: ElementEx
0.0000784 ETH
293056032025-04-23 9:29:131 hr ago1745400553
Element: ElementEx
0.00008 ETH
293056032025-04-23 9:29:131 hr ago1745400553
Element: ElementEx
0.0000016 ETH
293056032025-04-23 9:29:131 hr ago1745400553
Element: ElementEx
0.0000784 ETH
293056032025-04-23 9:29:131 hr ago1745400553
Element: ElementEx
0.00008 ETH
293054922025-04-23 9:25:311 hr ago1745400331
Element: ElementEx
0.0000016 ETH
293054922025-04-23 9:25:311 hr ago1745400331
Element: ElementEx
0.0000784 ETH
293054922025-04-23 9:25:311 hr ago1745400331
Element: ElementEx
0.00008 ETH
293054922025-04-23 9:25:311 hr ago1745400331
Element: ElementEx
0.0000016 ETH
293054922025-04-23 9:25:311 hr ago1745400331
Element: ElementEx
0.0000784 ETH
293054922025-04-23 9:25:311 hr ago1745400331
Element: ElementEx
0.00008 ETH
View All Internal Transactions

Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ElementEx

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 7 : ElementEx.sol
// SPDX-License-Identifier: Apache-2.0
/*

  Modifications Copyright 2022 Element.Market
  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.8.13;

import "./features/interfaces/IOwnableFeature.sol";
import "./features/interfaces/ISimpleFunctionRegistryFeature.sol";
import "./storage/LibProxyStorage.sol";
import "./storage/LibSimpleFunctionRegistryStorage.sol";
import "./storage/LibOwnableStorage.sol";

/// @dev An extensible proxy contract that serves as a universal entry point for
///      interacting with the 0x protocol.
contract ElementEx {

    constructor(address registryFeature, address ownableFeature) {
        // Initialize RegistryFeature.
        _extend(ISimpleFunctionRegistryFeature.registerMethods.selector, registryFeature);
        _extend(ISimpleFunctionRegistryFeature.extend.selector, registryFeature);
        _extend(ISimpleFunctionRegistryFeature.rollback.selector, registryFeature);
        _extend(ISimpleFunctionRegistryFeature.getRollbackLength.selector, registryFeature);
        _extend(ISimpleFunctionRegistryFeature.getRollbackEntryAtIndex.selector, registryFeature);

        // Initialize OwnableFeature.
        _extend(IOwnableFeature.transferOwnership.selector, ownableFeature);
        _extend(IOwnableFeature.owner.selector, ownableFeature);

        // Transfer ownership to the real owner.
        LibOwnableStorage.getStorage().owner = msg.sender;
    }

    // solhint-disable state-visibility

    /// @dev Forwards calls to the appropriate implementation contract.
    fallback() external payable {
        address impl = LibProxyStorage.getStorage().impls[msg.sig];
        assembly {
            if impl {
                calldatacopy(0, 0, calldatasize())
                if delegatecall(gas(), impl, 0, calldatasize(), 0, 0) {
                    // Success, copy the returned data and return.
                    returndatacopy(0, 0, returndatasize())
                    return(0, returndatasize())
                }

                // Failed, copy the returned data and revert.
                returndatacopy(0, 0, returndatasize())
                revert(0, returndatasize())
            }
        }
        revert("METHOD_NOT_IMPLEMENTED");
    }

    /// @dev Fallback for just receiving ether.
    receive() external payable {}

    // solhint-enable state-visibility

    /// @dev Get the implementation contract of a registered function.
    /// @param selector The function selector.
    /// @return impl The implementation contract address.
    function getFunctionImplementation(bytes4 selector) public view returns (address impl) {
        return LibProxyStorage.getStorage().impls[selector];
    }

    event ProxyFunctionUpdated(bytes4 indexed selector, address oldImpl, address newImpl);

    function _extend(bytes4 selector, address impl) private {
        LibSimpleFunctionRegistryStorage.Storage storage stor = LibSimpleFunctionRegistryStorage.getStorage();
        LibProxyStorage.Storage storage proxyStor = LibProxyStorage.getStorage();

        address oldImpl = proxyStor.impls[selector];
        address[] storage history = stor.implHistory[selector];
        history.push(oldImpl);
        proxyStor.impls[selector] = impl;
        emit ProxyFunctionUpdated(selector, oldImpl, impl);
    }
}

File 2 of 7 : IOwnableFeature.sol
// SPDX-License-Identifier: Apache-2.0
/*

  Modifications Copyright 2022 Element.Market
  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.8.13;


// solhint-disable no-empty-blocks
/// @dev Owner management and migration features.
interface IOwnableFeature {

    /// @dev Emitted by Ownable when ownership is transferred.
    /// @param previousOwner The previous owner of the contract.
    /// @param newOwner The new owner of the contract.
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /// @dev Transfers ownership of the contract to a new address.
    /// @param newOwner The address that will become the owner.
    function transferOwnership(address newOwner) external;

    /// @dev The owner of this contract.
    /// @return ownerAddress The owner address.
    function owner() external view returns (address ownerAddress);
}

File 3 of 7 : ISimpleFunctionRegistryFeature.sol
// SPDX-License-Identifier: Apache-2.0
/*

  Modifications Copyright 2022 Element.Market
  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.8.13;


/// @dev Basic registry management features.
interface ISimpleFunctionRegistryFeature {

    /// @dev A function implementation was updated via `extend()` or `rollback()`.
    /// @param selector The function selector.
    /// @param oldImpl The implementation contract address being replaced.
    /// @param newImpl The replacement implementation contract address.
    event ProxyFunctionUpdated(bytes4 indexed selector, address oldImpl, address newImpl);

    function registerMethods(address impl, bytes4[] calldata methodIDs) external;

    /// @dev Roll back to a prior implementation of a function.
    /// @param selector The function selector.
    /// @param targetImpl The address of an older implementation of the function.
    function rollback(bytes4 selector, address targetImpl) external;

    /// @dev Register or replace a function.
    /// @param selector The function selector.
    /// @param impl The implementation contract for the function.
    function extend(bytes4 selector, address impl) external;

    /// @dev Retrieve the length of the rollback history for a function.
    /// @param selector The function selector.
    /// @return rollbackLength The number of items in the rollback history for
    ///         the function.
    function getRollbackLength(bytes4 selector) external view returns (uint256);

    /// @dev Retrieve an entry in the rollback history for a function.
    /// @param selector The function selector.
    /// @param idx The index in the rollback history.
    /// @return impl An implementation address for the function at
    ///         index `idx`.
    function getRollbackEntryAtIndex(bytes4 selector, uint256 idx)
        external
        view
        returns (address impl);
}

File 4 of 7 : LibProxyStorage.sol
// SPDX-License-Identifier: Apache-2.0
/*

  Modifications Copyright 2022 Element.Market
  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.8.13;

import "./LibStorage.sol";


/// @dev Storage helpers for the proxy contract.
library LibProxyStorage {

    /// @dev Storage bucket for proxy contract.
    struct Storage {
        // Mapping of function selector -> function implementation
        mapping(bytes4 => address) impls;
    }

    /// @dev Get the storage bucket for this contract.
    function getStorage() internal pure returns (Storage storage stor) {
        uint256 storageSlot = LibStorage.STORAGE_ID_PROXY;
        // Dip into assembly to change the slot pointed to by the local
        // variable `stor`.
        // See https://solidity.readthedocs.io/en/v0.6.8/assembly.html?highlight=slot#access-to-external-variables-functions-and-libraries
        assembly { stor.slot := storageSlot }
    }
}

File 5 of 7 : LibSimpleFunctionRegistryStorage.sol
// SPDX-License-Identifier: Apache-2.0
/*

  Modifications Copyright 2022 Element.Market
  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.8.13;

import "./LibStorage.sol";


/// @dev Storage helpers for the `SimpleFunctionRegistry` feature.
library LibSimpleFunctionRegistryStorage {

    /// @dev Storage bucket for this feature.
    struct Storage {
        // Mapping of function selector -> implementation history.
        mapping(bytes4 => address[]) implHistory;
    }

    /// @dev Get the storage bucket for this contract.
    function getStorage() internal pure returns (Storage storage stor) {
        uint256 storageSlot = LibStorage.STORAGE_ID_SIMPLE_FUNCTION_REGISTRY;
        // Dip into assembly to change the slot pointed to by the local
        // variable `stor`.
        // See https://solidity.readthedocs.io/en/v0.6.8/assembly.html?highlight=slot#access-to-external-variables-functions-and-libraries
        assembly { stor.slot := storageSlot }
    }
}

File 6 of 7 : LibOwnableStorage.sol
// SPDX-License-Identifier: Apache-2.0
/*

  Modifications Copyright 2022 Element.Market
  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.8.13;

import "./LibStorage.sol";


/// @dev Storage helpers for the `Ownable` feature.
library LibOwnableStorage {

    /// @dev Storage bucket for this feature.
    struct Storage {
        // The owner of this contract.
        address owner;
    }

    /// @dev Get the storage bucket for this contract.
    function getStorage() internal pure returns (Storage storage stor) {
        uint256 storageSlot = LibStorage.STORAGE_ID_OWNABLE;
        // Dip into assembly to change the slot pointed to by the local
        // variable `stor`.
        // See https://solidity.readthedocs.io/en/v0.6.8/assembly.html?highlight=slot#access-to-external-variables-functions-and-libraries
        assembly { stor.slot := storageSlot }
    }
}

File 7 of 7 : LibStorage.sol
// SPDX-License-Identifier: Apache-2.0
/*

  Modifications Copyright 2022 Element.Market
  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.8.17;


/// @dev Common storage helpers
library LibStorage {

    /// @dev What to bit-shift a storage ID by to get its slot.
    ///      This gives us a maximum of 2**128 inline fields in each bucket.
    uint256 constant STORAGE_ID_PROXY = 1 << 128;
    uint256 constant STORAGE_ID_SIMPLE_FUNCTION_REGISTRY = 2 << 128;
    uint256 constant STORAGE_ID_OWNABLE = 3 << 128;
    uint256 constant STORAGE_ID_COMMON_NFT_ORDERS = 4 << 128;
    uint256 constant STORAGE_ID_ERC721_ORDERS = 5 << 128;
    uint256 constant STORAGE_ID_ERC1155_ORDERS = 6 << 128;
    uint256 constant STORAGE_ID_REENTRANCY_GUARD = 7 << 128;
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"registryFeature","type":"address"},{"internalType":"address","name":"ownableFeature","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes4","name":"selector","type":"bytes4"},{"indexed":false,"internalType":"address","name":"oldImpl","type":"address"},{"indexed":false,"internalType":"address","name":"newImpl","type":"address"}],"name":"ProxyFunctionUpdated","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"bytes4","name":"selector","type":"bytes4"}],"name":"getFunctionImplementation","outputs":[{"internalType":"address","name":"impl","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b506040516103c53803806103c583398101604081905261002f916101e4565b610040634f333d3560e01b836100df565b610051636eb224cb60e01b836100df565b610062630276d92960e61b836100df565b61007363dfd0074960e01b836100df565b6100846335d35de160e11b836100df565b61009563f2fde38b60e01b826100df565b6100a6638da5cb5b60e01b826100df565b336100b96101b060201b6101281760201c565b80546001600160a01b0319166001600160a01b0392909216919091179055506102179050565b60006100f36101b860201b6101301760201c565b905060006101096101c060201b6101201760201c565b6001600160e01b03198516600081815260208381526040808320805488845282852080546001810182558187528587200180546001600160a01b039384166001600160a01b03199182168117909255968890528886528354909616918b16918217909255825185815293840152949550919392917f2ae221083467de52078b0096696ab88d8d53a7ecb44bb65b56a2bab687598367910160405180910390a2505050505050565b600360801b90565b600160811b90565b600160801b90565b80516001600160a01b03811681146101df57600080fd5b919050565b600080604083850312156101f757600080fd5b610200836101c8565b915061020e602084016101c8565b90509250929050565b61019f806102266000396000f3fe6080604052600436106100225760003560e01c8063972fdd26146100c157610029565b3661002957005b600080356001600160e01b0319168152600160801b60205260409020546001600160a01b0316801561007c573660008037600080366000845af415610072573d6000803e3d6000f35b3d6000803e3d6000fd5b60405162461bcd60e51b81526020600482015260166024820152751351551213d117d393d517d25354131153515395115160521b604482015260640160405180910390fd5b3480156100cd57600080fd5b506101046100dc366004610138565b6001600160e01b0319166000908152600160801b60205260409020546001600160a01b031690565b6040516001600160a01b03909116815260200160405180910390f35b600160801b90565b600360801b90565b600160811b90565b60006020828403121561014a57600080fd5b81356001600160e01b03198116811461016257600080fd5b939250505056fea26469706673582212203588dbfc6f5e8cd38c018c75f8526c68b4e5e05f8fe0dd0b346ff0b328550ab364736f6c6343000811003300000000000000000000000018cd9270dbdca86d470cfb3be1b156241fffa9de0000000000000000000000000cab6977a9c70e04458b740476b498b214019641

Deployed Bytecode

0x6080604052600436106100225760003560e01c8063972fdd26146100c157610029565b3661002957005b600080356001600160e01b0319168152600160801b60205260409020546001600160a01b0316801561007c573660008037600080366000845af415610072573d6000803e3d6000f35b3d6000803e3d6000fd5b60405162461bcd60e51b81526020600482015260166024820152751351551213d117d393d517d25354131153515395115160521b604482015260640160405180910390fd5b3480156100cd57600080fd5b506101046100dc366004610138565b6001600160e01b0319166000908152600160801b60205260409020546001600160a01b031690565b6040516001600160a01b03909116815260200160405180910390f35b600160801b90565b600360801b90565b600160811b90565b60006020828403121561014a57600080fd5b81356001600160e01b03198116811461016257600080fd5b939250505056fea26469706673582212203588dbfc6f5e8cd38c018c75f8526c68b4e5e05f8fe0dd0b346ff0b328550ab364736f6c63430008110033

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

00000000000000000000000018cd9270dbdca86d470cfb3be1b156241fffa9de0000000000000000000000000cab6977a9c70e04458b740476b498b214019641

-----Decoded View---------------
Arg [0] : registryFeature (address): 0x18cd9270DbdcA86d470cfB3be1B156241fFfA9De
Arg [1] : ownableFeature (address): 0x0caB6977a9c70E04458b740476B498B214019641

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000018cd9270dbdca86d470cfb3be1b156241fffa9de
Arg [1] : 0000000000000000000000000cab6977a9c70e04458b740476b498b214019641


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
[ 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.