From fb17f9b1883f49b6670b9fbb830282612213fc0c Mon Sep 17 00:00:00 2001 From: ddawson Date: Mon, 5 Jun 2023 14:58:41 -0700 Subject: [PATCH] Update NFT ref info --- .../consensus-network/invariant-checking.md | 21 ++++++++++++++++++- .../transactions/transaction-metadata.md | 9 ++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/content/concepts/consensus-network/invariant-checking.md b/content/concepts/consensus-network/invariant-checking.md index 86169294b9..b5a5b089be 100644 --- a/content/concepts/consensus-network/invariant-checking.md +++ b/content/concepts/consensus-network/invariant-checking.md @@ -1,7 +1,7 @@ --- html: invariant-checking.html parent: consensus-network.html -blurb: Understand what Invariant Checking is, why it exists, how it works, and what invariant checks are active. +blurb: Understand what invariant checking is, why it exists, how it works, and what invariant checks are active. labels: - Blockchain - Security @@ -130,6 +130,25 @@ The XRP Ledger checks all the following invariants on each transaction: - A new account root must have the right starting [sequence](basic-data-types.html#account-sequence). - A transaction must not create more than one new [account](accounts.html). +### ValidNFTokenPage + +- **Invariant Condition(s):** + - The number of minted or burned tokens can only be changed by `NFTokenMint` or `NFTokenBurn` transactions. + - A successful NFTokenMint transaction must increase the number of NFTs. + - A failed NFTokenMint transaction must not change the number of minted NFTs. + - A NFTokenMint transaction must not change the number of burned NFTs. + - A successful NFTokenBurn transaction must increase the number of burned NFTs. + - A failed NFTokenBurn transaction must not change the number of burned NFTs. + - A NFTokenBurn transaction cannot change the number of minted NFTs. + +### NFTokenCountTracking +- **Invariant Condition(s):** + - The page is correctly associated with the owner. + - The page is correctly ordered between the next and previous links. + - The page contains a valid number of NFTs. + - The NFTs on this page do not belong on a lower or higher page. + - The NFTs are correctly sorted on the page. + - Each URI, if present, is not empty. ## See Also diff --git a/content/references/protocol-reference/transactions/transaction-metadata.md b/content/references/protocol-reference/transactions/transaction-metadata.md index 3cd42c8153..c6ccb8b5a6 100644 --- a/content/references/protocol-reference/transactions/transaction-metadata.md +++ b/content/references/protocol-reference/transactions/transaction-metadata.md @@ -68,6 +68,15 @@ A `ModifiedNode` object contains the following fields: **Note:** If the modified ledger object has `PreviousTxnID` and `PreviousTxnLgrSeq` fields, the transaction always updates them with the transaction's own identifying hash and the index of the ledger version that included the transaction, but these fields' new value is not listed in the `FinalFields` of the `ModifiedNode` object, and their previous values are listed at the top level of the `ModifiedNode` object rather than in the nested `PreviousFields` object. +## NFT Fields + +An `NFT` transaction response can contain the following fields: + +| Field | Value | Description | +|:--------------------|:--------------------------|:---------------------------| +| `nftoken_id` | String | Shows the `NFTokenID` for the `NFToken` that changed on the ledger as a result of the transaction. See [NFTokenID](nftoken.html#nftokenid) | +| `nftoken_ids` | Array | Shows all the `NFTokenIDs` for the `NFTokens` that changed on the ledger as a result of the transaction. | +| `offer_id` | String | Shows the `OfferID`of a new `NFTokenOffer` in a response from a `NFTokenCreateOffer` transaction. ## delivered_amount