Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 7,794 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Update Royalty I... | 19927858 | 188 days ago | IN | 0 ETH | 0.00035431 | ||||
Update Royalty I... | 19762290 | 211 days ago | IN | 0 ETH | 0.00130739 | ||||
Update Royalty I... | 19241289 | 284 days ago | IN | 0 ETH | 0.00534525 | ||||
Update Royalty I... | 19023695 | 314 days ago | IN | 0 ETH | 0.00329234 | ||||
Update Royalty I... | 18994690 | 318 days ago | IN | 0 ETH | 0.00185579 | ||||
Update Royalty I... | 18799764 | 346 days ago | IN | 0 ETH | 0.00855998 | ||||
Update Royalty I... | 18594090 | 375 days ago | IN | 0 ETH | 0.00336084 | ||||
Update Royalty I... | 18476138 | 391 days ago | IN | 0 ETH | 0.00142928 | ||||
Update Royalty I... | 18348392 | 409 days ago | IN | 0 ETH | 0.0005819 | ||||
Update Royalty I... | 18137112 | 438 days ago | IN | 0 ETH | 0.00173837 | ||||
Update Royalty I... | 18120096 | 441 days ago | IN | 0 ETH | 0.00108231 | ||||
Update Royalty I... | 18063388 | 449 days ago | IN | 0 ETH | 0.00118164 | ||||
Update Royalty I... | 17917329 | 469 days ago | IN | 0 ETH | 0.00195259 | ||||
Update Royalty I... | 17855322 | 478 days ago | IN | 0 ETH | 0.00135608 | ||||
Update Royalty I... | 17844120 | 480 days ago | IN | 0 ETH | 0.00112137 | ||||
Update Royalty I... | 17844061 | 480 days ago | IN | 0 ETH | 0.00103948 | ||||
Update Royalty I... | 17844038 | 480 days ago | IN | 0 ETH | 0.00211539 | ||||
Update Royalty I... | 17824449 | 482 days ago | IN | 0 ETH | 0.00055579 | ||||
Update Royalty I... | 17817877 | 483 days ago | IN | 0 ETH | 0.00038597 | ||||
Update Royalty I... | 17689276 | 501 days ago | IN | 0 ETH | 0.00110854 | ||||
Update Royalty I... | 17689235 | 501 days ago | IN | 0 ETH | 0.00197628 | ||||
Update Royalty I... | 17670226 | 504 days ago | IN | 0 ETH | 0.00166014 | ||||
Update Royalty I... | 17652898 | 506 days ago | IN | 0 ETH | 0.00157671 | ||||
Update Royalty I... | 17601260 | 514 days ago | IN | 0 ETH | 0.00039775 | ||||
Update Owner Of ... | 17601259 | 514 days ago | IN | 0 ETH | 0.00033575 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
RoyaltyFeeSetter
Compiler Version
v0.8.7+commit.e28d00a7
Optimization Enabled:
Yes with 888888 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol"; import {IRoyaltyFeeRegistry} from "../interfaces/IRoyaltyFeeRegistry.sol"; import {IOwnable} from "../interfaces/IOwnable.sol"; /** * @title RoyaltyFeeSetter * @notice It is used to allow creators to set royalty parameters in the RoyaltyFeeRegistry. */ contract RoyaltyFeeSetter is Ownable { // ERC721 interfaceID bytes4 public constant INTERFACE_ID_ERC721 = 0x80ac58cd; // ERC1155 interfaceID bytes4 public constant INTERFACE_ID_ERC1155 = 0xd9b67a26; // ERC2981 interfaceID bytes4 public constant INTERFACE_ID_ERC2981 = 0x2a55205a; address public immutable royaltyFeeRegistry; /** * @notice Constructor * @param _royaltyFeeRegistry address of the royalty fee registry */ constructor(address _royaltyFeeRegistry) { royaltyFeeRegistry = _royaltyFeeRegistry; } /** * @notice Update royalty info for collection if admin * @dev Only to be called if there is no setter address * @param collection address of the NFT contract * @param setter address that sets the receiver * @param receiver receiver for the royalty fee * @param fee fee (500 = 5%, 1,000 = 10%) */ function updateRoyaltyInfoForCollectionIfAdmin( address collection, address setter, address receiver, uint256 fee ) external { require(!IERC165(collection).supportsInterface(INTERFACE_ID_ERC2981), "Admin: Must not be ERC2981"); require(msg.sender == IOwnable(collection).admin(), "Admin: Not the admin"); _updateRoyaltyInfoForCollectionIfOwnerOrAdmin(collection, setter, receiver, fee); } /** * @notice Update royalty info for collection if owner * @dev Only to be called if there is no setter address * @param collection address of the NFT contract * @param setter address that sets the receiver * @param receiver receiver for the royalty fee * @param fee fee (500 = 5%, 1,000 = 10%) */ function updateRoyaltyInfoForCollectionIfOwner( address collection, address setter, address receiver, uint256 fee ) external { require(!IERC165(collection).supportsInterface(INTERFACE_ID_ERC2981), "Owner: Must not be ERC2981"); require(msg.sender == IOwnable(collection).owner(), "Owner: Not the owner"); _updateRoyaltyInfoForCollectionIfOwnerOrAdmin(collection, setter, receiver, fee); } /** * @notice Update royalty info for collection * @dev Only to be called if there msg.sender is the setter * @param collection address of the NFT contract * @param setter address that sets the receiver * @param receiver receiver for the royalty fee * @param fee fee (500 = 5%, 1,000 = 10%) */ function updateRoyaltyInfoForCollectionIfSetter( address collection, address setter, address receiver, uint256 fee ) external { (address currentSetter, , ) = IRoyaltyFeeRegistry(royaltyFeeRegistry).royaltyFeeInfoCollection(collection); require(msg.sender == currentSetter, "Setter: Not the setter"); IRoyaltyFeeRegistry(royaltyFeeRegistry).updateRoyaltyInfoForCollection(collection, setter, receiver, fee); } /** * @notice Update royalty info for collection * @dev Can only be called by contract owner (of this) * @param collection address of the NFT contract * @param setter address that sets the receiver * @param receiver receiver for the royalty fee * @param fee fee (500 = 5%, 1,000 = 10%) */ function updateRoyaltyInfoForCollection( address collection, address setter, address receiver, uint256 fee ) external onlyOwner { IRoyaltyFeeRegistry(royaltyFeeRegistry).updateRoyaltyInfoForCollection(collection, setter, receiver, fee); } /** * @notice Update owner of royalty fee registry * @dev Can be used for migration of this royalty fee setter contract * @param _owner new owner address */ function updateOwnerOfRoyaltyFeeRegistry(address _owner) external onlyOwner { IOwnable(royaltyFeeRegistry).transferOwnership(_owner); } /** * @notice Update royalty info for collection * @param _royaltyFeeLimit new royalty fee limit (500 = 5%, 1,000 = 10%) */ function updateRoyaltyFeeLimit(uint256 _royaltyFeeLimit) external onlyOwner { IRoyaltyFeeRegistry(royaltyFeeRegistry).updateRoyaltyFeeLimit(_royaltyFeeLimit); } /** * @notice Check royalty info for collection * @param collection collection address * @return (whether there is a setter (address(0 if not)), * Position * 0: Royalty setter is set in the registry * 1: ERC2981 and no setter * 2: setter can be set using owner() * 3: setter can be set using admin() * 4: setter cannot be set, nor support for ERC2981 */ function checkForCollectionSetter(address collection) external view returns (address, uint8) { (address currentSetter, , ) = IRoyaltyFeeRegistry(royaltyFeeRegistry).royaltyFeeInfoCollection(collection); if (currentSetter != address(0)) { return (currentSetter, 0); } try IERC165(collection).supportsInterface(INTERFACE_ID_ERC2981) returns (bool interfaceSupport) { if (interfaceSupport) { return (address(0), 1); } } catch {} try IOwnable(collection).owner() returns (address setter) { return (setter, 2); } catch { try IOwnable(collection).admin() returns (address setter) { return (setter, 3); } catch { return (address(0), 4); } } } /** * @notice Update information and perform checks before updating royalty fee registry * @param collection address of the NFT contract * @param setter address that sets the receiver * @param receiver receiver for the royalty fee * @param fee fee (500 = 5%, 1,000 = 10%) */ function _updateRoyaltyInfoForCollectionIfOwnerOrAdmin( address collection, address setter, address receiver, uint256 fee ) internal { (address currentSetter, , ) = IRoyaltyFeeRegistry(royaltyFeeRegistry).royaltyFeeInfoCollection(collection); require(currentSetter == address(0), "Setter: Already set"); require( (IERC165(collection).supportsInterface(INTERFACE_ID_ERC721) || IERC165(collection).supportsInterface(INTERFACE_ID_ERC1155)), "Setter: Not ERC721/ERC1155" ); IRoyaltyFeeRegistry(royaltyFeeRegistry).updateRoyaltyInfoForCollection(collection, setter, receiver, fee); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[EIP]. * * Implementers can declare support of contract interfaces, which can then be * queried by others ({ERC165Checker}). * * For an implementation, see {ERC165}. */ interface IERC165 { /** * @dev Returns true if this contract implements the interface defined by * `interfaceId`. See the corresponding * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] * to learn more about how these ids are created. * * This function call must use less than 30 000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface IRoyaltyFeeRegistry { function updateRoyaltyInfoForCollection( address collection, address setter, address receiver, uint256 fee ) external; function updateRoyaltyFeeLimit(uint256 _royaltyFeeLimit) external; function royaltyInfo(address collection, uint256 amount) external view returns (address, uint256); function royaltyFeeInfoCollection(address collection) external view returns ( address, address, uint256 ); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface IOwnable { function transferOwnership(address newOwner) external; function owner() external view returns (address); function admin() external view returns (address); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @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 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. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
{ "optimizer": { "enabled": true, "runs": 888888 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_royaltyFeeRegistry","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"INTERFACE_ID_ERC1155","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INTERFACE_ID_ERC2981","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INTERFACE_ID_ERC721","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"collection","type":"address"}],"name":"checkForCollectionSetter","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"royaltyFeeRegistry","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"updateOwnerOfRoyaltyFeeRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_royaltyFeeLimit","type":"uint256"}],"name":"updateRoyaltyFeeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"collection","type":"address"},{"internalType":"address","name":"setter","type":"address"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"updateRoyaltyInfoForCollection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"collection","type":"address"},{"internalType":"address","name":"setter","type":"address"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"updateRoyaltyInfoForCollectionIfAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"collection","type":"address"},{"internalType":"address","name":"setter","type":"address"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"updateRoyaltyInfoForCollectionIfOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"collection","type":"address"},{"internalType":"address","name":"setter","type":"address"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"updateRoyaltyInfoForCollectionIfSetter","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60a060405234801561001057600080fd5b506040516117ce3803806117ce83398101604081905261002f9161009d565b6100383361004d565b60601b6001600160601b0319166080526100cd565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100af57600080fd5b81516001600160a01b03811681146100c657600080fd5b9392505050565b60805160601c6116b261011c60003960008181610247015281816103180152818161047901528181610a9701528181610be901528181610c970152818161104901526111f001526116b26000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063b9223c9d1161008c578063c16f515611610066578063c16f515614610242578063c54e549714610269578063e72ba456146102aa578063f2fde38b146102bd57600080fd5b8063b9223c9d146101f5578063bbdf9b6814610208578063bc6bc0cd1461021b57600080fd5b8063715018a6116100c8578063715018a6146101745780638da5cb5b1461017c578063ab016670146101bb578063b060dd86146101ce57600080fd5b8063275da5ef146100ef57806333bf6156146101045780633755fa8014610161575b600080fd5b6101026100fd36600461158b565b6102d0565b005b61012b7fd9b67a260000000000000000000000000000000000000000000000000000000081565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b61010261016f36600461158b565b6104dc565b610102610724565b60005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610158565b6101026101c936600461158b565b6107b1565b61012b7f2a55205a0000000000000000000000000000000000000000000000000000000081565b610102610203366004611641565b6109e7565b61010261021636600461158b565b610b0c565b61012b7f80ac58cd0000000000000000000000000000000000000000000000000000000081565b6101967f000000000000000000000000000000000000000000000000000000000000000081565b61027c61027736600461154a565b610c4b565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260ff909116602083015201610158565b6101026102b836600461154a565b610f83565b6101026102cb36600461154a565b611078565b6040517fe31ef91c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063e31ef91c9060240160606040518083038186803b15801561035c57600080fd5b505afa158015610370573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039491906115dc565b50909150503373ffffffffffffffffffffffffffffffffffffffff82161461041d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f5365747465723a204e6f7420746865207365747465720000000000000000000060448201526064015b60405180910390fd5b6040517fbbdf9b6800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015285811660248301528481166044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063bbdf9b6890608401600060405180830381600087803b1580156104bd57600080fd5b505af11580156104d1573d6000803e3d6000fd5b505050505050505050565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f2a55205a00000000000000000000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff8516906301ffc9a79060240160206040518083038186803b15801561056157600080fd5b505afa158015610575573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610599919061161f565b15610600576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4f776e65723a204d757374206e6f7420626520455243323938310000000000006044820152606401610414565b8373ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561064657600080fd5b505afa15801561065a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067e919061156e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610712576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4f776e65723a204e6f7420746865206f776e65720000000000000000000000006044820152606401610414565b61071e848484846111a8565b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146107a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610414565b6107af60006114d5565b565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f2a55205a00000000000000000000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff8516906301ffc9a79060240160206040518083038186803b15801561083657600080fd5b505afa15801561084a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086e919061161f565b156108d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f41646d696e3a204d757374206e6f7420626520455243323938310000000000006044820152606401610414565b8373ffffffffffffffffffffffffffffffffffffffff1663f851a4406040518163ffffffff1660e01b815260040160206040518083038186803b15801561091b57600080fd5b505afa15801561092f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610953919061156e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610712576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f41646d696e3a204e6f74207468652061646d696e0000000000000000000000006044820152606401610414565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610414565b6040517fb9223c9d000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063b9223c9d906024015b600060405180830381600087803b158015610af157600080fd5b505af1158015610b05573d6000803e3d6000fd5b5050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610b8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610414565b6040517fbbdf9b6800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015284811660248301528381166044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063bbdf9b6890608401600060405180830381600087803b158015610c2d57600080fd5b505af1158015610c41573d6000803e3d6000fd5b5050505050505050565b6040517fe31ef91c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8281166004830152600091829182917f00000000000000000000000000000000000000000000000000000000000000009091169063e31ef91c9060240160606040518083038186803b158015610cdb57600080fd5b505afa158015610cef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1391906115dc565b509091505073ffffffffffffffffffffffffffffffffffffffff811615610d3e579360009350915050565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f2a55205a00000000000000000000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff8516906301ffc9a79060240160206040518083038186803b158015610dc357600080fd5b505afa925050508015610e11575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610e0e9181019061161f565b60015b610e1a57610e30565b8015610e2e57506000946001945092505050565b505b8373ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e7657600080fd5b505afa925050508015610ec4575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610ec19181019061156e565b60015b610f78578373ffffffffffffffffffffffffffffffffffffffff1663f851a4406040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0e57600080fd5b505afa925050508015610f5c575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610f599181019061156e565b60015b610f6d575060009360049350915050565b946003945092505050565b946002945092505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611004576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610414565b6040517ff2fde38b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063f2fde38b90602401610ad7565b60005473ffffffffffffffffffffffffffffffffffffffff1633146110f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610414565b73ffffffffffffffffffffffffffffffffffffffff811661119c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610414565b6111a5816114d5565b50565b6040517fe31ef91c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063e31ef91c9060240160606040518083038186803b15801561123457600080fd5b505afa158015611248573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061126c91906115dc565b509091505073ffffffffffffffffffffffffffffffffffffffff8116156112ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5365747465723a20416c726561647920736574000000000000000000000000006044820152606401610414565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f80ac58cd00000000000000000000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff8616906301ffc9a79060240160206040518083038186803b15801561137457600080fd5b505afa158015611388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ac919061161f565b8061146f57506040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fd9b67a2600000000000000000000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff8616906301ffc9a79060240160206040518083038186803b15801561143757600080fd5b505afa15801561144b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146f919061161f565b61041d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f5365747465723a204e6f74204552433732312f455243313135350000000000006044820152606401610414565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561155c57600080fd5b81356115678161165a565b9392505050565b60006020828403121561158057600080fd5b81516115678161165a565b600080600080608085870312156115a157600080fd5b84356115ac8161165a565b935060208501356115bc8161165a565b925060408501356115cc8161165a565b9396929550929360600135925050565b6000806000606084860312156115f157600080fd5b83516115fc8161165a565b602085015190935061160d8161165a565b80925050604084015190509250925092565b60006020828403121561163157600080fd5b8151801515811461156757600080fd5b60006020828403121561165357600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146111a557600080fdfea2646970667358221220923a5319633a6e5a081952da10e766b5c444a374a705f605803e215db613414964736f6c6343000807003300000000000000000000000055010472a93921a117aad9b055c141060c8d8022
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063b9223c9d1161008c578063c16f515611610066578063c16f515614610242578063c54e549714610269578063e72ba456146102aa578063f2fde38b146102bd57600080fd5b8063b9223c9d146101f5578063bbdf9b6814610208578063bc6bc0cd1461021b57600080fd5b8063715018a6116100c8578063715018a6146101745780638da5cb5b1461017c578063ab016670146101bb578063b060dd86146101ce57600080fd5b8063275da5ef146100ef57806333bf6156146101045780633755fa8014610161575b600080fd5b6101026100fd36600461158b565b6102d0565b005b61012b7fd9b67a260000000000000000000000000000000000000000000000000000000081565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b61010261016f36600461158b565b6104dc565b610102610724565b60005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610158565b6101026101c936600461158b565b6107b1565b61012b7f2a55205a0000000000000000000000000000000000000000000000000000000081565b610102610203366004611641565b6109e7565b61010261021636600461158b565b610b0c565b61012b7f80ac58cd0000000000000000000000000000000000000000000000000000000081565b6101967f00000000000000000000000055010472a93921a117aad9b055c141060c8d802281565b61027c61027736600461154a565b610c4b565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260ff909116602083015201610158565b6101026102b836600461154a565b610f83565b6101026102cb36600461154a565b611078565b6040517fe31ef91c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526000917f00000000000000000000000055010472a93921a117aad9b055c141060c8d80229091169063e31ef91c9060240160606040518083038186803b15801561035c57600080fd5b505afa158015610370573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039491906115dc565b50909150503373ffffffffffffffffffffffffffffffffffffffff82161461041d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f5365747465723a204e6f7420746865207365747465720000000000000000000060448201526064015b60405180910390fd5b6040517fbbdf9b6800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015285811660248301528481166044830152606482018490527f00000000000000000000000055010472a93921a117aad9b055c141060c8d8022169063bbdf9b6890608401600060405180830381600087803b1580156104bd57600080fd5b505af11580156104d1573d6000803e3d6000fd5b505050505050505050565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f2a55205a00000000000000000000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff8516906301ffc9a79060240160206040518083038186803b15801561056157600080fd5b505afa158015610575573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610599919061161f565b15610600576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4f776e65723a204d757374206e6f7420626520455243323938310000000000006044820152606401610414565b8373ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561064657600080fd5b505afa15801561065a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067e919061156e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610712576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4f776e65723a204e6f7420746865206f776e65720000000000000000000000006044820152606401610414565b61071e848484846111a8565b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146107a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610414565b6107af60006114d5565b565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f2a55205a00000000000000000000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff8516906301ffc9a79060240160206040518083038186803b15801561083657600080fd5b505afa15801561084a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086e919061161f565b156108d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f41646d696e3a204d757374206e6f7420626520455243323938310000000000006044820152606401610414565b8373ffffffffffffffffffffffffffffffffffffffff1663f851a4406040518163ffffffff1660e01b815260040160206040518083038186803b15801561091b57600080fd5b505afa15801561092f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610953919061156e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610712576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f41646d696e3a204e6f74207468652061646d696e0000000000000000000000006044820152606401610414565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610414565b6040517fb9223c9d000000000000000000000000000000000000000000000000000000008152600481018290527f00000000000000000000000055010472a93921a117aad9b055c141060c8d802273ffffffffffffffffffffffffffffffffffffffff169063b9223c9d906024015b600060405180830381600087803b158015610af157600080fd5b505af1158015610b05573d6000803e3d6000fd5b5050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610b8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610414565b6040517fbbdf9b6800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015284811660248301528381166044830152606482018390527f00000000000000000000000055010472a93921a117aad9b055c141060c8d8022169063bbdf9b6890608401600060405180830381600087803b158015610c2d57600080fd5b505af1158015610c41573d6000803e3d6000fd5b5050505050505050565b6040517fe31ef91c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8281166004830152600091829182917f00000000000000000000000055010472a93921a117aad9b055c141060c8d80229091169063e31ef91c9060240160606040518083038186803b158015610cdb57600080fd5b505afa158015610cef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1391906115dc565b509091505073ffffffffffffffffffffffffffffffffffffffff811615610d3e579360009350915050565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f2a55205a00000000000000000000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff8516906301ffc9a79060240160206040518083038186803b158015610dc357600080fd5b505afa925050508015610e11575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610e0e9181019061161f565b60015b610e1a57610e30565b8015610e2e57506000946001945092505050565b505b8373ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e7657600080fd5b505afa925050508015610ec4575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610ec19181019061156e565b60015b610f78578373ffffffffffffffffffffffffffffffffffffffff1663f851a4406040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0e57600080fd5b505afa925050508015610f5c575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610f599181019061156e565b60015b610f6d575060009360049350915050565b946003945092505050565b946002945092505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611004576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610414565b6040517ff2fde38b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f00000000000000000000000055010472a93921a117aad9b055c141060c8d8022169063f2fde38b90602401610ad7565b60005473ffffffffffffffffffffffffffffffffffffffff1633146110f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610414565b73ffffffffffffffffffffffffffffffffffffffff811661119c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610414565b6111a5816114d5565b50565b6040517fe31ef91c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526000917f00000000000000000000000055010472a93921a117aad9b055c141060c8d80229091169063e31ef91c9060240160606040518083038186803b15801561123457600080fd5b505afa158015611248573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061126c91906115dc565b509091505073ffffffffffffffffffffffffffffffffffffffff8116156112ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5365747465723a20416c726561647920736574000000000000000000000000006044820152606401610414565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f80ac58cd00000000000000000000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff8616906301ffc9a79060240160206040518083038186803b15801561137457600080fd5b505afa158015611388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ac919061161f565b8061146f57506040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fd9b67a2600000000000000000000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff8616906301ffc9a79060240160206040518083038186803b15801561143757600080fd5b505afa15801561144b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146f919061161f565b61041d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f5365747465723a204e6f74204552433732312f455243313135350000000000006044820152606401610414565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561155c57600080fd5b81356115678161165a565b9392505050565b60006020828403121561158057600080fd5b81516115678161165a565b600080600080608085870312156115a157600080fd5b84356115ac8161165a565b935060208501356115bc8161165a565b925060408501356115cc8161165a565b9396929550929360600135925050565b6000806000606084860312156115f157600080fd5b83516115fc8161165a565b602085015190935061160d8161165a565b80925050604084015190509250925092565b60006020828403121561163157600080fd5b8151801515811461156757600080fd5b60006020828403121561165357600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146111a557600080fdfea2646970667358221220923a5319633a6e5a081952da10e766b5c444a374a705f605803e215db613414964736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000055010472a93921a117aad9b055c141060c8d8022
-----Decoded View---------------
Arg [0] : _royaltyFeeRegistry (address): 0x55010472a93921a117aAD9b055c141060c8d8022
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000055010472a93921a117aad9b055c141060c8d8022
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.