AVAX Price: $22.89 (+13.08%)
Gas: 1 nAVAX
 

Multichain Info

Transaction Hash
Method
Block
From
To
0x14d08fca607864862025-04-23 8:52:5518 secs ago1745398375IN
0x69460570...25f0Ca22d
0 AVAX0.000080070.10937634
0x14d08fca607850542025-04-23 8:20:0733 mins ago1745396407IN
0x69460570...25f0Ca22d
0.29611058 AVAX0.000074490.11152628
0xa5a11ab4607821602025-04-23 7:13:571 hr ago1745392437IN
0x69460570...25f0Ca22d
0.14265071 AVAX0.011512447.8310292
0x14d08fca607804122025-04-23 6:34:182 hrs ago1745390058IN
0x69460570...25f0Ca22d
4.04828592 AVAX0.00009970.17847553
0x14d08fca607799592025-04-23 6:24:022 hrs ago1745389442IN
0x69460570...25f0Ca22d
0.32554398 AVAX0.000062470.111776
0x14d08fca607775682025-04-23 5:27:503 hrs ago1745386070IN
0x69460570...25f0Ca22d
0 AVAX0.000076830.11646535
0x14d08fca607770792025-04-23 5:17:113 hrs ago1745385431IN
0x69460570...25f0Ca22d
0.46 AVAX0.000643561.01
0x14d08fca607770772025-04-23 5:17:093 hrs ago1745385429IN
0x69460570...25f0Ca22d
0.46 AVAX0.000140350.22644451
0x14d08fca607764822025-04-23 5:04:183 hrs ago1745384658IN
0x69460570...25f0Ca22d
0.24812641 AVAX0.000182260.31478109
0xb6ba374a607763732025-04-23 5:01:563 hrs ago1745384516IN
0x69460570...25f0Ca22d
0.03590157 AVAX0.000184960.31602443
0x14d08fca607762552025-04-23 4:59:223 hrs ago1745384362IN
0x69460570...25f0Ca22d
20 AVAX0.00009990.18374075
0xb6ba374a607761612025-04-23 4:57:313 hrs ago1745384251IN
0x69460570...25f0Ca22d
0.03763957 AVAX0.000077870.13304388
0x14d08fca607757212025-04-23 4:47:394 hrs ago1745383659IN
0x69460570...25f0Ca22d
0 AVAX0.0317702845.75879558
0x14d08fca607757142025-04-23 4:47:294 hrs ago1745383649IN
0x69460570...25f0Ca22d
0 AVAX0.0258636945.75879558
0x14d08fca607756812025-04-23 4:46:474 hrs ago1745383607IN
0x69460570...25f0Ca22d
0 AVAX0.003139858.31533254
0x14d08fca607756602025-04-23 4:46:134 hrs ago1745383573IN
0x69460570...25f0Ca22d
0 AVAX0.000475480.92767579
0x14d08fca607754872025-04-23 4:42:194 hrs ago1745383339IN
0x69460570...25f0Ca22d
0.253 AVAX0.0070920711.25183307
0x14d08fca607753082025-04-23 4:37:404 hrs ago1745383060IN
0x69460570...25f0Ca22d
0.25 AVAX0.002016373.68654911
0x14d08fca607746042025-04-23 4:21:014 hrs ago1745382061IN
0x69460570...25f0Ca22d
0.21 AVAX0.000521860.92440877
0x14d08fca607742902025-04-23 4:13:254 hrs ago1745381605IN
0x69460570...25f0Ca22d
0.45 AVAX0.000091670.14790695
0x14d08fca607742882025-04-23 4:13:224 hrs ago1745381602IN
0x69460570...25f0Ca22d
0.45 AVAX0.000091420.14749501
0x14d08fca607741262025-04-23 4:09:544 hrs ago1745381394IN
0x69460570...25f0Ca22d
0.3 AVAX0.00211233.74136526
0x14d08fca607728142025-04-23 3:39:145 hrs ago1745379554IN
0x69460570...25f0Ca22d
2.24 AVAX0.000073580.11936502
0x14d08fca607712702025-04-23 3:01:485 hrs ago1745377308IN
0x69460570...25f0Ca22d
0 AVAX0.000269780.39838438
0x14d08fca607702042025-04-23 2:37:496 hrs ago1745375869IN
0x69460570...25f0Ca22d
34.6 AVAX0.000077490.10705745
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
607850542025-04-23 8:20:0733 mins ago1745396407
0x69460570...25f0Ca22d
0.00000001 AVAX
607850542025-04-23 8:20:0733 mins ago1745396407
0x69460570...25f0Ca22d
0.29403779 AVAX
607850542025-04-23 8:20:0733 mins ago1745396407
0x69460570...25f0Ca22d
0.00207277 AVAX
607821602025-04-23 7:13:571 hr ago1745392437
0x69460570...25f0Ca22d
0.04310003 AVAX
607821602025-04-23 7:13:571 hr ago1745392437
0x69460570...25f0Ca22d
0.09940134 AVAX
607821602025-04-23 7:13:571 hr ago1745392437
0x69460570...25f0Ca22d
0.00014932 AVAX
607804122025-04-23 6:34:182 hrs ago1745390058
0x69460570...25f0Ca22d
0.00000001 AVAX
607804122025-04-23 6:34:182 hrs ago1745390058
0x69460570...25f0Ca22d
4.01994791 AVAX
607804122025-04-23 6:34:182 hrs ago1745390058
0x69460570...25f0Ca22d
0.028338 AVAX
607799592025-04-23 6:24:022 hrs ago1745389442
0x69460570...25f0Ca22d
0.00000001 AVAX
607799592025-04-23 6:24:022 hrs ago1745389442
0x69460570...25f0Ca22d
0.32326517 AVAX
607799592025-04-23 6:24:022 hrs ago1745389442
0x69460570...25f0Ca22d
0.0022788 AVAX
607783532025-04-23 5:46:153 hrs ago1745387175
0x69460570...25f0Ca22d
0.0249375 AVAX
607783532025-04-23 5:46:153 hrs ago1745387175
0x69460570...25f0Ca22d
0.000025 AVAX
607783532025-04-23 5:46:153 hrs ago1745387175
0x69460570...25f0Ca22d
0.0000375 AVAX
607783532025-04-23 5:46:153 hrs ago1745387175
0x69460570...25f0Ca22d
0.04027644 AVAX
607770792025-04-23 5:17:113 hrs ago1745385431
0x69460570...25f0Ca22d
0.00000001 AVAX
607770792025-04-23 5:17:113 hrs ago1745385431
0x69460570...25f0Ca22d
0.45884999 AVAX
607770792025-04-23 5:17:113 hrs ago1745385431
0x69460570...25f0Ca22d
0.00046 AVAX
607770792025-04-23 5:17:113 hrs ago1745385431
0x69460570...25f0Ca22d
0.00069 AVAX
607770772025-04-23 5:17:093 hrs ago1745385429
0x69460570...25f0Ca22d
0.00000001 AVAX
607770772025-04-23 5:17:093 hrs ago1745385429
0x69460570...25f0Ca22d
0.45884999 AVAX
607770772025-04-23 5:17:093 hrs ago1745385429
0x69460570...25f0Ca22d
0.00046 AVAX
607770772025-04-23 5:17:093 hrs ago1745385429
0x69460570...25f0Ca22d
0.00069 AVAX
607764822025-04-23 5:04:183 hrs ago1745384658
0x69460570...25f0Ca22d
0.00000001 AVAX
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xA9cfF28f...6bA983c64
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
RangoDiamond

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 10000 runs

Other Settings:
default evmVersion
File 1 of 3 : RangoDiamond.sol
// SPDX-License-Identifier: LGPL-3.0-only
pragma solidity 0.8.16;

import { LibDiamond } from "../libraries/LibDiamond.sol";
import { IDiamondCut } from "../interfaces/IDiamondCut.sol";

contract RangoDiamond {
    constructor(address _contractOwner, address _diamondCutFacet) payable {
        LibDiamond.setContractOwner(_contractOwner);

        // Add the diamondCut external function from the diamondCutFacet
        IDiamondCut.FacetCut[] memory cut = new IDiamondCut.FacetCut[](1);
        bytes4[] memory functionSelectors = new bytes4[](1);
        functionSelectors[0] = IDiamondCut.diamondCut.selector;
        cut[0] = IDiamondCut.FacetCut({
            facetAddress: _diamondCutFacet,
            action: IDiamondCut.FacetCutAction.Add,
            functionSelectors: functionSelectors
        });
        LibDiamond.diamondCut(cut, address(0), "");
    }

    // Find facet for function that is called and execute the
    // function if a facet is found and return any value.
    // solhint-disable-next-line no-complex-fallback
    fallback() external payable {
        LibDiamond.DiamondStorage storage ds;
        bytes32 position = LibDiamond.DIAMOND_STORAGE_POSITION;

        // get diamond storage
        // solhint-disable-next-line no-inline-assembly
        assembly {
            ds.slot := position
        }

        // get facet from function selector
        address facet = ds.selectorToFacetAndPosition[msg.sig].facetAddress;

        if (facet == address(0)) {
            revert LibDiamond.FunctionDoesNotExist();
        }

        // Execute external function from facet using delegatecall and return any value.
        // solhint-disable-next-line no-inline-assembly
        assembly {
            // copy function selector and any arguments
            calldatacopy(0, 0, calldatasize())
            // execute function call using the facet
            let result := delegatecall(gas(), facet, 0, calldatasize(), 0, 0)
            // get any return value
            returndatacopy(0, 0, returndatasize())
            // return any return value or error back to the caller
            switch result
            case 0 {
                revert(0, returndatasize())
            }
            default {
                return(0, returndatasize())
            }
        }
    }

    // Able to receive ether
    // solhint-disable-next-line no-empty-blocks
    receive() external payable {}
}

File 2 of 3 : IDiamondCut.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.16;

interface IDiamondCut {
    enum FacetCutAction {
        Add,
        Replace,
        Remove
    }
    // Add=0, Replace=1, Remove=2

    struct FacetCut {
        address facetAddress;
        FacetCutAction action;
        bytes4[] functionSelectors;
    }

    /// @notice Add/replace/remove any number of functions and optionally execute
    ///         a function with delegatecall
    /// @param _diamondCut Contains the facet addresses and function selectors
    /// @param _init The address of the contract or facet to execute _calldata
    /// @param _calldata A function call, including function selector and arguments
    ///                  _calldata is executed with delegatecall on _init
    function diamondCut(
        FacetCut[] calldata _diamondCut,
        address _init,
        bytes calldata _calldata
    ) external;

    event DiamondCut(FacetCut[] _diamondCut, address _init, bytes _calldata);
}

File 3 of 3 : LibDiamond.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.16;

import { IDiamondCut } from "../interfaces/IDiamondCut.sol";

/// Implementation of EIP-2535 Diamond Standard
/// https://eips.ethereum.org/EIPS/eip-2535
library LibDiamond {
    /// @dev keccak256("diamond.standard.diamond.storage");
    bytes32 internal constant DIAMOND_STORAGE_POSITION = hex"c8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c";

    // Diamond specific errors
    error IncorrectFacetCutAction();
    error NoSelectorsInFacet();
    error FunctionAlreadyExists();
    error FacetAddressIsZero();
    error FacetAddressIsNotZero();
    error FacetContainsNoCode();
    error FunctionDoesNotExist();
    error FunctionIsImmutable();
    error InitZeroButCalldataNotEmpty();
    error CalldataEmptyButInitNotZero();
    error InitReverted();
    // ----------------

    struct FacetAddressAndPosition {
        address facetAddress;
        uint96 functionSelectorPosition; // position in facetFunctionSelectors.functionSelectors array
    }

    struct FacetFunctionSelectors {
        bytes4[] functionSelectors;
        uint256 facetAddressPosition; // position of facetAddress in facetAddresses array
    }

    struct DiamondStorage {
        // maps function selector to the facet address and
        // the position of the selector in the facetFunctionSelectors.selectors array
        mapping(bytes4 => FacetAddressAndPosition) selectorToFacetAndPosition;
        // maps facet addresses to function selectors
        mapping(address => FacetFunctionSelectors) facetFunctionSelectors;
        // facet addresses
        address[] facetAddresses;
        // Used to query if a contract implements an interface.
        // Used to implement ERC-165.
        mapping(bytes4 => bool) supportedInterfaces;
        // owner of the contract
        address contractOwner;
    }

    function diamondStorage() internal pure returns (DiamondStorage storage ds) {
        bytes32 position = DIAMOND_STORAGE_POSITION;
        // solhint-disable-next-line no-inline-assembly
        assembly {
            ds.slot := position
        }
    }

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    function setContractOwner(address _newOwner) internal {
        DiamondStorage storage ds = diamondStorage();
        address previousOwner = ds.contractOwner;
        ds.contractOwner = _newOwner;
        emit OwnershipTransferred(previousOwner, _newOwner);
    }

    function contractOwner() internal view returns (address contractOwner_) {
        contractOwner_ = diamondStorage().contractOwner;
    }

    function enforceIsContractOwner() internal view {
        require(msg.sender == diamondStorage().contractOwner, "LibDiamond: Must be contract owner");
    }

    event DiamondCut(IDiamondCut.FacetCut[] _diamondCut, address _init, bytes _calldata);

    // Internal function version of diamondCut
    function diamondCut(
        IDiamondCut.FacetCut[] memory _diamondCut,
        address _init,
        bytes memory _calldata
    ) internal {
        for (uint256 facetIndex; facetIndex < _diamondCut.length; ) {
            IDiamondCut.FacetCutAction action = _diamondCut[facetIndex].action;
            if (action == IDiamondCut.FacetCutAction.Add) {
                addFunctions(_diamondCut[facetIndex].facetAddress, _diamondCut[facetIndex].functionSelectors);
            } else if (action == IDiamondCut.FacetCutAction.Replace) {
                replaceFunctions(_diamondCut[facetIndex].facetAddress, _diamondCut[facetIndex].functionSelectors);
            } else if (action == IDiamondCut.FacetCutAction.Remove) {
                removeFunctions(_diamondCut[facetIndex].facetAddress, _diamondCut[facetIndex].functionSelectors);
            } else {
                revert IncorrectFacetCutAction();
            }
            unchecked {
                ++facetIndex;
            }
        }
        emit DiamondCut(_diamondCut, _init, _calldata);
        initializeDiamondCut(_init, _calldata);
    }

    function addFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal {
        if (_facetAddress == address(0)) {
            revert FacetAddressIsZero();
        }
        if (_functionSelectors.length == 0) {
            revert NoSelectorsInFacet();
        }
        DiamondStorage storage ds = diamondStorage();
        uint96 selectorPosition = uint96(ds.facetFunctionSelectors[_facetAddress].functionSelectors.length);
        // add new facet address if it does not exist
        if (selectorPosition == 0) {
            addFacet(ds, _facetAddress);
        }
        for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; ) {
            bytes4 selector = _functionSelectors[selectorIndex];
            address oldFacetAddress = ds.selectorToFacetAndPosition[selector].facetAddress;
            if (oldFacetAddress != address(0)) {
                revert FunctionAlreadyExists();
            }
            addFunction(ds, selector, selectorPosition, _facetAddress);
            unchecked {
                ++selectorPosition;
                ++selectorIndex;
            }
        }
    }

    function replaceFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal {
        if (_functionSelectors.length == 0) {
            revert NoSelectorsInFacet();
        }
        if (_facetAddress == address(0)) {
            revert FacetAddressIsZero();
        }
        DiamondStorage storage ds = diamondStorage();
        uint96 selectorPosition = uint96(ds.facetFunctionSelectors[_facetAddress].functionSelectors.length);
        // add new facet address if it does not exist
        if (selectorPosition == 0) {
            addFacet(ds, _facetAddress);
        }
        for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; ) {
            bytes4 selector = _functionSelectors[selectorIndex];
            address oldFacetAddress = ds.selectorToFacetAndPosition[selector].facetAddress;
            if (oldFacetAddress == _facetAddress) {
                revert FunctionAlreadyExists();
            }
            removeFunction(ds, oldFacetAddress, selector);
            addFunction(ds, selector, selectorPosition, _facetAddress);
            unchecked {
                ++selectorPosition;
                ++selectorIndex;
            }
        }
    }

    function removeFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal {
        if (_functionSelectors.length == 0) {
            revert NoSelectorsInFacet();
        }
        DiamondStorage storage ds = diamondStorage();
        // if function does not exist then do nothing and return
        if (_facetAddress != address(0)) {
            revert FacetAddressIsNotZero();
        }
        for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; ) {
            bytes4 selector = _functionSelectors[selectorIndex];
            address oldFacetAddress = ds.selectorToFacetAndPosition[selector].facetAddress;
            removeFunction(ds, oldFacetAddress, selector);
            unchecked {
                ++selectorIndex;
            }
        }
    }

    function addFacet(DiamondStorage storage ds, address _facetAddress) internal {
        enforceHasContractCode(_facetAddress);
        ds.facetFunctionSelectors[_facetAddress].facetAddressPosition = ds.facetAddresses.length;
        ds.facetAddresses.push(_facetAddress);
    }

    function addFunction(
        DiamondStorage storage ds,
        bytes4 _selector,
        uint96 _selectorPosition,
        address _facetAddress
    ) internal {
        ds.selectorToFacetAndPosition[_selector].functionSelectorPosition = _selectorPosition;
        ds.facetFunctionSelectors[_facetAddress].functionSelectors.push(_selector);
        ds.selectorToFacetAndPosition[_selector].facetAddress = _facetAddress;
    }

    function removeFunction(
        DiamondStorage storage ds,
        address _facetAddress,
        bytes4 _selector
    ) internal {
        if (_facetAddress == address(0)) {
            revert FunctionDoesNotExist();
        }
        // an immutable function is a function defined directly in a diamond
        if (_facetAddress == address(this)) {
            revert FunctionIsImmutable();
        }
        // replace selector with last selector, then delete last selector
        uint256 selectorPosition = ds.selectorToFacetAndPosition[_selector].functionSelectorPosition;
        uint256 lastSelectorPosition = ds.facetFunctionSelectors[_facetAddress].functionSelectors.length - 1;
        // if not the same then replace _selector with lastSelector
        if (selectorPosition != lastSelectorPosition) {
            bytes4 lastSelector = ds.facetFunctionSelectors[_facetAddress].functionSelectors[lastSelectorPosition];
            ds.facetFunctionSelectors[_facetAddress].functionSelectors[selectorPosition] = lastSelector;
            ds.selectorToFacetAndPosition[lastSelector].functionSelectorPosition = uint96(selectorPosition);
        }
        // delete the last selector
        ds.facetFunctionSelectors[_facetAddress].functionSelectors.pop();
        delete ds.selectorToFacetAndPosition[_selector];

        // if no more selectors for facet address then delete the facet address
        if (lastSelectorPosition == 0) {
            // replace facet address with last facet address and delete last facet address
            uint256 lastFacetAddressPosition = ds.facetAddresses.length - 1;
            uint256 facetAddressPosition = ds.facetFunctionSelectors[_facetAddress].facetAddressPosition;
            if (facetAddressPosition != lastFacetAddressPosition) {
                address lastFacetAddress = ds.facetAddresses[lastFacetAddressPosition];
                ds.facetAddresses[facetAddressPosition] = lastFacetAddress;
                ds.facetFunctionSelectors[lastFacetAddress].facetAddressPosition = facetAddressPosition;
            }
            ds.facetAddresses.pop();
            delete ds.facetFunctionSelectors[_facetAddress].facetAddressPosition;
        }
    }

    function initializeDiamondCut(address _init, bytes memory _calldata) internal {
        if (_init == address(0)) {
            if (_calldata.length != 0) {
                revert InitZeroButCalldataNotEmpty();
            }
        } else {
            if (_calldata.length == 0) {
                revert CalldataEmptyButInitNotZero();
            }
            if (_init != address(this)) {
                enforceHasContractCode(_init);
            }
            // solhint-disable-next-line avoid-low-level-calls
            (bool success, bytes memory error) = _init.delegatecall(_calldata);
            if (!success) {
                if (error.length > 0) {
                    // bubble up the error
                    revert(string(error));
                } else {
                    revert InitReverted();
                }
            }
        }
    }

    function enforceHasContractCode(address _contract) internal view {
        uint256 contractSize;
        // solhint-disable-next-line no-inline-assembly
        assembly {
            contractSize := extcodesize(_contract)
        }
        if (contractSize == 0) {
            revert FacetContainsNoCode();
        }
    }
}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_contractOwner","type":"address"},{"internalType":"address","name":"_diamondCutFacet","type":"address"}],"stateMutability":"payable","type":"constructor"},{"inputs":[],"name":"CalldataEmptyButInitNotZero","type":"error"},{"inputs":[],"name":"FacetAddressIsNotZero","type":"error"},{"inputs":[],"name":"FacetAddressIsZero","type":"error"},{"inputs":[],"name":"FacetContainsNoCode","type":"error"},{"inputs":[],"name":"FunctionAlreadyExists","type":"error"},{"inputs":[],"name":"FunctionDoesNotExist","type":"error"},{"inputs":[],"name":"FunctionIsImmutable","type":"error"},{"inputs":[],"name":"IncorrectFacetCutAction","type":"error"},{"inputs":[],"name":"InitReverted","type":"error"},{"inputs":[],"name":"InitZeroButCalldataNotEmpty","type":"error"},{"inputs":[],"name":"NoSelectorsInFacet","type":"error"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]

Deployed Bytecode

0x60806040523661000b57005b600080357fffffffff000000000000000000000000000000000000000000000000000000001681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c6020819052604090912054819073ffffffffffffffffffffffffffffffffffffffff16806100ae576040517fa9ad62f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3660008037600080366000845af43d6000803e8080156100cd573d6000f35b3d6000fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c132080547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff8481169182179093556040517fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c939092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b83518110156103225760008482815181106101ac576101ac611149565b6020026020010151602001519050600060028111156101cd576101cd611178565b8160028111156101df576101df611178565b0361022d576102288583815181106101f9576101f9611149565b60200260200101516000015186848151811061021757610217611149565b60200260200101516040015161036d565b610319565b600181600281111561024157610241611178565b0361028a5761022885838151811061025b5761025b611149565b60200260200101516000015186848151811061027957610279611149565b60200260200101516040015161062a565b600281600281111561029e5761029e611178565b036102e7576102288583815181106102b8576102b8611149565b6020026020010151600001518684815181106102d6576102d6611149565b6020026020010151604001516108f0565b6040517fe548e6b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060010161018f565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161035693929190611215565b60405180910390a16103688282610a2c565b505050565b73ffffffffffffffffffffffffffffffffffffffff82166103ba576040517fc68ec83a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80516000036103f5576040517f92d2fe5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d60205260408120547fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c916bffffffffffffffffffffffff8216900361047b5761047b8285610bcd565b60005b835181101561062357600084828151811061049b5761049b611149565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529186905260409091205490915073ffffffffffffffffffffffffffffffffffffffff16801561052a576040517fa023275d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffff000000000000000000000000000000000000000000000000000000008216600081815260208781526040808320805473ffffffffffffffffffffffffffffffffffffffff908116740100000000000000000000000000000000000000006bffffffffffffffffffffffff8c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281547fffffffffffffffffffffffff00000000000000000000000000000000000000001617905550506001918201910161047e565b5050505050565b8051600003610665576040517f92d2fe5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166106b2576040517fc68ec83a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d60205260408120547fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c916bffffffffffffffffffffffff82169003610738576107388285610bcd565b60005b835181101561062357600084828151811061075857610758611149565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529186905260409091205490915073ffffffffffffffffffffffffffffffffffffffff90811690871681036107ec576040517fa023275d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107f7858284610c43565b7fffffffff000000000000000000000000000000000000000000000000000000008216600081815260208781526040808320805473ffffffffffffffffffffffffffffffffffffffff908116740100000000000000000000000000000000000000006bffffffffffffffffffffffff8c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281547fffffffffffffffffffffffff00000000000000000000000000000000000000001617905550506001918201910161073b565b805160000361092b576040517f92d2fe5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c73ffffffffffffffffffffffffffffffffffffffff83161561099a576040517f79c9df2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8251811015610a265760008382815181106109ba576109ba611149565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529185905260409091205490915073ffffffffffffffffffffffffffffffffffffffff16610a1c848284610c43565b505060010161099d565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8216610a8457805115610a80576040517f9811686000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b8051600003610abf576040517f4220056600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82163014610ae557610ae58261110c565b6000808373ffffffffffffffffffffffffffffffffffffffff1683604051610b0d919061137d565b600060405180830381855af49150503d8060008114610b48576040519150601f19603f3d011682016040523d82523d6000602084013e610b4d565b606091505b509150915081610a2657805115610b9b57806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b929190611399565b60405180910390fd5b6040517fc53ebed500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bd68161110c565b60028201805473ffffffffffffffffffffffffffffffffffffffff90921660008181526001948501602090815260408220860185905594840183559182529290200180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055565b73ffffffffffffffffffffffffffffffffffffffff8216610c90576040517fa9ad62f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff831603610cdf576040517fc3c5ec3700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081166000908152602084815260408083205473ffffffffffffffffffffffffffffffffffffffff86168452600180880190935290832054740100000000000000000000000000000000000000009091046bffffffffffffffffffffffff169291610d69916113b3565b9050808214610eb05773ffffffffffffffffffffffffffffffffffffffff841660009081526001860160205260408120805483908110610dab57610dab611149565b6000918252602080832060088304015473ffffffffffffffffffffffffffffffffffffffff8916845260018a019091526040909220805460079092166004026101000a90920460e01b925082919085908110610e0957610e09611149565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790557fffffffff0000000000000000000000000000000000000000000000000000000092909216825286905260409020805473ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000006bffffffffffffffffffffffff8516021790555b73ffffffffffffffffffffffffffffffffffffffff841660009081526001860160205260409020805480610ee657610ee66113f3565b6000828152602080822060087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90940193840401805463ffffffff600460078716026101000a0219169055919092557fffffffff000000000000000000000000000000000000000000000000000000008516825286905260408120819055819003610623576002850154600090610f7f906001906113b3565b73ffffffffffffffffffffffffffffffffffffffff8616600090815260018089016020526040909120015490915080821461106d576000876002018381548110610fcb57610fcb611149565b60009182526020909120015460028901805473ffffffffffffffffffffffffffffffffffffffff909216925082918490811061100957611009611149565b600091825260208083209190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff948516179055929091168152600189810190925260409020018190555b86600201805480611080576110806113f3565b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590920190925573ffffffffffffffffffffffffffffffffffffffff88168252600189810190915260408220015550505050505050565b803b6000819003610a80576040517fe350060000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60005b838110156111c25781810151838201526020016111aa565b50506000910152565b600081518084526111e38160208601602086016111a7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b84811015611340577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808a8503018652815188850173ffffffffffffffffffffffffffffffffffffffff825116865284820151600381106112c7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b8083101561132b5783517fffffffff000000000000000000000000000000000000000000000000000000001682529286019260019290920191908601906112e9565b5097850197955050509082019060010161123e565b505073ffffffffffffffffffffffffffffffffffffffff8a1690880152868103604088015261136f81896111cb565b9a9950505050505050505050565b6000825161138f8184602087016111a7565b9190910192915050565b6020815260006113ac60208301846111cb565b9392505050565b818103818111156113ed577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212200331dbf66047b164b6604529cff12ffb7cde5940ac4ae6b71be1ead5cf157c4f64736f6c63430008100033

Block Transaction 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
Chain Token Portfolio % Price Amount Value
ZKSYNC59.59%$1,792.570.00503056$9.02
OPBNB12.72%$615.110.00312995$1.93
ETH5.44%$0.004091201.3467$0.8236
ETH1.53%$0.0000942,453.98$0.2315
ETH0.02%$1,792.570.00000202$0.003618
SCROLL6.57%$1,792.570.000555$0.994874
BSC5.89%$615.110.00144836$0.8909
AVAX3.38%$0.9999550.511$0.5109
AVAX
Avalanche (AVAX)
0.01%$22.890.00007054$0.001615
LINEA2.00%$1,792.570.00016915$0.30322
POL1.87%$0.21861.2925$0.282546
CELO0.56%$0.3306870.2549$0.08429
OP0.25%$1,792.990.00002077$0.037245
ARB0.07%$1,792.630.00000606$0.01087
BASE0.06%$1,795.730.00000542$0.009729
BLAST0.03%$1,792.140.00000275$0.004933
Loading...
Loading
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.