S Price: $0.067854 (+2.93%)
Gas: 55 Gwei

Contract

0x372798c2dF95a615a96AA1b3bA2AbaCAC0da6eaC

Overview

S Balance

Sonic LogoSonic LogoSonic Logo0 S

S Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Deploy And Migra...568427592025-12-01 11:26:0656 days ago1764588366IN
0x372798c2...AC0da6eaC
0 S0.0466763450.0001

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
568427592025-12-01 11:26:0656 days ago1764588366
0x372798c2...AC0da6eaC
 Contract Creation0 S
568420742025-12-01 11:12:2456 days ago1764587544  Contract Creation0 S
Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ConstantsMigrator

Compiler Version
v0.8.27+commit.40a35a09

Optimization Enabled:
Yes with 200 runs

Other Settings:
cancun EvmVersion
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.27;

import {ISFC} from "../interfaces/ISFC.sol";
import {ConstantsManager} from "./ConstantsManager.sol";
import {Decimal} from "../common/Decimal.sol";

/**
 * @custom:security-contact [email protected]
 */
contract ConstantsMigrator {
    event MigratedTo(address target);

    function deployAndMigrate(address _sfc) external {
        // prep the source and target contracts
        ConstantsManager source = ConstantsManager(ISFC(_sfc).constsAddress());
        ConstantsManager target = new ConstantsManager(address(this));

        // transfer the current values
        target.updateMinSelfStake(source.minSelfStake());
        target.updateMaxDelegatedRatio(source.maxDelegatedRatio());
        target.updateValidatorCommission(source.validatorCommission());
        target.updateBurntFeeShare(source.burntFeeShare());
        target.updateTreasuryFeeShare(source.treasuryFeeShare());
        target.updateWithdrawalPeriodEpochs(source.withdrawalPeriodEpochs());
        target.updateWithdrawalPeriodTime(source.withdrawalPeriodTime());
        target.updateBaseRewardPerSecond(source.baseRewardPerSecond());
        target.updateOfflinePenaltyThresholdTime(source.offlinePenaltyThresholdTime());
        target.updateOfflinePenaltyThresholdBlocksNum(source.offlinePenaltyThresholdBlocksNum());
        target.updateAverageUptimeEpochWindow(source.averageUptimeEpochWindow());
        target.updateMinAverageUptime(source.minAverageUptime());
        target.updateIssuedTokensRecipient(source.issuedTokensRecipient());

        // set the newly added constants to their default values
        // these are not expected to be present in the previous contract version and can not be transferred
        target.updateExtraRewardsBurnRatio((50 * Decimal.unit()) / 100); // defaults to 50% burn

        // pass the new constants contract ownership to mirror the source
        target.transferOwnership(source.owner());
        emit MigratedTo(address(target));
    }
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)

pragma solidity ^0.8.20;

import {Context} from "../utils/Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * The initial owner is set to the address provided by the deployer. This can
 * later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    /**
     * @dev The caller account is not authorized to perform an operation.
     */
    error OwnableUnauthorizedAccount(address account);

    /**
     * @dev The owner is not a valid owner account. (eg. `address(0)`)
     */
    error OwnableInvalidOwner(address owner);

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the address provided by the deployer as the initial owner.
     */
    constructor(address initialOwner) {
        if (initialOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(initialOwner);
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        if (owner() != _msgSender()) {
            revert OwnableUnauthorizedAccount(_msgSender());
        }
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby disabling any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        if (newOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)

pragma solidity ^0.8.20;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }

    function _contextSuffixLength() internal view virtual returns (uint256) {
        return 0;
    }
}

File 4 of 6 : Decimal.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.27;

/**
 * @custom:security-contact [email protected]
 */
library Decimal {
    // unit is used for decimals, e.g. 0.123456
    function unit() internal pure returns (uint256) {
        return 1e18;
    }
}

File 5 of 6 : ISFC.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.27;

/**
 * @title Special Fee Contract for Sonic network
 * @notice The SFC maintains a list of validators and delegators and distributes rewards to them.
 * @custom:security-contact [email protected]
 */
interface ISFC {
    event CreatedValidator(
        uint256 indexed validatorID,
        address indexed auth,
        uint256 createdEpoch,
        uint256 createdTime
    );
    event Delegated(address indexed delegator, uint256 indexed toValidatorID, uint256 amount);
    event Undelegated(address indexed delegator, uint256 indexed toValidatorID, uint256 indexed wrID, uint256 amount);
    event Withdrawn(
        address indexed delegator,
        uint256 indexed toValidatorID,
        uint256 indexed wrID,
        uint256 amount,
        uint256 penalty
    );
    event ClaimedRewards(address indexed delegator, uint256 indexed toValidatorID, uint256 rewards);
    event RestakedRewards(address indexed delegator, uint256 indexed toValidatorID, uint256 rewards);
    event BurntFTM(uint256 amount);
    event UpdatedSlashingRefundRatio(uint256 indexed validatorID, uint256 refundRatio);
    event RefundedSlashedLegacyDelegation(address indexed delegator, uint256 indexed validatorID, uint256 amount);

    event DeactivatedValidator(uint256 indexed validatorID, uint256 deactivatedEpoch, uint256 deactivatedTime);
    event ChangedValidatorStatus(uint256 indexed validatorID, uint256 status);
    event AnnouncedRedirection(address indexed from, address indexed to);

    function currentSealedEpoch() external view returns (uint256);

    function getEpochSnapshot(
        uint256
    )
        external
        view
        returns (
            uint256 endTime,
            uint256 endBlock,
            uint256 epochFee,
            uint256 baseRewardPerSecond,
            uint256 totalStake,
            uint256 totalSupply
        );

    function getStake(address, uint256) external view returns (uint256);

    function getValidator(
        uint256
    )
        external
        view
        returns (
            uint256 status,
            uint256 receivedStake,
            address auth,
            uint256 createdEpoch,
            uint256 createdTime,
            uint256 deactivatedTime,
            uint256 deactivatedEpoch
        );

    function getValidatorID(address) external view returns (uint256);

    function getValidatorPubkey(uint256) external view returns (bytes memory);

    function pubkeyAddressToValidatorID(address pubkeyAddress) external view returns (uint256);

    function getWithdrawalRequest(
        address,
        uint256,
        uint256
    ) external view returns (uint256 epoch, uint256 time, uint256 amount);

    function isOwner() external view returns (bool);

    function lastValidatorID() external view returns (uint256);

    function minGasPrice() external view returns (uint256);

    function owner() external view returns (address);

    function renounceOwnership() external;

    function slashingRefundRatio(uint256) external view returns (uint256);

    function stashedRewardsUntilEpoch(address, uint256) external view returns (uint256);

    function totalActiveStake() external view returns (uint256);

    function totalStake() external view returns (uint256);

    function totalSupply() external view returns (uint256);

    function transferOwnership(address newOwner) external;

    function treasuryAddress() external view returns (address);

    function version() external pure returns (bytes3);

    function currentEpoch() external view returns (uint256);

    function updateConstsAddress(address v) external;

    function constsAddress() external view returns (address);

    function getEpochValidatorIDs(uint256 epoch) external view returns (uint256[] memory);

    function getEpochReceivedStake(uint256 epoch, uint256 validatorID) external view returns (uint256);

    function getEpochAccumulatedRewardPerToken(uint256 epoch, uint256 validatorID) external view returns (uint256);

    function getEpochAccumulatedUptime(uint256 epoch, uint256 validatorID) external view returns (uint256);

    function getEpochAverageUptime(uint256 epoch, uint256 validatorID) external view returns (uint32);

    function getEpochAccumulatedOriginatedTxsFee(uint256 epoch, uint256 validatorID) external view returns (uint256);

    function getEpochOfflineTime(uint256 epoch, uint256 validatorID) external view returns (uint256);

    function getEpochOfflineBlocks(uint256 epoch, uint256 validatorID) external view returns (uint256);

    function getEpochEndBlock(uint256 epoch) external view returns (uint256);

    function epochEndTime(uint256 epoch) external view returns (uint256);

    function rewardsStash(address delegator, uint256 validatorID) external view returns (uint256);

    function createValidator(bytes calldata pubkey) external payable;

    function getSelfStake(uint256 validatorID) external view returns (uint256);

    function delegate(uint256 toValidatorID) external payable;

    function undelegate(uint256 toValidatorID, uint256 wrID, uint256 amount) external;

    function isSlashed(uint256 validatorID) external view returns (bool);

    function withdraw(uint256 toValidatorID, uint256 wrID) external;

    function deactivateValidator(uint256 validatorID, uint256 status) external;

    function pendingRewards(address delegator, uint256 toValidatorID) external view returns (uint256);

    function stashRewards(address delegator, uint256 toValidatorID) external;

    function claimRewards(uint256 toValidatorID) external;

    function restakeRewards(uint256 toValidatorID) external;

    function updateSlashingRefundRatio(uint256 validatorID, uint256 refundRatio) external;

    function updateTreasuryAddress(address v) external;

    function burnNativeTokens() external payable;

    function sealEpoch(
        uint256[] calldata offlineTime,
        uint256[] calldata offlineBlocks,
        uint256[] calldata uptimes,
        uint256[] calldata originatedTxsFee
    ) external;

    function sealEpochValidators(uint256[] calldata nextValidatorIDs) external;

    function initialize(
        uint256 sealedEpoch,
        uint256 _totalSupply,
        address nodeDriver,
        address consts,
        address _owner
    ) external;

    function setGenesisValidator(
        address auth,
        uint256 validatorID,
        bytes calldata pubkey,
        uint256 createdTime
    ) external;

    function setGenesisDelegation(address delegator, uint256 toValidatorID, uint256 stake) external;

    function updateStakeSubscriberAddress(address v) external;

    function stakeSubscriberAddress() external view returns (address);

    function setRedirectionAuthorizer(address v) external;

    function announceRedirection(address to) external;

    function initiateRedirection(address from, address to) external;

    function redirect(address to) external;
}

// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.27;

import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
import {Decimal} from "../common/Decimal.sol";

/**
 * @custom:security-contact [email protected]
 */
contract ConstantsManager is Ownable {
    // Minimum amount of stake for a validator, i.e., 500000 FTM
    uint256 public minSelfStake;
    // Maximum ratio of delegations a validator can have, say, 15 times of self-stake
    uint256 public maxDelegatedRatio;
    // The commission fee in percentage a validator will get from a delegation, e.g., 15%
    uint256 public validatorCommission;
    // The percentage of fees to burn, e.g., 20%
    uint256 public burntFeeShare;
    // The percentage of fees to transfer to treasury address, e.g., 10%
    uint256 public treasuryFeeShare;
    // The percentage of extra rewards to be burned, e.g. 60%
    uint256 public extraRewardsBurnRatio;
    // the number of epochs that undelegated stake is locked for
    uint256 public withdrawalPeriodEpochs;
    // the number of seconds that undelegated stake is locked for
    uint256 public withdrawalPeriodTime;
    // The max amount of rewards released by the network to its stakers every second
    uint256 public baseRewardPerSecond;
    // The max number of consecutive confirmed blocks a validator can be inactive before irreversibly deactivated
    uint256 public offlinePenaltyThresholdBlocksNum;
    // The max number of seconds a validator can be inactive before irreversibly deactivated
    uint256 public offlinePenaltyThresholdTime;

    // The number of epochs to calculate the average uptime ratio from, acceptable bound [10, 87600].
    // Is also the minimum number of epochs necessary for deactivation of offline validators.
    uint32 public averageUptimeEpochWindow;

    // Minimum average uptime ratio in fixed-point format; acceptable bounds [0,0.9].
    // Zero to disable validators deactivation by this metric.
    uint64 public minAverageUptime;

    // The address of the recipient that receives issued tokens
    // as a counterparty to the burnt S tokens
    address public issuedTokensRecipient;

    /**
     * @dev Given value is too small
     */
    error ValueTooSmall();

    /**
     * @dev Given value is too large
     */
    error ValueTooLarge();

    constructor(address owner) Ownable(owner) {}

    function updateMinSelfStake(uint256 v) external virtual onlyOwner {
        if (v < 100000 * Decimal.unit()) {
            revert ValueTooSmall();
        }
        if (v > 10000000 * Decimal.unit()) {
            revert ValueTooLarge();
        }
        minSelfStake = v;
    }

    function updateMaxDelegatedRatio(uint256 v) external onlyOwner {
        if (v < Decimal.unit()) {
            revert ValueTooSmall();
        }
        if (v > 31 * Decimal.unit()) {
            revert ValueTooLarge();
        }
        maxDelegatedRatio = v;
    }

    function updateValidatorCommission(uint256 v) external onlyOwner {
        if (v > Decimal.unit() / 2) {
            revert ValueTooLarge();
        }
        validatorCommission = v;
    }

    function updateBurntFeeShare(uint256 v) external onlyOwner {
        if (v + treasuryFeeShare > Decimal.unit()) {
            revert ValueTooLarge();
        }
        burntFeeShare = v;
    }

    function updateTreasuryFeeShare(uint256 v) external onlyOwner {
        if (v + burntFeeShare > Decimal.unit()) {
            revert ValueTooLarge();
        }
        treasuryFeeShare = v;
    }

    function updateExtraRewardsBurnRatio(uint256 v) external virtual onlyOwner {
        if (v > Decimal.unit()) {
            revert ValueTooLarge();
        }
        extraRewardsBurnRatio = v;
    }

    function updateWithdrawalPeriodEpochs(uint256 v) external onlyOwner {
        if (v < 2) {
            revert ValueTooSmall();
        }
        if (v > 100) {
            revert ValueTooLarge();
        }
        withdrawalPeriodEpochs = v;
    }

    function updateWithdrawalPeriodTime(uint256 v) external onlyOwner {
        if (v < 3600) {
            revert ValueTooSmall();
        }
        if (v > 30 * 86400) {
            revert ValueTooLarge();
        }
        withdrawalPeriodTime = v;
    }

    function updateBaseRewardPerSecond(uint256 v) external virtual onlyOwner {
        if (v > 32 * Decimal.unit()) {
            revert ValueTooLarge();
        }
        baseRewardPerSecond = v;
    }

    function updateOfflinePenaltyThresholdTime(uint256 v) external virtual onlyOwner {
        if (v < 86400) {
            revert ValueTooSmall();
        }
        if (v > 10 * 86400) {
            revert ValueTooLarge();
        }
        offlinePenaltyThresholdTime = v;
    }

    function updateOfflinePenaltyThresholdBlocksNum(uint256 v) external onlyOwner {
        if (v < 100) {
            revert ValueTooSmall();
        }
        if (v > 1000000) {
            revert ValueTooLarge();
        }
        offlinePenaltyThresholdBlocksNum = v;
    }

    function updateAverageUptimeEpochWindow(uint32 v) external onlyOwner {
        if (v < 10) {
            // needs to be long enough to allow permissible downtime for validators maintenance
            revert ValueTooSmall();
        }
        if (v > 87600) {
            revert ValueTooLarge();
        }
        averageUptimeEpochWindow = v;
    }

    function updateMinAverageUptime(uint64 v) external onlyOwner {
        if (v > ((Decimal.unit() * 9) / 10)) {
            revert ValueTooLarge();
        }
        minAverageUptime = v;
    }

    function updateIssuedTokensRecipient(address v) external onlyOwner {
        issuedTokensRecipient = v;
    }
}

Settings
{
  "evmVersion": "cancun",
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"target","type":"address"}],"name":"MigratedTo","type":"event"},{"inputs":[{"internalType":"address","name":"_sfc","type":"address"}],"name":"deployAndMigrate","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052348015600e575f5ffd5b506118bd8061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063a40973061461002d575b5f5ffd5b61004061003b366004610c13565b610042565b005b5f816001600160a01b031663d46fa5186040518163ffffffff1660e01b8152600401602060405180830381865afa15801561007f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a39190610c35565b90505f306040516100b390610bef565b6001600160a01b039091168152602001604051809103905ff0801580156100dc573d5f5f3e3d5ffd5b509050806001600160a01b031663866c4b17836001600160a01b031663c5f530af6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561012a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061014e9190610c50565b6040518263ffffffff1660e01b815260040161016c91815260200190565b5f604051808303815f87803b158015610183575f5ffd5b505af1158015610195573d5f5f3e3d5ffd5b50505050806001600160a01b03166381ffcdf1836001600160a01b0316632265f2846040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102089190610c50565b6040518263ffffffff1660e01b815260040161022691815260200190565b5f604051808303815f87803b15801561023d575f5ffd5b505af115801561024f573d5f5f3e3d5ffd5b50505050806001600160a01b0316632ee71132836001600160a01b031663a77865156040518163ffffffff1660e01b8152600401602060405180830381865afa15801561029e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102c29190610c50565b6040518263ffffffff1660e01b81526004016102e091815260200190565b5f604051808303815f87803b1580156102f7575f5ffd5b505af1158015610309573d5f5f3e3d5ffd5b50505050806001600160a01b0316632bb9fe8d836001600160a01b031663c74dd6216040518163ffffffff1660e01b8152600401602060405180830381865afa158015610358573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061037c9190610c50565b6040518263ffffffff1660e01b815260040161039a91815260200190565b5f604051808303815f87803b1580156103b1575f5ffd5b505af11580156103c3573d5f5f3e3d5ffd5b50505050806001600160a01b031663f8d5177e836001600160a01b03166394c3e9146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610412573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104369190610c50565b6040518263ffffffff1660e01b815260040161045491815260200190565b5f604051808303815f87803b15801561046b575f5ffd5b505af115801561047d573d5f5f3e3d5ffd5b50505050806001600160a01b0316638f078bfa836001600160a01b031663650acd666040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104cc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f09190610c50565b6040518263ffffffff1660e01b815260040161050e91815260200190565b5f604051808303815f87803b158015610525575f5ffd5b505af1158015610537573d5f5f3e3d5ffd5b50505050806001600160a01b031663455366a4836001600160a01b031663b82b84276040518163ffffffff1660e01b8152600401602060405180830381865afa158015610586573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105aa9190610c50565b6040518263ffffffff1660e01b81526004016105c891815260200190565b5f604051808303815f87803b1580156105df575f5ffd5b505af11580156105f1573d5f5f3e3d5ffd5b50505050806001600160a01b031663b6d9edd5836001600160a01b031663d9a7c1f96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610640573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106649190610c50565b6040518263ffffffff1660e01b815260040161068291815260200190565b5f604051808303815f87803b158015610699575f5ffd5b505af11580156106ab573d5f5f3e3d5ffd5b50505050806001600160a01b0316636348ebb8836001600160a01b031662cc7f836040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106f9573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071d9190610c50565b6040518263ffffffff1660e01b815260040161073b91815260200190565b5f604051808303815f87803b158015610752575f5ffd5b505af1158015610764573d5f5f3e3d5ffd5b50505050806001600160a01b0316632e84e8e6836001600160a01b0316635a68f01a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d79190610c50565b6040518263ffffffff1660e01b81526004016107f591815260200190565b5f604051808303815f87803b15801561080c575f5ffd5b505af115801561081e573d5f5f3e3d5ffd5b50505050806001600160a01b031663256dc572836001600160a01b0316633fa225486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561086d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108919190610c67565b6040516001600160e01b031960e084901b16815263ffffffff9190911660048201526024015f604051808303815f87803b1580156108cd575f5ffd5b505af11580156108df573d5f5f3e3d5ffd5b50505050806001600160a01b031663165e2639836001600160a01b0316631c2543376040518163ffffffff1660e01b8152600401602060405180830381865afa15801561092e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109529190610c8a565b6040516001600160e01b031960e084901b16815267ffffffffffffffff90911660048201526024015f604051808303815f87803b158015610991575f5ffd5b505af11580156109a3573d5f5f3e3d5ffd5b50505050806001600160a01b031663754e92e3836001600160a01b03166375840fab6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a169190610c35565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024015f604051808303815f87803b158015610a54575f5ffd5b505af1158015610a66573d5f5f3e3d5ffd5b50505050806001600160a01b031663230ec5f76064610a8a670de0b6b3a764000090565b610a95906032610cb1565b610a9f9190610cda565b6040518263ffffffff1660e01b8152600401610abd91815260200190565b5f604051808303815f87803b158015610ad4575f5ffd5b505af1158015610ae6573d5f5f3e3d5ffd5b50505050806001600160a01b031663f2fde38b836001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b35573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b599190610c35565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024015f604051808303815f87803b158015610b97575f5ffd5b505af1158015610ba9573d5f5f3e3d5ffd5b50506040516001600160a01b03841681527fd3fa187f7d4d0b967597fd8a933f05245448678338df3bc4639abdc6087185409250602001905060405180910390a1505050565b610b8e80610cfa83390190565b6001600160a01b0381168114610c10575f5ffd5b50565b5f60208284031215610c23575f5ffd5b8135610c2e81610bfc565b9392505050565b5f60208284031215610c45575f5ffd5b8151610c2e81610bfc565b5f60208284031215610c60575f5ffd5b5051919050565b5f60208284031215610c77575f5ffd5b815163ffffffff81168114610c2e575f5ffd5b5f60208284031215610c9a575f5ffd5b815167ffffffffffffffff81168114610c2e575f5ffd5b8082028115828204841417610cd457634e487b7160e01b5f52601160045260245ffd5b92915050565b5f82610cf457634e487b7160e01b5f52601260045260245ffd5b50049056fe6080604052348015600e575f5ffd5b50604051610b8e380380610b8e833981016040819052602b9160b4565b806001600160a01b038116605857604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b605f816065565b505060df565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f6020828403121560c3575f5ffd5b81516001600160a01b038116811460d8575f5ffd5b9392505050565b610aa2806100ec5f395ff3fe608060405234801561000f575f5ffd5b50600436106101db575f3560e01c8063754e92e311610109578063b6d9edd51161009e578063d475aa941161006e578063d475aa94146103e0578063d9a7c1f9146103e9578063f2fde38b146103f2578063f8d5177e14610405575f5ffd5b8063b6d9edd5146103b2578063b82b8427146103c5578063c5f530af146103ce578063c74dd621146103d7575f5ffd5b80638da5cb5b116100d95780638da5cb5b1461037d5780638f078bfa1461038d57806394c3e914146103a0578063a7786515146103a9575f5ffd5b8063754e92e31461031257806375840fab1461032557806381ffcdf114610357578063866c4b171461036a575f5ffd5b80632e84e8e61161017f5780635a68f01a1161014f5780635a68f01a146102e55780636348ebb8146102ee578063650acd6614610301578063715018a61461030a575f5ffd5b80632e84e8e6146102875780632ee711321461029a5780633fa22548146102ad578063455366a4146102d2575f5ffd5b80632265f284116101ba5780632265f28414610245578063230ec5f71461024e578063256dc572146102615780632bb9fe8d14610274575f5ffd5b8062cc7f83146101df578063165e2639146101fb5780631c25433714610210575b5f5ffd5b6101e8600b5481565b6040519081526020015b60405180910390f35b61020e61020936600461097b565b610418565b005b600c5461022c90640100000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016101f2565b6101e860025481565b61020e61025c3660046109a9565b610499565b61020e61026f3660046109c0565b6104cf565b61020e6102823660046109a9565b610545565b61020e6102953660046109a9565b610587565b61020e6102a83660046109a9565b6105da565b600c546102bd9063ffffffff1681565b60405163ffffffff90911681526020016101f2565b61020e6102e03660046109a9565b61061a565b6101e8600a5481565b61020e6102fc3660046109a9565b61066e565b6101e860075481565b61020e6106c3565b61020e6103203660046109e3565b6106d6565b600c5461033f90600160601b90046001600160a01b031681565b6040516001600160a01b0390911681526020016101f2565b61020e6103653660046109a9565b61070b565b61020e6103783660046109a9565b610774565b5f546001600160a01b031661033f565b61020e61039b3660046109a9565b6107eb565b6101e860055481565b6101e860035481565b61020e6103c03660046109a9565b61083c565b6101e860085481565b6101e860015481565b6101e860045481565b6101e860065481565b6101e860095481565b61020e6104003660046109e3565b61087c565b61020e6104133660046109a9565b6108be565b610420610900565b600a610435670de0b6b3a76400006009610a1d565b61043f9190610a3a565b8167ffffffffffffffff16111561046957604051632ad907fb60e01b815260040160405180910390fd5b600c805467ffffffffffffffff909216640100000000026bffffffffffffffff0000000019909216919091179055565b6104a1610900565b670de0b6b3a76400008111156104ca57604051632ad907fb60e01b815260040160405180910390fd5b600655565b6104d7610900565b600a8163ffffffff1610156104ff57604051639a721da360e01b815260040160405180910390fd5b620156308163ffffffff16111561052957604051632ad907fb60e01b815260040160405180910390fd5b600c805463ffffffff191663ffffffff92909216919091179055565b61054d610900565b670de0b6b3a76400006005546105639083610a59565b111561058257604051632ad907fb60e01b815260040160405180910390fd5b600455565b61058f610900565b60648110156105b157604051639a721da360e01b815260040160405180910390fd5b620f42408111156105d557604051632ad907fb60e01b815260040160405180910390fd5b600a55565b6105e2610900565b6105f56002670de0b6b3a7640000610a3a565b81111561061557604051632ad907fb60e01b815260040160405180910390fd5b600355565b610622610900565b610e1081101561064557604051639a721da360e01b815260040160405180910390fd5b62278d0081111561066957604051632ad907fb60e01b815260040160405180910390fd5b600855565b610676610900565b6201518081101561069a57604051639a721da360e01b815260040160405180910390fd5b620d2f008111156106be57604051632ad907fb60e01b815260040160405180910390fd5b600b55565b6106cb610900565b6106d45f61092c565b565b6106de610900565b600c80546001600160a01b03909216600160601b026bffffffffffffffffffffffff909216919091179055565b610713610900565b670de0b6b3a764000081101561073c57604051639a721da360e01b815260040160405180910390fd5b61074f670de0b6b3a7640000601f610a1d565b81111561076f57604051632ad907fb60e01b815260040160405180910390fd5b600255565b61077c610900565b610791670de0b6b3a7640000620186a0610a1d565b8110156107b157604051639a721da360e01b815260040160405180910390fd5b6107c6670de0b6b3a764000062989680610a1d565b8111156107e657604051632ad907fb60e01b815260040160405180910390fd5b600155565b6107f3610900565b600281101561081557604051639a721da360e01b815260040160405180910390fd5b606481111561083757604051632ad907fb60e01b815260040160405180910390fd5b600755565b610844610900565b610857670de0b6b3a76400006020610a1d565b81111561087757604051632ad907fb60e01b815260040160405180910390fd5b600955565b610884610900565b6001600160a01b0381166108b257604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6108bb8161092c565b50565b6108c6610900565b670de0b6b3a76400006004546108dc9083610a59565b11156108fb57604051632ad907fb60e01b815260040160405180910390fd5b600555565b5f546001600160a01b031633146106d45760405163118cdaa760e01b81523360048201526024016108a9565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f6020828403121561098b575f5ffd5b813567ffffffffffffffff811681146109a2575f5ffd5b9392505050565b5f602082840312156109b9575f5ffd5b5035919050565b5f602082840312156109d0575f5ffd5b813563ffffffff811681146109a2575f5ffd5b5f602082840312156109f3575f5ffd5b81356001600160a01b03811681146109a2575f5ffd5b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610a3457610a34610a09565b92915050565b5f82610a5457634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115610a3457610a34610a0956fea2646970667358221220b3d86c1328aca45393e8769dcacb082c5afeb5509a47e80e109f0774a1c2147864736f6c634300081b0033a264697066735822122053d777808a676b00d85d3d50f094928d42313fb9905d852de71656313fda98cf64736f6c634300081b0033

Deployed Bytecode

0x608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063a40973061461002d575b5f5ffd5b61004061003b366004610c13565b610042565b005b5f816001600160a01b031663d46fa5186040518163ffffffff1660e01b8152600401602060405180830381865afa15801561007f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a39190610c35565b90505f306040516100b390610bef565b6001600160a01b039091168152602001604051809103905ff0801580156100dc573d5f5f3e3d5ffd5b509050806001600160a01b031663866c4b17836001600160a01b031663c5f530af6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561012a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061014e9190610c50565b6040518263ffffffff1660e01b815260040161016c91815260200190565b5f604051808303815f87803b158015610183575f5ffd5b505af1158015610195573d5f5f3e3d5ffd5b50505050806001600160a01b03166381ffcdf1836001600160a01b0316632265f2846040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102089190610c50565b6040518263ffffffff1660e01b815260040161022691815260200190565b5f604051808303815f87803b15801561023d575f5ffd5b505af115801561024f573d5f5f3e3d5ffd5b50505050806001600160a01b0316632ee71132836001600160a01b031663a77865156040518163ffffffff1660e01b8152600401602060405180830381865afa15801561029e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102c29190610c50565b6040518263ffffffff1660e01b81526004016102e091815260200190565b5f604051808303815f87803b1580156102f7575f5ffd5b505af1158015610309573d5f5f3e3d5ffd5b50505050806001600160a01b0316632bb9fe8d836001600160a01b031663c74dd6216040518163ffffffff1660e01b8152600401602060405180830381865afa158015610358573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061037c9190610c50565b6040518263ffffffff1660e01b815260040161039a91815260200190565b5f604051808303815f87803b1580156103b1575f5ffd5b505af11580156103c3573d5f5f3e3d5ffd5b50505050806001600160a01b031663f8d5177e836001600160a01b03166394c3e9146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610412573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104369190610c50565b6040518263ffffffff1660e01b815260040161045491815260200190565b5f604051808303815f87803b15801561046b575f5ffd5b505af115801561047d573d5f5f3e3d5ffd5b50505050806001600160a01b0316638f078bfa836001600160a01b031663650acd666040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104cc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f09190610c50565b6040518263ffffffff1660e01b815260040161050e91815260200190565b5f604051808303815f87803b158015610525575f5ffd5b505af1158015610537573d5f5f3e3d5ffd5b50505050806001600160a01b031663455366a4836001600160a01b031663b82b84276040518163ffffffff1660e01b8152600401602060405180830381865afa158015610586573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105aa9190610c50565b6040518263ffffffff1660e01b81526004016105c891815260200190565b5f604051808303815f87803b1580156105df575f5ffd5b505af11580156105f1573d5f5f3e3d5ffd5b50505050806001600160a01b031663b6d9edd5836001600160a01b031663d9a7c1f96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610640573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106649190610c50565b6040518263ffffffff1660e01b815260040161068291815260200190565b5f604051808303815f87803b158015610699575f5ffd5b505af11580156106ab573d5f5f3e3d5ffd5b50505050806001600160a01b0316636348ebb8836001600160a01b031662cc7f836040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106f9573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071d9190610c50565b6040518263ffffffff1660e01b815260040161073b91815260200190565b5f604051808303815f87803b158015610752575f5ffd5b505af1158015610764573d5f5f3e3d5ffd5b50505050806001600160a01b0316632e84e8e6836001600160a01b0316635a68f01a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d79190610c50565b6040518263ffffffff1660e01b81526004016107f591815260200190565b5f604051808303815f87803b15801561080c575f5ffd5b505af115801561081e573d5f5f3e3d5ffd5b50505050806001600160a01b031663256dc572836001600160a01b0316633fa225486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561086d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108919190610c67565b6040516001600160e01b031960e084901b16815263ffffffff9190911660048201526024015f604051808303815f87803b1580156108cd575f5ffd5b505af11580156108df573d5f5f3e3d5ffd5b50505050806001600160a01b031663165e2639836001600160a01b0316631c2543376040518163ffffffff1660e01b8152600401602060405180830381865afa15801561092e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109529190610c8a565b6040516001600160e01b031960e084901b16815267ffffffffffffffff90911660048201526024015f604051808303815f87803b158015610991575f5ffd5b505af11580156109a3573d5f5f3e3d5ffd5b50505050806001600160a01b031663754e92e3836001600160a01b03166375840fab6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a169190610c35565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024015f604051808303815f87803b158015610a54575f5ffd5b505af1158015610a66573d5f5f3e3d5ffd5b50505050806001600160a01b031663230ec5f76064610a8a670de0b6b3a764000090565b610a95906032610cb1565b610a9f9190610cda565b6040518263ffffffff1660e01b8152600401610abd91815260200190565b5f604051808303815f87803b158015610ad4575f5ffd5b505af1158015610ae6573d5f5f3e3d5ffd5b50505050806001600160a01b031663f2fde38b836001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b35573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b599190610c35565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024015f604051808303815f87803b158015610b97575f5ffd5b505af1158015610ba9573d5f5f3e3d5ffd5b50506040516001600160a01b03841681527fd3fa187f7d4d0b967597fd8a933f05245448678338df3bc4639abdc6087185409250602001905060405180910390a1505050565b610b8e80610cfa83390190565b6001600160a01b0381168114610c10575f5ffd5b50565b5f60208284031215610c23575f5ffd5b8135610c2e81610bfc565b9392505050565b5f60208284031215610c45575f5ffd5b8151610c2e81610bfc565b5f60208284031215610c60575f5ffd5b5051919050565b5f60208284031215610c77575f5ffd5b815163ffffffff81168114610c2e575f5ffd5b5f60208284031215610c9a575f5ffd5b815167ffffffffffffffff81168114610c2e575f5ffd5b8082028115828204841417610cd457634e487b7160e01b5f52601160045260245ffd5b92915050565b5f82610cf457634e487b7160e01b5f52601260045260245ffd5b50049056fe6080604052348015600e575f5ffd5b50604051610b8e380380610b8e833981016040819052602b9160b4565b806001600160a01b038116605857604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b605f816065565b505060df565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f6020828403121560c3575f5ffd5b81516001600160a01b038116811460d8575f5ffd5b9392505050565b610aa2806100ec5f395ff3fe608060405234801561000f575f5ffd5b50600436106101db575f3560e01c8063754e92e311610109578063b6d9edd51161009e578063d475aa941161006e578063d475aa94146103e0578063d9a7c1f9146103e9578063f2fde38b146103f2578063f8d5177e14610405575f5ffd5b8063b6d9edd5146103b2578063b82b8427146103c5578063c5f530af146103ce578063c74dd621146103d7575f5ffd5b80638da5cb5b116100d95780638da5cb5b1461037d5780638f078bfa1461038d57806394c3e914146103a0578063a7786515146103a9575f5ffd5b8063754e92e31461031257806375840fab1461032557806381ffcdf114610357578063866c4b171461036a575f5ffd5b80632e84e8e61161017f5780635a68f01a1161014f5780635a68f01a146102e55780636348ebb8146102ee578063650acd6614610301578063715018a61461030a575f5ffd5b80632e84e8e6146102875780632ee711321461029a5780633fa22548146102ad578063455366a4146102d2575f5ffd5b80632265f284116101ba5780632265f28414610245578063230ec5f71461024e578063256dc572146102615780632bb9fe8d14610274575f5ffd5b8062cc7f83146101df578063165e2639146101fb5780631c25433714610210575b5f5ffd5b6101e8600b5481565b6040519081526020015b60405180910390f35b61020e61020936600461097b565b610418565b005b600c5461022c90640100000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016101f2565b6101e860025481565b61020e61025c3660046109a9565b610499565b61020e61026f3660046109c0565b6104cf565b61020e6102823660046109a9565b610545565b61020e6102953660046109a9565b610587565b61020e6102a83660046109a9565b6105da565b600c546102bd9063ffffffff1681565b60405163ffffffff90911681526020016101f2565b61020e6102e03660046109a9565b61061a565b6101e8600a5481565b61020e6102fc3660046109a9565b61066e565b6101e860075481565b61020e6106c3565b61020e6103203660046109e3565b6106d6565b600c5461033f90600160601b90046001600160a01b031681565b6040516001600160a01b0390911681526020016101f2565b61020e6103653660046109a9565b61070b565b61020e6103783660046109a9565b610774565b5f546001600160a01b031661033f565b61020e61039b3660046109a9565b6107eb565b6101e860055481565b6101e860035481565b61020e6103c03660046109a9565b61083c565b6101e860085481565b6101e860015481565b6101e860045481565b6101e860065481565b6101e860095481565b61020e6104003660046109e3565b61087c565b61020e6104133660046109a9565b6108be565b610420610900565b600a610435670de0b6b3a76400006009610a1d565b61043f9190610a3a565b8167ffffffffffffffff16111561046957604051632ad907fb60e01b815260040160405180910390fd5b600c805467ffffffffffffffff909216640100000000026bffffffffffffffff0000000019909216919091179055565b6104a1610900565b670de0b6b3a76400008111156104ca57604051632ad907fb60e01b815260040160405180910390fd5b600655565b6104d7610900565b600a8163ffffffff1610156104ff57604051639a721da360e01b815260040160405180910390fd5b620156308163ffffffff16111561052957604051632ad907fb60e01b815260040160405180910390fd5b600c805463ffffffff191663ffffffff92909216919091179055565b61054d610900565b670de0b6b3a76400006005546105639083610a59565b111561058257604051632ad907fb60e01b815260040160405180910390fd5b600455565b61058f610900565b60648110156105b157604051639a721da360e01b815260040160405180910390fd5b620f42408111156105d557604051632ad907fb60e01b815260040160405180910390fd5b600a55565b6105e2610900565b6105f56002670de0b6b3a7640000610a3a565b81111561061557604051632ad907fb60e01b815260040160405180910390fd5b600355565b610622610900565b610e1081101561064557604051639a721da360e01b815260040160405180910390fd5b62278d0081111561066957604051632ad907fb60e01b815260040160405180910390fd5b600855565b610676610900565b6201518081101561069a57604051639a721da360e01b815260040160405180910390fd5b620d2f008111156106be57604051632ad907fb60e01b815260040160405180910390fd5b600b55565b6106cb610900565b6106d45f61092c565b565b6106de610900565b600c80546001600160a01b03909216600160601b026bffffffffffffffffffffffff909216919091179055565b610713610900565b670de0b6b3a764000081101561073c57604051639a721da360e01b815260040160405180910390fd5b61074f670de0b6b3a7640000601f610a1d565b81111561076f57604051632ad907fb60e01b815260040160405180910390fd5b600255565b61077c610900565b610791670de0b6b3a7640000620186a0610a1d565b8110156107b157604051639a721da360e01b815260040160405180910390fd5b6107c6670de0b6b3a764000062989680610a1d565b8111156107e657604051632ad907fb60e01b815260040160405180910390fd5b600155565b6107f3610900565b600281101561081557604051639a721da360e01b815260040160405180910390fd5b606481111561083757604051632ad907fb60e01b815260040160405180910390fd5b600755565b610844610900565b610857670de0b6b3a76400006020610a1d565b81111561087757604051632ad907fb60e01b815260040160405180910390fd5b600955565b610884610900565b6001600160a01b0381166108b257604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6108bb8161092c565b50565b6108c6610900565b670de0b6b3a76400006004546108dc9083610a59565b11156108fb57604051632ad907fb60e01b815260040160405180910390fd5b600555565b5f546001600160a01b031633146106d45760405163118cdaa760e01b81523360048201526024016108a9565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f6020828403121561098b575f5ffd5b813567ffffffffffffffff811681146109a2575f5ffd5b9392505050565b5f602082840312156109b9575f5ffd5b5035919050565b5f602082840312156109d0575f5ffd5b813563ffffffff811681146109a2575f5ffd5b5f602082840312156109f3575f5ffd5b81356001600160a01b03811681146109a2575f5ffd5b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610a3457610a34610a09565b92915050565b5f82610a5457634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115610a3457610a34610a0956fea2646970667358221220b3d86c1328aca45393e8769dcacb082c5afeb5509a47e80e109f0774a1c2147864736f6c634300081b0033a264697066735822122053d777808a676b00d85d3d50f094928d42313fb9905d852de71656313fda98cf64736f6c634300081b0033

Block Transaction 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  ]
[ 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.