ETH Price: $3,878.39 (-1.30%)

Contract

0x0377b4daDDA86C89A0091772B79ba67d0E5F7198
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
209668752024-10-14 22:45:4752 days ago1728945947  Contract Creation0 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ReleaseRegistry

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU AGPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2024-10-14
*/

// SPDX-License-Identifier: GNU AGPLv3
pragma solidity >=0.8.18;

// lib/tokenized-strategy-periphery/src/utils/Governance.sol

contract Governance {
    /// @notice Emitted when the governance address is updated.
    event GovernanceTransferred(
        address indexed previousGovernance,
        address indexed newGovernance
    );

    modifier onlyGovernance() {
        _checkGovernance();
        _;
    }

    /// @notice Checks if the msg sender is the governance.
    function _checkGovernance() internal view virtual {
        require(governance == msg.sender, "!governance");
    }

    /// @notice Address that can set the default base fee and provider
    address public governance;

    constructor(address _governance) {
        governance = _governance;

        emit GovernanceTransferred(address(0), _governance);
    }

    /**
     * @notice Sets a new address as the governance of the contract.
     * @dev Throws if the caller is not current governance.
     * @param _newGovernance The new governance address.
     */
    function transferGovernance(
        address _newGovernance
    ) external virtual onlyGovernance {
        require(_newGovernance != address(0), "ZERO ADDRESS");
        address oldGovernance = governance;
        governance = _newGovernance;

        emit GovernanceTransferred(oldGovernance, _newGovernance);
    }
}

// lib/tokenized-strategy-periphery/src/utils/Governance2Step.sol

contract Governance2Step is Governance {
    /// @notice Emitted when the pending governance address is set.
    event UpdatePendingGovernance(address indexed newPendingGovernance);

    /// @notice Address that is set to take over governance.
    address public pendingGovernance;

    constructor(address _governance) Governance(_governance) {}

    /**
     * @notice Sets a new address as the `pendingGovernance` of the contract.
     * @dev Throws if the caller is not current governance.
     * @param _newGovernance The new governance address.
     */
    function transferGovernance(
        address _newGovernance
    ) external virtual override onlyGovernance {
        require(_newGovernance != address(0), "ZERO ADDRESS");
        pendingGovernance = _newGovernance;

        emit UpdatePendingGovernance(_newGovernance);
    }

    /**
     * @notice Allows the `pendingGovernance` to accept the role.
     */
    function acceptGovernance() external virtual {
        require(msg.sender == pendingGovernance, "!pending governance");

        emit GovernanceTransferred(governance, msg.sender);

        governance = msg.sender;
        pendingGovernance = address(0);
    }
}

// src/registry/ReleaseRegistry.sol

interface IFactory {
    function apiVersion() external view returns (string memory);
}

interface ITokenizedStrategy {
    function apiVersion() external view returns (string memory);
}

/**
 * @title YearnV3 Release Registry
 * @author yearn.finance
 * @notice
 *  Used by Yearn Governance to track on chain all
 *  releases of the V3 vaults by API Version.
 */
contract ReleaseRegistry is Governance2Step {
    event NewRelease(
        uint256 indexed releaseId,
        address indexed factory,
        address indexed tokenizedStrategy,
        string apiVersion
    );

    string public constant name = "Yearn V3 Release Registry";

    // The total number of releases that have been deployed
    uint256 public numReleases;

    // Mapping of release id starting at 0 to the address
    // of the corresponding factory for that release.
    mapping(uint256 => address) public factories;

    // Mapping of release id starting at 0 to the address
    // of the corresponding Tokenized Strategy for that release.
    mapping(uint256 => address) public tokenizedStrategies;

    // Mapping of the API version for a specific release to the
    // place in the order it was released.
    mapping(string => uint256) public releaseTargets;

    constructor(address _governance) Governance2Step(_governance) {}

    /**
     * @notice Returns the latest factory.
     * @return The address of the factory for the latest release.
     */
    function latestFactory() external view virtual returns (address) {
        uint256 _numReleases = numReleases;
        if (_numReleases == 0) return address(0);
        return factories[numReleases - 1];
    }

    /**
     * @notice Returns the latest tokenized strategy.
     * @return The address of the tokenized strategy for the latest release.
     */
    function latestTokenizedStrategy() external view virtual returns (address) {
        uint256 _numReleases = numReleases;
        if (_numReleases == 0) return address(0);
        return tokenizedStrategies[numReleases - 1];
    }

    /**
     * @notice Returns the api version of the latest release.
     * @return The api version of the latest release.
     */
    function latestRelease() external view virtual returns (string memory) {
        uint256 _numReleases = numReleases;
        if (_numReleases == 0) return "";
        return IFactory(factories[numReleases - 1]).apiVersion();
    }

    /**
     * @notice Issue a new release using a deployed factory.
     * @dev Stores the factory address in `factories` and the release
     * target in `releaseTargets` with its associated API version.
     *
     *   Throws if caller isn't `governance`.
     *   Throws if the api version is the same as the previous release.
     *   Throws if the factory does not have the same api version as the tokenized strategy.
     *   Emits a `NewRelease` event.
     *
     * @param _factory The factory that will be used create new vaults.
     */
    function newRelease(
        address _factory,
        address _tokenizedStrategy
    ) external virtual onlyGovernance {
        // Check if the release is different from the current one
        uint256 releaseId = numReleases;

        string memory apiVersion = IFactory(_factory).apiVersion();
        string memory tokenizedStrategyApiVersion = ITokenizedStrategy(
            _tokenizedStrategy
        ).apiVersion();

        require(
            keccak256(bytes(apiVersion)) ==
                keccak256(bytes(tokenizedStrategyApiVersion)),
            "ReleaseRegistry: api version mismatch"
        );

        if (releaseId > 0) {
            // Make sure this isn't the same as the last one
            require(
                keccak256(
                    bytes(IFactory(factories[releaseId - 1]).apiVersion())
                ) != keccak256(bytes(apiVersion)),
                "ReleaseRegistry: same api version"
            );
        }

        // Update latest release.
        factories[releaseId] = _factory;
        tokenizedStrategies[releaseId] = _tokenizedStrategy;

        // Set the api to the target.
        releaseTargets[apiVersion] = releaseId;

        // Increase our number of releases.
        numReleases = releaseId + 1;

        // Log the release for external listeners
        emit NewRelease(releaseId, _factory, _tokenizedStrategy, apiVersion);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_governance","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousGovernance","type":"address"},{"indexed":true,"internalType":"address","name":"newGovernance","type":"address"}],"name":"GovernanceTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"releaseId","type":"uint256"},{"indexed":true,"internalType":"address","name":"factory","type":"address"},{"indexed":true,"internalType":"address","name":"tokenizedStrategy","type":"address"},{"indexed":false,"internalType":"string","name":"apiVersion","type":"string"}],"name":"NewRelease","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newPendingGovernance","type":"address"}],"name":"UpdatePendingGovernance","type":"event"},{"inputs":[],"name":"acceptGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"factories","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"governance","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestFactory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestRelease","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestTokenizedStrategy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_factory","type":"address"},{"internalType":"address","name":"_tokenizedStrategy","type":"address"}],"name":"newRelease","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"numReleases","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingGovernance","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"releaseTargets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokenizedStrategies","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newGovernance","type":"address"}],"name":"transferGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50604051610bb2380380610bb283398101604081905261002f91610081565b600080546001600160a01b0319166001600160a01b038316908117825560405183928392917f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce80908290a35050506100b1565b60006020828403121561009357600080fd5b81516001600160a01b03811681146100aa57600080fd5b9392505050565b610af2806100c06000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80635aa6e6751161008c578063d38bfff411610066578063d38bfff4146101fb578063e704cba71461020e578063f0d3a17c14610216578063f39c38a01461022957600080fd5b80635aa6e675146101b7578063672383c4146101ca5780637be0ca5e146101f357600080fd5b806303c0b755146100d457806306fdde03146101125780630fd2afe81461015b578063238efcbc1461019c5780634e55dc0a146101a657806356e0a94b146101ae575b600080fd5b6100ff6100e2366004610886565b805160208183018101805160058252928201919093012091525481565b6040519081526020015b60405180910390f35b61014e6040518060400160405280601981526020017f596561726e2056332052656c656173652052656769737472790000000000000081525081565b604051610109919061092a565b61018461016936600461095d565b6004602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610109565b6101a461023c565b005b6101846102e9565b6100ff60025481565b600054610184906001600160a01b031681565b6101846101d836600461095d565b6003602052600090815260409020546001600160a01b031681565b61014e610331565b6101a4610209366004610992565b6103f4565b61018461048b565b6101a46102243660046109b4565b6104b3565b600154610184906001600160a01b031681565b6001546001600160a01b031633146102915760405162461bcd60e51b81526020600482015260136024820152722170656e64696e6720676f7665726e616e636560681b60448201526064015b60405180910390fd5b6000805460405133926001600160a01b03909216917f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce8091a3600080546001600160a01b03199081163317909155600180549091169055565b6002546000908082036102fe57600091505090565b60036000600160025461031191906109fd565b81526020810191909152604001600020546001600160a01b031692915050565b600254606090600081900361035457505060408051602081019091526000815290565b60036000600160025461036791906109fd565b815260200190815260200160002060009054906101000a90046001600160a01b03166001600160a01b031663258294106040518163ffffffff1660e01b8152600401600060405180830381865afa1580156103c6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103ee9190810190610a16565b91505090565b6103fc6107cd565b6001600160a01b0381166104415760405162461bcd60e51b815260206004820152600c60248201526b5a45524f204144445245535360a01b6044820152606401610288565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fa443b483867b0f9db5b03913474dd21935ac5ba70fa6c94e3423ba9be157c44b90600090a250565b6002546000908082036104a057600091505090565b60046000600160025461031191906109fd565b6104bb6107cd565b600060025490506000836001600160a01b031663258294106040518163ffffffff1660e01b8152600401600060405180830381865afa158015610502573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261052a9190810190610a16565b90506000836001600160a01b031663258294106040518163ffffffff1660e01b8152600401600060405180830381865afa15801561056c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105949190810190610a16565b905080805190602001208280519060200120146106015760405162461bcd60e51b815260206004820152602560248201527f52656c6561736552656769737472793a206170692076657273696f6e206d69736044820152640dac2e8c6d60db1b6064820152608401610288565b821561070257815160208301206003600061061d6001876109fd565b815260200190815260200160002060009054906101000a90046001600160a01b03166001600160a01b031663258294106040518163ffffffff1660e01b8152600401600060405180830381865afa15801561067c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106a49190810190610a16565b80519060200120036107025760405162461bcd60e51b815260206004820152602160248201527f52656c6561736552656769737472793a2073616d65206170692076657273696f6044820152603760f91b6064820152608401610288565b600083815260036020908152604080832080546001600160a01b03808b166001600160a01b031992831617909255600490935292819020805493881693909216929092179055518390600590610759908590610a8d565b90815260405190819003602001902055610774836001610aa9565b600281905550836001600160a01b0316856001600160a01b0316847f1e64daea1fff30af27f156c266895d276293b147737b2219edb8845994d18b4f856040516107be919061092a565b60405180910390a45050505050565b6000546001600160a01b031633146108155760405162461bcd60e51b815260206004820152600b60248201526a21676f7665726e616e636560a81b6044820152606401610288565b565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561085657610856610817565b604052919050565b600067ffffffffffffffff82111561087857610878610817565b50601f01601f191660200190565b60006020828403121561089857600080fd5b813567ffffffffffffffff8111156108af57600080fd5b8201601f810184136108c057600080fd5b80356108d36108ce8261085e565b61082d565b8181528560208385010111156108e857600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015610921578181015183820152602001610909565b50506000910152565b6020815260008251806020840152610949816040850160208701610906565b601f01601f19169190910160400192915050565b60006020828403121561096f57600080fd5b5035919050565b80356001600160a01b038116811461098d57600080fd5b919050565b6000602082840312156109a457600080fd5b6109ad82610976565b9392505050565b600080604083850312156109c757600080fd5b6109d083610976565b91506109de60208401610976565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610a1057610a106109e7565b92915050565b600060208284031215610a2857600080fd5b815167ffffffffffffffff811115610a3f57600080fd5b8201601f81018413610a5057600080fd5b8051610a5e6108ce8261085e565b818152856020838501011115610a7357600080fd5b610a84826020830160208601610906565b95945050505050565b60008251610a9f818460208701610906565b9190910192915050565b80820180821115610a1057610a106109e756fea2646970667358221220f88027a70ec897a26f3070932c8f155ab072da3e0762492098d92b65205f1eff64736f6c634300081200330000000000000000000000006f3cbe2ab3483ec4ba7b672fbdca0e9b33f88db8

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80635aa6e6751161008c578063d38bfff411610066578063d38bfff4146101fb578063e704cba71461020e578063f0d3a17c14610216578063f39c38a01461022957600080fd5b80635aa6e675146101b7578063672383c4146101ca5780637be0ca5e146101f357600080fd5b806303c0b755146100d457806306fdde03146101125780630fd2afe81461015b578063238efcbc1461019c5780634e55dc0a146101a657806356e0a94b146101ae575b600080fd5b6100ff6100e2366004610886565b805160208183018101805160058252928201919093012091525481565b6040519081526020015b60405180910390f35b61014e6040518060400160405280601981526020017f596561726e2056332052656c656173652052656769737472790000000000000081525081565b604051610109919061092a565b61018461016936600461095d565b6004602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610109565b6101a461023c565b005b6101846102e9565b6100ff60025481565b600054610184906001600160a01b031681565b6101846101d836600461095d565b6003602052600090815260409020546001600160a01b031681565b61014e610331565b6101a4610209366004610992565b6103f4565b61018461048b565b6101a46102243660046109b4565b6104b3565b600154610184906001600160a01b031681565b6001546001600160a01b031633146102915760405162461bcd60e51b81526020600482015260136024820152722170656e64696e6720676f7665726e616e636560681b60448201526064015b60405180910390fd5b6000805460405133926001600160a01b03909216917f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce8091a3600080546001600160a01b03199081163317909155600180549091169055565b6002546000908082036102fe57600091505090565b60036000600160025461031191906109fd565b81526020810191909152604001600020546001600160a01b031692915050565b600254606090600081900361035457505060408051602081019091526000815290565b60036000600160025461036791906109fd565b815260200190815260200160002060009054906101000a90046001600160a01b03166001600160a01b031663258294106040518163ffffffff1660e01b8152600401600060405180830381865afa1580156103c6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103ee9190810190610a16565b91505090565b6103fc6107cd565b6001600160a01b0381166104415760405162461bcd60e51b815260206004820152600c60248201526b5a45524f204144445245535360a01b6044820152606401610288565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fa443b483867b0f9db5b03913474dd21935ac5ba70fa6c94e3423ba9be157c44b90600090a250565b6002546000908082036104a057600091505090565b60046000600160025461031191906109fd565b6104bb6107cd565b600060025490506000836001600160a01b031663258294106040518163ffffffff1660e01b8152600401600060405180830381865afa158015610502573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261052a9190810190610a16565b90506000836001600160a01b031663258294106040518163ffffffff1660e01b8152600401600060405180830381865afa15801561056c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105949190810190610a16565b905080805190602001208280519060200120146106015760405162461bcd60e51b815260206004820152602560248201527f52656c6561736552656769737472793a206170692076657273696f6e206d69736044820152640dac2e8c6d60db1b6064820152608401610288565b821561070257815160208301206003600061061d6001876109fd565b815260200190815260200160002060009054906101000a90046001600160a01b03166001600160a01b031663258294106040518163ffffffff1660e01b8152600401600060405180830381865afa15801561067c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106a49190810190610a16565b80519060200120036107025760405162461bcd60e51b815260206004820152602160248201527f52656c6561736552656769737472793a2073616d65206170692076657273696f6044820152603760f91b6064820152608401610288565b600083815260036020908152604080832080546001600160a01b03808b166001600160a01b031992831617909255600490935292819020805493881693909216929092179055518390600590610759908590610a8d565b90815260405190819003602001902055610774836001610aa9565b600281905550836001600160a01b0316856001600160a01b0316847f1e64daea1fff30af27f156c266895d276293b147737b2219edb8845994d18b4f856040516107be919061092a565b60405180910390a45050505050565b6000546001600160a01b031633146108155760405162461bcd60e51b815260206004820152600b60248201526a21676f7665726e616e636560a81b6044820152606401610288565b565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561085657610856610817565b604052919050565b600067ffffffffffffffff82111561087857610878610817565b50601f01601f191660200190565b60006020828403121561089857600080fd5b813567ffffffffffffffff8111156108af57600080fd5b8201601f810184136108c057600080fd5b80356108d36108ce8261085e565b61082d565b8181528560208385010111156108e857600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015610921578181015183820152602001610909565b50506000910152565b6020815260008251806020840152610949816040850160208701610906565b601f01601f19169190910160400192915050565b60006020828403121561096f57600080fd5b5035919050565b80356001600160a01b038116811461098d57600080fd5b919050565b6000602082840312156109a457600080fd5b6109ad82610976565b9392505050565b600080604083850312156109c757600080fd5b6109d083610976565b91506109de60208401610976565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610a1057610a106109e7565b92915050565b600060208284031215610a2857600080fd5b815167ffffffffffffffff811115610a3f57600080fd5b8201601f81018413610a5057600080fd5b8051610a5e6108ce8261085e565b818152856020838501011115610a7357600080fd5b610a84826020830160208601610906565b95945050505050565b60008251610a9f818460208701610906565b9190910192915050565b80820180821115610a1057610a106109e756fea2646970667358221220f88027a70ec897a26f3070932c8f155ab072da3e0762492098d92b65205f1eff64736f6c63430008120033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000006f3cbe2ab3483ec4ba7b672fbdca0e9b33f88db8

-----Decoded View---------------
Arg [0] : _governance (address): 0x6f3cBE2ab3483EC4BA7B672fbdCa0E9B33F88db8

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006f3cbe2ab3483ec4ba7b672fbdca0e9b33f88db8


Deployed Bytecode Sourcemap

3129:4098:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3980:48;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1442:25:1;;;1430:2;1415:18;3980:48:0;;;;;;;;3354:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3808:54::-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;3808:54:0;;;;;;-1:-1:-1;;;;;2483:32:1;;;2465:51;;2453:2;2438:18;3808:54:0;2319:203:1;2437:267:0;;;:::i;:::-;;4238:213;;;:::i;3481:26::-;;;;;;694:25;;;;;-1:-1:-1;;;;;694:25:0;;;3630:44;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;3630:44:0;;;4987:234;;;:::i;2061:283::-;;;;;;:::i;:::-;;:::i;4610:233::-;;;:::i;5789:1435::-;;;;;;:::i;:::-;;:::i;1737:32::-;;;;;-1:-1:-1;;;;;1737:32:0;;;2437:267;2515:17;;-1:-1:-1;;;;;2515:17:0;2501:10;:31;2493:63;;;;-1:-1:-1;;;2493:63:0;;3363:2:1;2493:63:0;;;3345:21:1;3402:2;3382:18;;;3375:30;-1:-1:-1;;;3421:18:1;;;3414:49;3480:18;;2493:63:0;;;;;;;;;2596:10;;;2574:45;;2608:10;;-1:-1:-1;;;;;2596:10:0;;;;2574:45;;;2632:10;:23;;-1:-1:-1;;;;;;2632:23:0;;;2645:10;2632:23;;;;;2666:30;;;;;;;2437:267::o;4238:213::-;4337:11;;4294:7;;4363:17;;;4359:40;;4397:1;4382:17;;;4238:213;:::o;4359:40::-;4417:9;:26;4441:1;4427:11;;:15;;;;:::i;:::-;4417:26;;;;;;;;;;;-1:-1:-1;4417:26:0;;-1:-1:-1;;;;;4417:26:0;;4238:213;-1:-1:-1;;4238:213:0:o;4987:234::-;5092:11;;5043:13;;5069:20;5118:17;;;5114:32;;-1:-1:-1;;5137:9:0;;;;;;;;;-1:-1:-1;5137:9:0;;;4987:234::o;5114:32::-;5173:9;:26;5197:1;5183:11;;:15;;;;:::i;:::-;5173:26;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5173:26:0;-1:-1:-1;;;;;5164:47:0;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5164:49:0;;;;;;;;;;;;:::i;:::-;5157:56;;;4987:234;:::o;2061:283::-;390:18;:16;:18::i;:::-;-1:-1:-1;;;;;2189:28:0;::::1;2181:53;;;::::0;-1:-1:-1;;;2181:53:0;;4630:2:1;2181:53:0::1;::::0;::::1;4612:21:1::0;4669:2;4649:18;;;4642:30;-1:-1:-1;;;4688:18:1;;;4681:42;4740:18;;2181:53:0::1;4428:336:1::0;2181:53:0::1;2245:17;:34:::0;;-1:-1:-1;;;;;;2245:34:0::1;-1:-1:-1::0;;;;;2245:34:0;::::1;::::0;;::::1;::::0;;;2297:39:::1;::::0;::::1;::::0;-1:-1:-1;;2297:39:0::1;2061:283:::0;:::o;4610:233::-;4719:11;;4676:7;;4745:17;;;4741:40;;4779:1;4764:17;;;4610:233;:::o;4741:40::-;4799:19;:36;4833:1;4819:11;;:15;;;;:::i;5789:1435::-;390:18;:16;:18::i;:::-;5990:17:::1;6010:11;;5990:31;;6034:24;6070:8;-1:-1:-1::0;;;;;6061:29:0::1;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;6061:31:0::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;6034:58;;6103:41;6180:18;-1:-1:-1::0;;;;;6147:73:0::1;;:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;6147:75:0::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;6103:119;;6322:27;6306:45;;;;;;6273:10;6257:28;;;;;;:94;6235:181;;;::::0;-1:-1:-1;;;6235:181:0;;4971:2:1;6235:181:0::1;::::0;::::1;4953:21:1::0;5010:2;4990:18;;;4983:30;5049:34;5029:18;;;5022:62;-1:-1:-1;;;5100:18:1;;;5093:35;5145:19;;6235:181:0::1;4769:401:1::0;6235:181:0::1;6433:13:::0;;6429:340:::1;;6660:28:::0;;::::1;::::0;::::1;::::0;6598:9:::1;:24;6608:13;6620:1;6608:9:::0;:13:::1;:::i;:::-;6598:24;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;6598:24:0::1;-1:-1:-1::0;;;;;6589:45:0::1;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;6589:47:0::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;6551:105;;;;;;:137:::0;6525:232:::1;;;::::0;-1:-1:-1;;;6525:232:0;;5377:2:1;6525:232:0::1;::::0;::::1;5359:21:1::0;5416:2;5396:18;;;5389:30;5455:34;5435:18;;;5428:62;-1:-1:-1;;;5506:18:1;;;5499:31;5547:19;;6525:232:0::1;5175:397:1::0;6525:232:0::1;6816:20;::::0;;;:9:::1;:20;::::0;;;;;;;:31;;-1:-1:-1;;;;;6816:31:0;;::::1;-1:-1:-1::0;;;;;;6816:31:0;;::::1;;::::0;;;6858:19:::1;:30:::0;;;;;;;:51;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;6961:26;6826:9;;6961:14:::1;::::0;:26:::1;::::0;6976:10;;6961:26:::1;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:38;7071:13:::1;:9:::0;7083:1:::1;7071:13;:::i;:::-;7057:11;:27;;;;7185:18;-1:-1:-1::0;;;;;7153:63:0::1;7175:8;-1:-1:-1::0;;;;;7153:63:0::1;7164:9;7153:63;7205:10;7153:63;;;;;;:::i;:::-;;;;;;;;5912:1312;;;5789:1435:::0;;:::o;497:117::-;566:10;;-1:-1:-1;;;;;566:10:0;580;566:24;558:48;;;;-1:-1:-1;;;558:48:0;;6203:2:1;558:48:0;;;6185:21:1;6242:2;6222:18;;;6215:30;-1:-1:-1;;;6261:18:1;;;6254:41;6312:18;;558:48:0;6001:335:1;558:48:0;497:117::o;14:127:1:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:275;217:2;211:9;282:2;263:13;;-1:-1:-1;;259:27:1;247:40;;317:18;302:34;;338:22;;;299:62;296:88;;;364:18;;:::i;:::-;400:2;393:22;146:275;;-1:-1:-1;146:275:1:o;426:187::-;475:4;508:18;500:6;497:30;494:56;;;530:18;;:::i;:::-;-1:-1:-1;596:2:1;575:15;-1:-1:-1;;571:29:1;602:4;567:40;;426:187::o;618:673::-;687:6;740:2;728:9;719:7;715:23;711:32;708:52;;;756:1;753;746:12;708:52;796:9;783:23;829:18;821:6;818:30;815:50;;;861:1;858;851:12;815:50;884:22;;937:4;929:13;;925:27;-1:-1:-1;915:55:1;;966:1;963;956:12;915:55;1002:2;989:16;1027:49;1043:32;1072:2;1043:32;:::i;:::-;1027:49;:::i;:::-;1099:2;1092:5;1085:17;1139:7;1134:2;1129;1125;1121:11;1117:20;1114:33;1111:53;;;1160:1;1157;1150:12;1111:53;1215:2;1210;1206;1202:11;1197:2;1190:5;1186:14;1173:45;1259:1;1238:14;;;1254:2;1234:23;1227:34;;;;1242:5;618:673;-1:-1:-1;;;;618:673:1:o;1478:250::-;1563:1;1573:113;1587:6;1584:1;1581:13;1573:113;;;1663:11;;;1657:18;1644:11;;;1637:39;1609:2;1602:10;1573:113;;;-1:-1:-1;;1720:1:1;1702:16;;1695:27;1478:250::o;1733:396::-;1882:2;1871:9;1864:21;1845:4;1914:6;1908:13;1957:6;1952:2;1941:9;1937:18;1930:34;1973:79;2045:6;2040:2;2029:9;2025:18;2020:2;2012:6;2008:15;1973:79;:::i;:::-;2113:2;2092:15;-1:-1:-1;;2088:29:1;2073:45;;;;2120:2;2069:54;;1733:396;-1:-1:-1;;1733:396:1:o;2134:180::-;2193:6;2246:2;2234:9;2225:7;2221:23;2217:32;2214:52;;;2262:1;2259;2252:12;2214:52;-1:-1:-1;2285:23:1;;2134:180;-1:-1:-1;2134:180:1:o;2527:173::-;2595:20;;-1:-1:-1;;;;;2644:31:1;;2634:42;;2624:70;;2690:1;2687;2680:12;2624:70;2527:173;;;:::o;2705:186::-;2764:6;2817:2;2805:9;2796:7;2792:23;2788:32;2785:52;;;2833:1;2830;2823:12;2785:52;2856:29;2875:9;2856:29;:::i;:::-;2846:39;2705:186;-1:-1:-1;;;2705:186:1:o;2896:260::-;2964:6;2972;3025:2;3013:9;3004:7;3000:23;2996:32;2993:52;;;3041:1;3038;3031:12;2993:52;3064:29;3083:9;3064:29;:::i;:::-;3054:39;;3112:38;3146:2;3135:9;3131:18;3112:38;:::i;:::-;3102:48;;2896:260;;;;;:::o;3509:127::-;3570:10;3565:3;3561:20;3558:1;3551:31;3601:4;3598:1;3591:15;3625:4;3622:1;3615:15;3641:128;3708:9;;;3729:11;;;3726:37;;;3743:18;;:::i;:::-;3641:128;;;;:::o;3774:649::-;3854:6;3907:2;3895:9;3886:7;3882:23;3878:32;3875:52;;;3923:1;3920;3913:12;3875:52;3956:9;3950:16;3989:18;3981:6;3978:30;3975:50;;;4021:1;4018;4011:12;3975:50;4044:22;;4097:4;4089:13;;4085:27;-1:-1:-1;4075:55:1;;4126:1;4123;4116:12;4075:55;4155:2;4149:9;4180:49;4196:32;4225:2;4196:32;:::i;4180:49::-;4252:2;4245:5;4238:17;4292:7;4287:2;4282;4278;4274:11;4270:20;4267:33;4264:53;;;4313:1;4310;4303:12;4264:53;4326:67;4390:2;4385;4378:5;4374:14;4369:2;4365;4361:11;4326:67;:::i;:::-;4412:5;3774:649;-1:-1:-1;;;;;3774:649:1:o;5577:289::-;5708:3;5746:6;5740:13;5762:66;5821:6;5816:3;5809:4;5801:6;5797:17;5762:66;:::i;:::-;5844:16;;;;;5577:289;-1:-1:-1;;5577:289:1:o;5871:125::-;5936:9;;;5957:10;;;5954:36;;;5970:18;;:::i

Swarm Source

ipfs://f88027a70ec897a26f3070932c8f155ab072da3e0762492098d92b65205f1eff

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