TransferSelectorNFT
It selects the NFT transfer manager based on a collection address.
Methods
INTERFACE_ID_ERC1155
function INTERFACE_ID_ERC1155() external view returns (bytes4)
Returns
| Name | Type | Description | 
|---|---|---|
| INTERFACE_ID_ERC1155 | bytes4 | - | 
INTERFACE_ID_ERC721
function INTERFACE_ID_ERC721() external view returns (bytes4)
Returns
| Name | Type | Description | 
|---|---|---|
| INTERFACE_ID_ERC721 | bytes4 | - | 
TRANSFER_MANAGER_ERC1155
function TRANSFER_MANAGER_ERC1155() external view returns (address)
Returns
| Name | Type | Description | 
|---|---|---|
| TRANSFER_MANAGER_ERC1155 | address | address of the TransferManagerERC1155 | 
TRANSFER_MANAGER_ERC721
function TRANSFER_MANAGER_ERC721() external view returns (address)
Returns
| Name | Type | Description | 
|---|---|---|
| TRANSFER_MANAGER_ERC721 | address | address of the TransferManagerERC721 | 
addCollectionTransferManager
function addCollectionTransferManager(address collection, address transferManager) external nonpayable
Add a transfer manager for a collection
It is meant to be used for exceptions only (e.g., CryptoKitties)
Parameters
| Name | Type | Description | 
|---|---|---|
| collection | address | collection address to add specific transfer rule | 
| transferManager | address | address of the transfer manager | 
checkTransferManagerForToken
function checkTransferManagerForToken(address collection) external view returns (address transferManager)
Check the transfer manager for a token
Support for ERC165 interface is checked AFTER custom implementation
Parameters
| Name | Type | Description | 
|---|---|---|
| collection | address | collection address | 
Returns
| Name | Type | Description | 
|---|---|---|
| transferManager | address | address of the transfer manager for this collection | 
owner
function owner() external view returns (address)
Returns the address of the current owner.
Returns
| Name | Type | Description | 
|---|---|---|
| owner | address | address of the current owner | 
removeCollectionTransferManager
function removeCollectionTransferManager(address collection) external nonpayable
Remove a transfer manager for a collection
Parameters
| Name | Type | Description | 
|---|---|---|
| collection | address | collection address to remove exception | 
renounceOwnership
function renounceOwnership() external nonpayable
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.
transferManagerSelectorForCollection
function transferManagerSelectorForCollection(address) external view returns (address)
Parameters
| Name | Type | Description | 
|---|---|---|
| collection | address | address of the collection | 
Returns
| Name | Type | Description | 
|---|---|---|
| - | address | transfer selector address (if no exception, it returns address(0)) | 
transferOwnership
function transferOwnership(address newOwner) external nonpayable
Transfers ownership of the contract to a new account (newOwner). Can only be called by the current owner.
Parameters
| Name | Type | Description | 
|---|---|---|
| newOwner | address | address of the new owner | 
Events
CollectionTransferManagerAdded
event CollectionTransferManagerAdded(address indexed collection, address indexed transferManager)
Parameters
| Name | Type | Description | 
|---|---|---|
| collection indexed | address | - | 
| transferManager indexed | address | - | 
CollectionTransferManagerRemoved
event CollectionTransferManagerRemoved(address indexed collection)
Parameters
| Name | Type | Description | 
|---|---|---|
| collection indexed | address | - | 
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Parameters
| Name | Type | Description | 
|---|---|---|
| previousOwner indexed | address | address of the previous owner | 
| newOwner indexed | address | address of the new owner |