Source Code
Overview
ETH Balance
0 ETH
ETH Value
$0.00
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Manager
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
pragma solidity ^0.8.4;
import "./interfaces/ITokenManager.sol";
contract Manager is IManager {
mapping(address => bool) public admins;
mapping(address => mapping(uint256 => bool)) public managers;
constructor() {
admins[msg.sender] = true;
}
modifier onlyAdmins() {
require(admins[msg.sender], "Must be Admin");
_;
}
event AddedManager(address manager, uint256 _type);
event RemovedManager(address manager, uint256 _type);
event AddedAdmin(address admin);
event RemovedAdmin(address admin);
function isAdmin(address _addr) external view returns (bool) {
return admins[_addr];
}
function isManager(address _addr, uint256 _type)
external
view
returns (bool)
{
return managers[_addr][_type];
}
function addManager(address _addr, uint256 _type) external onlyAdmins {
managers[_addr][_type] = true;
emit AddedManager(_addr, _type);
}
function removeManager(address _addr, uint256 _type) external onlyAdmins {
managers[_addr][_type] = false;
emit RemovedManager(_addr, _type);
}
function addAdmin(address _addr) external onlyAdmins {
admins[_addr] = true;
emit AddedAdmin(_addr);
}
function removeAdmin(address _addr) external onlyAdmins {
admins[_addr] = false;
emit RemovedAdmin(_addr);
}
}pragma solidity ^0.8.17;
interface IManager {
function isAdmin(address _addr) external view returns (bool);
function isManager(address _addr, uint256 _type) external view returns (bool);
function addManager(address _addr, uint256 _type) external;
function removeManager(address _addr, uint256 _type) external;
function addAdmin(address _addr) external;
function removeAdmin(address _addr) external;
}{
"optimizer": {
"enabled": true,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"admin","type":"address"}],"name":"AddedAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"manager","type":"address"},{"indexed":false,"internalType":"uint256","name":"_type","type":"uint256"}],"name":"AddedManager","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"admin","type":"address"}],"name":"RemovedAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"manager","type":"address"},{"indexed":false,"internalType":"uint256","name":"_type","type":"uint256"}],"name":"RemovedManager","type":"event"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"addAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"uint256","name":"_type","type":"uint256"}],"name":"addManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"admins","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"isAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"uint256","name":"_type","type":"uint256"}],"name":"isManager","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"managers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"removeAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"uint256","name":"_type","type":"uint256"}],"name":"removeManager","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b50336000908152602081905260409020805460ff1916600117905561049f8061003a6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063704802751161005b578063704802751461013357806375fb0d781461014657806377b1ade914610159578063cbcd49be1461016c57600080fd5b80631785f53c1461008d57806324d7806c146100a2578063429b62e5146100e257806362c855ac14610105575b600080fd5b6100a061009b3660046103f6565b6101a5565b005b6100ce6100b03660046103f6565b6001600160a01b031660009081526020819052604090205460ff1690565b604051901515815260200160405180910390f35b6100ce6100f03660046103f6565b60006020819052908152604090205460ff1681565b6100ce610113366004610418565b600160209081526000928352604080842090915290825290205460ff1681565b6100a06101413660046103f6565b610233565b6100a0610154366004610418565b6102b4565b6100a0610167366004610418565b61034d565b6100ce61017a366004610418565b6001600160a01b03919091166000908152600160209081526040808320938352929052205460ff1690565b3360009081526020819052604090205460ff166101dd5760405162461bcd60e51b81526004016101d490610442565b60405180910390fd5b6001600160a01b03811660008181526020818152604091829020805460ff1916905590519182527f3137a7fedbfedb7895dfa5a6812a4566dae9ded68d00aeec13c6ed1fa84a1c8091015b60405180910390a150565b3360009081526020819052604090205460ff166102625760405162461bcd60e51b81526004016101d490610442565b6001600160a01b03811660008181526020818152604091829020805460ff1916600117905590519182527f7849194239ab1d31b991b5436d81370256505cf25eaafbcccbc66acd118969169101610228565b3360009081526020819052604090205460ff166102e35760405162461bcd60e51b81526004016101d490610442565b6001600160a01b0382166000818152600160208181526040808420868552825292839020805460ff1916909217909155815192835282018390527f5059fa85b5cc3c2a04f01936e91d60f12e1db3329de6f4a225a5fae3fb4747bd91015b60405180910390a15050565b3360009081526020819052604090205460ff1661037c5760405162461bcd60e51b81526004016101d490610442565b6001600160a01b0382166000818152600160209081526040808320858452825291829020805460ff19169055815192835282018390527f9fac70c9a64cac371b1e37a590727a44ea13b2a81f27e77acfa127ac907c10229101610341565b80356001600160a01b03811681146103f157600080fd5b919050565b60006020828403121561040857600080fd5b610411826103da565b9392505050565b6000806040838503121561042b57600080fd5b610434836103da565b946020939093013593505050565b6020808252600d908201526c26bab9ba1031329020b236b4b760991b60408201526060019056fea26469706673582212200e12005e99312a4b3b35d806c789ba09b887faea6052c7930a486b5195f0403164736f6c63430008110033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063704802751161005b578063704802751461013357806375fb0d781461014657806377b1ade914610159578063cbcd49be1461016c57600080fd5b80631785f53c1461008d57806324d7806c146100a2578063429b62e5146100e257806362c855ac14610105575b600080fd5b6100a061009b3660046103f6565b6101a5565b005b6100ce6100b03660046103f6565b6001600160a01b031660009081526020819052604090205460ff1690565b604051901515815260200160405180910390f35b6100ce6100f03660046103f6565b60006020819052908152604090205460ff1681565b6100ce610113366004610418565b600160209081526000928352604080842090915290825290205460ff1681565b6100a06101413660046103f6565b610233565b6100a0610154366004610418565b6102b4565b6100a0610167366004610418565b61034d565b6100ce61017a366004610418565b6001600160a01b03919091166000908152600160209081526040808320938352929052205460ff1690565b3360009081526020819052604090205460ff166101dd5760405162461bcd60e51b81526004016101d490610442565b60405180910390fd5b6001600160a01b03811660008181526020818152604091829020805460ff1916905590519182527f3137a7fedbfedb7895dfa5a6812a4566dae9ded68d00aeec13c6ed1fa84a1c8091015b60405180910390a150565b3360009081526020819052604090205460ff166102625760405162461bcd60e51b81526004016101d490610442565b6001600160a01b03811660008181526020818152604091829020805460ff1916600117905590519182527f7849194239ab1d31b991b5436d81370256505cf25eaafbcccbc66acd118969169101610228565b3360009081526020819052604090205460ff166102e35760405162461bcd60e51b81526004016101d490610442565b6001600160a01b0382166000818152600160208181526040808420868552825292839020805460ff1916909217909155815192835282018390527f5059fa85b5cc3c2a04f01936e91d60f12e1db3329de6f4a225a5fae3fb4747bd91015b60405180910390a15050565b3360009081526020819052604090205460ff1661037c5760405162461bcd60e51b81526004016101d490610442565b6001600160a01b0382166000818152600160209081526040808320858452825291829020805460ff19169055815192835282018390527f9fac70c9a64cac371b1e37a590727a44ea13b2a81f27e77acfa127ac907c10229101610341565b80356001600160a01b03811681146103f157600080fd5b919050565b60006020828403121561040857600080fd5b610411826103da565b9392505050565b6000806040838503121561042b57600080fd5b610434836103da565b946020939093013593505050565b6020808252600d908201526c26bab9ba1031329020b236b4b760991b60408201526060019056fea26469706673582212200e12005e99312a4b3b35d806c789ba09b887faea6052c7930a486b5195f0403164736f6c63430008110033
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
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.