diff --git a/XLS-0052-NFTokenMintOffer/README.md b/XLS-0052-NFTokenMintOffer/README.md new file mode 100644 index 00000000..93cb439f --- /dev/null +++ b/XLS-0052-NFTokenMintOffer/README.md @@ -0,0 +1,48 @@ +
+title: NFTokenMintOffer
+type: Spec
+author: tequ
+
+ +## Abstract + +This proposal extends the minting capabilities of NFToken (XLS-20). + +NFToken are not only held by the issuer, but are often distributed or sold by the issuer to others. + +XRPL NFToken requires two transactions (`NFTokenMint` and `NFTokenCreateOffer`) to be sent by the issuer before the NFToken can be minted and distributed (or sold). +NFTokenOfferMint extends the existing `NFTokenMint` transaction to allow an **NFToken Sell Offer** to be created at the same time as the NFToken is minted. + +NFTokenOfferMint is expected to significantly improve the experience of NFT projects and users. + +## Specification + +### New `NFTokenMint` Transaction Field + +Add 3 new fields to the`NFTokenMint` transaction. + +| Field Name | Required? | JSON Type | Internal Type | +|-------------- |:---------:|:-------------------: |:-------------:| +| `Amount` | | `Currency Amount` | `AMOUNT` | +| `Destination` | | `string` | `AccountID` | +| `Expiration` | | `number` | `UINT32` | + +These fields have the same meaning as the field of the same name used in the `NFTokenCreateOffer` transaction, but the `Amount` field is not a required field. + +If the `Amount` field (and the other 2 fields) are not specified, `NFTokenMint` transaction behaves exactly like a previous `NFTokenMint` transaction. + +### Creating an `NFTokenOffer` + +Since NFToken issuers can only create a sell offer for their NFToken, the `Owner` field is not set and `tfSellNFToken` flag is always set in the `NFTokenOffer` created in an `NFTokenMint` transaction. + +In an extended `NFTokenMint` transaction, an `NFTokenOffer` is created when + +- `Amount` field is specified. + +An error occurs in the following cases + +- One or both of `Destination` and `Expiration` fields are specified, but the `Amount` field is not . + +### Owner Reserve + +The `NFTokenPage` and `NFTokenOffer` reserves will not change, but will create the possibility of up to 2 incremental reserves (NFTokenPage, NFTokenOffer) in an `NFTokenMint` transaction.