Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0x60a06040 | 14572481 | 946 days ago | IN | 0 ETH | 0.01921241 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Storage
Compiler Version
v0.6.12+commit.27d51765
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
pragma solidity ^0.6.12; import "./Context.sol"; contract Storage is Context { mapping (address => bool) public governance; mapping (address => bool) public controller; address immutable public owner; constructor() public { owner = _msgSender(); governance[_msgSender()] = true; controller[_msgSender()] = true; } function setGovernance(address _governance, bool _isGovernance) external { require(_msgSender() == owner, "not an owner"); require(_governance != _msgSender(), "governance cannot modify itself"); governance[_governance] = _isGovernance; } function setController(address _controller, bool _isController) external { require(governance[_msgSender()], "not a governance"); controller[_controller] = _isController; } }
pragma solidity ^0.6.12; // File: @openzeppelin/contracts/GSN/Context.sol /* * @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 GSN 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. */ contract Context { // Empty internal constructor, to prevent people from mistakenly deploying // an instance of this contract, which should be used via inheritance. constructor () internal { } // solhint-disable-previous-line no-empty-blocks function _msgSender() internal view returns (address payable) { return msg.sender; } function _msgData() internal view returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } }
{ "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
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"controller","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"governance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_controller","type":"address"},{"internalType":"bool","name":"_isController","type":"bool"}],"name":"setController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_governance","type":"address"},{"internalType":"bool","name":"_isGovernance","type":"bool"}],"name":"setGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60a060405234801561001057600080fd5b5061001961009b565b60601b6001600160601b031916608052600160008061003661009b565b6001600160a01b0316815260208101919091526040016000908120805460ff191692151592909217909155600190819061006e61009b565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561009f565b3390565b60805160601c6103726100c160003980610140528061026a52506103726000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063158a1ca11461005c5780638426e6c11461008c5780638da5cb5b146100c6578063c13aa7b5146100ea578063e0dba60f14610110575b600080fd5b61008a6004803603604081101561007257600080fd5b506001600160a01b038135169060200135151561013e565b005b6100b2600480360360208110156100a257600080fd5b50356001600160a01b0316610253565b604080519115158252519081900360200190f35b6100ce610268565b604080516001600160a01b039092168252519081900360200190f35b6100b26004803603602081101561010057600080fd5b50356001600160a01b031661028c565b61008a6004803603604081101561012657600080fd5b506001600160a01b03813516906020013515156102a1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610170610338565b6001600160a01b0316146101ba576040805162461bcd60e51b815260206004820152600c60248201526b3737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b6101c2610338565b6001600160a01b0316826001600160a01b03161415610228576040805162461bcd60e51b815260206004820152601f60248201527f676f7665726e616e63652063616e6e6f74206d6f6469667920697473656c6600604482015290519081900360640190fd5b6001600160a01b03919091166000908152602081905260409020805460ff1916911515919091179055565b60006020819052908152604090205460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60016020526000908152604090205460ff1681565b6000806102ac610338565b6001600160a01b0316815260208101919091526040016000205460ff1661030d576040805162461bcd60e51b815260206004820152601060248201526f6e6f74206120676f7665726e616e636560801b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b339056fea2646970667358221220df039e1bb7cdcb45048c8c1e2f5889c96aabebd0651c1db8256a009ca965755564736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100575760003560e01c8063158a1ca11461005c5780638426e6c11461008c5780638da5cb5b146100c6578063c13aa7b5146100ea578063e0dba60f14610110575b600080fd5b61008a6004803603604081101561007257600080fd5b506001600160a01b038135169060200135151561013e565b005b6100b2600480360360208110156100a257600080fd5b50356001600160a01b0316610253565b604080519115158252519081900360200190f35b6100ce610268565b604080516001600160a01b039092168252519081900360200190f35b6100b26004803603602081101561010057600080fd5b50356001600160a01b031661028c565b61008a6004803603604081101561012657600080fd5b506001600160a01b03813516906020013515156102a1565b7f000000000000000000000000b2e1ecdc4dddfa1577fa4e0b36d84e4c50d7eb936001600160a01b0316610170610338565b6001600160a01b0316146101ba576040805162461bcd60e51b815260206004820152600c60248201526b3737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b6101c2610338565b6001600160a01b0316826001600160a01b03161415610228576040805162461bcd60e51b815260206004820152601f60248201527f676f7665726e616e63652063616e6e6f74206d6f6469667920697473656c6600604482015290519081900360640190fd5b6001600160a01b03919091166000908152602081905260409020805460ff1916911515919091179055565b60006020819052908152604090205460ff1681565b7f000000000000000000000000b2e1ecdc4dddfa1577fa4e0b36d84e4c50d7eb9381565b60016020526000908152604090205460ff1681565b6000806102ac610338565b6001600160a01b0316815260208101919091526040016000205460ff1661030d576040805162461bcd60e51b815260206004820152601060248201526f6e6f74206120676f7665726e616e636560801b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b339056fea2646970667358221220df039e1bb7cdcb45048c8c1e2f5889c96aabebd0651c1db8256a009ca965755564736f6c634300060c0033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.