Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TIP-4.8 (ITransferableNft) standard description #365

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions src/standard/TIP-4/8.md
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
Loading