ETH Price: $3,432.71 (+0.18%)

Contract

0x53D63B9523Ab13399e2071BB4056bbc7Bf98e6A6
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer Ownersh...233559282025-09-13 18:25:4760 days ago1757787947IN
0x53D63B95...7Bf98e6A6
0 ETH0.000048691.7006554
Update Validator...203699962024-07-23 15:01:47477 days ago1721746907IN
0x53D63B95...7Bf98e6A6
0 ETH0.0005234610.97737108
Update Validator...203699932024-07-23 15:01:11477 days ago1721746871IN
0x53D63B95...7Bf98e6A6
0 ETH0.0002700410.48214823
Update Validator...202615552024-07-08 11:40:59492 days ago1720438859IN
0x53D63B95...7Bf98e6A6
0 ETH0.000140812.95375815
Update Validator...179795712023-08-23 19:43:23812 days ago1692819803IN
0x53D63B95...7Bf98e6A6
0 ETH0.0015565832.64235642
Update Validator...179795692023-08-23 19:42:59812 days ago1692819779IN
0x53D63B95...7Bf98e6A6
0 ETH0.0013252327.7909485
Update Validator...179795672023-08-23 19:42:35812 days ago1692819755IN
0x53D63B95...7Bf98e6A6
0 ETH0.0013692828.71466331
Update Validator...179734252023-08-22 23:06:35813 days ago1692745595IN
0x53D63B95...7Bf98e6A6
0 ETH0.0010306921.61430456
Update Validator...179310752023-08-17 0:50:23819 days ago1692233423IN
0x53D63B95...7Bf98e6A6
0 ETH0.0012002550
Update Validator...178790472023-08-09 18:11:47826 days ago1691604707IN
0x53D63B95...7Bf98e6A6
0 ETH0.0013884629.11681668
Update Validator...178670042023-08-08 1:43:47828 days ago1691459027IN
0x53D63B95...7Bf98e6A6
0 ETH0.0006780314.21865768
Update Validator...178670022023-08-08 1:43:23828 days ago1691459003IN
0x53D63B95...7Bf98e6A6
0 ETH0.0006197912.9974656
Update Validator...178670012023-08-08 1:43:11828 days ago1691458991IN
0x53D63B95...7Bf98e6A6
0 ETH0.0006496113.62266707
Update Validator...178669992023-08-08 1:42:47828 days ago1691458967IN
0x53D63B95...7Bf98e6A6
0 ETH0.0006815114.29169369
Update Validator...178669982023-08-08 1:42:35828 days ago1691458955IN
0x53D63B95...7Bf98e6A6
0 ETH0.000684414.35232784
Update Validator...178669962023-08-08 1:42:11828 days ago1691458931IN
0x53D63B95...7Bf98e6A6
0 ETH0.0006243913.09392268
Update Validator...178669942023-08-08 1:41:47828 days ago1691458907IN
0x53D63B95...7Bf98e6A6
0 ETH0.0006532613.69927411

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ValidatorRegistry

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2023-08-07
*/

pragma solidity ^0.5.2;


/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address private _owner;

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

    /**
     * @dev The Ownable constructor sets the original `owner` of the contract to the sender
     * account.
     */
    constructor () internal {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

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

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

    /**
     * @return true if `msg.sender` is the owner of the contract.
     */
    function isOwner() public view returns (bool) {
        return msg.sender == _owner;
    }

    /**
     * @dev Allows the current owner to relinquish control of the contract.
     * It will not be possible to call the functions with the `onlyOwner`
     * modifier anymore.
     * @notice Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Allows the current owner to transfer control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}



contract ValidatorRegistry is Ownable {
    mapping(address => bool) public validators;
    bool public validatorWhitelistingEnable;

    event WhitelistUpdated(address indexed validator, bool isWhitelisted);

    constructor() public {
        validatorWhitelistingEnable = true;
    }

    function updateValidatorsPermission(address _validator, bool _isWhitelisted) external onlyOwner {
        validators[_validator] = _isWhitelisted;
        emit WhitelistUpdated(_validator, _isWhitelisted);
    }

    function toggleWhitelisting(bool _validatorWhitelistingEnable) external onlyOwner {
        validatorWhitelistingEnable = _validatorWhitelistingEnable;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"payable":false,"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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"validator","type":"address"},{"indexed":false,"internalType":"bool","name":"isWhitelisted","type":"bool"}],"name":"WhitelistUpdated","type":"event"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_validatorWhitelistingEnable","type":"bool"}],"name":"toggleWhitelisting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_validator","type":"address"},{"internalType":"bool","name":"_isWhitelisted","type":"bool"}],"name":"updateValidatorsPermission","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"validatorWhitelistingEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"validators","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b50600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36002805460ff19166001179055610366806100766000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638f32d59b1161005b5780638f32d59b14610108578063c3dc504f14610124578063f2fde38b1461012c578063fa52c7d81461015257610088565b80636082adf81461008d578063715018a6146100ae57806372274606146100b65780638da5cb5b146100e4575b600080fd5b6100ac600480360360208110156100a357600080fd5b50351515610178565b005b6100ac61019c565b6100ac600480360360408110156100cc57600080fd5b506001600160a01b03813516906020013515156101f7565b6100ec610268565b604080516001600160a01b039092168252519081900360200190f35b610110610277565b604080519115158252519081900360200190f35b610110610288565b6100ac6004803603602081101561014257600080fd5b50356001600160a01b0316610291565b6101106004803603602081101561016857600080fd5b50356001600160a01b03166102ae565b610180610277565b61018957600080fd5b6002805460ff1916911515919091179055565b6101a4610277565b6101ad57600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6101ff610277565b61020857600080fd5b6001600160a01b038216600081815260016020908152604091829020805460ff1916851515908117909155825190815291517ff93f9a76c1bf3444d22400a00cb9fe990e6abe9dbb333fda48859cfee864543d9281900390910190a25050565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b60025460ff1681565b610299610277565b6102a257600080fd5b6102ab816102c3565b50565b60016020526000908152604090205460ff1681565b6001600160a01b0381166102d657600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fea265627a7a7231582026dda96a6aa6f8b2124dbc1007d81fe24418519743880d36f53424523317de7a64736f6c63430005110032

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100885760003560e01c80638f32d59b1161005b5780638f32d59b14610108578063c3dc504f14610124578063f2fde38b1461012c578063fa52c7d81461015257610088565b80636082adf81461008d578063715018a6146100ae57806372274606146100b65780638da5cb5b146100e4575b600080fd5b6100ac600480360360208110156100a357600080fd5b50351515610178565b005b6100ac61019c565b6100ac600480360360408110156100cc57600080fd5b506001600160a01b03813516906020013515156101f7565b6100ec610268565b604080516001600160a01b039092168252519081900360200190f35b610110610277565b604080519115158252519081900360200190f35b610110610288565b6100ac6004803603602081101561014257600080fd5b50356001600160a01b0316610291565b6101106004803603602081101561016857600080fd5b50356001600160a01b03166102ae565b610180610277565b61018957600080fd5b6002805460ff1916911515919091179055565b6101a4610277565b6101ad57600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6101ff610277565b61020857600080fd5b6001600160a01b038216600081815260016020908152604091829020805460ff1916851515908117909155825190815291517ff93f9a76c1bf3444d22400a00cb9fe990e6abe9dbb333fda48859cfee864543d9281900390910190a25050565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b60025460ff1681565b610299610277565b6102a257600080fd5b6102ab816102c3565b50565b60016020526000908152604090205460ff1681565b6001600160a01b0381166102d657600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fea265627a7a7231582026dda96a6aa6f8b2124dbc1007d81fe24418519743880d36f53424523317de7a64736f6c63430005110032

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