add fixNFTokenRemint ammt

This commit is contained in:
ddawson
2023-06-22 12:16:30 -07:00
parent 5b841573f8
commit 3d841e22fc

View File

@@ -15,6 +15,7 @@ The following is a comprehensive list of all known [amendments](amendments.html)
| Name | Introduced | Status |
|:----------------------------------|:-----------|:------------------------------|
| [OwnerPaysFee][] | TBD | [In Development: TBD]( "BADGE_LIGHTGREY") |
| [fixNFTokenRemint][] | v1.11.0 | [In Development: TBD]("BADGE_LIGHTGREY") |
| [DisallowIncoming][] | v1.10.0 | [In Development: TBD]( "BADGE_LIGHTGREY") |
| [fixNonFungibleTokensV1_2][] | v1.10.0 | [In Development: TBD]( "BADGE_LIGHTGREY") |
| [fixTrustLinesToSelf][] | v1.10.0 | [In Development: TBD]( "BADGE_LIGHTGREY") |
@@ -582,6 +583,25 @@ This amendment fixes a bug in the [NonFungibleTokensV1][] amendment code where N
This amendment has no effect unless the [NonFungibleTokensV1][] amendment is enabled. This amendment is obsolete because its effects are included as part of [NonFungibleTokensV1_1][].
## fixNFTokenRemint
[fixNFTokenRemint]: #fixnftokenremint
| Amendment | fixNFTokenNegOffer |
|:-------------|:-------------------|
| Amendment ID | AE35ABDEFBDE520372B31C957020B34A7A4A9DC3115A69803A44016477C84D6E |
| Status | In Development |
| Default Vote (Latest stable release) | No |
| Pre-amendment functionality retired? | No |
Amendment `fixNFTokenRemint` would change the way NFT sequence numbers are constructed to prevent a situation where the same NFT could be minted more than once with the same sequence number, creating a possible collision scenario. This amendment would change the construction of NFT sequence numbers to:
- Create a new `AccountRoot` field, `FirstNFTSequence`, that stays constant over time. This field is set to the current account sequence when the account issues its first NFT. Otherwise, it is not set.
- Compute the sequence of a newly minted NFT as `FirstNFTSequence` + `MintedNFTokens` (after which, `MintedNFTokens` increments by 1).
The amendment also introduces a new account deletion restriction. An account can only be deleted if `FirstNFTSequence` + `MintedNFTokens` + 256 is less than the current ledger sequence (256 was chosen as a heuristic restriction for account deletion and already exists in the account deletion constraint). Without this restriction, an NFT could still be re-minted under certain conditions.
## fixNonFungibleTokensV1_2
[fixNonFungibleTokensV1_2]: #fixnonfungibletokensv1_2