ETH Price: $3,390.86 (-2.59%)
Gas: 1 Gwei

Contract

0x1715a3E4A142d8b698131108995174F37aEBA10D
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Transaction Hash
Method
Block
From
To
Value
0xbec9ef1ca90c7216d7f8561c4bab2870ba6a37c06fa4d05477bc3c2647abefb5 Relay Tokens(pending)2024-06-23 7:32:015 days ago1719127921IN
PulseChain: Omnibridge Proxy
0 ETH(Pending)(Pending)
0x00c1ab98bcfabf42d9f58786b531caf5f5cd83a74059f00505feb4688002ff6d Relay Tokens(pending)2024-06-23 6:22:315 days ago1719123751IN
PulseChain: Omnibridge Proxy
0 ETH(Pending)(Pending)
0xf57eb1a5d15586e2cfdc81dbd69538b2aa07e99a8743aedcda6eb377f122dcaf Relay Tokens(pending)2024-06-23 1:58:085 days ago1719107888IN
PulseChain: Omnibridge Proxy
0 ETH(Pending)(Pending)
Relay Tokens201941572024-06-29 1:47:112 mins ago1719625631IN
PulseChain: Omnibridge Proxy
0 ETH0.00034381.71060073
Relay Tokens201940972024-06-29 1:35:1114 mins ago1719624911IN
PulseChain: Omnibridge Proxy
0 ETH0.000308811.67405769
Relay Tokens201940902024-06-29 1:33:4716 mins ago1719624827IN
PulseChain: Omnibridge Proxy
0 ETH0.000457672.48069196
Relay Tokens201939752024-06-29 1:10:4739 mins ago1719623447IN
PulseChain: Omnibridge Proxy
0 ETH0.000347731.77251039
Relay Tokens201939232024-06-29 1:00:2349 mins ago1719622823IN
PulseChain: Omnibridge Proxy
0 ETH0.000827173.76515509
Relay Tokens201938832024-06-29 0:52:2357 mins ago1719622343IN
PulseChain: Omnibridge Proxy
0 ETH0.00038641.91683839
Relay Tokens201938792024-06-29 0:51:3558 mins ago1719622295IN
PulseChain: Omnibridge Proxy
0 ETH0.000404862.0636981
Relay Tokens201938782024-06-29 0:51:2358 mins ago1719622283IN
PulseChain: Omnibridge Proxy
0 ETH0.000370031.88616634
Relay Tokens201938252024-06-29 0:40:351 hr ago1719621635IN
PulseChain: Omnibridge Proxy
0 ETH0.000377151.77233198
Relay Tokens201938022024-06-29 0:35:591 hr ago1719621359IN
PulseChain: Omnibridge Proxy
0 ETH0.000306211.56087005
Relay Tokens201937042024-06-29 0:15:591 hr ago1719620159IN
PulseChain: Omnibridge Proxy
0 ETH0.000501162.24843828
Relay Tokens201936222024-06-28 23:59:231 hr ago1719619163IN
PulseChain: Omnibridge Proxy
0 ETH0.000449362.29053234
Relay Tokens201936182024-06-28 23:58:351 hr ago1719619115IN
PulseChain: Omnibridge Proxy
0 ETH0.000469992.39571446
Relay Tokens201935452024-06-28 23:43:472 hrs ago1719618227IN
PulseChain: Omnibridge Proxy
0 ETH0.000353231.75763274
Relay Tokens201934542024-06-28 23:25:232 hrs ago1719617123IN
PulseChain: Omnibridge Proxy
0 ETH0.000522132.66147127
Relay Tokens201934462024-06-28 23:23:472 hrs ago1719617027IN
PulseChain: Omnibridge Proxy
0 ETH0.000299891.62560502
Relay Tokens201934372024-06-28 23:21:592 hrs ago1719616919IN
PulseChain: Omnibridge Proxy
0 ETH0.000358881.88509851
Relay Tokens201934302024-06-28 23:20:352 hrs ago1719616835IN
PulseChain: Omnibridge Proxy
0 ETH0.000364221.8610928
Relay Tokens201934212024-06-28 23:18:472 hrs ago1719616727IN
PulseChain: Omnibridge Proxy
0 ETH0.00039511.97054064
Relay Tokens201934022024-06-28 23:14:592 hrs ago1719616499IN
PulseChain: Omnibridge Proxy
0 ETH0.000345651.87350907
Relay Tokens201933732024-06-28 23:09:112 hrs ago1719616151IN
PulseChain: Omnibridge Proxy
0 ETH0.000376391.91869088
Relay Tokens201933022024-06-28 22:54:472 hrs ago1719615287IN
PulseChain: Omnibridge Proxy
0 ETH0.00040152.0515785
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To Value
193924252024-03-08 19:06:11112 days ago1709924771
PulseChain: Omnibridge Proxy
0.02246374 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EternalStorageProxy

Compiler Version
v0.7.5+commit.eb77ed08

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2023-05-15
*/

// File: contracts/upgradeability/EternalStorage.sol

pragma solidity 0.7.5;

/**
 * @title EternalStorage
 * @dev This contract holds all the necessary state variables to carry out the storage of any contract.
 */
contract EternalStorage {
    mapping(bytes32 => uint256) internal uintStorage;
    mapping(bytes32 => string) internal stringStorage;
    mapping(bytes32 => address) internal addressStorage;
    mapping(bytes32 => bytes) internal bytesStorage;
    mapping(bytes32 => bool) internal boolStorage;
    mapping(bytes32 => int256) internal intStorage;
}

// File: @openzeppelin/contracts/utils/Address.sol


pragma solidity ^0.7.0;

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain`call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

// File: contracts/upgradeability/Proxy.sol

pragma solidity 0.7.5;

/**
 * @title Proxy
 * @dev Gives the possibility to delegate any call to a foreign implementation.
 */
abstract contract Proxy {
    /**
     * @dev Tells the address of the implementation where every call will be delegated.
     * @return address of the implementation to which it will be delegated
     */
    function implementation() public view virtual returns (address);

    /**
     * @dev Fallback function allowing to perform a delegatecall to the given implementation.
     * This function will return whatever the implementation call returns
     */
    fallback() external payable {
        // solhint-disable-previous-line no-complex-fallback
        address _impl = implementation();
        require(_impl != address(0));
        assembly {
            /*
                0x40 is the "free memory slot", meaning a pointer to next slot of empty memory. mload(0x40)
                loads the data in the free memory slot, so `ptr` is a pointer to the next slot of empty
                memory. It's needed because we're going to write the return data of delegatecall to the
                free memory slot.
            */
            let ptr := mload(0x40)
            /*
                `calldatacopy` is copy calldatasize bytes from calldata
                First argument is the destination to which data is copied(ptr)
                Second argument specifies the start position of the copied data.
                    Since calldata is sort of its own unique location in memory,
                    0 doesn't refer to 0 in memory or 0 in storage - it just refers to the zeroth byte of calldata.
                    That's always going to be the zeroth byte of the function selector.
                Third argument, calldatasize, specifies how much data will be copied.
                    calldata is naturally calldatasize bytes long (same thing as msg.data.length)
            */
            calldatacopy(ptr, 0, calldatasize())
            /*
                delegatecall params explained:
                gas: the amount of gas to provide for the call. `gas` is an Opcode that gives
                    us the amount of gas still available to execution

                _impl: address of the contract to delegate to

                ptr: to pass copied data

                calldatasize: loads the size of `bytes memory data`, same as msg.data.length

                0, 0: These are for the `out` and `outsize` params. Because the output could be dynamic,
                        these are set to 0, 0 so the output data will not be written to memory. The output
                        data will be read using `returndatasize` and `returdatacopy` instead.

                result: This will be 0 if the call fails and 1 if it succeeds
            */
            let result := delegatecall(gas(), _impl, ptr, calldatasize(), 0, 0)
            /*

            */
            /*
                ptr current points to the value stored at 0x40,
                because we assigned it like ptr := mload(0x40).
                Because we use 0x40 as a free memory pointer,
                we want to make sure that the next time we want to allocate memory,
                we aren't overwriting anything important.
                So, by adding ptr and returndatasize,
                we get a memory location beyond the end of the data we will be copying to ptr.
                We place this in at 0x40, and any reads from 0x40 will now read from free memory
            */
            mstore(0x40, add(ptr, returndatasize()))
            /*
                `returndatacopy` is an Opcode that copies the last return data to a slot. `ptr` is the
                    slot it will copy to, 0 means copy from the beginning of the return data, and size is
                    the amount of data to copy.
                `returndatasize` is an Opcode that gives us the size of the last return data. In this case, that is the size of the data returned from delegatecall
            */
            returndatacopy(ptr, 0, returndatasize())

            /*
                if `result` is 0, revert.
                if `result` is 1, return `size` amount of data from `ptr`. This is the data that was
                copied to `ptr` from the delegatecall return data
            */
            switch result
                case 0 {
                    revert(ptr, returndatasize())
                }
                default {
                    return(ptr, returndatasize())
                }
        }
    }
}

// File: contracts/upgradeability/UpgradeabilityStorage.sol

pragma solidity 0.7.5;

/**
 * @title UpgradeabilityStorage
 * @dev This contract holds all the necessary state variables to support the upgrade functionality
 */
contract UpgradeabilityStorage {
    // Version name of the current implementation
    uint256 internal _version;

    // Address of the current implementation
    address internal _implementation;

    /**
     * @dev Tells the version name of the current implementation
     * @return uint256 representing the name of the current version
     */
    function version() external view returns (uint256) {
        return _version;
    }

    /**
     * @dev Tells the address of the current implementation
     * @return address of the current implementation
     */
    function implementation() public view virtual returns (address) {
        return _implementation;
    }
}

// File: contracts/upgradeability/UpgradeabilityProxy.sol

pragma solidity 0.7.5;




/**
 * @title UpgradeabilityProxy
 * @dev This contract represents a proxy where the implementation address to which it will delegate can be upgraded
 */
contract UpgradeabilityProxy is Proxy, UpgradeabilityStorage {
    /**
     * @dev This event will be emitted every time the implementation gets upgraded
     * @param version representing the version name of the upgraded implementation
     * @param implementation representing the address of the upgraded implementation
     */
    event Upgraded(uint256 version, address indexed implementation);

    /**
     * @dev Tells the address of the current implementation
     * @return address of the current implementation
     */
    function implementation() public view override(Proxy, UpgradeabilityStorage) returns (address) {
        return UpgradeabilityStorage.implementation();
    }

    /**
     * @dev Upgrades the implementation address
     * @param version representing the version name of the new implementation to be set
     * @param implementation representing the address of the new implementation to be set
     */
    function _upgradeTo(uint256 version, address implementation) internal {
        require(_implementation != implementation);

        // This additional check verifies that provided implementation is at least a contract
        require(Address.isContract(implementation));

        // This additional check guarantees that new version will be at least greater than the previous one,
        // so it is impossible to reuse old versions, or use the last version twice
        require(version > _version);

        _version = version;
        _implementation = implementation;
        emit Upgraded(version, implementation);
    }
}

// File: contracts/upgradeability/UpgradeabilityOwnerStorage.sol

pragma solidity 0.7.5;

/**
 * @title UpgradeabilityOwnerStorage
 * @dev This contract keeps track of the upgradeability owner
 */
contract UpgradeabilityOwnerStorage {
    // Owner of the contract
    address internal _upgradeabilityOwner;

    /**
     * @dev Tells the address of the owner
     * @return the address of the owner
     */
    function upgradeabilityOwner() public view returns (address) {
        return _upgradeabilityOwner;
    }

    /**
     * @dev Sets the address of the owner
     */
    function setUpgradeabilityOwner(address newUpgradeabilityOwner) internal {
        _upgradeabilityOwner = newUpgradeabilityOwner;
    }
}

// File: contracts/upgradeability/OwnedUpgradeabilityProxy.sol

pragma solidity 0.7.5;



/**
 * @title OwnedUpgradeabilityProxy
 * @dev This contract combines an upgradeability proxy with basic authorization control functionalities
 */
contract OwnedUpgradeabilityProxy is UpgradeabilityOwnerStorage, UpgradeabilityProxy {
    /**
     * @dev Event to show ownership has been transferred
     * @param previousOwner representing the address of the previous owner
     * @param newOwner representing the address of the new owner
     */
    event ProxyOwnershipTransferred(address previousOwner, address newOwner);

    /**
     * @dev the constructor sets the original owner of the contract to the sender account.
     */
    constructor() {
        setUpgradeabilityOwner(msg.sender);
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyUpgradeabilityOwner() {
        require(msg.sender == upgradeabilityOwner());
        _;
    }

    /**
     * @dev Allows the current owner to transfer control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function transferProxyOwnership(address newOwner) external onlyUpgradeabilityOwner {
        require(newOwner != address(0));
        emit ProxyOwnershipTransferred(upgradeabilityOwner(), newOwner);
        setUpgradeabilityOwner(newOwner);
    }

    /**
     * @dev Allows the upgradeability owner to upgrade the current version of the proxy.
     * @param version representing the version name of the new implementation to be set.
     * @param implementation representing the address of the new implementation to be set.
     */
    function upgradeTo(uint256 version, address implementation) public onlyUpgradeabilityOwner {
        _upgradeTo(version, implementation);
    }

    /**
     * @dev Allows the upgradeability owner to upgrade the current version of the proxy and call the new implementation
     * to initialize whatever is needed through a low level call.
     * @param version representing the version name of the new implementation to be set.
     * @param implementation representing the address of the new implementation to be set.
     * @param data represents the msg.data to be sent in the low level call. This parameter may include the function
     * signature of the implementation to be called with the needed payload
     */
    function upgradeToAndCall(
        uint256 version,
        address implementation,
        bytes calldata data
    ) external payable onlyUpgradeabilityOwner {
        upgradeTo(version, implementation);
        // solhint-disable-next-line avoid-call-value
        (bool status, ) = address(this).call{ value: msg.value }(data);
        require(status);
    }
}

// File: contracts/upgradeability/EternalStorageProxy.sol

pragma solidity 0.7.5;



/**
 * @title EternalStorageProxy
 * @dev This proxy holds the storage of the token contract and delegates every call to the current implementation set.
 * Besides, it allows to upgrade the token's behaviour towards further implementations, and provides basic
 * authorization control functionalities
 */
contract EternalStorageProxy is EternalStorage, OwnedUpgradeabilityProxy {

}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"ProxyOwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"version","type":"uint256"},{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferProxyOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"version","type":"uint256"},{"internalType":"address","name":"implementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"version","type":"uint256"},{"internalType":"address","name":"implementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"upgradeabilityOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b5061001a3361001f565b610041565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6104c6806100506000396000f3fe6080604052600436106100555760003560e01c80633ad06d161461009e57806354fd4d50146100d95780635c60da1b146101005780636fde820214610131578063a9c45fcb14610146578063f1739cae146101cb575b600061005f6101fe565b90506001600160a01b03811661007457600080fd5b60405136600082376000803683855af43d82016040523d6000833e80801561009a573d83f35b3d83fd5b3480156100aa57600080fd5b506100d7600480360360408110156100c157600080fd5b50803590602001356001600160a01b031661020d565b005b3480156100e557600080fd5b506100ee610240565b60408051918252519081900360200190f35b34801561010c57600080fd5b506101156101fe565b604080516001600160a01b039092168252519081900360200190f35b34801561013d57600080fd5b50610115610246565b6100d76004803603606081101561015c57600080fd5b8135916001600160a01b036020820135169181019060608101604082013564010000000081111561018c57600080fd5b82018360208201111561019e57600080fd5b803590602001918460018302840111640100000000831117156101c057600080fd5b509092509050610255565b3480156101d757600080fd5b506100d7600480360360208110156101ee57600080fd5b50356001600160a01b03166102fe565b600061020861038d565b905090565b610215610246565b6001600160a01b0316336001600160a01b03161461023257600080fd5b61023c828261039c565b5050565b60075490565b6006546001600160a01b031690565b61025d610246565b6001600160a01b0316336001600160a01b03161461027a57600080fd5b610284848461020d565b6000306001600160a01b0316348484604051808383808284376040519201945060009350909150508083038185875af1925050503d80600081146102e4576040519150601f19603f3d011682016040523d82523d6000602084013e6102e9565b606091505b50509050806102f757600080fd5b5050505050565b610306610246565b6001600160a01b0316336001600160a01b03161461032357600080fd5b6001600160a01b03811661033657600080fd5b7f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd961035f610246565b604080516001600160a01b03928316815291841660208301528051918290030190a161038a81610432565b50565b6008546001600160a01b031690565b6008546001600160a01b03828116911614156103b757600080fd5b6103c081610454565b6103c957600080fd5b60075482116103d757600080fd5b6007829055600880546001600160a01b0383166001600160a01b031990911681179091556040805184815290517f4289d6195cf3c2d2174adf98d0e19d4d2d08887995b99cb7b100e7ffe795820e9181900360200190a25050565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061048857508115155b94935050505056fea2646970667358221220c0ef938c3cb0aabada971e1d0565a4ce5504320f0416427bd7838d4790e313e164736f6c63430007050033

Deployed Bytecode

0x6080604052600436106100555760003560e01c80633ad06d161461009e57806354fd4d50146100d95780635c60da1b146101005780636fde820214610131578063a9c45fcb14610146578063f1739cae146101cb575b600061005f6101fe565b90506001600160a01b03811661007457600080fd5b60405136600082376000803683855af43d82016040523d6000833e80801561009a573d83f35b3d83fd5b3480156100aa57600080fd5b506100d7600480360360408110156100c157600080fd5b50803590602001356001600160a01b031661020d565b005b3480156100e557600080fd5b506100ee610240565b60408051918252519081900360200190f35b34801561010c57600080fd5b506101156101fe565b604080516001600160a01b039092168252519081900360200190f35b34801561013d57600080fd5b50610115610246565b6100d76004803603606081101561015c57600080fd5b8135916001600160a01b036020820135169181019060608101604082013564010000000081111561018c57600080fd5b82018360208201111561019e57600080fd5b803590602001918460018302840111640100000000831117156101c057600080fd5b509092509050610255565b3480156101d757600080fd5b506100d7600480360360208110156101ee57600080fd5b50356001600160a01b03166102fe565b600061020861038d565b905090565b610215610246565b6001600160a01b0316336001600160a01b03161461023257600080fd5b61023c828261039c565b5050565b60075490565b6006546001600160a01b031690565b61025d610246565b6001600160a01b0316336001600160a01b03161461027a57600080fd5b610284848461020d565b6000306001600160a01b0316348484604051808383808284376040519201945060009350909150508083038185875af1925050503d80600081146102e4576040519150601f19603f3d011682016040523d82523d6000602084013e6102e9565b606091505b50509050806102f757600080fd5b5050505050565b610306610246565b6001600160a01b0316336001600160a01b03161461032357600080fd5b6001600160a01b03811661033657600080fd5b7f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd961035f610246565b604080516001600160a01b03928316815291841660208301528051918290030190a161038a81610432565b50565b6008546001600160a01b031690565b6008546001600160a01b03828116911614156103b757600080fd5b6103c081610454565b6103c957600080fd5b60075482116103d757600080fd5b6007829055600880546001600160a01b0383166001600160a01b031990911681179091556040805184815290517f4289d6195cf3c2d2174adf98d0e19d4d2d08887995b99cb7b100e7ffe795820e9181900360200190a25050565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061048857508115155b94935050505056fea2646970667358221220c0ef938c3cb0aabada971e1d0565a4ce5504320f0416427bd7838d4790e313e164736f6c63430007050033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Chain Token Portfolio % Price Amount Value
ETH29.22%$129,424,923.4966$29,424,923.5
ETH27.65%$3,390.378,212.2848$27,842,671.59
ETH17.33%$117,435,722.6386$17,453,158.36
ETH11.58%$0.0018356,355,312,902.858$11,664,669.68
ETH10.65%$0.99851610,739,140.024$10,723,203.14
ETH2.00%$60,93033.1311$2,018,679.69
ETH0.32%$0.00001227,725,214,037.9188$325,216.76
ETH0.27%$1419,711.4246$275,959.95
ETH0.26%<$0.0000015,473,614,642,492.42$264,306.36
ETH0.13%$141.4908.609$128,477.31
ETH0.12%$0.00266644,639,917.7943$119,029.22
ETH0.09%$0.0000175,355,246,146.7936$92,270.89
ETH0.06%$0.99777756,883.2123$56,756.75
ETH0.03%$9.043,836.4401$34,681.42
ETH0.03%<$0.000001260,917,504,032.884$34,617.23
ETH0.02%$0.0062283,489,862.9259$21,734.87
ETH0.02%$0.000167120,500,138.6282$20,139.19
ETH0.02%$65.76304.5382$20,026.43
ETH0.01%$0.55835923,040.8398$12,865.06
ETH0.01%$0.090723137,366.2382$12,462.28
ETH<0.01%<$0.00000143,333,690,303.5738$8,462.42
ETH<0.01%$0.0000024,949,593,173.0604$8,257.68
ETH<0.01%$0.0000022,871,918,323.6584$6,942.08
ETH<0.01%$0.011978499,003.3868$5,977.12
ETH<0.01%$0.012449438,804.609$5,462.79
ETH<0.01%$7.41704.3191$5,219
ETH<0.01%$47.86108.9321$5,213.49
ETH<0.01%$0.00756632,292.3643$4,780
ETH<0.01%$7.05630.8333$4,447.37
ETH<0.01%$0.07902252,927.8274$4,182.46
ETH<0.01%$6.13613.5507$3,761.07
ETH<0.01%$0.20860115,300.0172$3,191.6
ETH<0.01%<$0.0000019,711,982,115,991.5$2,860.23
ETH<0.01%$0.0000013,749,900,347.3$2,709.13
ETH<0.01%$0.8350823,039.6408$2,538.35
ETH<0.01%$0.09932824,201.4958$2,403.89
ETH<0.01%$2,308.861.0254$2,367.47
ETH<0.01%$0.344256,355.2904$2,187.81
ETH<0.01%$0.00002389,611,586.3674$2,071.82
ETH<0.01%$0.4666154,252.8545$1,984.45
ETH<0.01%$0.02736869,242.3001$1,895
ETH<0.01%$0.004419419,800.3619$1,854.9
ETH<0.01%$2,557.720.7167$1,833.16
ETH<0.01%$0.0010211,771,437.8121$1,807.86
ETH<0.01%$1.411,277.0298$1,800.61
ETH<0.01%$0.5436223,045.9544$1,655.85
ETH<0.01%$0.004305374,123.2931$1,610.54
ETH<0.01%$6,446.880.2452$1,580.46
ETH<0.01%$0.03037749,691.9009$1,509.48
ETH<0.01%$0.8645451,637.1247$1,415.37
ETH<0.01%$2.55525.7627$1,340.69
ETH<0.01%$567.52.2492$1,276.4
ETH<0.01%$0.01830264,858.2412$1,187.07
ETH<0.01%$50.2920.0954$1,010.6
ETH<0.01%$0.9983271,007.3602$1,005.67
ETH<0.01%$95.6610.4851$1,002.99
ETH<0.01%$1.95496.2832$967.75
ETH<0.01%$0.4290422,235.4774$959.11
ETH<0.01%$0.998289957.6819$956.04
ETH<0.01%<$0.0000018,449,073,482.3752$857.45
ETH<0.01%$0.03002628,268.9467$848.81
ETH<0.01%$76.8610.9717$843.29
ETH<0.01%$0.07021311,230.6841$788.54
ETH<0.01%$0.4947271,588.2938$785.77
ETH<0.01%$0.000854893,828.8408$763.03
ETH<0.01%$0.0760339,723.2172$739.29
ETH<0.01%$1.12655.5455$734.21
ETH<0.01%$2.71267.8822$725.96
ETH<0.01%$0.0006871,024,812.5603$703.88
ETH<0.01%$0.1216425,780.1309$703.11
ETH<0.01%$19.2236.091$693.67
ETH<0.01%$99.866.5539$654.47
ETH<0.01%$0.2037432,980.2784$607.21
ETH<0.01%$1569.1801$569.18
ETH<0.01%<$0.00000141,577,828,559.717$566.46
ETH<0.01%$0.2147172,488.5253$534.33
ETH<0.01%$1.72308.8198$531.17
ETH<0.01%$0.1272444,144.3681$527.35
ETH<0.01%$0.1933872,673.8408$517.09
ETH<0.01%$0.0404812,418.1627$502.69
ETH<0.01%<$0.0000013,927,526,064.6395$495.17
ETH<0.01%<$0.0000013,220,978,437.1781$492.28
ETH<0.01%$0.001572309,789.7095$487.1
ETH<0.01%$0.0001084,308,994$465.63
ETH<0.01%<$0.0000011,046,303,249,560.17$443.86
ETH<0.01%$0.3980211,081.5156$430.47
ETH<0.01%$0.001824229,965.3751$419.55
ETH<0.01%$0.966566424.6057$410.41
ETH<0.01%$1409.6861$410.1
ETH<0.01%$349.091.12$390.98
ETH<0.01%$23.1716.7449$387.98
ETH<0.01%$1.01382.2264$385.02
ETH<0.01%$0.2797631,294.6818$362.2
ETH<0.01%$0.3401711,063.5398$361.79
ETH<0.01%$0.0770374,614.2983$355.47
ETH<0.01%<$0.00000116,000,000,000$343.49
ETH<0.01%$0.79985420.7216$336.51
ETH<0.01%<$0.00000126,295,561,210.4668$333.73
ETH<0.01%$52.386.3652$333.43
ETH<0.01%<$0.00000117,913,761,807.0596$313.19
ETH<0.01%$0.001012298,894.643$302.53
ETH<0.01%$0.0486425,708.8951$277.69
ETH<0.01%$1.05263.8557$275.73
ETH<0.01%$0.161291,630.6688$263.01
ETH<0.01%$3,393.020.0757$256.72
ETH<0.01%$0.00644839,432.8621$254.25
ETH<0.01%<$0.000001539,277,906.8423$238.51
ETH<0.01%$0.155731,500.8727$233.73
ETH<0.01%$3,645.730.0617$225.09
ETH<0.01%$0.00000299,995,302.7474$221.99
ETH<0.01%$277.970.7635$212.24
ETH<0.01%$27.887.5085$209.34
ETH<0.01%$1.03202.3769$208.85
ETH<0.01%$0.240551851.662$204.87
ETH<0.01%<$0.000001390,424,431,805.679$201.91
ETH<0.01%$0.00464641,964.13$194.98
ETH<0.01%$0.01646111,812.629$194.44
ETH<0.01%$0.0228587,674.4145$175.43
ETH<0.01%$0.665778259.4057$172.71
ETH<0.01%$3.0754.28$166.51
ETH<0.01%$1.9884.0521$166.42
ETH<0.01%$0.0635972,596.3342$165.12
ETH<0.01%$0.0388654,173.6077$162.21
ETH<0.01%$0.0400283,986.5641$159.58
ETH<0.01%<$0.000001943,258,172.484$157.83
ETH<0.01%<$0.0000011,087,518,431.8231$156.57
ETH<0.01%$0.190079807.3571$153.46
ETH<0.01%$0.0000781,737,126.5031$135.18
ETH<0.01%$0.99108133.0794$131.89
ETH<0.01%$0.0000284,459,779.2187$124.16
ETH<0.01%$0.812728149.8231$121.77
ETH<0.01%<$0.0000016,423,904,313.5608$119.14
ETH<0.01%$0.00887413,304.1188$118.07
ETH<0.01%$1.09107.7763$117.8
ETH<0.01%$0.99887110.7362$110.61
ETH<0.01%$2.1550.5549$108.69
ETH<0.01%$0.000001162,813,614.4787$107.84
ETH<0.01%$0.195609543.7996$106.37
ETH<0.01%$0.00330731,820.9035$105.25
ETH<0.01%$4.125.6119$105.01
ETH<0.01%$1.2682$103.32
ETH<0.01%<$0.0000014,409,586,457.5912$102.9
ETH<0.01%$190.88$90.97
ETH<0.01%$0.0350412,469.8235$86.55
ETH<0.01%$0.00300422,976$69.01
ETH<0.01%$3.8917.3304$67.42
ETH<0.01%$0.00310321,120.3132$65.54
ETH<0.01%$0.000001102,035,508.7891$65.12
ETH<0.01%<$0.00000130,000,000,000$63.81
ETH<0.01%<$0.000001426,749,297.1455$62.96
ETH<0.01%$60.781.0179$61.87
ETH<0.01%$0.00422314,610.8348$61.7
ETH<0.01%$0.0000096,515,068.6549$58.33
ETH<0.01%$29.531.8962$55.99
ETH<0.01%$0.213119250.7493$53.44
ETH<0.01%$0.00000190,144,050.7749$53.3
ETH<0.01%<$0.00000141,150,880,533.1447$52.34
ETH<0.01%$17.622.894$50.99
ETH<0.01%$0.00146833,373.1261$49
ETH<0.01%$0.00482510,155.9772$49
ETH<0.01%$0.0000291,661,128.079$48.52
ETH<0.01%$0.15342315$48.33
ETH<0.01%$0.000248191,076.9625$47.48
ETH<0.01%$0.112291400.7149$45
ETH<0.01%$0.00135131,608.25$42.72
ETH<0.01%$0.00160223,914.1035$38.3
ETH<0.01%$19.021.9827$37.71
ETH<0.01%$0.000218161,683.7995$35.32
ETH<0.01%$0.087675384.3766$33.7
ETH<0.01%<$0.00000127,007,767,186.5013$29.22
ETH<0.01%$0.62976842.9331$27.04
ETH<0.01%$0.65494235.9777$23.56
ETH<0.01%<$0.00000128,731,624,883.1925$23.01
ETH<0.01%$0.0024838,620.27$21.41
ETH<0.01%$0.33675360.9773$20.53
ETH<0.01%$0.168407119.6405$20.15
ETH<0.01%$0.00069324,393.8595$16.9
ETH<0.01%$0.99707616.1161$16.07
ETH<0.01%$0.1741489.7418$15.63
ETH<0.01%$1.311.5949$15.07
ETH<0.01%$3.015$15.05
ETH<0.01%$31.40.4506$14.15
ETH<0.01%$0.00000111,642,896.4413$12.17
ETH<0.01%<$0.000001101,136,155,793.644$11.09
ETH<0.01%$2.085$10.4
ETH<0.01%$0.0030453,188.4821$9.71
ETH<0.01%$0.36304425.648$9.31
ETH<0.01%$0.0068041,161.3167$7.9
ETH<0.01%$1.026.9406$7.05
ETH<0.01%$0.52965913.2335$7.01
ETH<0.01%$0.00027825,000$6.94
ETH<0.01%$0.018158336.1981$6.1
ETH<0.01%$1.15.4973$6.05
ETH<0.01%$0.00038215,000$5.73
ETH<0.01%$0.17047233.2467$5.67
ETH<0.01%$0.056589100$5.66
ETH<0.01%$0.0055511,000$5.55
ETH<0.01%$0.5072810.6846$5.42
ETH<0.01%$1.154.6126$5.3
ETH<0.01%$0.000017294,107.1526$4.99
ETH<0.01%$0.21187416.8885$3.58
ETH<0.01%$3.560.9805$3.49
ETH<0.01%$0.5422385.927$3.21
ETH<0.01%$0.006266500$3.13
ETH<0.01%$0.0000013,155,459.6547$3.1
ETH<0.01%$0.0000021,894,127$2.84
ETH<0.01%$0.002715955.5645$2.59
ETH<0.01%$0.000003887,726.0991$2.49
ETH<0.01%$2.980.7125$2.12
ETH<0.01%$0.9996882.0423$2.04
ETH<0.01%$0.0016281,111$1.81
ETH<0.01%$1.361.1857$1.61
ETH<0.01%$1.61$1.6
ETH<0.01%<$0.0000012,173,972,233.4094$1.55
ETH<0.01%$0.002225599.1$1.33
ETH<0.01%$0.0010661,000$1.07
ETH<0.01%$1.021.0344$1.06
ETH<0.01%<$0.000001357,313,233.8242$1.05
ETH<0.01%$0.0002813,380.1251$0.9491
ETH<0.01%$0.0000899,739.6262$0.8651
ETH<0.01%$3,271.550.00024814$0.8118
ETH<0.01%$0.01274154.5131$0.6945
ETH<0.01%$0.00001545,948.0346$0.6722
ETH<0.01%$7.520.0716$0.5386
ETH<0.01%$0.3854291.1982$0.4618
ETH<0.01%$0.000001516,322.8518$0.4448
ETH<0.01%$0.527480.7359$0.3881
ETH<0.01%$0.001971172.0738$0.3391
ETH<0.01%$0.019915.9453$0.3173
ETH<0.01%$0.00749930.1594$0.2261
ETH<0.01%$0.0288327.5511$0.2177
ETH<0.01%$0.064652.9696$0.1919
ETH<0.01%<$0.0000011,844,508.5896$0.1624
ETH<0.01%$0.00890717$0.1514
ETH<0.01%$0.0000344,337.8024$0.1481
ETH<0.01%$0.01127111.982$0.135
ETH<0.01%$0.0169926.2186$0.1056
CRONOS<0.01%$0.0907400$36.28
BSC<0.01%$0.04567211.982$0.5472
BSC<0.01%$0.00001435,000$0.4894
BASE<0.01%$0.1564831$0.1564
MATIC<0.01%$0.5584750.002$0.001117
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.