-
Notifications
You must be signed in to change notification settings - Fork 51
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
51 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
--- | ||
title: 4.8. Transferable NFT | ||
sidebar_position: 8 | ||
slug: /standard/TIP-4.8 | ||
--- | ||
|
||
# Transferable NFT (TIP-4.7) | ||
Requires: [TIP-4.1](1.md) | ||
Requires: [TIP-6.1](./../TIP-6/1.md) | ||
|
||
## Abstract | ||
|
||
This standard provides information on the availability of NFT change of ownership | ||
|
||
## Motivation | ||
|
||
The [TIP-4.1](1.md) standard includes only the event to be triggered by an NFT transfer and does not provide any additional information. | ||
At the same time, some contracts should not be able to be transferred to another owner. | ||
In such a case, the transfer will not work and the dapp must know this in order to provide information about it to the user and not to call inactive functions | ||
|
||
```solidity | ||
interface ITIP4_8 { | ||
event TransferLocked(); | ||
event TransferUnlocked(); | ||
function isTransferable() external responsible view returns(bool); | ||
} | ||
``` | ||
|
||
**TIP4_8.transferable()** | ||
|
||
```solidity | ||
function isTransferable() external responsible view returns(bool); | ||
``` | ||
|
||
Returns information about whether the transfer is available. This value may change if lock/unlock is provided by the implementation | ||
|
||
### Events | ||
|
||
```solidity | ||
event TransferLocked(); | ||
event TransferUnlocked(); | ||
``` | ||
|
||
**TransferLocked** | ||
|
||
You MUST emit it when the transfer is locked | ||
|
||
**TransferUnlocked** | ||
|
||
You MUST emit it when the transfer is unlocked. If unlocking occurs just before the transfer itself (e.g. there was a timed lock), the event MUST also be emited together with the unlocking |