POL Price: $0.209239 (+1.72%)
Gas: 30.5 GWei
 

Overview

POL Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0 POL

POL Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Deposit693603052025-03-22 12:08:3910 hrs ago1742645319IN
0x1fE64677...70fEa1B8c
0 POL0.0040611731.90268242
Batch Harvest693577792025-03-22 10:39:0511 hrs ago1742639945IN
0x1fE64677...70fEa1B8c
0 POL0.0054045839.20000006
Deposit693462572025-03-22 3:49:5718 hrs ago1742615397IN
0x1fE64677...70fEa1B8c
0 POL0.0038313532.72400002
Deposit693462442025-03-22 3:49:2918 hrs ago1742615369IN
0x1fE64677...70fEa1B8c
0 POL0.0043909332.72400002
Batch Harvest693462082025-03-22 3:48:1318 hrs ago1742615293IN
0x1fE64677...70fEa1B8c
0 POL0.0045117232.72400002
Batch Harvest693430032025-03-22 1:52:3720 hrs ago1742608357IN
0x1fE64677...70fEa1B8c
0 POL0.0031726832.61499988
Batch Harvest693399042025-03-22 0:02:1822 hrs ago1742601738IN
0x1fE64677...70fEa1B8c
0 POL0.0070324727.08100004
Batch Harvest693324262025-03-21 19:37:0527 hrs ago1742585825IN
0x1fE64677...70fEa1B8c
0 POL0.0171178865.91839293
Batch Harvest693216172025-03-21 13:13:3733 hrs ago1742562817IN
0x1fE64677...70fEa1B8c
0 POL0.0057110732.00000035
Batch Harvest693086322025-03-21 5:27:4541 hrs ago1742534865IN
0x1fE64677...70fEa1B8c
0 POL0.0042267430.65700002
Batch Harvest693067062025-03-21 4:19:0042 hrs ago1742530740IN
0x1fE64677...70fEa1B8c
0 POL0.0031490332.37182642
Batch Harvest692905592025-03-20 18:46:432 days ago1742496403IN
0x1fE64677...70fEa1B8c
0 POL0.0178726868.82500006
Withdraw692901322025-03-20 18:31:332 days ago1742495493IN
0x1fE64677...70fEa1B8c
0 POL0.0038980531.53865351
Batch Harvest692900182025-03-20 18:27:312 days ago1742495251IN
0x1fE64677...70fEa1B8c
0 POL0.0030280931.12857711
Batch Harvest692896262025-03-20 18:13:372 days ago1742494417IN
0x1fE64677...70fEa1B8c
0 POL0.0045547333.03600002
Batch Harvest692804182025-03-20 12:42:592 days ago1742474579IN
0x1fE64677...70fEa1B8c
0 POL0.0054045839.20000073
Batch Harvest692772492025-03-20 10:49:352 days ago1742467775IN
0x1fE64677...70fEa1B8c
0 POL0.0067803226.11000007
Batch Harvest692724732025-03-20 8:00:132 days ago1742457613IN
0x1fE64677...70fEa1B8c
0 POL0.0064920925.00007695
Batch Harvest692706572025-03-20 6:55:552 days ago1742453755IN
0x1fE64677...70fEa1B8c
0 POL0.0027889328.67000003
Batch Harvest692296022025-03-19 6:25:263 days ago1742365526IN
0x1fE64677...70fEa1B8c
0 POL0.0088938729.61703659
Batch Harvest692295502025-03-19 6:23:343 days ago1742365414IN
0x1fE64677...70fEa1B8c
0 POL0.0029183430.00038793
Batch Harvest692288972025-03-19 6:00:283 days ago1742364028IN
0x1fE64677...70fEa1B8c
0 POL0.0028336129.1293655
Batch Harvest692250992025-03-19 3:45:513 days ago1742355951IN
0x1fE64677...70fEa1B8c
0 POL0.0065005366.82500006
Batch Harvest692115282025-03-18 19:43:464 days ago1742327026IN
0x1fE64677...70fEa1B8c
0 POL0.0069141126.62521867
Withdraw692100052025-03-18 18:49:194 days ago1742323759IN
0x1fE64677...70fEa1B8c
0 POL0.0039255231.76399999
View all transactions

Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

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

Contract Name:
Diamond

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 3 : Diamond.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

/******************************************************************************\
* Author: Nick Mudge <[email protected]> (https://twitter.com/mudgen)
* EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535
*
* Implementation of a diamond.
/******************************************************************************/

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

contract Diamond {
    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.
    fallback() external payable {
        LibDiamond.DiamondStorage storage ds;
        bytes32 position = LibDiamond.DIAMOND_STORAGE_POSITION;
        // get diamond storage
        assembly {
            ds.slot := position
        }
        // get facet from function selector
        address facet = ds.facetAddressAndSelectorPosition[msg.sig].facetAddress;
        require(facet != address(0), "Diamond: Function does not exist");
        // Execute external function from facet using delegatecall and return any value.
        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())
            }
        }
    }

    receive() external payable {}
}

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

/******************************************************************************\
* Author: Nick Mudge <[email protected]> (https://twitter.com/mudgen)
* EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535
/******************************************************************************/
import {IDiamondCut} from "../interfaces/IDiamondCut.sol";

library LibDiamond {
    bytes32 constant DIAMOND_STORAGE_POSITION = keccak256("diamond.standard.diamond.storage");

    struct FacetAddressAndSelectorPosition {
        address facetAddress;
        uint16 selectorPosition;
    }

    struct DiamondStorage {
        // function selector => facet address and selector position in selectors array
        mapping(bytes4 => FacetAddressAndSelectorPosition) facetAddressAndSelectorPosition;
        bytes4[] selectors;
        mapping(bytes4 => bool) supportedInterfaces;
        // owner of the contract
        address contractOwner;
    }

    function diamondStorage() internal pure returns (DiamondStorage storage ds) {
        bytes32 position = DIAMOND_STORAGE_POSITION;
        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; facetIndex++) {
            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("LibDiamondCut: Incorrect FacetCutAction");
            }
        }
        emit DiamondCut(_diamondCut, _init, _calldata);
        initializeDiamondCut(_init, _calldata);
    }

    function addFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal {
        require(_functionSelectors.length > 0, "LibDiamondCut: No selectors in facet to cut");
        DiamondStorage storage ds = diamondStorage();
        uint16 selectorCount = uint16(ds.selectors.length);
        require(_facetAddress != address(0), "LibDiamondCut: Add facet can't be address(0)");
        enforceHasContractCode(_facetAddress, "LibDiamondCut: Add facet has no code");
        for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++) {
            bytes4 selector = _functionSelectors[selectorIndex];
            address oldFacetAddress = ds.facetAddressAndSelectorPosition[selector].facetAddress;
            require(
                oldFacetAddress == address(0),
                "LibDiamondCut: Can't add function that already exists"
            );
            ds.facetAddressAndSelectorPosition[selector] = FacetAddressAndSelectorPosition(
                _facetAddress,
                selectorCount
            );
            ds.selectors.push(selector);
            selectorCount++;
        }
    }

    function replaceFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal {
        require(_functionSelectors.length > 0, "LibDiamondCut: No selectors in facet to cut");
        DiamondStorage storage ds = diamondStorage();
        require(_facetAddress != address(0), "LibDiamondCut: Replace facet can't be address(0)");
        enforceHasContractCode(_facetAddress, "LibDiamondCut: Replace facet has no code");
        for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++) {
            bytes4 selector = _functionSelectors[selectorIndex];
            address oldFacetAddress = ds.facetAddressAndSelectorPosition[selector].facetAddress;
            // can't replace immutable functions -- functions defined directly in the diamond
            require(
                oldFacetAddress != address(this),
                "LibDiamondCut: Can't replace immutable function"
            );
            require(
                oldFacetAddress != _facetAddress,
                "LibDiamondCut: Can't replace function with same function"
            );
            require(
                oldFacetAddress != address(0),
                "LibDiamondCut: Can't replace function that doesn't exist"
            );
            // replace old facet address
            ds.facetAddressAndSelectorPosition[selector].facetAddress = _facetAddress;
        }
    }

    function removeFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal {
        require(_functionSelectors.length > 0, "LibDiamondCut: No selectors in facet to cut");
        DiamondStorage storage ds = diamondStorage();
        uint256 selectorCount = ds.selectors.length;
        require(
            _facetAddress == address(0),
            "LibDiamondCut: Remove facet address must be address(0)"
        );
        for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++) {
            bytes4 selector = _functionSelectors[selectorIndex];
            FacetAddressAndSelectorPosition memory oldFacetAddressAndSelectorPosition = ds
            .facetAddressAndSelectorPosition[selector];
            require(
                oldFacetAddressAndSelectorPosition.facetAddress != address(0),
                "LibDiamondCut: Can't remove function that doesn't exist"
            );
            // can't remove immutable functions -- functions defined directly in the diamond
            require(
                oldFacetAddressAndSelectorPosition.facetAddress != address(this),
                "LibDiamondCut: Can't remove immutable function."
            );
            // replace selector with last selector
            selectorCount--;
            if (oldFacetAddressAndSelectorPosition.selectorPosition != selectorCount) {
                bytes4 lastSelector = ds.selectors[selectorCount];
                ds.selectors[oldFacetAddressAndSelectorPosition.selectorPosition] = lastSelector;
                ds
                .facetAddressAndSelectorPosition[lastSelector]
                .selectorPosition = oldFacetAddressAndSelectorPosition.selectorPosition;
            }
            // delete last selector
            ds.selectors.pop();
            delete ds.facetAddressAndSelectorPosition[selector];
        }
    }

    function initializeDiamondCut(address _init, bytes memory _calldata) internal {
        if (_init == address(0)) {
            require(
                _calldata.length == 0,
                "LibDiamondCut: _init is address(0) but_calldata is not empty"
            );
        } else {
            require(
                _calldata.length > 0,
                "LibDiamondCut: _calldata is empty but _init is not address(0)"
            );
            if (_init != address(this)) {
                enforceHasContractCode(_init, "LibDiamondCut: _init address has no code");
            }
            (bool success, bytes memory error) = _init.delegatecall(_calldata);
            if (!success) {
                if (error.length > 0) {
                    // bubble up the error
                    revert(string(error));
                } else {
                    revert("LibDiamondCut: _init function reverted");
                }
            }
        }
    }

    function enforceHasContractCode(address _contract, string memory _errorMessage) internal view {
        uint256 contractSize;
        assembly {
            contractSize := extcodesize(_contract)
        }
        require(contractSize > 0, _errorMessage);
    }
}

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

/******************************************************************************\
* Author: Nick Mudge <[email protected]> (https://twitter.com/mudgen)
* EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535
/******************************************************************************/

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);
}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_contractOwner","type":"address"},{"internalType":"address","name":"_diamondCutFacet","type":"address"}],"stateMutability":"payable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]

Deployed Bytecode

0x60806040523661000b57005b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c9050809150600082600001600080357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610141576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101389061130a565b60405180910390fd5b3660008037600080366000845af43d6000803e8060008114610162573d6000f35b3d6000fd5b600061017161046d565b905060008160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b60005b835181101561042257600084828151811061025f5761025e61132a565b5b60200260200101516020015190506000600281111561028157610280611359565b5b81600281111561029457610293611359565b5b036102e4576102df8583815181106102af576102ae61132a565b5b6020026020010151600001518684815181106102ce576102cd61132a565b5b60200260200101516040015161049a565b61040e565b600160028111156102f8576102f7611359565b5b81600281111561030b5761030a611359565b5b0361035b576103568583815181106103265761032561132a565b5b6020026020010151600001518684815181106103455761034461132a565b5b602002602001015160400151610802565b61040d565b60028081111561036e5761036d611359565b5b81600281111561038157610380611359565b5b036103d1576103cc85838151811061039c5761039b61132a565b5b6020026020010151600001518684815181106103bb576103ba61132a565b5b602002602001015160400151610b84565b61040c565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610403906113fa565b60405180910390fd5b5b5b50808061041a90611453565b915050610241565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb673838383604051610456939291906117c8565b60405180910390a16104688282611049565b505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60008151116104de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d59061187f565b60405180910390fd5b60006104e861046d565b9050600081600101805490509050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055c90611911565b60405180910390fd5b610587846040518060600160405280602481526020016120c16024913961125b565b60005b83518110156107fb5760008482815181106105a8576105a761132a565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461069c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610693906119a3565b60405180910390fd5b60405180604001604052808873ffffffffffffffffffffffffffffffffffffffff1681526020018561ffff16815250856000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548161ffff021916908361ffff160217905550905050846001018290806001815401808255809150506001900390600052602060002090600891828204019190066004029091909190916101000a81548163ffffffff021916908360e01c021790555083806107e3906119d1565b945050505080806107f390611453565b91505061058a565b5050505050565b6000815111610846576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083d9061187f565b60405180910390fd5b600061085061046d565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b890611a6d565b60405180910390fd5b6108e38360405180606001604052806028815260200161210d6028913961125b565b60005b8251811015610b7e5760008382815181106109045761090361132a565b5b602002602001015190506000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ee90611aff565b60405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5c90611b91565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acb90611c23565b60405180910390fd5b85846000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050508080610b7690611453565b9150506108e6565b50505050565b6000815111610bc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbf9061187f565b60405180910390fd5b6000610bd261046d565b9050600081600101805490509050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614610c4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4690611cb5565b60405180910390fd5b60005b8351811015611042576000848281518110610c7057610c6f61132a565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900461ffff1661ffff1661ffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1603610dc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbc90611d47565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1603610e37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2e90611dd9565b60405180910390fd5b8380610e4290611df9565b94505083816020015161ffff1614610f57576000856001018581548110610e6c57610e6b61132a565b5b90600052602060002090600891828204019190066004029054906101000a900460e01b90508086600101836020015161ffff1681548110610eb057610eaf61132a565b5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c02179055508160200151866000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a81548161ffff021916908361ffff160217905550505b84600101805480610f6b57610f6a611e22565b5b60019003818190600052602060002090600891828204019190066004026101000a81549063ffffffff02191690559055846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a81549061ffff021916905550505050808061103a90611453565b915050610c52565b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110c65760008151146110c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b890611ec3565b60405180910390fd5b611257565b600081511161110a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110190611f55565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146111605761115f826040518060600160405280602881526020016120e56028913961125b565b5b6000808373ffffffffffffffffffffffffffffffffffffffff16836040516111889190611fb1565b600060405180830381855af49150503d80600081146111c3576040519150601f19603f3d011682016040523d82523d6000602084013e6111c8565b606091505b5091509150816112545760008151111561121957806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611210919061200c565b60405180910390fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124b906120a0565b60405180910390fd5b50505b5050565b6000823b90506000811182906112a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129e919061200c565b60405180910390fd5b50505050565b600082825260208201905092915050565b7f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f74206578697374600082015250565b60006112f46020836112ad565b91506112ff826112be565b602082019050919050565b60006020820190508181036000830152611323816112e7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560008201527f74416374696f6e00000000000000000000000000000000000000000000000000602082015250565b60006113e46027836112ad565b91506113ef82611388565b604082019050919050565b60006020820190508181036000830152611413816113d7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b600061145e82611449565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036114905761148f61141a565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006114f2826114c7565b9050919050565b611502816114e7565b82525050565b6003811061151957611518611359565b5b50565b600081905061152a82611508565b919050565b600061153a8261151c565b9050919050565b61154a8161152f565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6115b18161157c565b82525050565b60006115c383836115a8565b60208301905092915050565b6000602082019050919050565b60006115e782611550565b6115f1818561155b565b93506115fc8361156c565b8060005b8381101561162d57815161161488826115b7565b975061161f836115cf565b925050600181019050611600565b5085935050505092915050565b600060608301600083015161165260008601826114f9565b5060208301516116656020860182611541565b506040830151848203604086015261167d82826115dc565b9150508091505092915050565b6000611696838361163a565b905092915050565b6000602082019050919050565b60006116b68261149b565b6116c081856114a6565b9350836020820285016116d2856114b7565b8060005b8581101561170e57848403895281516116ef858261168a565b94506116fa8361169e565b925060208a019950506001810190506116d6565b50829750879550505050505092915050565b611729816114e7565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561176957808201518184015260208101905061174e565b83811115611778576000848401525b50505050565b6000601f19601f8301169050919050565b600061179a8261172f565b6117a4818561173a565b93506117b481856020860161174b565b6117bd8161177e565b840191505092915050565b600060608201905081810360008301526117e281866116ab565b90506117f16020830185611720565b8181036040830152611803818461178f565b9050949350505050565b7f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660008201527f6163657420746f20637574000000000000000000000000000000000000000000602082015250565b6000611869602b836112ad565b91506118748261180d565b604082019050919050565b600060208201905081810360008301526118988161185c565b9050919050565b7f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260008201527f6520616464726573732830290000000000000000000000000000000000000000602082015250565b60006118fb602c836112ad565b91506119068261189f565b604082019050919050565b6000602082019050818103600083015261192a816118ee565b9050919050565b7f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60008201527f6e207468617420616c7265616479206578697374730000000000000000000000602082015250565b600061198d6035836112ad565b915061199882611931565b604082019050919050565b600060208201905081810360008301526119bc81611980565b9050919050565b600061ffff82169050919050565b60006119dc826119c3565b915061ffff82036119f0576119ef61141a565b5b600182019050919050565b7f4c69624469616d6f6e644375743a205265706c6163652066616365742063616e60008201527f2774206265206164647265737328302900000000000000000000000000000000602082015250565b6000611a576030836112ad565b9150611a62826119fb565b604082019050919050565b60006020820190508181036000830152611a8681611a4a565b9050919050565b7f4c69624469616d6f6e644375743a2043616e2774207265706c61636520696d6d60008201527f757461626c652066756e6374696f6e0000000000000000000000000000000000602082015250565b6000611ae9602f836112ad565b9150611af482611a8d565b604082019050919050565b60006020820190508181036000830152611b1881611adc565b9050919050565b7f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60008201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000602082015250565b6000611b7b6038836112ad565b9150611b8682611b1f565b604082019050919050565b60006020820190508181036000830152611baa81611b6e565b9050919050565b7f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60008201527f6374696f6e207468617420646f65736e27742065786973740000000000000000602082015250565b6000611c0d6038836112ad565b9150611c1882611bb1565b604082019050919050565b60006020820190508181036000830152611c3c81611c00565b9050919050565b7f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260008201527f657373206d757374206265206164647265737328302900000000000000000000602082015250565b6000611c9f6036836112ad565b9150611caa82611c43565b604082019050919050565b60006020820190508181036000830152611cce81611c92565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360008201527f74696f6e207468617420646f65736e2774206578697374000000000000000000602082015250565b6000611d316037836112ad565b9150611d3c82611cd5565b604082019050919050565b60006020820190508181036000830152611d6081611d24565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560008201527f7461626c652066756e6374696f6e2e0000000000000000000000000000000000602082015250565b6000611dc3602f836112ad565b9150611dce82611d67565b604082019050919050565b60006020820190508181036000830152611df281611db6565b9050919050565b6000611e0482611449565b915060008203611e1757611e1661141a565b5b600182039050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860008201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000602082015250565b6000611ead603c836112ad565b9150611eb882611e51565b604082019050919050565b60006020820190508181036000830152611edc81611ea0565b9050919050565b7f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460008201527f7920627574205f696e6974206973206e6f742061646472657373283029000000602082015250565b6000611f3f603d836112ad565b9150611f4a82611ee3565b604082019050919050565b60006020820190508181036000830152611f6e81611f32565b9050919050565b600081905092915050565b6000611f8b8261172f565b611f958185611f75565b9350611fa581856020860161174b565b80840191505092915050565b6000611fbd8284611f80565b915081905092915050565b600081519050919050565b6000611fde82611fc8565b611fe881856112ad565b9350611ff881856020860161174b565b6120018161177e565b840191505092915050565b600060208201905081810360008301526120268184611fd3565b905092915050565b7f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560008201527f7665727465640000000000000000000000000000000000000000000000000000602082015250565b600061208a6026836112ad565b91506120958261202e565b604082019050919050565b600060208201905081810360008301526120b98161207d565b905091905056fe4c69624469616d6f6e644375743a2041646420666163657420686173206e6f20636f64654c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a205265706c61636520666163657420686173206e6f20636f6465a2646970667358221220a3279d5588d8dc880684d17b53f1e3ac8d715741d0bdda32f137c66b19fa125664736f6c634300080d0033

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