Overview
ETH Balance
ETH Value
$0.00More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
18280505 | 20 hrs ago | 0 ETH | ||||
18280505 | 20 hrs ago | 0 ETH | ||||
18280505 | 20 hrs ago | 0 ETH | ||||
18280505 | 20 hrs ago | 0 ETH | ||||
18272385 | 26 hrs ago | 0 ETH | ||||
18270869 | 27 hrs ago | 0 ETH | ||||
18258124 | 36 hrs ago | 0 ETH | ||||
18224017 | 2 days ago | 0 ETH | ||||
18166086 | 4 days ago | 0 ETH | ||||
18088973 | 7 days ago | 0 ETH | ||||
18081457 | 7 days ago | 0 ETH | ||||
18053963 | 8 days ago | 0 ETH | ||||
18011991 | 9 days ago | 0 ETH | ||||
17973069 | 10 days ago | 0 ETH | ||||
17968798 | 11 days ago | 0 ETH | ||||
17968752 | 11 days ago | 0 ETH | ||||
17968730 | 11 days ago | 0 ETH | ||||
17893800 | 13 days ago | 0 ETH | ||||
17880845 | 13 days ago | 0 ETH | ||||
17870240 | 13 days ago | 0 ETH | ||||
17868069 | 14 days ago | 0 ETH | ||||
17867948 | 14 days ago | 0 ETH | ||||
17860110 | 14 days ago | 0 ETH | ||||
17860058 | 14 days ago | 0 ETH | ||||
17839226 | 14 days ago | 0 ETH |
Loading...
Loading
Contract Name:
TransferValidatorImpl
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)
// SPDX-License-Identifier: MIT pragma solidity 0.8.17; contract TransferValidatorImpl { uint256 constant STORAGE_ID_IMPL = 1 << 128; struct Storage { mapping(address => bool) operatorMap; } address private owner; event OperatorUpdate(address indexed operator, bool enable); modifier onlyOwner() { require(owner == msg.sender, "Ownable: caller is not the owner"); _; } function setOperator(address operator, bool enable) external onlyOwner { _getStorage().operatorMap[operator] = enable; emit OperatorUpdate(operator, enable); } function isOperatorEnable(address operator) external view returns(bool) { return _getStorage().operatorMap[operator]; } function validateTransfer( address operator, address from, address to, uint256 /* tokenId */ ) external view { if (from != operator && from != address(0) && to != address(0)) { if (operator.code.length > 0) { require(_getStorage().operatorMap[operator], "Disallowed operator"); } } } function _getStorage() private pure returns (Storage storage stor) { assembly { stor.slot := STORAGE_ID_IMPL } } }
{ "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[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"enable","type":"bool"}],"name":"OperatorUpdate","type":"event"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"isOperatorEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"enable","type":"bool"}],"name":"setOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"validateTransfer","outputs":[],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50610328806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80632332d4ae14610046578063558a729714610089578063caee23ea1461009e575b600080fd5b610075610054366004610249565b6001600160a01b03166000908152600160801b602052604090205460ff1690565b604051901515815260200160405180910390f35b61009c61009736600461026b565b6100b1565b005b61009c6100ac3660046102a7565b610173565b6000546001600160a01b031633146101105760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b0382166000818152600160801b6020908152604091829020805460ff1916851515908117909155825190815291517fb0542c4f22dd84cf7dec6fa9e4d82f322a71d2cfc2e833a540231de817278de49281900390910190a25050565b836001600160a01b0316836001600160a01b03161415801561019d57506001600160a01b03831615155b80156101b157506001600160a01b03821615155b15610227576001600160a01b0384163b15610227576001600160a01b0384166000908152600160801b602052604090205460ff166102275760405162461bcd60e51b81526020600482015260136024820152722234b9b0b63637bbb2b21037b832b930ba37b960691b6044820152606401610107565b50505050565b80356001600160a01b038116811461024457600080fd5b919050565b60006020828403121561025b57600080fd5b6102648261022d565b9392505050565b6000806040838503121561027e57600080fd5b6102878361022d565b91506020830135801515811461029c57600080fd5b809150509250929050565b600080600080608085870312156102bd57600080fd5b6102c68561022d565b93506102d46020860161022d565b92506102e26040860161022d565b939692955092936060013592505056fea264697066735822122064c943ebe3606b29d9ab9ec74c1db0d9e8d27bb3ebcef99749b72635f6715db264736f6c63430008110033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100415760003560e01c80632332d4ae14610046578063558a729714610089578063caee23ea1461009e575b600080fd5b610075610054366004610249565b6001600160a01b03166000908152600160801b602052604090205460ff1690565b604051901515815260200160405180910390f35b61009c61009736600461026b565b6100b1565b005b61009c6100ac3660046102a7565b610173565b6000546001600160a01b031633146101105760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b0382166000818152600160801b6020908152604091829020805460ff1916851515908117909155825190815291517fb0542c4f22dd84cf7dec6fa9e4d82f322a71d2cfc2e833a540231de817278de49281900390910190a25050565b836001600160a01b0316836001600160a01b03161415801561019d57506001600160a01b03831615155b80156101b157506001600160a01b03821615155b15610227576001600160a01b0384163b15610227576001600160a01b0384166000908152600160801b602052604090205460ff166102275760405162461bcd60e51b81526020600482015260136024820152722234b9b0b63637bbb2b21037b832b930ba37b960691b6044820152606401610107565b50505050565b80356001600160a01b038116811461024457600080fd5b919050565b60006020828403121561025b57600080fd5b6102648261022d565b9392505050565b6000806040838503121561027e57600080fd5b6102878361022d565b91506020830135801515811461029c57600080fd5b809150509250929050565b600080600080608085870312156102bd57600080fd5b6102c68561022d565b93506102d46020860161022d565b92506102e26040860161022d565b939692955092936060013592505056fea264697066735822122064c943ebe3606b29d9ab9ec74c1db0d9e8d27bb3ebcef99749b72635f6715db264736f6c63430008110033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.