Holesky Testnet

Contract

0x610866c6089768dA95524bcc4cE7dB61eDa3931c

Overview

ETH Balance

96,225,095.870210601891595401 ETH

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Claim28846002024-12-06 17:18:002 days ago1733505480IN
0x610866c6...1eDa3931c
0 ETH0.00034265
Upgrade To28775272024-12-05 16:01:483 days ago1733414508IN
0x610866c6...1eDa3931c
0 ETH0.00000110.03825155
Claim28775042024-12-05 15:56:483 days ago1733414208IN
0x610866c6...1eDa3931c
0 ETH0.000221265
Claim28774902024-12-05 15:53:483 days ago1733414028IN
0x610866c6...1eDa3931c
0 ETH0.000007810.1765031
Claim28774772024-12-05 15:50:363 days ago1733413836IN
0x610866c6...1eDa3931c
0 ETH0.000002010.04830737
Create Grant28640602024-12-03 15:23:005 days ago1733239380IN
0x610866c6...1eDa3931c
0 ETH0.000010130.03949967
Claim28620662024-12-03 8:14:125 days ago1733213652IN
0x610866c6...1eDa3931c
0 ETH0.00034265.00000002
Claim28426172024-11-30 6:48:008 days ago1732949280IN
0x610866c6...1eDa3931c
0 ETH0.000613648.95575003
0xa416534e28202442024-11-26 21:20:3611 days ago1732656036IN
0x610866c6...1eDa3931c
0 ETH0.000053242
0xa416534e28202422024-11-26 21:20:1211 days ago1732656012IN
0x610866c6...1eDa3931c
0 ETH0.000053242
0xa416534e28202412024-11-26 21:20:0011 days ago1732656000IN
0x610866c6...1eDa3931c
0 ETH0.000053242
0xa416534e28202402024-11-26 21:19:4811 days ago1732655988IN
0x610866c6...1eDa3931c
0 ETH0.000053242
Upgrade To And C...28202392024-11-26 21:19:3611 days ago1732655976IN
0x610866c6...1eDa3931c
0 ETH0.000058952
0xa416534e28202332024-11-26 21:18:2411 days ago1732655904IN
0x610866c6...1eDa3931c
0 ETH0.000053242
0xa416534e28202322024-11-26 21:18:1211 days ago1732655892IN
0x610866c6...1eDa3931c
0 ETH0.000053242
0xa416534e28202312024-11-26 21:18:0011 days ago1732655880IN
0x610866c6...1eDa3931c
0 ETH0.000053242
0xa416534e28202302024-11-26 21:17:4811 days ago1732655868IN
0x610866c6...1eDa3931c
0 ETH0.000053242
0xa416534e28202292024-11-26 21:17:3611 days ago1732655856IN
0x610866c6...1eDa3931c
0 ETH0.000053212
Upgrade To And C...28202282024-11-26 21:17:2411 days ago1732655844IN
0x610866c6...1eDa3931c
0 ETH0.000058952
0xa416534e28202162024-11-26 21:14:4811 days ago1732655688IN
0x610866c6...1eDa3931c
0 ETH0.000266210
0xa416534e28202152024-11-26 21:14:2411 days ago1732655664IN
0x610866c6...1eDa3931c
0 ETH0.000266210
0xa416534e28202142024-11-26 21:14:1211 days ago1732655652IN
0x610866c6...1eDa3931c
0 ETH0.000266210
0xa416534e28202132024-11-26 21:14:0011 days ago1732655640IN
0x610866c6...1eDa3931c
0 ETH0.0002660810
Upgrade To And C...28202122024-11-26 21:13:4811 days ago1732655628IN
0x610866c6...1eDa3931c
0 ETH0.0002947710
0xa416534e28202062024-11-26 21:12:3611 days ago1732655556IN
0x610866c6...1eDa3931c
0 ETH0.0000462
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
28852512024-12-06 19:45:1247 hrs ago1733514312
0x610866c6...1eDa3931c
10,000 ETH
28851872024-12-06 19:31:242 days ago1733513484
0x610866c6...1eDa3931c
10,000 ETH
28846002024-12-06 17:18:002 days ago1733505480
0x610866c6...1eDa3931c
50,000 ETH
28620662024-12-03 8:14:125 days ago1733213652
0x610866c6...1eDa3931c
50,000 ETH
28426172024-11-30 6:48:008 days ago1732949280
0x610866c6...1eDa3931c
50,000 ETH
28201412024-11-26 20:57:4811 days ago1732654668
0x610866c6...1eDa3931c
0.1 ETH
28182882024-11-26 14:14:0012 days ago1732630440
0x610866c6...1eDa3931c
50,000 ETH
27946592024-11-23 0:22:4815 days ago1732321368
0x610866c6...1eDa3931c
50,000 ETH
27701562024-11-19 6:43:0019 days ago1731998580
0x610866c6...1eDa3931c
50,000 ETH
27400782024-11-14 18:41:4824 days ago1731609708
0x610866c6...1eDa3931c
50,000 ETH
27195652024-11-11 17:13:2427 days ago1731345204
0x610866c6...1eDa3931c
50,000 ETH
27179502024-11-11 11:29:1227 days ago1731324552
0x610866c6...1eDa3931c
30,000 ETH
27029092024-11-09 5:42:4829 days ago1731130968
0x610866c6...1eDa3931c
1 ETH
26960622024-11-08 5:12:4830 days ago1731042768
0x610866c6...1eDa3931c
50,000 ETH
26697192024-11-04 7:22:0034 days ago1730704920
0x610866c6...1eDa3931c
50,000 ETH
26472972024-10-31 22:38:3637 days ago1730414316
0x610866c6...1eDa3931c
50,000 ETH
26232062024-10-28 7:16:1241 days ago1730099772
0x610866c6...1eDa3931c
50,000 ETH
25991612024-10-24 16:14:3645 days ago1729786476
0x610866c6...1eDa3931c
50,000 ETH
25772082024-10-21 8:48:2448 days ago1729500504
0x610866c6...1eDa3931c
50,000 ETH
25539892024-10-17 21:26:4851 days ago1729200408
0x610866c6...1eDa3931c
50,000 ETH
25387472024-10-15 14:23:4854 days ago1729002228
0x610866c6...1eDa3931c
10,000 ETH
25302792024-10-14 7:45:2455 days ago1728891924
0x610866c6...1eDa3931c
50,000 ETH
25067202024-10-10 18:18:0059 days ago1728584280
0x610866c6...1eDa3931c
50,000 ETH
24842262024-10-07 7:33:4862 days ago1728286428
0x610866c6...1eDa3931c
50,000 ETH
24722072024-10-05 12:06:4864 days ago1728130008
0x610866c6...1eDa3931c
10,000 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FundingVaultProxy

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 2000 runs

Other Settings:
default evmVersion, MIT license
File 1 of 3 : FundingVaultProxy.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.21;

/*
##################################################################
#                Holešovice Funding Vault                        #
#                                                                #
# This contract is used to distribute fund reserves to faucets   #
# or other projects that have a ongoing need for testnet funds.  #
#                                                                #
# see https://dev.pk910.de/ethvault               by pk910.eth   #
##################################################################
*/

import "@openzeppelin/contracts/utils/Address.sol";
import "./FundingVaultProxyStorage.sol";


contract FundingVaultProxy is FundingVaultProxyStorage {

    constructor() {
        _manager = msg.sender;
    }

    modifier ifManager() {
        if (msg.sender == _manager) {
            _;
        } else {
            _fallback();
        }
    }

    function _fallback() internal {
        require(_implementation != address(0), "no implementation");
        _delegate(_implementation);
    }

    function _delegate(address impl) internal virtual {
        assembly {
            calldatacopy(0, 0, calldatasize())
            let result := delegatecall(gas(), impl, 0, calldatasize(), 0, 0)
            returndatacopy(0, 0, returndatasize())
            switch result
            case 0 {
                revert(0, returndatasize())
            }
            default {
                return(0, returndatasize())
            }
        }
    }

    fallback() external payable {
        _fallback();
    }

    receive() external payable {
        _fallback();
    }

    function implementation() public view returns (address) {
        return _implementation;
    }

    function upgradeTo(address addr) external ifManager {
        _implementation = addr;
    }

    function upgradeToAndCall(address addr, bytes calldata data) external ifManager {
        _implementation = addr;
        Address.functionDelegateCall(addr, data);
    }

}

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

contract FundingVaultProxyStorage {
  // slot 0x00 - manager address (admin)
  address internal _manager;
  uint96 internal __unused0;
  // slot 0x01 - implementation address
  address internal _implementation;
  uint96 internal __unused1;
}

File 3 of 3 : Address.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (utils/Address.sol)

pragma solidity ^0.8.1;

/**
 * @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
     *
     * Furthermore, `isContract` will also return true if the target contract within
     * the same transaction is already scheduled for destruction by `SELFDESTRUCT`,
     * which only has an effect at the end of a transaction.
     * ====
     *
     * [IMPORTANT]
     * ====
     * You shouldn't rely on `isContract` to protect against flash loan attacks!
     *
     * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets
     * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract
     * constructor.
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // This method relies on extcodesize/address.code.length, which returns 0
        // for contracts in construction, since the code is only stored at the end
        // of the constructor execution.

        return account.code.length > 0;
    }

    /**
     * @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://consensys.net/diligence/blog/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.8.0/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");

        (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 functionCallWithValue(target, data, 0, "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");
        (bool success, bytes memory returndata) = target.call{value: value}(data);
        return verifyCallResultFromTarget(target, success, returndata, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResultFromTarget(target, success, returndata, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResultFromTarget(target, success, returndata, errorMessage);
    }

    /**
     * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling
     * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.
     *
     * _Available since v4.8._
     */
    function verifyCallResultFromTarget(
        address target,
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        if (success) {
            if (returndata.length == 0) {
                // only check isContract if the call was successful and the return data is empty
                // otherwise we already know that it was a contract
                require(isContract(target), "Address: call to non-contract");
            }
            return returndata;
        } else {
            _revert(returndata, errorMessage);
        }
    }

    /**
     * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the
     * revert reason or using the provided one.
     *
     * _Available since v4.3._
     */
    function verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            _revert(returndata, errorMessage);
        }
    }

    function _revert(bytes memory returndata, string memory errorMessage) private pure {
        // 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
            /// @solidity memory-safe-assembly
            assembly {
                let returndata_size := mload(returndata)
                revert(add(32, returndata), returndata_size)
            }
        } else {
            revert(errorMessage);
        }
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 2000
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561000f575f80fd5b505f80546001600160a01b031916331790556105158061002e5f395ff3fe608060405260043610610037575f3560e01c80633659cfe61461004e5780634f1ef2861461006d5780635c60da1b1461008c57610046565b36610046576100446100b7565b005b6100446100b7565b348015610059575f80fd5b50610044610068366004610396565b61012b565b348015610078575f80fd5b506100446100873660046103af565b61017d565b348015610097575f80fd5b50600154604080516001600160a01b039092168252519081900360200190f35b6001546001600160a01b03166101145760405162461bcd60e51b815260206004820152601160248201527f6e6f20696d706c656d656e746174696f6e00000000000000000000000000000060448201526064015b60405180910390fd5b600154610129906001600160a01b0316610213565b565b5f546001600160a01b0316330361017257600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03831617905550565b61017a6100b7565b50565b5f546001600160a01b0316330361020657600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038516179055604080516020601f84018190048102820181019092528281526102009185919085908590819084018382808284375f9201919091525061023192505050565b50505050565b61020e6100b7565b505050565b365f80375f80365f845af43d5f803e80801561022d573d5ff35b3d5ffd5b606061025683836040518060600160405280602781526020016104b96027913961025d565b9392505050565b60605f80856001600160a01b031685604051610279919061044d565b5f60405180830381855af49150503d805f81146102b1576040519150601f19603f3d011682016040523d82523d5f602084013e6102b6565b606091505b50915091506102c7868383876102d1565b9695505050505050565b6060831561033f5782515f03610338576001600160a01b0385163b6103385760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161010b565b5081610349565b6103498383610351565b949350505050565b8151156103615781518083602001fd5b8060405162461bcd60e51b815260040161010b9190610468565b80356001600160a01b0381168114610391575f80fd5b919050565b5f602082840312156103a6575f80fd5b6102568261037b565b5f805f604084860312156103c1575f80fd5b6103ca8461037b565b9250602084013567ffffffffffffffff808211156103e6575f80fd5b818601915086601f8301126103f9575f80fd5b813581811115610407575f80fd5b876020828501011115610418575f80fd5b6020830194508093505050509250925092565b5f5b8381101561044557818101518382015260200161042d565b50505f910152565b5f825161045e81846020870161042b565b9190910192915050565b602081525f825180602084015261048681604085016020870161042b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122081353ada182caaf6e94b7a9d1df89325e576fb4b91693b01bbc871eb16e15e2664736f6c63430008150033

Deployed Bytecode

0x608060405260043610610037575f3560e01c80633659cfe61461004e5780634f1ef2861461006d5780635c60da1b1461008c57610046565b36610046576100446100b7565b005b6100446100b7565b348015610059575f80fd5b50610044610068366004610396565b61012b565b348015610078575f80fd5b506100446100873660046103af565b61017d565b348015610097575f80fd5b50600154604080516001600160a01b039092168252519081900360200190f35b6001546001600160a01b03166101145760405162461bcd60e51b815260206004820152601160248201527f6e6f20696d706c656d656e746174696f6e00000000000000000000000000000060448201526064015b60405180910390fd5b600154610129906001600160a01b0316610213565b565b5f546001600160a01b0316330361017257600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03831617905550565b61017a6100b7565b50565b5f546001600160a01b0316330361020657600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038516179055604080516020601f84018190048102820181019092528281526102009185919085908590819084018382808284375f9201919091525061023192505050565b50505050565b61020e6100b7565b505050565b365f80375f80365f845af43d5f803e80801561022d573d5ff35b3d5ffd5b606061025683836040518060600160405280602781526020016104b96027913961025d565b9392505050565b60605f80856001600160a01b031685604051610279919061044d565b5f60405180830381855af49150503d805f81146102b1576040519150601f19603f3d011682016040523d82523d5f602084013e6102b6565b606091505b50915091506102c7868383876102d1565b9695505050505050565b6060831561033f5782515f03610338576001600160a01b0385163b6103385760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161010b565b5081610349565b6103498383610351565b949350505050565b8151156103615781518083602001fd5b8060405162461bcd60e51b815260040161010b9190610468565b80356001600160a01b0381168114610391575f80fd5b919050565b5f602082840312156103a6575f80fd5b6102568261037b565b5f805f604084860312156103c1575f80fd5b6103ca8461037b565b9250602084013567ffffffffffffffff808211156103e6575f80fd5b818601915086601f8301126103f9575f80fd5b813581811115610407575f80fd5b876020828501011115610418575f80fd5b6020830194508093505050509250925092565b5f5b8381101561044557818101518382015260200161042d565b50505f910152565b5f825161045e81846020870161042b565b9190910192915050565b602081525f825180602084015261048681604085016020870161042b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122081353ada182caaf6e94b7a9d1df89325e576fb4b91693b01bbc871eb16e15e2664736f6c63430008150033

Deployed Bytecode Sourcemap

715:1407:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1712:11;:9;:11::i;:::-;715:1407;;1647:11;:9;:11::i;1844:93::-;;;;;;;;;;-1:-1:-1;1844:93:1;;;;;:::i;:::-;;:::i;1945:172::-;;;;;;;;;;-1:-1:-1;1945:172:1;;;;;:::i;:::-;;:::i;1739:97::-;;;;;;;;;;-1:-1:-1;1813:15:1;;1739:97;;;-1:-1:-1;;;;;1813:15:1;;;1222:74:3;;1739:97:1;;;;;1210:2:3;1739:97:1;;;988:145;1037:15;;-1:-1:-1;;;;;1037:15:1;1029:59;;;;-1:-1:-1;;;1029:59:1;;1509:2:3;1029:59:1;;;1491:21:3;1548:2;1528:18;;;1521:30;1587:19;1567:18;;;1560:47;1624:18;;1029:59:1;;;;;;;;;1109:15;;1099:26;;-1:-1:-1;;;;;1109:15:1;1099:9;:26::i;:::-;988:145::o;1844:93::-;891:8;;-1:-1:-1;;;;;891:8:1;877:10;:22;873:100;;1907:15:::1;:22:::0;;;::::1;-1:-1:-1::0;;;;;1907:22:1;::::1;;::::0;;1844:93;:::o;873:100::-;950:11;:9;:11::i;:::-;1844:93;:::o;1945:172::-;891:8;;-1:-1:-1;;;;;891:8:1;877:10;:22;873:100;;2036:15:::1;:22:::0;;;::::1;-1:-1:-1::0;;;;;2036:22:1;::::1;;::::0;;2069:40:::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;::::1;::::0;2036:22;;2069:40;2104:4;;2069:40;;;;;::::1;2104:4:::0;2069:40;;2104:4;2069:40;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;2069:28:1::1;::::0;-1:-1:-1;;;2069:40:1:i:1;:::-;;1945:172:::0;;;:::o;873:100::-;950:11;:9;:11::i;:::-;1945:172;;;:::o;1141:459::-;1245:14;1242:1;1239;1226:34;1336:1;1333;1317:14;1314:1;1308:4;1301:5;1288:50;1373:16;1370:1;1367;1352:38;1411:6;1431:68;;;;1550:16;1547:1;1540:27;1431:68;1467:16;1464:1;1457:27;6674:198:0;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6781:84;6674:198;-1:-1:-1;;;6674:198:0:o;7058:325::-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:0;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:0:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;-1:-1:-1;;;;;1702:19:0;;;8113:60;;;;-1:-1:-1;;;8113:60:0;;2402:2:3;8113:60:0;;;2384:21:3;2441:2;2421:18;;;2414:30;2480:31;2460:18;;;2453:59;2529:18;;8113:60:0;2200:353:3;8113:60:0;-1:-1:-1;8208:10:0;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;:::-;7671:628;;;;;;:::o;8821:540::-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:0;;;;;;;;:::i;14:196:3:-;82:20;;-1:-1:-1;;;;;131:54:3;;121:65;;111:93;;200:1;197;190:12;111:93;14:196;;;:::o;215:186::-;274:6;327:2;315:9;306:7;302:23;298:32;295:52;;;343:1;340;333:12;295:52;366:29;385:9;366:29;:::i;406:665::-;485:6;493;501;554:2;542:9;533:7;529:23;525:32;522:52;;;570:1;567;560:12;522:52;593:29;612:9;593:29;:::i;:::-;583:39;;673:2;662:9;658:18;645:32;696:18;737:2;729:6;726:14;723:34;;;753:1;750;743:12;723:34;791:6;780:9;776:22;766:32;;836:7;829:4;825:2;821:13;817:27;807:55;;858:1;855;848:12;807:55;898:2;885:16;924:2;916:6;913:14;910:34;;;940:1;937;930:12;910:34;985:7;980:2;971:6;967:2;963:15;959:24;956:37;953:57;;;1006:1;1003;996:12;953:57;1037:2;1033;1029:11;1019:21;;1059:6;1049:16;;;;;406:665;;;;;:::o;1653:250::-;1738:1;1748:113;1762:6;1759:1;1756:13;1748:113;;;1838:11;;;1832:18;1819:11;;;1812:39;1784:2;1777:10;1748:113;;;-1:-1:-1;;1895:1:3;1877:16;;1870:27;1653:250::o;1908:287::-;2037:3;2075:6;2069:13;2091:66;2150:6;2145:3;2138:4;2130:6;2126:17;2091:66;:::i;:::-;2173:16;;;;;1908:287;-1:-1:-1;;1908:287:3:o;2558:455::-;2707:2;2696:9;2689:21;2670:4;2739:6;2733:13;2782:6;2777:2;2766:9;2762:18;2755:34;2798:79;2870:6;2865:2;2854:9;2850:18;2845:2;2837:6;2833:15;2798:79;:::i;:::-;2929:2;2917:15;2934:66;2913:88;2898:104;;;;3004:2;2894:113;;2558:455;-1:-1:-1;;2558:455:3:o

Swarm Source

ipfs://81353ada182caaf6e94b7a9d1df89325e576fb4b91693b01bbc871eb16e15e26

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.