Address Contract Partially Verified
Address
0x458bf579b983C0a129A03EAD0AC998f62343A9e3
Balance
0 ETH
Nonce
1
Code Size
1462 bytes
Creator
0xe6B692dc...C92d at tx 0xbe30668d...73b7ca
Indexed Transactions
0 (1 on-chain, 1.7% indexed)
Contract Bytecode
1462 bytes
0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80634c5a628c1161005b5780634c5a628c1461010a5780637362d9c814610112578063bb5f747b14610138578063d6cd94731461015e5761007d565b806310154bad14610082578063291d9549146100aa5780633af32abf146100d0575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b0316610166565b005b6100a8600480360360208110156100c057600080fd5b50356001600160a01b03166101b6565b6100f6600480360360208110156100e657600080fd5b50356001600160a01b0316610203565b604080519115158252519081900360200190f35b6100a861021c565b6100a86004803603602081101561012857600080fd5b50356001600160a01b0316610227565b6100f66004803603602081101561014e57600080fd5b50356001600160a01b0316610274565b6100a8610286565b61016f33610274565b6101aa5760405162461bcd60e51b81526004018080602001828103825260408152602001806105426040913960400191505060405180910390fd5b6101b38161028f565b50565b6101bf33610274565b6101fa5760405162461bcd60e51b81526004018080602001828103825260408152602001806105426040913960400191505060405180910390fd5b6101b3816102d7565b600061021660018363ffffffff61031f16565b92915050565b61022533610386565b565b61023033610274565b61026b5760405162461bcd60e51b81526004018080602001828103825260408152602001806105426040913960400191505060405180910390fd5b6101b3816103ce565b6000610216818363ffffffff61031f16565b610225336102d7565b6102a060018263ffffffff61041616565b6040516001600160a01b038216907fee1504a83b6d4a361f4c1dc78ab59bfa30d6a3b6612c403e86bb01ef2984295f90600090a250565b6102e860018263ffffffff61049716565b6040516001600160a01b038216907f270d9b30cf5b0793bbfd54c9d5b94aeb49462b8148399000265144a8722da6b690600090a250565b60006001600160a01b0382166103665760405162461bcd60e51b81526004018080602001828103825260228152602001806105206022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b61039760008263ffffffff61049716565b6040516001600160a01b038216907f0a8eb35e5ca14b3d6f28e4abf2f128dbab231a58b56e89beb5d636115001e16590600090a250565b6103df60008263ffffffff61041616565b6040516001600160a01b038216907f22380c05984257a1cb900161c713dd71d39e74820f1aea43bd3f1bdd2096129990600090a250565b610420828261031f565b15610472576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b6104a1828261031f565b6104dc5760405162461bcd60e51b81526004018080602001828103825260218152602001806104ff6021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff1916905556fe526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f206164647265737357686974656c69737441646d696e526f6c653a2063616c6c657220646f6573206e6f742068617665207468652057686974656c69737441646d696e20726f6c65a265627a7a7231582008748c79dce9bf22cb05d8ba82eb084754e1cb65468f566bdd8f955ebaef8e9e64736f6c634300050b0032
Verified Source Code Partial Match
Compiler: v0.5.11+commit.c082d0b4
EVM: petersburg
Optimization: Yes (200 runs)
Whitelisted.sol 149 lines
// File: openzeppelin-solidity/contracts/access/Roles.sol
pragma solidity ^0.5.0;
/**
* @title Roles
* @dev Library for managing addresses assigned to a Role.
*/
library Roles {
struct Role {
mapping (address => bool) bearer;
}
/**
* @dev Give an account access to this role.
*/
function add(Role storage role, address account) internal {
require(!has(role, account), "Roles: account already has role");
role.bearer[account] = true;
}
/**
* @dev Remove an account's access to this role.
*/
function remove(Role storage role, address account) internal {
require(has(role, account), "Roles: account does not have role");
role.bearer[account] = false;
}
/**
* @dev Check if an account has this role.
* @return bool
*/
function has(Role storage role, address account) internal view returns (bool) {
require(account != address(0), "Roles: account is the zero address");
return role.bearer[account];
}
}
// File: openzeppelin-solidity/contracts/access/roles/WhitelistAdminRole.sol
pragma solidity ^0.5.0;
/**
* @title WhitelistAdminRole
* @dev WhitelistAdmins are responsible for assigning and removing Whitelisted accounts.
*/
contract WhitelistAdminRole {
using Roles for Roles.Role;
event WhitelistAdminAdded(address indexed account);
event WhitelistAdminRemoved(address indexed account);
Roles.Role private _whitelistAdmins;
constructor () internal {
_addWhitelistAdmin(msg.sender);
}
modifier onlyWhitelistAdmin() {
require(isWhitelistAdmin(msg.sender), "WhitelistAdminRole: caller does not have the WhitelistAdmin role");
_;
}
function isWhitelistAdmin(address account) public view returns (bool) {
return _whitelistAdmins.has(account);
}
function addWhitelistAdmin(address account) public onlyWhitelistAdmin {
_addWhitelistAdmin(account);
}
function renounceWhitelistAdmin() public {
_removeWhitelistAdmin(msg.sender);
}
function _addWhitelistAdmin(address account) internal {
_whitelistAdmins.add(account);
emit WhitelistAdminAdded(account);
}
function _removeWhitelistAdmin(address account) internal {
_whitelistAdmins.remove(account);
emit WhitelistAdminRemoved(account);
}
}
// File: openzeppelin-solidity/contracts/access/roles/WhitelistedRole.sol
pragma solidity ^0.5.0;
/**
* @title WhitelistedRole
* @dev Whitelisted accounts have been approved by a WhitelistAdmin to perform certain actions (e.g. participate in a
* crowdsale). This role is special in that the only accounts that can add it are WhitelistAdmins (who can also remove
* it), and not Whitelisteds themselves.
*/
contract WhitelistedRole is WhitelistAdminRole {
using Roles for Roles.Role;
event WhitelistedAdded(address indexed account);
event WhitelistedRemoved(address indexed account);
Roles.Role private _whitelisteds;
modifier onlyWhitelisted() {
require(isWhitelisted(msg.sender), "WhitelistedRole: caller does not have the Whitelisted role");
_;
}
function isWhitelisted(address account) public view returns (bool) {
return _whitelisteds.has(account);
}
function addWhitelisted(address account) public onlyWhitelistAdmin {
_addWhitelisted(account);
}
function removeWhitelisted(address account) public onlyWhitelistAdmin {
_removeWhitelisted(account);
}
function renounceWhitelisted() public {
_removeWhitelisted(msg.sender);
}
function _addWhitelisted(address account) internal {
_whitelisteds.add(account);
emit WhitelistedAdded(account);
}
function _removeWhitelisted(address account) internal {
_whitelisteds.remove(account);
emit WhitelistedRemoved(account);
}
}
// File: original_contracts/Whitelisted.sol
pragma solidity 0.5.11;
contract Whitelisted is WhitelistedRole {
}
Read Contract
isWhitelistAdmin 0xbb5f747b → bool
isWhitelisted 0x3af32abf → bool
Write Contract 5 functions
These functions modify contract state and require a wallet transaction to execute.
addWhitelistAdmin 0x7362d9c8
address account
addWhitelisted 0x10154bad
address account
removeWhitelisted 0x291d9549
address account
renounceWhitelistAdmin 0x4c5a628c
No parameters
renounceWhitelisted 0xd6cd9473
No parameters
Recent Transactions
This address has 1 on-chain transactions, but only 1.7% of the chain is indexed. Transactions will appear as indexing progresses. View on Etherscan →