Overview
ETH Balance
ETH Value
$0.00Multichain Info
Latest 11 from a total of 11 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Add To Whitelist | 2215467 | 126 days ago | IN | 0 ETH | 0 | ||||
Add To Whitelist | 2191651 | 126 days ago | IN | 0 ETH | 0 | ||||
Add To Whitelist | 2191651 | 126 days ago | IN | 0 ETH | 0 | ||||
Add To Whitelist | 2191651 | 126 days ago | IN | 0 ETH | 0 | ||||
Add To Whitelist | 2191651 | 126 days ago | IN | 0 ETH | 0 | ||||
Add To Whitelist | 2191651 | 126 days ago | IN | 0 ETH | 0 | ||||
Add To Whitelist | 2191650 | 126 days ago | IN | 0 ETH | 0 | ||||
Add To Whitelist | 2119606 | 127 days ago | IN | 0 ETH | 0 | ||||
Add To Whitelist | 1873099 | 130 days ago | IN | 0 ETH | 0.00000001 | ||||
Add To Whitelist | 1873008 | 130 days ago | IN | 0 ETH | 0.00000001 | ||||
Add To Whitelist | 1873008 | 130 days ago | IN | 0 ETH | 0.00000001 |
View more zero value Internal Transactions in Advanced View mode
Contract Source Code Verified (Exact Match)
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-3.0 // Docgen-SOLC: 0.8.25 pragma solidity ^0.8.24; import {Owned} from "./Owned.sol"; import {IWhitelist} from "../Interfaces/IWhitelist.sol"; contract Whitelist is IWhitelist, Owned { // calling contract -> user -> whitelisted mapping(address => mapping(address => bool)) whitelist; event Whitelisted(address callingContract, address user); event WhitelistRemoved(address callingContract, address user); constructor(address owner) Owned(owner) {} function addToWhitelist(address callingContract, address user) external override onlyOwner { whitelist[callingContract][user] = true; emit Whitelisted(callingContract, user); } function removeFromWhitelist(address callingContract, address user) external override onlyOwner { whitelist[callingContract][user] = false; emit WhitelistRemoved(callingContract, user); } function isWhitelisted(address callingContract, address user) external view override returns (bool) { return whitelist[callingContract][user]; } }
// SPDX-License-Identifier: GPL-3.0 // Docgen-SOLC: 0.8.25 pragma solidity 0.8.24; import "../Interfaces/IOwned.sol"; // https://docs.synthetix.io/contracts/source/contracts/owned contract Owned is IOwned { address public override owner; address public override nominatedOwner; event OwnerNominated(address newOwner); event OwnerChanged(address oldOwner, address newOwner); constructor(address _owner) { require(_owner != address(0), "Owned/owner-zero"); owner = _owner; emit OwnerChanged(address(0), _owner); } function nominateNewOwner(address _owner) external virtual override onlyOwner { nominatedOwner = _owner; emit OwnerNominated(_owner); } function acceptOwnership() external virtual override { require(msg.sender == nominatedOwner, "Owned/not-nominated"); emit OwnerChanged(owner, nominatedOwner); owner = nominatedOwner; nominatedOwner = address(0); } modifier onlyOwner() { _onlyOwner(); _; } function _onlyOwner() private view { require(msg.sender == owner, "Owned/not-owner"); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface IOwned { function owner() external view returns (address); function nominatedOwner() external view returns (address); function nominateNewOwner(address owner) external; function acceptOwnership() external; }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface IWhitelist { function addToWhitelist(address callingContract, address user) external; function removeFromWhitelist(address callingContract, address user) external; function isWhitelisted(address callingContract, address user) external view returns (bool); }
{ "evmVersion": "cancun", "libraries": {}, "metadata": { "appendCBOR": true, "bytecodeHash": "ipfs", "useLiteralContent": false }, "optimizer": { "enabled": true, "runs": 1 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "remappings": [ "openzeppelin/=lib/V2-gov/lib/openzeppelin-contracts/", "@chimera/=lib/V2-gov/lib/chimera/src/", "@openzeppelin/contracts/=lib/V2-gov/lib/openzeppelin-contracts/contracts/", "Solady/=lib/Solady/src/", "V2-gov/=lib/V2-gov/", "chimera/=lib/V2-gov/lib/chimera/src/", "ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/", "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "v4-core/=lib/V2-gov/lib/v4-core/" ], "viaIR": false }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"callingContract","type":"address"},{"indexed":false,"internalType":"address","name":"user","type":"address"}],"name":"WhitelistRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"callingContract","type":"address"},{"indexed":false,"internalType":"address","name":"user","type":"address"}],"name":"Whitelisted","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"callingContract","type":"address"},{"internalType":"address","name":"user","type":"address"}],"name":"addToWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"callingContract","type":"address"},{"internalType":"address","name":"user","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"callingContract","type":"address"},{"internalType":"address","name":"user","type":"address"}],"name":"removeFromWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561000f575f80fd5b5060405161056638038061056683398101604081905261002e916100d9565b806001600160a01b03811661007c5760405162461bcd60e51b815260206004820152601060248201526f4f776e65642f6f776e65722d7a65726f60801b604482015260640160405180910390fd5b5f80546001600160a01b0319166001600160a01b03831690811782556040805192835260208301919091527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a15050610106565b5f602082840312156100e9575f80fd5b81516001600160a01b03811681146100ff575f80fd5b9392505050565b610453806101135f395ff3fe608060405234801561000f575f80fd5b506004361061006b575f3560e01c80631627540c1461006f57806353a47bb71461008457806357518243146100ad57806379ba5097146100c05780638da5cb5b146100c8578063b6b35272146100da578063f8d3277d14610125575b5f80fd5b61008261007d36600461039e565b610138565b005b600154610097906001600160a01b031681565b6040516100a491906103be565b60405180910390f35b6100826100bb3660046103d2565b610196565b61008261020b565b5f54610097906001600160a01b031681565b6101156100e83660046103d2565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205460ff1690565b60405190151581526020016100a4565b6100826101333660046103d2565b6102d0565b610140610336565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061018b9083906103be565b60405180910390a150565b61019e610336565b6001600160a01b038083165f9081526002602090815260408083209385168352929052819020805460ff19166001179055517f6661a7108aecd07864384529117d96c319c1163e3010c01390f6b704726e07de906101ff9084908490610403565b60405180910390a15050565b6001546001600160a01b031633146102605760405162461bcd60e51b815260206004820152601360248201527213dddb99590bdb9bdd0b5b9bdb5a5b985d1959606a1b60448201526064015b60405180910390fd5b5f546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926102a2926001600160a01b0391821692911690610403565b60405180910390a1600180545f80546001600160a01b03199081166001600160a01b03841617909155169055565b6102d8610336565b6001600160a01b038083165f9081526002602090815260408083209385168352929052819020805460ff19169055517fe0fcf303ba3014f7bddb92283585b57ae29a68f05ceb43d0a0c1b92ad80c613c906101ff9084908490610403565b5f546001600160a01b031633146103815760405162461bcd60e51b815260206004820152600f60248201526e27bbb732b217b737ba16b7bbb732b960891b6044820152606401610257565b565b80356001600160a01b0381168114610399575f80fd5b919050565b5f602082840312156103ae575f80fd5b6103b782610383565b9392505050565b6001600160a01b0391909116815260200190565b5f80604083850312156103e3575f80fd5b6103ec83610383565b91506103fa60208401610383565b90509250929050565b6001600160a01b039283168152911660208201526040019056fea2646970667358221220d435861b40525c5f81abaa21a04df31f5da579ddd54ec987d488c7bae10ede4d64736f6c63430008180033000000000000000000000000919d5a6f2cbc0731380c26b4ac4f6183dd3a40c8
Deployed Bytecode
0x608060405234801561000f575f80fd5b506004361061006b575f3560e01c80631627540c1461006f57806353a47bb71461008457806357518243146100ad57806379ba5097146100c05780638da5cb5b146100c8578063b6b35272146100da578063f8d3277d14610125575b5f80fd5b61008261007d36600461039e565b610138565b005b600154610097906001600160a01b031681565b6040516100a491906103be565b60405180910390f35b6100826100bb3660046103d2565b610196565b61008261020b565b5f54610097906001600160a01b031681565b6101156100e83660046103d2565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205460ff1690565b60405190151581526020016100a4565b6100826101333660046103d2565b6102d0565b610140610336565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061018b9083906103be565b60405180910390a150565b61019e610336565b6001600160a01b038083165f9081526002602090815260408083209385168352929052819020805460ff19166001179055517f6661a7108aecd07864384529117d96c319c1163e3010c01390f6b704726e07de906101ff9084908490610403565b60405180910390a15050565b6001546001600160a01b031633146102605760405162461bcd60e51b815260206004820152601360248201527213dddb99590bdb9bdd0b5b9bdb5a5b985d1959606a1b60448201526064015b60405180910390fd5b5f546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926102a2926001600160a01b0391821692911690610403565b60405180910390a1600180545f80546001600160a01b03199081166001600160a01b03841617909155169055565b6102d8610336565b6001600160a01b038083165f9081526002602090815260408083209385168352929052819020805460ff19169055517fe0fcf303ba3014f7bddb92283585b57ae29a68f05ceb43d0a0c1b92ad80c613c906101ff9084908490610403565b5f546001600160a01b031633146103815760405162461bcd60e51b815260206004820152600f60248201526e27bbb732b217b737ba16b7bbb732b960891b6044820152606401610257565b565b80356001600160a01b0381168114610399575f80fd5b919050565b5f602082840312156103ae575f80fd5b6103b782610383565b9392505050565b6001600160a01b0391909116815260200190565b5f80604083850312156103e3575f80fd5b6103ec83610383565b91506103fa60208401610383565b90509250929050565b6001600160a01b039283168152911660208201526040019056fea2646970667358221220d435861b40525c5f81abaa21a04df31f5da579ddd54ec987d488c7bae10ede4d64736f6c63430008180033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000919d5a6f2cbc0731380c26b4ac4f6183dd3a40c8
-----Decoded View---------------
Arg [0] : owner (address): 0x919D5a6F2CBc0731380C26B4AC4f6183dD3A40C8
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000919d5a6f2cbc0731380c26b4ac4f6183dd3a40c8

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.