FRAX Price: $0.80 (-1.70%)

Contract

0xDAA04C5DDCAd2C3574753Dd4DA6AeAAD367E5765

Overview

FRAX Balance | FXTL Balance

0 FRAX | 216 FXTL

FRAX Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Allow Operator49948452024-05-27 9:00:01608 days ago1716800401IN
0xDAA04C5D...D367E5765
0 FRAX0.000001320.00000025
Transfer Governa...48666972024-05-24 9:48:25611 days ago1716544105IN
0xDAA04C5D...D367E5765
0 FRAX0.000000890.00100025
Allow Operator48666862024-05-24 9:48:03611 days ago1716544083IN
0xDAA04C5D...D367E5765
0 FRAX0.000000910.00100025

View more zero value Internal Transactions in Advanced View mode

Advanced mode:

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
sdTokenOperatorFraxtal

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU AGPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at fraxscan.com on 2024-05-24
*/

// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity 0.8.19;

/**
 * @dev Interface of the ERC165 standard, as defined in the
 * https://eips.ethereum.org/EIPS/eip-165[EIP].
 *
 * Implementers can declare support of contract interfaces, which can then be
 * queried by others ({ERC165Checker}).
 *
 * For an implementation, see {ERC165}.
 */
interface IERC165 {
    /**
     * @dev Returns true if this contract implements the interface defined by
     * `interfaceId`. See the corresponding
     * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]
     * to learn more about how these ids are created.
     *
     * This function call must use less than 30 000 gas.
     */
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

interface ISdToken {
    function balanceOf(address account) external view returns (uint256);

    function burn(address _to, uint256 _amount) external;

    function mint(address _to, uint256 _amount) external;

    function operator() external view returns (address);

    function setOperator(address _operator) external;
}

interface IOptimismMintableERC20 is IERC165 {
    function remoteToken() external view returns (address);

    function bridge() external returns (address);

    function mint(address _to, uint256 _amount) external;

    function burn(address _from, uint256 _amount) external;
}

/// @title sdTokenOperator
/// @author StakeDAO
/// @notice A middleware contract used to allow multi addresses to mint/burn sdToken, it needs to be the sdToken's operator
contract sdTokenOperatorFraxtal is IOptimismMintableERC20 {
    /// @notice Address of the remote token in ethereum
    address public immutable remoteToken;

    /// @notice Address of the bridge in fraxtal
    address public immutable bridge;

    /// @notice Address of the governance
    address public governance;

    /// @notice Address of the future governance
    address public futureGovernance;

    /// @notice sdToken
    ISdToken public immutable sdToken;

    /// @notice address -> enabled or not
    mapping(address => bool) public operators;

    ////////////////////////////////////////////////////////////////
    /// --- EVENTS & ERRORS
    ///////////////////////////////////////////////////////////////

    /// @notice Throwed when an operator has already allowed
    error AlreadyAllowed();

    /// @notice Throwed when a low level call fails
    error CallFailed();

    /// @notice Throwed when an operator has not allowed
    error NotAllowed();

    /// @notice Throwed at Auth
    error Auth();

    /// @notice Emitted when the governance changes
    event GovernanceChanged(address governance);

    /// @notice Emitted when an operator is allowed
    event OperatorAllowed(address operator);

    /// @notice Emitted when an operator is disallowed
    event OperatorDisallowed(address operator);

    modifier onlyFutureGovernance() {
        if (msg.sender != futureGovernance) revert Auth();
        _;
    }

    modifier onlyGovernance() {
        if (msg.sender != governance) revert Auth();
        _;
    }

    modifier onlyOperator() {
        if (!operators[msg.sender]) revert Auth();
        _;
    }

    //////////////////////////////////////////////////////
    /// --- CONSTRUCTOR
    //////////////////////////////////////////////////////

    /// @notice Constructor
    /// @param _sdToken Address of the sdToken
    /// @param _governance Address of the governance
    /// @param _remoteToken Address of the remote sdToken
    /// @param _bridge Address of the frax bridge
    /// @param _delegationRegistry Address of the fraxtal delegation registry
    /// @param _initialDelegate Address of the delegate that receives network reward
    constructor(
        address _sdToken,
        address _governance,
        address _remoteToken,
        address _bridge,
        address _delegationRegistry,
        address _initialDelegate
    ) {
        sdToken = ISdToken(_sdToken);
        governance = _governance;
        remoteToken = _remoteToken;
        bridge = _bridge;

        // Custom code for Fraxtal
        // set _initialDelegate as delegate
        (bool success,) =
            _delegationRegistry.call(abi.encodeWithSignature("setDelegationForSelf(address)", _initialDelegate));
        if (!success) revert CallFailed();
        // disable self managing delegation
        (success,) = _delegationRegistry.call(abi.encodeWithSignature("disableSelfManagingDelegations()"));
        if (!success) revert CallFailed();
    }

    /// @notice mint new sdToken, callable only by the operator
    /// @param _to recipient to mint for
    /// @param _amount amount to mint
    function mint(address _to, uint256 _amount) external onlyOperator {
        sdToken.mint(_to, _amount);
    }

    /// @notice burn sdToken, callable only by the operator
    /// @param _from sdToken holder
    /// @param _amount amount to burn
    function burn(address _from, uint256 _amount) external onlyOperator {
        sdToken.burn(_from, _amount);
    }

    /// @notice Allow a new operator that can mint and burn sdToken
    /// @param _operator new operator address
    function allowOperator(address _operator) external onlyGovernance {
        if (operators[_operator]) revert AlreadyAllowed();
        operators[_operator] = true;

        emit OperatorAllowed(_operator);
    }

    /// @notice Allow a new operator that can mint and burn sdToken
    /// @param _operator new operator address
    function disallowOperator(address _operator) external onlyGovernance {
        if (!operators[_operator]) revert NotAllowed();
        operators[_operator] = false;

        emit OperatorDisallowed(_operator);
    }

    /// @notice Set a new sdToken's operator, after this action the contract can't mint/burn
    /// @param _operator new operator address
    function setSdTokenOperator(address _operator) external onlyGovernance {
        sdToken.setOperator(_operator);
    }

    /// @notice Transfer the governance to a new address.
    /// @param _governance Address of the new governance.
    function transferGovernance(address _governance) external onlyGovernance {
        futureGovernance = _governance;
    }

    /// @notice Accept the governance transfer.
    function acceptGovernance() external onlyFutureGovernance {
        governance = msg.sender;
        futureGovernance = address(0);
        emit GovernanceChanged(msg.sender);
    }

    /// @notice ERC165 interface check function.
    /// @param _interfaceId Interface ID to check.
    /// @return Whether or not the interface is supported by this contract.
    function supportsInterface(bytes4 _interfaceId) external pure virtual returns (bool) {
        bytes4 iface1 = type(IERC165).interfaceId;
        // Interface corresponding to the updated OptimismMintableERC20 (this contract).
        bytes4 iface2 = type(IOptimismMintableERC20).interfaceId;
        return _interfaceId == iface1 || _interfaceId == iface2;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_sdToken","type":"address"},{"internalType":"address","name":"_governance","type":"address"},{"internalType":"address","name":"_remoteToken","type":"address"},{"internalType":"address","name":"_bridge","type":"address"},{"internalType":"address","name":"_delegationRegistry","type":"address"},{"internalType":"address","name":"_initialDelegate","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AlreadyAllowed","type":"error"},{"inputs":[],"name":"Auth","type":"error"},{"inputs":[],"name":"CallFailed","type":"error"},{"inputs":[],"name":"NotAllowed","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"governance","type":"address"}],"name":"GovernanceChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"operator","type":"address"}],"name":"OperatorAllowed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"operator","type":"address"}],"name":"OperatorDisallowed","type":"event"},{"inputs":[],"name":"acceptGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"name":"allowOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"bridge","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"name":"disallowOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"futureGovernance","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"governance","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"operators","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"remoteToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sdToken","outputs":[{"internalType":"contract ISdToken","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"name":"setSdTokenOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_governance","type":"address"}],"name":"transferGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60e060405234801561001057600080fd5b50604051610a51380380610a5183398101604081905261002f916101d5565b6001600160a01b0386811660c052600080546001600160a01b03191687831617815585821660805284821660a0526040518383166024820152909184169060440160408051601f198184030181529181526020820180516001600160e01b03166302b8a21d60e01b179052516100a59190610249565b6000604051808303816000865af19150503d80600081146100e2576040519150601f19603f3d011682016040523d82523d6000602084013e6100e7565b606091505b505090508061010957604051633204506f60e01b815260040160405180910390fd5b60408051600481526024810182526020810180516001600160e01b03166325ce9a3760e01b17905290516001600160a01b0385169161014791610249565b6000604051808303816000865af19150503d8060008114610184576040519150601f19603f3d011682016040523d82523d6000602084013e610189565b606091505b505080915050806101ad57604051633204506f60e01b815260040160405180910390fd5b50505050505050610278565b80516001600160a01b03811681146101d057600080fd5b919050565b60008060008060008060c087890312156101ee57600080fd5b6101f7876101b9565b9550610205602088016101b9565b9450610213604088016101b9565b9350610221606088016101b9565b925061022f608088016101b9565b915061023d60a088016101b9565b90509295509295509295565b6000825160005b8181101561026a5760208186018101518583015201610250565b506000920191825250919050565b60805160a05160c0516107956102bc600039600081816101ad0152818161043c015281816104e7015261059c015260006102470152600061022001526107956000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063776c23fb1161008c578063b845c21711610066578063b845c217146101f5578063d38bfff414610208578063d6c0b2c41461021b578063e78cea921461024257600080fd5b8063776c23fb146101a85780638070c503146101cf5780639dc29fac146101e257600080fd5b8063238efcbc116100c8578063238efcbc1461014f57806340c10f19146101575780635aa6e6751461016a578063635aec401461019557600080fd5b806301ffc9a7146100ef57806313e7c9d8146101175780631ba9a4581461013a575b600080fd5b6101026100fd3660046106cd565b610269565b60405190151581526020015b60405180910390f35b61010261012536600461071a565b60026020526000908152604090205460ff1681565b61014d61014836600461071a565b6102a7565b005b61014d610367565b61014d610165366004610735565b6103e6565b60005461017d906001600160a01b031681565b6040516001600160a01b03909116815260200161010e565b61014d6101a336600461071a565b61049d565b61017d7f000000000000000000000000000000000000000000000000000000000000000081565b60015461017d906001600160a01b031681565b61014d6101f0366004610735565b610546565b61014d61020336600461071a565b6105cb565b61014d61021636600461071a565b610680565b61017d7f000000000000000000000000000000000000000000000000000000000000000081565b61017d7f000000000000000000000000000000000000000000000000000000000000000081565b60006301ffc9a760e01b63ec4fc8e360e01b6001600160e01b0319841682148061029f57506001600160e01b0319848116908216145b949350505050565b6000546001600160a01b031633146102d25760405163055c501b60e51b815260040160405180910390fd5b6001600160a01b03811660009081526002602052604090205460ff161561030c57604051636a4648d760e01b815260040160405180910390fd5b6001600160a01b038116600081815260026020908152604091829020805460ff1916600117905590519182527fdde65206cdee4ea27ef1b170724ba50b41ad09a3bf2dda12935fc40c4dbf6e7591015b60405180910390a150565b6001546001600160a01b031633146103925760405163055c501b60e51b815260040160405180910390fd5b60008054336001600160a01b031991821681179092556001805490911690556040519081527fa6a85f15b976d399f39ad43e515e75910bac714bc55eeff6131fb90780d6f7469060200160405180910390a1565b3360009081526002602052604090205460ff166104165760405163055c501b60e51b815260040160405180910390fd5b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f19906044015b600060405180830381600087803b15801561048157600080fd5b505af1158015610495573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031633146104c85760405163055c501b60e51b815260040160405180910390fd5b60405163b3ab15fb60e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063b3ab15fb90602401600060405180830381600087803b15801561052b57600080fd5b505af115801561053f573d6000803e3d6000fd5b5050505050565b3360009081526002602052604090205460ff166105765760405163055c501b60e51b815260040160405180910390fd5b604051632770a7eb60e21b81526001600160a01b038381166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690639dc29fac90604401610467565b6000546001600160a01b031633146105f65760405163055c501b60e51b815260040160405180910390fd5b6001600160a01b03811660009081526002602052604090205460ff1661062f57604051631eb49d6d60e11b815260040160405180910390fd5b6001600160a01b038116600081815260026020908152604091829020805460ff1916905590519182527f8560daa191dd8e6fba276b053006b3990c46c94b842f85490f52c49b15cfe5cb910161035c565b6000546001600160a01b031633146106ab5760405163055c501b60e51b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000602082840312156106df57600080fd5b81356001600160e01b0319811681146106f757600080fd5b9392505050565b80356001600160a01b038116811461071557600080fd5b919050565b60006020828403121561072c57600080fd5b6106f7826106fe565b6000806040838503121561074857600080fd5b610751836106fe565b94602093909301359350505056fea2646970667358221220cf20b6573fcc09f651f4222fa89474d2dc225860f43b66ee1f92809e8a2648f364736f6c634300081300330000000000000000000000001aee2382e05dc68bdfc472f1e46d570fecca5814000000000000000000000000000755fbe4a24d7478bfcfc1e561afce82d1ff62000000000000000000000000402f878bdd1f5c66fdaf0fababcf74741b68ac360000000000000000000000004200000000000000000000000000000000000010000000000000000000000000f5ca906f05cafa944c27c6881bed3dfd3a785b6a000000000000000000000000b0552b6860ce5c0202976db056b5e3cc4f9cc765

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063776c23fb1161008c578063b845c21711610066578063b845c217146101f5578063d38bfff414610208578063d6c0b2c41461021b578063e78cea921461024257600080fd5b8063776c23fb146101a85780638070c503146101cf5780639dc29fac146101e257600080fd5b8063238efcbc116100c8578063238efcbc1461014f57806340c10f19146101575780635aa6e6751461016a578063635aec401461019557600080fd5b806301ffc9a7146100ef57806313e7c9d8146101175780631ba9a4581461013a575b600080fd5b6101026100fd3660046106cd565b610269565b60405190151581526020015b60405180910390f35b61010261012536600461071a565b60026020526000908152604090205460ff1681565b61014d61014836600461071a565b6102a7565b005b61014d610367565b61014d610165366004610735565b6103e6565b60005461017d906001600160a01b031681565b6040516001600160a01b03909116815260200161010e565b61014d6101a336600461071a565b61049d565b61017d7f0000000000000000000000001aee2382e05dc68bdfc472f1e46d570fecca581481565b60015461017d906001600160a01b031681565b61014d6101f0366004610735565b610546565b61014d61020336600461071a565b6105cb565b61014d61021636600461071a565b610680565b61017d7f000000000000000000000000402f878bdd1f5c66fdaf0fababcf74741b68ac3681565b61017d7f000000000000000000000000420000000000000000000000000000000000001081565b60006301ffc9a760e01b63ec4fc8e360e01b6001600160e01b0319841682148061029f57506001600160e01b0319848116908216145b949350505050565b6000546001600160a01b031633146102d25760405163055c501b60e51b815260040160405180910390fd5b6001600160a01b03811660009081526002602052604090205460ff161561030c57604051636a4648d760e01b815260040160405180910390fd5b6001600160a01b038116600081815260026020908152604091829020805460ff1916600117905590519182527fdde65206cdee4ea27ef1b170724ba50b41ad09a3bf2dda12935fc40c4dbf6e7591015b60405180910390a150565b6001546001600160a01b031633146103925760405163055c501b60e51b815260040160405180910390fd5b60008054336001600160a01b031991821681179092556001805490911690556040519081527fa6a85f15b976d399f39ad43e515e75910bac714bc55eeff6131fb90780d6f7469060200160405180910390a1565b3360009081526002602052604090205460ff166104165760405163055c501b60e51b815260040160405180910390fd5b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390527f0000000000000000000000001aee2382e05dc68bdfc472f1e46d570fecca581416906340c10f19906044015b600060405180830381600087803b15801561048157600080fd5b505af1158015610495573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031633146104c85760405163055c501b60e51b815260040160405180910390fd5b60405163b3ab15fb60e01b81526001600160a01b0382811660048301527f0000000000000000000000001aee2382e05dc68bdfc472f1e46d570fecca5814169063b3ab15fb90602401600060405180830381600087803b15801561052b57600080fd5b505af115801561053f573d6000803e3d6000fd5b5050505050565b3360009081526002602052604090205460ff166105765760405163055c501b60e51b815260040160405180910390fd5b604051632770a7eb60e21b81526001600160a01b038381166004830152602482018390527f0000000000000000000000001aee2382e05dc68bdfc472f1e46d570fecca58141690639dc29fac90604401610467565b6000546001600160a01b031633146105f65760405163055c501b60e51b815260040160405180910390fd5b6001600160a01b03811660009081526002602052604090205460ff1661062f57604051631eb49d6d60e11b815260040160405180910390fd5b6001600160a01b038116600081815260026020908152604091829020805460ff1916905590519182527f8560daa191dd8e6fba276b053006b3990c46c94b842f85490f52c49b15cfe5cb910161035c565b6000546001600160a01b031633146106ab5760405163055c501b60e51b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000602082840312156106df57600080fd5b81356001600160e01b0319811681146106f757600080fd5b9392505050565b80356001600160a01b038116811461071557600080fd5b919050565b60006020828403121561072c57600080fd5b6106f7826106fe565b6000806040838503121561074857600080fd5b610751836106fe565b94602093909301359350505056fea2646970667358221220cf20b6573fcc09f651f4222fa89474d2dc225860f43b66ee1f92809e8a2648f364736f6c63430008130033

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

0000000000000000000000001aee2382e05dc68bdfc472f1e46d570fecca5814000000000000000000000000000755fbe4a24d7478bfcfc1e561afce82d1ff62000000000000000000000000402f878bdd1f5c66fdaf0fababcf74741b68ac360000000000000000000000004200000000000000000000000000000000000010000000000000000000000000f5ca906f05cafa944c27c6881bed3dfd3a785b6a000000000000000000000000b0552b6860ce5c0202976db056b5e3cc4f9cc765

-----Decoded View---------------
Arg [0] : _sdToken (address): 0x1AEe2382e05Dc68BDfC472F1E46d570feCca5814
Arg [1] : _governance (address): 0x000755Fbe4A24d7478bfcFC1E561AfCE82d1ff62
Arg [2] : _remoteToken (address): 0x402F878BDd1f5C66FdAF0fabaBcF74741B68ac36
Arg [3] : _bridge (address): 0x4200000000000000000000000000000000000010
Arg [4] : _delegationRegistry (address): 0xF5cA906f05cafa944c27c6881bed3DFd3a785b6A
Arg [5] : _initialDelegate (address): 0xB0552b6860CE5C0202976Db056b5e3Cc4f9CC765

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000001aee2382e05dc68bdfc472f1e46d570fecca5814
Arg [1] : 000000000000000000000000000755fbe4a24d7478bfcfc1e561afce82d1ff62
Arg [2] : 000000000000000000000000402f878bdd1f5c66fdaf0fababcf74741b68ac36
Arg [3] : 0000000000000000000000004200000000000000000000000000000000000010
Arg [4] : 000000000000000000000000f5ca906f05cafa944c27c6881bed3dfd3a785b6a
Arg [5] : 000000000000000000000000b0552b6860ce5c0202976db056b5e3cc4f9cc765


Deployed Bytecode Sourcemap

1625:5609:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6863:368;;;;;;:::i;:::-;;:::i;:::-;;;470:14:1;;463:22;445:41;;433:2;418:18;6863:368:0;;;;;;;;2159:41;;;;;;:::i;:::-;;;;;;;;;;;;;;;;5357:216;;;;;;:::i;:::-;;:::i;:::-;;6491:185;;;:::i;4862:111::-;;;;;;:::i;:::-;;:::i;1925:25::-;;;;;-1:-1:-1;;;;;1925:25:0;;;;;;-1:-1:-1;;;;;1289:32:1;;;1271:51;;1259:2;1244:18;1925:25:0;1125:203:1;6066:120:0;;;;;;:::i;:::-;;:::i;2074:33::-;;;;;2009:31;;;;;-1:-1:-1;;;;;2009:31:0;;;5118:115;;;;;;:::i;:::-;;:::i;5697:220::-;;;;;;:::i;:::-;;:::i;6312:122::-;;;;;;:::i;:::-;;:::i;1747:36::-;;;;;1842:31;;;;;6863:368;6942:4;-1:-1:-1;;;;;;;;;;;;7175:22:0;;;;;:48;;-1:-1:-1;;;;;;;7201:22:0;;;;;;;7175:48;7168:55;6863:368;-1:-1:-1;;;;6863:368:0:o;5357:216::-;3179:10;;-1:-1:-1;;;;;3179:10:0;3165;:24;3161:43;;3198:6;;-1:-1:-1;;;3198:6:0;;;;;;;;;;;3161:43;-1:-1:-1;;;;;5438:20:0;::::1;;::::0;;;:9:::1;:20;::::0;;;;;::::1;;5434:49;;;5467:16;;-1:-1:-1::0;;;5467:16:0::1;;;;;;;;;;;5434:49;-1:-1:-1::0;;;;;5494:20:0;::::1;;::::0;;;:9:::1;:20;::::0;;;;;;;;:27;;-1:-1:-1;;5494:27:0::1;5517:4;5494:27;::::0;;5539:26;;1271:51:1;;;5539:26:0::1;::::0;1244:18:1;5539:26:0::1;;;;;;;;5357:216:::0;:::o;6491:185::-;3065:16;;-1:-1:-1;;;;;3065:16:0;3051:10;:30;3047:49;;3090:6;;-1:-1:-1;;;3090:6:0;;;;;;;;;;;3047:49;6560:10:::1;:23:::0;;6573:10:::1;-1:-1:-1::0;;;;;;6560:23:0;;::::1;::::0;::::1;::::0;;;-1:-1:-1;6594:29:0;;;;::::1;::::0;;6639::::1;::::0;1271:51:1;;;6639:29:0::1;::::0;1259:2:1;1244:18;6639:29:0::1;;;;;;;6491:185::o:0;4862:111::-;3282:10;3272:21;;;;:9;:21;;;;;;;;3267:41;;3302:6;;-1:-1:-1;;;3302:6:0;;;;;;;;;;;3267:41;4939:26:::1;::::0;-1:-1:-1;;;4939:26:0;;-1:-1:-1;;;;;1748:32:1;;;4939:26:0::1;::::0;::::1;1730:51:1::0;1797:18;;;1790:34;;;4939:7:0::1;:12;::::0;::::1;::::0;1703:18:1;;4939:26:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4862:111:::0;;:::o;6066:120::-;3179:10;;-1:-1:-1;;;;;3179:10:0;3165;:24;3161:43;;3198:6;;-1:-1:-1;;;3198:6:0;;;;;;;;;;;3161:43;6148:30:::1;::::0;-1:-1:-1;;;6148:30:0;;-1:-1:-1;;;;;1289:32:1;;;6148:30:0::1;::::0;::::1;1271:51:1::0;6148:7:0::1;:19;::::0;::::1;::::0;1244:18:1;;6148:30:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6066:120:::0;:::o;5118:115::-;3282:10;3272:21;;;;:9;:21;;;;;;;;3267:41;;3302:6;;-1:-1:-1;;;3302:6:0;;;;;;;;;;;3267:41;5197:28:::1;::::0;-1:-1:-1;;;5197:28:0;;-1:-1:-1;;;;;1748:32:1;;;5197:28:0::1;::::0;::::1;1730:51:1::0;1797:18;;;1790:34;;;5197:7:0::1;:12;::::0;::::1;::::0;1703:18:1;;5197:28:0::1;1556:274:1::0;5697:220:0;3179:10;;-1:-1:-1;;;;;3179:10:0;3165;:24;3161:43;;3198:6;;-1:-1:-1;;;3198:6:0;;;;;;;;;;;3161:43;-1:-1:-1;;;;;5782:20:0;::::1;;::::0;;;:9:::1;:20;::::0;;;;;::::1;;5777:46;;5811:12;;-1:-1:-1::0;;;5811:12:0::1;;;;;;;;;;;5777:46;-1:-1:-1::0;;;;;5834:20:0;::::1;5857:5;5834:20:::0;;;:9:::1;:20;::::0;;;;;;;;:28;;-1:-1:-1;;5834:28:0::1;::::0;;5880:29;;1271:51:1;;;5880:29:0::1;::::0;1244:18:1;5880:29:0::1;1125:203:1::0;6312:122:0;3179:10;;-1:-1:-1;;;;;3179:10:0;3165;:24;3161:43;;3198:6;;-1:-1:-1;;;3198:6:0;;;;;;;;;;;3161:43;6396:16:::1;:30:::0;;-1:-1:-1;;;;;;6396:30:0::1;-1:-1:-1::0;;;;;6396:30:0;;;::::1;::::0;;;::::1;::::0;;6312:122::o;14:286:1:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:1;;209:43;;199:71;;266:1;263;256:12;199:71;289:5;14:286;-1:-1:-1;;;14:286:1:o;497:173::-;565:20;;-1:-1:-1;;;;;614:31:1;;604:42;;594:70;;660:1;657;650:12;594:70;497:173;;;:::o;675:186::-;734:6;787:2;775:9;766:7;762:23;758:32;755:52;;;803:1;800;793:12;755:52;826:29;845:9;826:29;:::i;866:254::-;934:6;942;995:2;983:9;974:7;970:23;966:32;963:52;;;1011:1;1008;1001:12;963:52;1034:29;1053:9;1034:29;:::i;:::-;1024:39;1110:2;1095:18;;;;1082:32;;-1:-1:-1;;;866:254:1:o

Swarm Source

ipfs://cf20b6573fcc09f651f4222fa89474d2dc225860f43b66ee1f92809e8a2648f3

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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  ]

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.