ETH Price: $2,862.81 (-2.67%)

Contract

0x2c4A94874e4Dd52153CE2F2a4574b858928C1804

Overview

ETH Balance

Linea Mainnet LogoLinea Mainnet LogoLinea Mainnet Logo0 ETH

ETH Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Remove Registrar9729562023-11-25 19:04:48792 days ago1700939088IN
0x2c4A9487...8928C1804
0 ETH0.000072843
Add Registrar9729222023-11-25 19:00:16792 days ago1700938816IN
0x2c4A9487...8928C1804
0 ETH0.000138493
Add Registrar9079982023-11-19 18:43:27798 days ago1700419407IN
0x2c4A9487...8928C1804
0 ETH0.000095072.05934533
Add Registrar602402023-07-26 16:27:37914 days ago1690388857IN
0x2c4A9487...8928C1804
0 ETH0.000142393.08451714

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
238440432025-09-26 23:31:44121 days ago1758929504
0x2c4A9487...8928C1804
0 ETH
223413812025-08-21 21:50:16157 days ago1755813016
0x2c4A9487...8928C1804
0 ETH
219546562025-08-12 18:24:19166 days ago1755023059
0x2c4A9487...8928C1804
0 ETH
196978842025-06-05 14:12:39234 days ago1749132759
0x2c4A9487...8928C1804
0 ETH
192191882025-05-21 17:37:49249 days ago1747849069
0x2c4A9487...8928C1804
0 ETH
188007162025-05-08 19:17:10262 days ago1746731830
0x2c4A9487...8928C1804
0 ETH
185479522025-04-30 16:09:36270 days ago1746029376
0x2c4A9487...8928C1804
0 ETH
181598062025-04-18 15:36:00282 days ago1744990560
0x2c4A9487...8928C1804
0 ETH
180246262025-04-14 9:11:24286 days ago1744621884
0x2c4A9487...8928C1804
0 ETH
178158962025-04-07 23:17:05293 days ago1744067825
0x2c4A9487...8928C1804
0 ETH
173979572025-03-26 22:12:54305 days ago1743027174
0x2c4A9487...8928C1804
0 ETH
173169092025-03-24 18:41:20307 days ago1742841680
0x2c4A9487...8928C1804
0 ETH
171631762025-03-20 13:08:29311 days ago1742476109
0x2c4A9487...8928C1804
0 ETH
168637882025-03-12 21:58:41319 days ago1741816721
0x2c4A9487...8928C1804
0 ETH
166673032025-03-07 19:08:47324 days ago1741374527
0x2c4A9487...8928C1804
0 ETH
166209022025-03-06 15:04:13325 days ago1741273453
0x2c4A9487...8928C1804
0 ETH
165769752025-03-05 13:30:08326 days ago1741181408
0x2c4A9487...8928C1804
0 ETH
162998722025-02-26 16:21:50333 days ago1740586910
0x2c4A9487...8928C1804
0 ETH
162153992025-02-24 14:48:17335 days ago1740408497
0x2c4A9487...8928C1804
0 ETH
161005332025-02-21 15:40:24338 days ago1740152424
0x2c4A9487...8928C1804
0 ETH
160347482025-02-20 1:45:40340 days ago1740015940
0x2c4A9487...8928C1804
0 ETH
160165332025-02-19 14:45:56340 days ago1739976356
0x2c4A9487...8928C1804
0 ETH
157884692025-02-13 20:24:26346 days ago1739478266
0x2c4A9487...8928C1804
0 ETH
157580122025-02-13 2:41:45347 days ago1739414505
0x2c4A9487...8928C1804
0 ETH
157531682025-02-12 23:41:17347 days ago1739403677
0x2c4A9487...8928C1804
0 ETH
View All Internal Transactions
Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TributaryRegistry

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU LGPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at lineascan.build/ on 2023-07-26
*/

// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.8.0;

/// > [[[[[[[[[[[ Imports ]]]]]]]]]]]

interface ITributaryRegistry {
    function allowedRegistrar(address account) external view returns (bool);

    function producerToTributary(address producer)
        external
        view
        returns (address tributary);

    function singletonProducer(address producer) external view returns (bool);

    function addRegistrar(address registrar) external;

    function removeRegistrar(address registrar) external;

    function addSingletonProducer(address producer) external;

    function removeSingletonProducer(address producer) external;

    function setTributary(address producer, address newTributary) external;
}

interface IOwnableEvents {
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );
}

interface IOwnable {
    function transferOwnership(address nextOwner_) external;

    function cancelOwnershipTransfer() external;

    function acceptOwnership() external;

    function renounceOwnership() external;

    function isOwner() external view returns (bool);

    function isNextOwner() external view returns (bool);
}

contract Ownable is IOwnable, IOwnableEvents {
    address public owner;
    address private nextOwner;

    /// > [[[[[[[[[[[ Modifiers ]]]]]]]]]]]

    modifier onlyOwner() {
        require(isOwner(), "caller is not the owner.");
        _;
    }

    modifier onlyNextOwner() {
        require(isNextOwner(), "current owner must set caller as next owner.");
        _;
    }

    /// @notice Initialize contract by setting the initial owner.
    constructor(address owner_) {
        _setInitialOwner(owner_);
    }

    /// @notice Initiate ownership transfer by setting nextOwner.
    function transferOwnership(address nextOwner_) external override onlyOwner {
        require(nextOwner_ != address(0), "Next owner is the zero address.");

        nextOwner = nextOwner_;
    }

    /// @notice Cancel ownership transfer by deleting nextOwner.
    function cancelOwnershipTransfer() external override onlyOwner {
        delete nextOwner;
    }

    /// @notice Accepts ownership transfer by setting owner.
    function acceptOwnership() external override onlyNextOwner {
        delete nextOwner;

        owner = msg.sender;

        emit OwnershipTransferred(owner, msg.sender);
    }

    /// @notice Renounce ownership by setting owner to zero address.
    function renounceOwnership() external override onlyOwner {
        _renounceOwnership();
    }

    /// @notice Returns true if the caller is the current owner.
    function isOwner() public view override returns (bool) {
        return msg.sender == owner;
    }

    /// @notice Returns true if the caller is the next owner.
    function isNextOwner() public view override returns (bool) {
        return msg.sender == nextOwner;
    }

    /// > [[[[[[[[[[[ Internal Functions ]]]]]]]]]]]

    function _setOwner(address previousOwner, address newOwner) internal {
        owner = newOwner;
        emit OwnershipTransferred(previousOwner, owner);
    }

    function _setInitialOwner(address newOwner) internal {
        owner = newOwner;
        emit OwnershipTransferred(address(0), newOwner);
    }

    function _renounceOwnership() internal {
        emit OwnershipTransferred(owner, address(0));

        owner = address(0);
    }
}

interface IGovernable {
    function changeGovernor(address governor_) external;

    function isGovernor() external view returns (bool);

    function governor() external view returns (address);
}

contract Governable is Ownable, IGovernable {
    // Mirror governance contract.
    address public override governor;

    /// > [[[[[[[[[[[ Modifiers ]]]]]]]]]]]

    modifier onlyGovernance() {
        require(isOwner() || isGovernor(), "caller is not governance");
        _;
    }

    modifier onlyGovernor() {
        require(isGovernor(), "caller is not governor");
        _;
    }

    /// > [[[[[[[[[[[ Constructor ]]]]]]]]]]]

    constructor(address owner_) Ownable(owner_) {}

    /// > [[[[[[[[[[[ Administration ]]]]]]]]]]]

    function changeGovernor(address governor_) public override onlyGovernance {
        governor = governor_;
    }

    /// > [[[[[[[[[[[ View Functions ]]]]]]]]]]]

    function isGovernor() public view override returns (bool) {
        return msg.sender == governor;
    }
}

/**
 * @title TributaryRegistry
 * @notice Allows a registrar contract to register a new proxy as a block
 * that directs Mirror Token distribution to a tributary.
 * Ensures that the tributary is a Mirror DAO member, and that only a valid
 * "Mirror Economic Block" created by a registered registrar, can contribute ETH
 * to the treasury.
 * Nomenclature:
 *   - economic producer: asset contract contributing to the treasury.
 *   - singletone producer: non-asset economic producer e.g. marketplace/auction etc.
 *   - tributary: an account that receives rewards on behalf of the economic producer.
 *   - registrar: a contract usually a factory, that is allowed to register
 *     an economic producer to a tributary.
 * @author MirrorXYZ
 * @custom:security-contact [email protected]
 */
contract TributaryRegistry is Governable, ITributaryRegistry {
    /// @notice Allowed registrars.
    mapping(address => bool) public override allowedRegistrar;

    /// @notice Economic producer to tributary.
    mapping(address => address) public override producerToTributary;

    /// @notice Singletone producer to tributary.
    mapping(address => bool) public override singletonProducer;

    /// > [[[[[[[[[[[ Modifiers ]]]]]]]]]]]

    modifier onlyRegistrar() {
        require(allowedRegistrar[msg.sender], "sender not registered");
        _;
    }

    constructor(address _owner) Governable(_owner) {}

    /// > [[[[[[[[[[[ Configuration ]]]]]]]]]]]

    /// @notice Adds a new registrar to register tributaries.
    /// @param registrar new registrar
    function addRegistrar(address registrar) public override onlyGovernance {
        allowedRegistrar[registrar] = true;
    }

    /// @notice Removes an existing registrar.
    /// @param registrar registrar to remove.
    function removeRegistrar(address registrar) public override onlyGovernance {
        delete allowedRegistrar[registrar];
    }

    /// @notice Adds a new singletone producer.
    /// @param producer new producer.
    function addSingletonProducer(address producer)
        public
        override
        onlyGovernance
    {
        singletonProducer[producer] = true;
    }

    /// @notice Remove a an existing singletone producer.
    /// @param producer producer to remove.
    function removeSingletonProducer(address producer)
        public
        override
        onlyGovernance
    {
        delete singletonProducer[producer];
    }

    /// > [[[[[[[[[[[ Tributary Configuration ]]]]]]]]]]]

    /// @notice Allows the producer to update to a new tributary.
    /// @param producer the producer to update register.
    /// @param newTributary the tributary for the producer.
    function setTributary(address producer, address newTributary)
        external
        override
        onlyRegistrar
    {
        // Allow the current tributary to update to a new tributary.
        producerToTributary[producer] = newTributary;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"registrar","type":"address"}],"name":"addRegistrar","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"producer","type":"address"}],"name":"addSingletonProducer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"allowedRegistrar","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cancelOwnershipTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"governor_","type":"address"}],"name":"changeGovernor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"governor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isGovernor","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isNextOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"producerToTributary","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"registrar","type":"address"}],"name":"removeRegistrar","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"producer","type":"address"}],"name":"removeSingletonProducer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"producer","type":"address"},{"internalType":"address","name":"newTributary","type":"address"}],"name":"setTributary","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"singletonProducer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"nextOwner_","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5060405161091e38038061091e83398101604081905261002f9161008d565b808061003a81610042565b5050506100bd565b600080546001600160a01b0319166001600160a01b03831690811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350565b60006020828403121561009f57600080fd5b81516001600160a01b03811681146100b657600080fd5b9392505050565b610852806100cc6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063a5751856116100a2578063c7af335211610071578063c7af335214610256578063e4c0aaf414610269578063ec72c3491461027c578063ed459df21461028f578063f2fde38b146102a257600080fd5b8063a5751856146101e4578063ad0a44a11461020d578063af92a69314610230578063ba904eed1461024357600080fd5b8063756385e1116100e9578063756385e11461019057806379ba5097146101a35780638da5cb5b146101ab5780638f32d59b146101be578063a5660063146101d157600080fd5b80630c340a241461011b57806323452b9c1461014b57806351ce6bf214610155578063715018a614610188575b600080fd5b60025461012e906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6101536102b5565b005b610178610163366004610759565b60036020526000908152604090205460ff1681565b6040519015158152602001610142565b6101536102fa565b61015361019e366004610759565b61032e565b61015361038e565b60005461012e906001600160a01b031681565b6000546001600160a01b03163314610178565b6101536101df36600461077b565b610445565b61012e6101f2366004610759565b6004602052600090815260409020546001600160a01b031681565b61017861021b366004610759565b60056020526000908152604090205460ff1681565b61015361023e366004610759565b6104ca565b610153610251366004610759565b61052d565b6002546001600160a01b03163314610178565b610153610277366004610759565b61058d565b61015361028a366004610759565b6105ee565b6001546001600160a01b03163314610178565b6101536102b0366004610759565b610651565b6000546001600160a01b031633146102e85760405162461bcd60e51b81526004016102df906107ae565b60405180910390fd5b600180546001600160a01b0319169055565b6000546001600160a01b031633146103245760405162461bcd60e51b81526004016102df906107ae565b61032c6106f3565b565b6000546001600160a01b031633148061035157506002546001600160a01b031633145b61036d5760405162461bcd60e51b81526004016102df906107e5565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6001546001600160a01b031633146103fd5760405162461bcd60e51b815260206004820152602c60248201527f63757272656e74206f776e6572206d757374207365742063616c6c657220617360448201526b103732bc3a1037bbb732b91760a11b60648201526084016102df565b600180546001600160a01b0319908116909155600080543392168217815560405182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3565b3360009081526003602052604090205460ff1661049c5760405162461bcd60e51b81526020600482015260156024820152741cd95b99195c881b9bdd081c9959da5cdd195c9959605a1b60448201526064016102df565b6001600160a01b03918216600090815260046020526040902080546001600160a01b03191691909216179055565b6000546001600160a01b03163314806104ed57506002546001600160a01b031633145b6105095760405162461bcd60e51b81526004016102df906107e5565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6000546001600160a01b031633148061055057506002546001600160a01b031633145b61056c5760405162461bcd60e51b81526004016102df906107e5565b6001600160a01b03166000908152600360205260409020805460ff19169055565b6000546001600160a01b03163314806105b057506002546001600160a01b031633145b6105cc5760405162461bcd60e51b81526004016102df906107e5565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633148061061157506002546001600160a01b031633145b61062d5760405162461bcd60e51b81526004016102df906107e5565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000546001600160a01b0316331461067b5760405162461bcd60e51b81526004016102df906107ae565b6001600160a01b0381166106d15760405162461bcd60e51b815260206004820152601f60248201527f4e657874206f776e657220697320746865207a65726f20616464726573732e0060448201526064016102df565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b80356001600160a01b038116811461075457600080fd5b919050565b60006020828403121561076b57600080fd5b6107748261073d565b9392505050565b6000806040838503121561078e57600080fd5b6107978361073d565b91506107a56020840161073d565b90509250929050565b60208082526018908201527f63616c6c6572206973206e6f7420746865206f776e65722e0000000000000000604082015260600190565b60208082526018908201527f63616c6c6572206973206e6f7420676f7665726e616e6365000000000000000060408201526060019056fea2646970667358221220cdc23ca31a45f4d3785b02bbbddc86f2ac52cfea51d018bf5d516bfab89cca1f64736f6c6343000813003300000000000000000000000034b9422884969b3eeba798723429697053271c8a

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101165760003560e01c8063a5751856116100a2578063c7af335211610071578063c7af335214610256578063e4c0aaf414610269578063ec72c3491461027c578063ed459df21461028f578063f2fde38b146102a257600080fd5b8063a5751856146101e4578063ad0a44a11461020d578063af92a69314610230578063ba904eed1461024357600080fd5b8063756385e1116100e9578063756385e11461019057806379ba5097146101a35780638da5cb5b146101ab5780638f32d59b146101be578063a5660063146101d157600080fd5b80630c340a241461011b57806323452b9c1461014b57806351ce6bf214610155578063715018a614610188575b600080fd5b60025461012e906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6101536102b5565b005b610178610163366004610759565b60036020526000908152604090205460ff1681565b6040519015158152602001610142565b6101536102fa565b61015361019e366004610759565b61032e565b61015361038e565b60005461012e906001600160a01b031681565b6000546001600160a01b03163314610178565b6101536101df36600461077b565b610445565b61012e6101f2366004610759565b6004602052600090815260409020546001600160a01b031681565b61017861021b366004610759565b60056020526000908152604090205460ff1681565b61015361023e366004610759565b6104ca565b610153610251366004610759565b61052d565b6002546001600160a01b03163314610178565b610153610277366004610759565b61058d565b61015361028a366004610759565b6105ee565b6001546001600160a01b03163314610178565b6101536102b0366004610759565b610651565b6000546001600160a01b031633146102e85760405162461bcd60e51b81526004016102df906107ae565b60405180910390fd5b600180546001600160a01b0319169055565b6000546001600160a01b031633146103245760405162461bcd60e51b81526004016102df906107ae565b61032c6106f3565b565b6000546001600160a01b031633148061035157506002546001600160a01b031633145b61036d5760405162461bcd60e51b81526004016102df906107e5565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6001546001600160a01b031633146103fd5760405162461bcd60e51b815260206004820152602c60248201527f63757272656e74206f776e6572206d757374207365742063616c6c657220617360448201526b103732bc3a1037bbb732b91760a11b60648201526084016102df565b600180546001600160a01b0319908116909155600080543392168217815560405182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3565b3360009081526003602052604090205460ff1661049c5760405162461bcd60e51b81526020600482015260156024820152741cd95b99195c881b9bdd081c9959da5cdd195c9959605a1b60448201526064016102df565b6001600160a01b03918216600090815260046020526040902080546001600160a01b03191691909216179055565b6000546001600160a01b03163314806104ed57506002546001600160a01b031633145b6105095760405162461bcd60e51b81526004016102df906107e5565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6000546001600160a01b031633148061055057506002546001600160a01b031633145b61056c5760405162461bcd60e51b81526004016102df906107e5565b6001600160a01b03166000908152600360205260409020805460ff19169055565b6000546001600160a01b03163314806105b057506002546001600160a01b031633145b6105cc5760405162461bcd60e51b81526004016102df906107e5565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633148061061157506002546001600160a01b031633145b61062d5760405162461bcd60e51b81526004016102df906107e5565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000546001600160a01b0316331461067b5760405162461bcd60e51b81526004016102df906107ae565b6001600160a01b0381166106d15760405162461bcd60e51b815260206004820152601f60248201527f4e657874206f776e657220697320746865207a65726f20616464726573732e0060448201526064016102df565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b80356001600160a01b038116811461075457600080fd5b919050565b60006020828403121561076b57600080fd5b6107748261073d565b9392505050565b6000806040838503121561078e57600080fd5b6107978361073d565b91506107a56020840161073d565b90509250929050565b60208082526018908201527f63616c6c6572206973206e6f7420746865206f776e65722e0000000000000000604082015260600190565b60208082526018908201527f63616c6c6572206973206e6f7420676f7665726e616e6365000000000000000060408201526060019056fea2646970667358221220cdc23ca31a45f4d3785b02bbbddc86f2ac52cfea51d018bf5d516bfab89cca1f64736f6c63430008130033

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

00000000000000000000000034b9422884969b3eeba798723429697053271c8a

-----Decoded View---------------
Arg [0] : _owner (address): 0x34B9422884969b3EEbA798723429697053271C8a

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000034b9422884969b3eeba798723429697053271c8a


Deployed Bytecode Sourcemap

5416:2206:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3844:32;;;;;-1:-1:-1;;;;;3844:32:0;;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;3844:32:0;;;;;;;;2145:98;;;:::i;:::-;;5521:57;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;756:14:1;;749:22;731:41;;719:2;704:18;5521:57:0;591:187:1;2573:96:0;;;:::i;6938:167::-;;;;;;:::i;:::-;;:::i;2313:182::-;;;:::i;1313:20::-;;;;;-1:-1:-1;;;;;1313:20:0;;;2743:100;2792:4;2830:5;-1:-1:-1;;;;;2830:5:0;2816:10;:19;2743:100;;7360:259;;;;;;:::i;:::-;;:::i;5636:63::-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;5636:63:0;;;5759:58;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6210:125;;;;;;:::i;:::-;;:::i;6438:128::-;;;;;;:::i;:::-;;:::i;4497:106::-;4587:8;;-1:-1:-1;;;;;4587:8:0;4573:10;:22;4497:106;;4324:113;;;;;;:::i;:::-;;:::i;6662:164::-;;;;;;:::i;:::-;;:::i;2914:108::-;3005:9;;-1:-1:-1;;;;;3005:9:0;2991:10;:23;2914:108;;1874:197;;;;;;:::i;:::-;;:::i;2145:98::-;2792:4;2830:5;-1:-1:-1;;;;;2830:5:0;2816:10;:19;1453:46;;;;-1:-1:-1;;;1453:46:0;;;;;;;:::i;:::-;;;;;;;;;2226:9:::1;2219:16:::0;;-1:-1:-1;;;;;;2219:16:0::1;::::0;;2145:98::o;2573:96::-;2792:4;2830:5;-1:-1:-1;;;;;2830:5:0;2816:10;:19;1453:46;;;;-1:-1:-1;;;1453:46:0;;;;;;;:::i;:::-;2641:20:::1;:18;:20::i;:::-;2573:96::o:0;6938:167::-;2792:4;2830:5;-1:-1:-1;;;;;2830:5:0;2816:10;:19;3977:25;;;-1:-1:-1;4587:8:0;;-1:-1:-1;;;;;4587:8:0;4573:10;:22;3990:12;3969:62;;;;-1:-1:-1;;;3969:62:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7070:27:0::1;;::::0;;;:17:::1;:27;::::0;;;;7063:34;;-1:-1:-1;;7063:34:0::1;::::0;;6938:167::o;2313:182::-;3005:9;;-1:-1:-1;;;;;3005:9:0;2991:10;:23;1563:70;;;;-1:-1:-1;;;1563:70:0;;1956:2:1;1563:70:0;;;1938:21:1;1995:2;1975:18;;;1968:30;2034:34;2014:18;;;2007:62;-1:-1:-1;;;2085:18:1;;;2078:42;2137:19;;1563:70:0;1754:408:1;1563:70:0;2390:9:::1;2383:16:::0;;-1:-1:-1;;;;;;2383:16:0;;::::1;::::0;;;-1:-1:-1;2412:18:0;;2420:10:::1;2412:18:::0;::::1;::::0;::::1;::::0;;2448:39:::1;::::0;2420:10;;2448:39:::1;::::0;::::1;2313:182::o:0;7360:259::-;5934:10;5917:28;;;;:16;:28;;;;;;;;5909:62;;;;-1:-1:-1;;;5909:62:0;;2369:2:1;5909:62:0;;;2351:21:1;2408:2;2388:18;;;2381:30;-1:-1:-1;;;2427:18:1;;;2420:51;2488:18;;5909:62:0;2167:345:1;5909:62:0;-1:-1:-1;;;;;7567:29:0;;::::1;;::::0;;;:19:::1;:29;::::0;;;;:44;;-1:-1:-1;;;;;;7567:44:0::1;::::0;;;::::1;;::::0;;7360:259::o;6210:125::-;2792:4;2830:5;-1:-1:-1;;;;;2830:5:0;2816:10;:19;3977:25;;;-1:-1:-1;4587:8:0;;-1:-1:-1;;;;;4587:8:0;4573:10;:22;3990:12;3969:62;;;;-1:-1:-1;;;3969:62:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6293:27:0::1;;::::0;;;:16:::1;:27;::::0;;;;:34;;-1:-1:-1;;6293:34:0::1;6323:4;6293:34;::::0;;6210:125::o;6438:128::-;2792:4;2830:5;-1:-1:-1;;;;;2830:5:0;2816:10;:19;3977:25;;;-1:-1:-1;4587:8:0;;-1:-1:-1;;;;;4587:8:0;4573:10;:22;3990:12;3969:62;;;;-1:-1:-1;;;3969:62:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6531:27:0::1;;::::0;;;:16:::1;:27;::::0;;;;6524:34;;-1:-1:-1;;6524:34:0::1;::::0;;6438:128::o;4324:113::-;2792:4;2830:5;-1:-1:-1;;;;;2830:5:0;2816:10;:19;3977:25;;;-1:-1:-1;4587:8:0;;-1:-1:-1;;;;;4587:8:0;4573:10;:22;3990:12;3969:62;;;;-1:-1:-1;;;3969:62:0;;;;;;;:::i;:::-;4409:8:::1;:20:::0;;-1:-1:-1;;;;;;4409:20:0::1;-1:-1:-1::0;;;;;4409:20:0;;;::::1;::::0;;;::::1;::::0;;4324:113::o;6662:164::-;2792:4;2830:5;-1:-1:-1;;;;;2830:5:0;2816:10;:19;3977:25;;;-1:-1:-1;4587:8:0;;-1:-1:-1;;;;;4587:8:0;4573:10;:22;3990:12;3969:62;;;;-1:-1:-1;;;3969:62:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6784:27:0::1;;::::0;;;:17:::1;:27;::::0;;;;:34;;-1:-1:-1;;6784:34:0::1;6814:4;6784:34;::::0;;6662:164::o;1874:197::-;2792:4;2830:5;-1:-1:-1;;;;;2830:5:0;2816:10;:19;1453:46;;;;-1:-1:-1;;;1453:46:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1968:24:0;::::1;1960:68;;;::::0;-1:-1:-1;;;1960:68:0;;2719:2:1;1960:68:0::1;::::0;::::1;2701:21:1::0;2758:2;2738:18;;;2731:30;2797:33;2777:18;;;2770:61;2848:18;;1960:68:0::1;2517:355:1::0;1960:68:0::1;2041:9;:22:::0;;-1:-1:-1;;;;;;2041:22:0::1;-1:-1:-1::0;;;;;2041:22:0;;;::::1;::::0;;;::::1;::::0;;1874:197::o;3410:133::-;3501:1;3486:5;;3465:39;;-1:-1:-1;;;;;3486:5:0;;;;3465:39;;3501:1;;3465:39;3533:1;3517:18;;-1:-1:-1;;;;;;3517:18:0;;;3410:133::o;222:173:1:-;290:20;;-1:-1:-1;;;;;339:31:1;;329:42;;319:70;;385:1;382;375:12;319:70;222:173;;;:::o;400:186::-;459:6;512:2;500:9;491:7;487:23;483:32;480:52;;;528:1;525;518:12;480:52;551:29;570:9;551:29;:::i;:::-;541:39;400:186;-1:-1:-1;;;400:186:1:o;783:260::-;851:6;859;912:2;900:9;891:7;887:23;883:32;880:52;;;928:1;925;918:12;880:52;951:29;970:9;951:29;:::i;:::-;941:39;;999:38;1033:2;1022:9;1018:18;999:38;:::i;:::-;989:48;;783:260;;;;;:::o;1048:348::-;1250:2;1232:21;;;1289:2;1269:18;;;1262:30;1328:26;1323:2;1308:18;;1301:54;1387:2;1372:18;;1048:348::o;1401:::-;1603:2;1585:21;;;1642:2;1622:18;;;1615:30;1681:26;1676:2;1661:18;;1654:54;1740:2;1725:18;;1401:348::o

Swarm Source

ipfs://cdc23ca31a45f4d3785b02bbbddc86f2ac52cfea51d018bf5d516bfab89cca1f

Block Transaction Gas Used Reward
view all blocks sequenced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
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  ]
[ 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.