APE Price: $0.54 (-4.63%)
    /

    Contract

    0xaa399DB23bF265fc77F5AD7b193E621ecF769bF9

    Overview

    APE Balance

    Apechain LogoApechain LogoApechain Logo0 APE

    APE Value

    $0.00

    Multichain Info

    No addresses found
    Transaction Hash
    Method
    Block
    Age
    From
    To

    There are no matching entries

    1 Internal Transaction found.

    Latest 1 internal transaction

    Parent Transaction Hash Block Age From To Amount
    85180432025-01-20 14:56:3846 days ago1737384998
     Contract Creation
    0 APE

    Loading...
    Loading

    Contract Source Code Verified (Exact Match)

    Contract Name:
    DexManagerFacet

    Compiler Version
    v0.8.17+commit.8df45f5f

    Optimization Enabled:
    Yes with 1000000 runs

    Other Settings:
    london EvmVersion
    File 1 of 7 : DexManagerFacet.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.17;
    import { LibDiamond } from "../Libraries/LibDiamond.sol";
    import { LibAccess } from "../Libraries/LibAccess.sol";
    import { LibAllowList } from "../Libraries/LibAllowList.sol";
    import { CannotAuthoriseSelf } from "../Errors/GenericErrors.sol";
    /// @title Dex Manager Facet
    /// @author LI.FI (https://li.fi)
    /// @notice Facet contract for managing approved DEXs to be used in swaps.
    /// @custom:version 1.0.1
    contract DexManagerFacet {
    /// Events ///
    event DexAdded(address indexed dexAddress);
    event DexRemoved(address indexed dexAddress);
    event FunctionSignatureApprovalChanged(
    bytes4 indexed functionSignature,
    bool indexed approved
    );
    /// External Methods ///
    /// @notice Register the address of a DEX contract to be approved for swapping.
    /// @param _dex The address of the DEX contract to be approved.
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 2 of 7 : LibDiamond.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.17;
    // import { IDiamondCut } from "../Interfaces/LibDiamond.sol";
    import { LibDiamond } from "../Libraries/LibDiamond.sol";
    import { LibUtil } from "../Libraries/LibUtil.sol";
    import { OnlyContractOwner } from "../Errors/GenericErrors.sol";
    /// Implementation of EIP-2535 Diamond Standard
    /// https://eips.ethereum.org/EIPS/eip-2535
    library LibDiamond {
    bytes32 internal constant DIAMOND_STORAGE_POSITION =
    keccak256("diamond.standard.diamond.storage");
    // Diamond specific errors
    error IncorrectFacetCutAction();
    error NoSelectorsInFace();
    error FunctionAlreadyExists();
    error FacetAddressIsZero();
    error FacetAddressIsNotZero();
    error FacetContainsNoCode();
    error FunctionDoesNotExist();
    error FunctionIsImmutable();
    error InitZeroButCalldataNotEmpty();
    error CalldataEmptyButInitNotZero();
    error InitReverted();
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 3 of 7 : LibAccess.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    /// @custom:version 1.0.0
    pragma solidity ^0.8.17;
    import { CannotAuthoriseSelf, UnAuthorized } from "../Errors/GenericErrors.sol";
    /// @title Access Library
    /// @author LI.FI (https://li.fi)
    /// @notice Provides functionality for managing method level access control
    library LibAccess {
    /// Types ///
    bytes32 internal constant NAMESPACE =
    keccak256("com.lifi.library.access.management");
    /// Storage ///
    struct AccessStorage {
    mapping(bytes4 => mapping(address => bool)) execAccess;
    }
    /// Events ///
    event AccessGranted(address indexed account, bytes4 indexed method);
    event AccessRevoked(address indexed account, bytes4 indexed method);
    /// @dev Fetch local storage
    function accessStorage()
    internal
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 4 of 7 : LibAllowList.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    /// @custom:version 1.0.0
    pragma solidity ^0.8.17;
    import { InvalidContract } from "../Errors/GenericErrors.sol";
    /// @title Lib Allow List
    /// @author LI.FI (https://li.fi)
    /// @notice Library for managing and accessing the conract address allow list
    library LibAllowList {
    /// Storage ///
    bytes32 internal constant NAMESPACE =
    keccak256("com.lifi.library.allow.list");
    struct AllowListStorage {
    mapping(address => bool) allowlist;
    mapping(bytes4 => bool) selectorAllowList;
    address[] contracts;
    }
    /// @dev Adds a contract address to the allow list
    /// @param _contract the contract address to add
    function addAllowedContract(address _contract) internal {
    _checkAddress(_contract);
    AllowListStorage storage als = _getStorage();
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 5 of 7 : GenericErrors.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    /// @custom:version 1.0.0
    pragma solidity ^0.8.17;
    error AlreadyInitialized();
    error CannotAuthoriseSelf();
    error CannotBridgeToSameNetwork();
    error ContractCallNotAllowed();
    error CumulativeSlippageTooHigh(uint256 minAmount, uint256 receivedAmount);
    error DiamondIsPaused();
    error ExternalCallFailed();
    error FunctionDoesNotExist();
    error InformationMismatch();
    error InsufficientBalance(uint256 required, uint256 balance);
    error InvalidAmount();
    error InvalidCallData();
    error InvalidConfig();
    error InvalidContract();
    error InvalidDestinationChain();
    error InvalidFallbackAddress();
    error InvalidReceiver();
    error InvalidSendingToken();
    error NativeAssetNotSupported();
    error NativeAssetTransferFailed();
    error NoSwapDataProvided();
    error NoSwapFromZeroBalance();
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 6 of 7 : LibUtil.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    /// @custom:version 1.0.0
    pragma solidity ^0.8.17;
    import "./LibBytes.sol";
    library LibUtil {
    using LibBytes for bytes;
    function getRevertMsg(
    bytes memory _res
    ) internal pure returns (string memory) {
    // If the _res length is less than 68, then the transaction failed silently (without a revert message)
    if (_res.length < 68) return "Transaction reverted silently";
    bytes memory revertData = _res.slice(4, _res.length - 4); // Remove the selector which is the first 4 bytes
    return abi.decode(revertData, (string)); // All that remains is the revert string
    }
    /// @notice Determines whether the given address is the zero address
    /// @param addr The address to verify
    /// @return Boolean indicating if the address is the zero address
    function isZeroAddress(address addr) internal pure returns (bool) {
    return addr == address(0);
    }
    function revertWith(bytes memory data) internal pure {
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 7 of 7 : LibBytes.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    /// @custom:version 1.0.0
    pragma solidity ^0.8.17;
    library LibBytes {
    // solhint-disable no-inline-assembly
    // LibBytes specific errors
    error SliceOverflow();
    error SliceOutOfBounds();
    error AddressOutOfBounds();
    bytes16 private constant _SYMBOLS = "0123456789abcdef";
    // -------------------------
    function slice(
    bytes memory _bytes,
    uint256 _start,
    uint256 _length
    ) internal pure returns (bytes memory) {
    if (_length + 31 < _length) revert SliceOverflow();
    if (_bytes.length < _start + _length) revert SliceOutOfBounds();
    bytes memory tempBytes;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Settings
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    {
    "remappings": [
    "@eth-optimism/=node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/",
    "@uniswap/=node_modules/@uniswap/",
    "eth-gas-reporter/=node_modules/eth-gas-reporter/",
    "hardhat/=node_modules/hardhat/",
    "hardhat-deploy/=node_modules/hardhat-deploy/",
    "@openzeppelin/=lib/openzeppelin-contracts/",
    "celer-network/=lib/sgn-v2-contracts/",
    "create3-factory/=lib/create3-factory/src/",
    "solmate/=lib/solmate/src/",
    "solady/=lib/solady/src/",
    "permit2/=lib/Permit2/src/",
    "ds-test/=lib/ds-test/src/",
    "forge-std/=lib/forge-std/src/",
    "lifi/=src/",
    "test/=test/",
    "Permit2/=lib/Permit2/",
    "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
    "forge-gas-snapshot/=lib/Permit2/lib/forge-gas-snapshot/src/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/",
    "openzeppelin/=lib/openzeppelin-contracts/contracts/",
    "sgn-v2-contracts/=lib/sgn-v2-contracts/contracts/"
    ],
    "optimizer": {
    "enabled": true,
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Contract Security Audit

    Contract ABI

    API
    [{"inputs":[],"name":"CannotAuthoriseSelf","type":"error"},{"inputs":[],"name":"InvalidContract","type":"error"},{"inputs":[],"name":"UnAuthorized","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"dexAddress","type":"address"}],"name":"DexAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"dexAddress","type":"address"}],"name":"DexRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes4","name":"functionSignature","type":"bytes4"},{"indexed":true,"internalType":"bool","name":"approved","type":"bool"}],"name":"FunctionSignatureApprovalChanged","type":"event"},{"inputs":[{"internalType":"address","name":"_dex","type":"address"}],"name":"addDex","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"approvedDexs","outputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_dexs","type":"address[]"}],"name":"batchAddDex","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_dexs","type":"address[]"}],"name":"batchRemoveDex","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4[]","name":"_signatures","type":"bytes4[]"},{"internalType":"bool","name":"_approval","type":"bool"}],"name":"batchSetFunctionApprovalBySignature","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_signature","type":"bytes4"}],"name":"isFunctionApproved","outputs":[{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_dex","type":"address"}],"name":"removeDex","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_signature","type":"bytes4"},{"internalType":"bool","name":"_approval","type":"bool"}],"name":"setFunctionApprovalBySignature","outputs":[],"stateMutability":"nonpayable","type":"function"}]

    608060405234801561001057600080fd5b50610f97806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80639afc19c71161005b5780639afc19c7146100f0578063c3a6a96b14610103578063fbb2d38114610116578063fcd8e49e1461012b57600080fd5b8063124f1ead1461008d5780632d2506a9146100a257806344e2b18c146100ca578063536db266146100dd575b600080fd5b6100a061009b366004610c7d565b61013e565b005b6100b56100b0366004610cef565b6101d1565b60405190151581526020015b60405180910390f35b6100a06100d8366004610d66565b61022c565b6100a06100eb366004610c7d565b610327565b6100a06100fe366004610dba565b6103ba565b6100a0610111366004610dfc565b6104b2565b61011e61056a565b6040516100c19190610e2f565b6100a0610139366004610dba565b610579565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c13205473ffffffffffffffffffffffffffffffffffffffff163314610184576101846106eb565b61018d8161078b565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f78e0a2ffcdfbbb49ba5c8050d8630fab2176d825e8360809db049cd98f462a7890600090a250565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081527f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1f602052604081205460ff165b92915050565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c13205473ffffffffffffffffffffffffffffffffffffffff163314610272576102726106eb565b8160005b8181101561032057600085858381811061029257610292610e89565b90506020020160208101906102a79190610cef565b905083156102bd576102b8816109af565b6102c6565b6102c681610a39565b604051841515907fffffffff000000000000000000000000000000000000000000000000000000008316907f9167f6a23d52a4522e9211205d62ce63f02d928227ae0fe00326f51e152a3c4590600090a350600101610276565b5050505050565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c13205473ffffffffffffffffffffffffffffffffffffffff16331461036d5761036d6106eb565b61037681610a61565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f7e0058dd0cbc0a8b7beaa013a4825655d8e9e81a5e2cc6582818deded0a41b9990600090a250565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c13205473ffffffffffffffffffffffffffffffffffffffff163314610400576104006106eb565b8060005b818110156104ac5761043b84848381811061042157610421610e89565b90506020020160208101906104369190610c7d565b61078b565b83838281811061044d5761044d610e89565b90506020020160208101906104629190610c7d565b73ffffffffffffffffffffffffffffffffffffffff167f78e0a2ffcdfbbb49ba5c8050d8630fab2176d825e8360809db049cd98f462a7860405160405180910390a2600101610404565b50505050565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c13205473ffffffffffffffffffffffffffffffffffffffff1633146104f8576104f86106eb565b801561050c57610507826109af565b610515565b61051582610a39565b604051811515907fffffffff000000000000000000000000000000000000000000000000000000008416907f9167f6a23d52a4522e9211205d62ce63f02d928227ae0fe00326f51e152a3c4590600090a35050565b6060610574610b4e565b905090565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c13205473ffffffffffffffffffffffffffffffffffffffff1633146105bf576105bf6106eb565b8060005b818110156104ac5760008484838181106105df576105df610e89565b90506020020160208101906105f49190610c7d565b90503073ffffffffffffffffffffffffffffffffffffffff821603610645576040517fa9cefcae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081527f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1e602052604090205460ff161561069857506105c3565b6106a181610a61565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f7e0058dd0cbc0a8b7beaa013a4825655d8e9e81a5e2cc6582818deded0a41b9990600090a2506001016105c3565b600080357fffffffff000000000000000000000000000000000000000000000000000000001681527fdf05114fe8fad5d7cd2d71c5651effc2a4c21f13ee8b4a462e2a3bd4e140c73e6020818152604080842033855290915290912054600160ff909116151514610788576040517fbe24598300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1e602081905260409091205460ff166107de575050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260208290526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556002820154905b818110156104ac578373ffffffffffffffffffffffffffffffffffffffff1683600201828154811061086457610864610e89565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff160361099d576002830161089a600184610ee7565b815481106108aa576108aa610e89565b60009182526020909120015460028401805473ffffffffffffffffffffffffffffffffffffffff90921691839081106108e5576108e5610e89565b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260020180548061094057610940610efa565b60008281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690550190556104ac565b806109a781610f29565b915050610830565b60017f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1e5b7fffffffff000000000000000000000000000000000000000000000000000000009290921660009081526001909201602052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60007f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1e6109d3565b610a6a81610bdf565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1e602081905260409091205460ff1615610abe575050565b73ffffffffffffffffffffffffffffffffffffffff909116600081815260208381526040822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556002909401805494850181558252902090910180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055565b60607f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1e600201805480602002602001604051908101604052809291908181526020018280548015610bd557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610baa575b5050505050905090565b73ffffffffffffffffffffffffffffffffffffffff8116610c2c576040517f6eefed2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163b600003610788576040517f6eefed2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060208284031215610c8f57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610cb357600080fd5b9392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114610cea57600080fd5b919050565b600060208284031215610d0157600080fd5b610cb382610cba565b60008083601f840112610d1c57600080fd5b50813567ffffffffffffffff811115610d3457600080fd5b6020830191508360208260051b8501011115610d4f57600080fd5b9250929050565b80358015158114610cea57600080fd5b600080600060408486031215610d7b57600080fd5b833567ffffffffffffffff811115610d9257600080fd5b610d9e86828701610d0a565b9094509250610db1905060208501610d56565b90509250925092565b60008060208385031215610dcd57600080fd5b823567ffffffffffffffff811115610de457600080fd5b610df085828601610d0a565b90969095509350505050565b60008060408385031215610e0f57600080fd5b610e1883610cba565b9150610e2660208401610d56565b90509250929050565b6020808252825182820181905260009190848201906040850190845b81811015610e7d57835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101610e4b565b50909695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561022657610226610eb8565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610f5a57610f5a610eb8565b506001019056fea2646970667358221220a2f6914df3835fb852a5e304efd1c0df1a0a680609202acf9a99ced14e33516f64736f6c63430008110033

    Deployed Bytecode

    0x608060405234801561001057600080fd5b50600436106100885760003560e01c80639afc19c71161005b5780639afc19c7146100f0578063c3a6a96b14610103578063fbb2d38114610116578063fcd8e49e1461012b57600080fd5b8063124f1ead1461008d5780632d2506a9146100a257806344e2b18c146100ca578063536db266146100dd575b600080fd5b6100a061009b366004610c7d565b61013e565b005b6100b56100b0366004610cef565b6101d1565b60405190151581526020015b60405180910390f35b6100a06100d8366004610d66565b61022c565b6100a06100eb366004610c7d565b610327565b6100a06100fe366004610dba565b6103ba565b6100a0610111366004610dfc565b6104b2565b61011e61056a565b6040516100c19190610e2f565b6100a0610139366004610dba565b610579565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c13205473ffffffffffffffffffffffffffffffffffffffff163314610184576101846106eb565b61018d8161078b565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f78e0a2ffcdfbbb49ba5c8050d8630fab2176d825e8360809db049cd98f462a7890600090a250565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081527f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1f602052604081205460ff165b92915050565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c13205473ffffffffffffffffffffffffffffffffffffffff163314610272576102726106eb565b8160005b8181101561032057600085858381811061029257610292610e89565b90506020020160208101906102a79190610cef565b905083156102bd576102b8816109af565b6102c6565b6102c681610a39565b604051841515907fffffffff000000000000000000000000000000000000000000000000000000008316907f9167f6a23d52a4522e9211205d62ce63f02d928227ae0fe00326f51e152a3c4590600090a350600101610276565b5050505050565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c13205473ffffffffffffffffffffffffffffffffffffffff16331461036d5761036d6106eb565b61037681610a61565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f7e0058dd0cbc0a8b7beaa013a4825655d8e9e81a5e2cc6582818deded0a41b9990600090a250565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c13205473ffffffffffffffffffffffffffffffffffffffff163314610400576104006106eb565b8060005b818110156104ac5761043b84848381811061042157610421610e89565b90506020020160208101906104369190610c7d565b61078b565b83838281811061044d5761044d610e89565b90506020020160208101906104629190610c7d565b73ffffffffffffffffffffffffffffffffffffffff167f78e0a2ffcdfbbb49ba5c8050d8630fab2176d825e8360809db049cd98f462a7860405160405180910390a2600101610404565b50505050565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c13205473ffffffffffffffffffffffffffffffffffffffff1633146104f8576104f86106eb565b801561050c57610507826109af565b610515565b61051582610a39565b604051811515907fffffffff000000000000000000000000000000000000000000000000000000008416907f9167f6a23d52a4522e9211205d62ce63f02d928227ae0fe00326f51e152a3c4590600090a35050565b6060610574610b4e565b905090565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c13205473ffffffffffffffffffffffffffffffffffffffff1633146105bf576105bf6106eb565b8060005b818110156104ac5760008484838181106105df576105df610e89565b90506020020160208101906105f49190610c7d565b90503073ffffffffffffffffffffffffffffffffffffffff821603610645576040517fa9cefcae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081527f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1e602052604090205460ff161561069857506105c3565b6106a181610a61565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f7e0058dd0cbc0a8b7beaa013a4825655d8e9e81a5e2cc6582818deded0a41b9990600090a2506001016105c3565b600080357fffffffff000000000000000000000000000000000000000000000000000000001681527fdf05114fe8fad5d7cd2d71c5651effc2a4c21f13ee8b4a462e2a3bd4e140c73e6020818152604080842033855290915290912054600160ff909116151514610788576040517fbe24598300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1e602081905260409091205460ff166107de575050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260208290526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556002820154905b818110156104ac578373ffffffffffffffffffffffffffffffffffffffff1683600201828154811061086457610864610e89565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff160361099d576002830161089a600184610ee7565b815481106108aa576108aa610e89565b60009182526020909120015460028401805473ffffffffffffffffffffffffffffffffffffffff90921691839081106108e5576108e5610e89565b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260020180548061094057610940610efa565b60008281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690550190556104ac565b806109a781610f29565b915050610830565b60017f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1e5b7fffffffff000000000000000000000000000000000000000000000000000000009290921660009081526001909201602052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60007f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1e6109d3565b610a6a81610bdf565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1e602081905260409091205460ff1615610abe575050565b73ffffffffffffffffffffffffffffffffffffffff909116600081815260208381526040822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556002909401805494850181558252902090910180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055565b60607f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1e600201805480602002602001604051908101604052809291908181526020018280548015610bd557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610baa575b5050505050905090565b73ffffffffffffffffffffffffffffffffffffffff8116610c2c576040517f6eefed2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163b600003610788576040517f6eefed2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060208284031215610c8f57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610cb357600080fd5b9392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114610cea57600080fd5b919050565b600060208284031215610d0157600080fd5b610cb382610cba565b60008083601f840112610d1c57600080fd5b50813567ffffffffffffffff811115610d3457600080fd5b6020830191508360208260051b8501011115610d4f57600080fd5b9250929050565b80358015158114610cea57600080fd5b600080600060408486031215610d7b57600080fd5b833567ffffffffffffffff811115610d9257600080fd5b610d9e86828701610d0a565b9094509250610db1905060208501610d56565b90509250925092565b60008060208385031215610dcd57600080fd5b823567ffffffffffffffff811115610de457600080fd5b610df085828601610d0a565b90969095509350505050565b60008060408385031215610e0f57600080fd5b610e1883610cba565b9150610e2660208401610d56565b90509250929050565b6020808252825182820181905260009190848201906040850190845b81811015610e7d57835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101610e4b565b50909695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561022657610226610eb8565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610f5a57610f5a610eb8565b506001019056fea2646970667358221220a2f6914df3835fb852a5e304efd1c0df1a0a680609202acf9a99ced14e33516f64736f6c63430008110033

    Block Age Transaction Difficulty Gas Used Reward
    View All Blocks Produced

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

    Validator Index Block Age Amount
    View All Withdrawals

    Transaction Hash Block Age 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.