Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 17 from a total of 17 transactions
| Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer Ownersh... | 23355928 | 60 days ago | IN | 0 ETH | 0.00004869 | ||||
| Update Validator... | 20369996 | 477 days ago | IN | 0 ETH | 0.00052346 | ||||
| Update Validator... | 20369993 | 477 days ago | IN | 0 ETH | 0.00027004 | ||||
| Update Validator... | 20261555 | 492 days ago | IN | 0 ETH | 0.00014081 | ||||
| Update Validator... | 17979571 | 812 days ago | IN | 0 ETH | 0.00155658 | ||||
| Update Validator... | 17979569 | 812 days ago | IN | 0 ETH | 0.00132523 | ||||
| Update Validator... | 17979567 | 812 days ago | IN | 0 ETH | 0.00136928 | ||||
| Update Validator... | 17973425 | 813 days ago | IN | 0 ETH | 0.00103069 | ||||
| Update Validator... | 17931075 | 819 days ago | IN | 0 ETH | 0.00120025 | ||||
| Update Validator... | 17879047 | 826 days ago | IN | 0 ETH | 0.00138846 | ||||
| Update Validator... | 17867004 | 828 days ago | IN | 0 ETH | 0.00067803 | ||||
| Update Validator... | 17867002 | 828 days ago | IN | 0 ETH | 0.00061979 | ||||
| Update Validator... | 17867001 | 828 days ago | IN | 0 ETH | 0.00064961 | ||||
| Update Validator... | 17866999 | 828 days ago | IN | 0 ETH | 0.00068151 | ||||
| Update Validator... | 17866998 | 828 days ago | IN | 0 ETH | 0.0006844 | ||||
| Update Validator... | 17866996 | 828 days ago | IN | 0 ETH | 0.00062439 | ||||
| Update Validator... | 17866994 | 828 days ago | IN | 0 ETH | 0.00065326 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
ValidatorRegistry
Compiler Version
v0.5.17+commit.d19bba13
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*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
- No Contract Security Audit Submitted- Submit Audit Here
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"}]Contract Creation Code
608060405234801561001057600080fd5b50600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36002805460ff19166001179055610366806100766000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638f32d59b1161005b5780638f32d59b14610108578063c3dc504f14610124578063f2fde38b1461012c578063fa52c7d81461015257610088565b80636082adf81461008d578063715018a6146100ae57806372274606146100b65780638da5cb5b146100e4575b600080fd5b6100ac600480360360208110156100a357600080fd5b50351515610178565b005b6100ac61019c565b6100ac600480360360408110156100cc57600080fd5b506001600160a01b03813516906020013515156101f7565b6100ec610268565b604080516001600160a01b039092168252519081900360200190f35b610110610277565b604080519115158252519081900360200190f35b610110610288565b6100ac6004803603602081101561014257600080fd5b50356001600160a01b0316610291565b6101106004803603602081101561016857600080fd5b50356001600160a01b03166102ae565b610180610277565b61018957600080fd5b6002805460ff1916911515919091179055565b6101a4610277565b6101ad57600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6101ff610277565b61020857600080fd5b6001600160a01b038216600081815260016020908152604091829020805460ff1916851515908117909155825190815291517ff93f9a76c1bf3444d22400a00cb9fe990e6abe9dbb333fda48859cfee864543d9281900390910190a25050565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b60025460ff1681565b610299610277565b6102a257600080fd5b6102ab816102c3565b50565b60016020526000908152604090205460ff1681565b6001600160a01b0381166102d657600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fea265627a7a7231582026dda96a6aa6f8b2124dbc1007d81fe24418519743880d36f53424523317de7a64736f6c63430005110032
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100885760003560e01c80638f32d59b1161005b5780638f32d59b14610108578063c3dc504f14610124578063f2fde38b1461012c578063fa52c7d81461015257610088565b80636082adf81461008d578063715018a6146100ae57806372274606146100b65780638da5cb5b146100e4575b600080fd5b6100ac600480360360208110156100a357600080fd5b50351515610178565b005b6100ac61019c565b6100ac600480360360408110156100cc57600080fd5b506001600160a01b03813516906020013515156101f7565b6100ec610268565b604080516001600160a01b039092168252519081900360200190f35b610110610277565b604080519115158252519081900360200190f35b610110610288565b6100ac6004803603602081101561014257600080fd5b50356001600160a01b0316610291565b6101106004803603602081101561016857600080fd5b50356001600160a01b03166102ae565b610180610277565b61018957600080fd5b6002805460ff1916911515919091179055565b6101a4610277565b6101ad57600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6101ff610277565b61020857600080fd5b6001600160a01b038216600081815260016020908152604091829020805460ff1916851515908117909155825190815291517ff93f9a76c1bf3444d22400a00cb9fe990e6abe9dbb333fda48859cfee864543d9281900390910190a25050565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b60025460ff1681565b610299610277565b6102a257600080fd5b6102ab816102c3565b50565b60016020526000908152604090205460ff1681565b6001600160a01b0381166102d657600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fea265627a7a7231582026dda96a6aa6f8b2124dbc1007d81fe24418519743880d36f53424523317de7a64736f6c63430005110032
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.