rename XLS-20 fields (#1966)

* rename TokenTaxon -> NFTokenTaxon

* rename MintedTokens -> MintedNFTokens

* rename BurnedTokens -> BurnedNFTokens

* update binary for NFTokenID rename

* rename TokenID -> NFTokenID

* rename TokenOffers -> NFTokenOffers

* rename BrokerFee -> NFTokenBrokerFee

* rename Minter -> NFTokenMinter

* rename NonFungibleToken -> NFToken

* rename NonFungibleTokens -> NFTokens

* rename BuyOffer -> NFTokenBuyOffer

* rename SellOffer -> NFTokenSellOffer

* rename OfferNode -> NFTokenOfferNode

* fix binary for serialize tests

* Add missing MintedNFTokens def + fix tests

* nftokenid -> nft_id

* asfAuthorizedMinter -> asfAuthorizedNFTokenMinter

* Update tec/tem error codes

* Add new definitions

* Update HISTORY.md

* Change to 1.4.0 for binary-codec

* Docgen

* Update HISTORY.md

Co-authored-by: Jackson Mills <jmills@ripple.com>
This commit is contained in:
Omar Khan
2022-04-19 13:02:18 -04:00
committed by GitHub
parent 2f252ace14
commit 9d94f4a8ab
182 changed files with 1511 additions and 1455 deletions

View File

@@ -1,9 +1,9 @@
import { assert } from 'chai'
import { validate, ValidationError } from 'xrpl-local'
const BUY_OFFER =
const NFTOKEN_BUY_OFFER =
'AED08CC1F50DD5F23A1948AF86153A3F3B7593E5EC77D65A02BB1B29E05AB6AF'
const SELL_OFFER =
const NFTOKEN_SELL_OFFER =
'AED08CC1F50DD5F23A1948AF86153A3F3B7593E5EC77D65A02BB1B29E05AB6AE'
/**
@@ -12,10 +12,10 @@ const SELL_OFFER =
* Providing runtime verification testing for each specific transaction type.
*/
describe('NFTokenAcceptOffer', function () {
it(`verifies valid NFTokenAcceptOffer with BuyOffer`, function () {
it(`verifies valid NFTokenAcceptOffer with NFTokenBuyOffer`, function () {
const validNFTokenAcceptOffer = {
TransactionType: 'NFTokenAcceptOffer',
BuyOffer: BUY_OFFER,
NFTokenBuyOffer: NFTOKEN_BUY_OFFER,
Account: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm',
Fee: '5000000',
Sequence: 2470665,
@@ -25,10 +25,10 @@ describe('NFTokenAcceptOffer', function () {
assert.doesNotThrow(() => validate(validNFTokenAcceptOffer))
})
it(`verifies valid NFTokenAcceptOffer with SellOffer`, function () {
it(`verifies valid NFTokenAcceptOffer with NFTokenSellOffer`, function () {
const validNFTokenAcceptOffer = {
TransactionType: 'NFTokenAcceptOffer',
SellOffer: SELL_OFFER,
NFTokenSellOffer: NFTOKEN_SELL_OFFER,
Account: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm',
Fee: '5000000',
Sequence: 2470665,
@@ -38,7 +38,7 @@ describe('NFTokenAcceptOffer', function () {
assert.doesNotThrow(() => validate(validNFTokenAcceptOffer))
})
it(`throws w/ missing SellOffer and BuyOffer`, function () {
it(`throws w/ missing NFTokenSellOffer and NFTokenBuyOffer`, function () {
const invalid = {
TransactionType: 'NFTokenAcceptOffer',
Account: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm',
@@ -50,16 +50,16 @@ describe('NFTokenAcceptOffer', function () {
assert.throws(
() => validate(invalid),
ValidationError,
'NFTokenAcceptOffer: must set either SellOffer or BuyOffer',
'NFTokenAcceptOffer: must set either NFTokenSellOffer or NFTokenBuyOffer',
)
})
it(`throws w/ missing SellOffer and present BrokerFee`, function () {
it(`throws w/ missing NFTokenSellOffer and present NFTokenBrokerFee`, function () {
const invalid = {
TransactionType: 'NFTokenAcceptOffer',
Account: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm',
BuyOffer: BUY_OFFER,
BrokerFee: '1',
NFTokenBuyOffer: NFTOKEN_BUY_OFFER,
NFTokenBrokerFee: '1',
Fee: '5000000',
Sequence: 2470665,
Flags: 2147483648,
@@ -68,16 +68,16 @@ describe('NFTokenAcceptOffer', function () {
assert.throws(
() => validate(invalid),
ValidationError,
'NFTokenAcceptOffer: both SellOffer and BuyOffer must be set if using brokered mode',
'NFTokenAcceptOffer: both NFTokenSellOffer and NFTokenBuyOffer must be set if using brokered mode',
)
})
it(`throws w/ missing BuyOffer and present BrokerFee`, function () {
it(`throws w/ missing NFTokenBuyOffer and present NFTokenBrokerFee`, function () {
const invalid = {
TransactionType: 'NFTokenAcceptOffer',
Account: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm',
SellOffer: SELL_OFFER,
BrokerFee: '1',
NFTokenSellOffer: NFTOKEN_SELL_OFFER,
NFTokenBrokerFee: '1',
Fee: '5000000',
Sequence: 2470665,
Flags: 2147483648,
@@ -86,15 +86,15 @@ describe('NFTokenAcceptOffer', function () {
assert.throws(
() => validate(invalid),
ValidationError,
'NFTokenAcceptOffer: both SellOffer and BuyOffer must be set if using brokered mode',
'NFTokenAcceptOffer: both NFTokenSellOffer and NFTokenBuyOffer must be set if using brokered mode',
)
})
it(`verifies valid NFTokenAcceptOffer with both offers and no BrokerFee`, function () {
it(`verifies valid NFTokenAcceptOffer with both offers and no NFTokenBrokerFee`, function () {
const validNFTokenAcceptOffer = {
TransactionType: 'NFTokenAcceptOffer',
SellOffer: SELL_OFFER,
BuyOffer: BUY_OFFER,
NFTokenSellOffer: NFTOKEN_SELL_OFFER,
NFTokenBuyOffer: NFTOKEN_BUY_OFFER,
Account: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm',
Fee: '5000000',
Sequence: 2470665,
@@ -104,12 +104,12 @@ describe('NFTokenAcceptOffer', function () {
assert.doesNotThrow(() => validate(validNFTokenAcceptOffer))
})
it(`verifies valid NFTokenAcceptOffer with BrokerFee`, function () {
it(`verifies valid NFTokenAcceptOffer with NFTokenBrokerFee`, function () {
const validNFTokenAcceptOffer = {
TransactionType: 'NFTokenAcceptOffer',
SellOffer: SELL_OFFER,
BuyOffer: BUY_OFFER,
BrokerFee: '1',
NFTokenSellOffer: NFTOKEN_SELL_OFFER,
NFTokenBuyOffer: NFTOKEN_BUY_OFFER,
NFTokenBrokerFee: '1',
Account: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm',
Fee: '5000000',
Sequence: 2470665,
@@ -119,13 +119,13 @@ describe('NFTokenAcceptOffer', function () {
assert.doesNotThrow(() => validate(validNFTokenAcceptOffer))
})
it(`throws w/ BrokerFee === 0`, function () {
it(`throws w/ NFTokenBrokerFee === 0`, function () {
const invalid = {
TransactionType: 'NFTokenAcceptOffer',
Account: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm',
SellOffer: SELL_OFFER,
BuyOffer: BUY_OFFER,
BrokerFee: '0',
NFTokenSellOffer: NFTOKEN_SELL_OFFER,
NFTokenBuyOffer: NFTOKEN_BUY_OFFER,
NFTokenBrokerFee: '0',
Fee: '5000000',
Sequence: 2470665,
Flags: 2147483648,
@@ -134,17 +134,17 @@ describe('NFTokenAcceptOffer', function () {
assert.throws(
() => validate(invalid),
ValidationError,
'NFTokenAcceptOffer: BrokerFee must be greater than 0; omit if there is no fee',
'NFTokenAcceptOffer: NFTokenBrokerFee must be greater than 0; omit if there is no fee',
)
})
it(`throws w/ BrokerFee < 0`, function () {
it(`throws w/ NFTokenBrokerFee < 0`, function () {
const invalid = {
TransactionType: 'NFTokenAcceptOffer',
Account: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm',
SellOffer: SELL_OFFER,
BuyOffer: BUY_OFFER,
BrokerFee: '-1',
NFTokenSellOffer: NFTOKEN_SELL_OFFER,
NFTokenBuyOffer: NFTOKEN_BUY_OFFER,
NFTokenBrokerFee: '-1',
Fee: '5000000',
Sequence: 2470665,
Flags: 2147483648,
@@ -153,17 +153,17 @@ describe('NFTokenAcceptOffer', function () {
assert.throws(
() => validate(invalid),
ValidationError,
'NFTokenAcceptOffer: BrokerFee must be greater than 0; omit if there is no fee',
'NFTokenAcceptOffer: NFTokenBrokerFee must be greater than 0; omit if there is no fee',
)
})
it(`throws w/ invalid BrokerFee`, function () {
it(`throws w/ invalid NFTokenBrokerFee`, function () {
const invalid = {
TransactionType: 'NFTokenAcceptOffer',
Account: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm',
SellOffer: SELL_OFFER,
BuyOffer: BUY_OFFER,
BrokerFee: 1,
NFTokenSellOffer: NFTOKEN_SELL_OFFER,
NFTokenBuyOffer: NFTOKEN_BUY_OFFER,
NFTokenBrokerFee: 1,
Fee: '5000000',
Sequence: 2470665,
Flags: 2147483648,
@@ -172,7 +172,7 @@ describe('NFTokenAcceptOffer', function () {
assert.throws(
() => validate(invalid),
ValidationError,
'NFTokenAcceptOffer: invalid BrokerFee',
'NFTokenAcceptOffer: invalid NFTokenBrokerFee',
)
})
})

View File

@@ -13,7 +13,7 @@ describe('NFTokenBurn', function () {
it(`verifies valid NFTokenBurn`, function () {
const validNFTokenBurn = {
TransactionType: 'NFTokenBurn',
TokenID: TOKEN_ID,
NFTokenID: TOKEN_ID,
Account: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm',
Fee: '5000000',
Sequence: 2470665,
@@ -23,7 +23,7 @@ describe('NFTokenBurn', function () {
assert.doesNotThrow(() => validate(validNFTokenBurn))
})
it(`throws w/ missing TokenID`, function () {
it(`throws w/ missing NFTokenID`, function () {
const invalid = {
TransactionType: 'NFTokenBurn',
Account: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm',
@@ -35,7 +35,7 @@ describe('NFTokenBurn', function () {
assert.throws(
() => validate(invalid),
ValidationError,
'NFTokenBurn: missing field TokenID',
'NFTokenBurn: missing field NFTokenID',
)
})
})

View File

@@ -13,7 +13,7 @@ describe('NFTokenCancelOffer', function () {
it(`verifies valid NFTokenCancelOffer`, function () {
const validNFTokenCancelOffer = {
TransactionType: 'NFTokenCancelOffer',
TokenOffers: [BUY_OFFER],
NFTokenOffers: [BUY_OFFER],
Account: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm',
Fee: '5000000',
Sequence: 2470665,
@@ -23,7 +23,7 @@ describe('NFTokenCancelOffer', function () {
assert.doesNotThrow(() => validate(validNFTokenCancelOffer))
})
it(`throws w/ missing TokenOffers`, function () {
it(`throws w/ missing NFTokenOffers`, function () {
const invalid = {
TransactionType: 'NFTokenCancelOffer',
Account: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm',
@@ -35,15 +35,15 @@ describe('NFTokenCancelOffer', function () {
assert.throws(
() => validate(invalid),
ValidationError,
'NFTokenCancelOffer: missing field TokenOffers',
'NFTokenCancelOffer: missing field NFTokenOffers',
)
})
it(`throws w/ empty TokenOffers`, function () {
it(`throws w/ empty NFTokenOffers`, function () {
const invalid = {
TransactionType: 'NFTokenCancelOffer',
Account: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm',
TokenOffers: [],
NFTokenOffers: [],
Fee: '5000000',
Sequence: 2470665,
Flags: 2147483648,
@@ -52,7 +52,7 @@ describe('NFTokenCancelOffer', function () {
assert.throws(
() => validate(invalid),
ValidationError,
'NFTokenCancelOffer: empty field TokenOffers',
'NFTokenCancelOffer: empty field NFTokenOffers',
)
})
})

View File

@@ -1,7 +1,7 @@
import { assert } from 'chai'
import { validate, ValidationError, NFTokenCreateOfferFlags } from 'xrpl-local'
const TOKEN_ID =
const NFTOKEN_ID =
'00090032B5F762798A53D543A014CAF8B297CFF8F2F937E844B17C9E00000003'
/**
@@ -13,7 +13,7 @@ describe('NFTokenCreateOffer', function () {
it(`verifies valid NFTokenCreateOffer buyside`, function () {
const validNFTokenCreateOffer = {
TransactionType: 'NFTokenCreateOffer',
TokenID: TOKEN_ID,
NFTokenID: NFTOKEN_ID,
Amount: '1',
Owner: 'r9LqNeG6qHxjeUocjvVki2XR35weJ9mZgQ',
Expiration: 1000,
@@ -29,7 +29,7 @@ describe('NFTokenCreateOffer', function () {
it(`verifies valid NFTokenCreateOffer sellside`, function () {
const validNFTokenCreateOffer = {
TransactionType: 'NFTokenCreateOffer',
TokenID: TOKEN_ID,
NFTokenID: NFTOKEN_ID,
Amount: '1',
Flags: NFTokenCreateOfferFlags.tfSellToken,
Expiration: 1000,
@@ -45,7 +45,7 @@ describe('NFTokenCreateOffer', function () {
it(`verifies w/ 0 Amount NFTokenCreateOffer sellside`, function () {
const validNFTokenCreateOffer = {
TransactionType: 'NFTokenCreateOffer',
TokenID: TOKEN_ID,
NFTokenID: NFTOKEN_ID,
Amount: '0',
Flags: NFTokenCreateOfferFlags.tfSellToken,
Expiration: 1000,
@@ -61,7 +61,7 @@ describe('NFTokenCreateOffer', function () {
it(`throws w/ Account === Owner`, function () {
const invalid = {
TransactionType: 'NFTokenCreateOffer',
TokenID: TOKEN_ID,
NFTokenID: NFTOKEN_ID,
Amount: '1',
Expiration: 1000,
Owner: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm',
@@ -80,7 +80,7 @@ describe('NFTokenCreateOffer', function () {
it(`throws w/ Account === Destination`, function () {
const invalid = {
TransactionType: 'NFTokenCreateOffer',
TokenID: TOKEN_ID,
NFTokenID: NFTOKEN_ID,
Amount: '1',
Flags: NFTokenCreateOfferFlags.tfSellToken,
Expiration: 1000,
@@ -97,7 +97,7 @@ describe('NFTokenCreateOffer', function () {
)
})
it(`throws w/out TokenID`, function () {
it(`throws w/out NFTokenID`, function () {
const invalid = {
TransactionType: 'NFTokenCreateOffer',
Amount: '1',
@@ -112,14 +112,14 @@ describe('NFTokenCreateOffer', function () {
assert.throws(
() => validate(invalid),
ValidationError,
'NFTokenCreateOffer: missing field TokenID',
'NFTokenCreateOffer: missing field NFTokenID',
)
})
it(`throws w/ invalid Amount`, function () {
const invalid = {
TransactionType: 'NFTokenCreateOffer',
TokenID: TOKEN_ID,
NFTokenID: NFTOKEN_ID,
Amount: 1,
Owner: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXe',
Expiration: 1000,
@@ -141,7 +141,7 @@ describe('NFTokenCreateOffer', function () {
TransactionType: 'NFTokenCreateOffer',
Owner: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXe',
Expiration: 1000,
TokenID: TOKEN_ID,
NFTokenID: NFTOKEN_ID,
Destination: 'r9LqNeG6qHxjeUocjvVki2XR35weJ9mZgQ',
Account: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm',
Fee: '5000000',
@@ -161,7 +161,7 @@ describe('NFTokenCreateOffer', function () {
Expiration: 1000,
Owner: 'r9LqNeG6qHxjeUocjvVki2XR35weJ9mZgQ',
Account: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm',
TokenID: TOKEN_ID,
NFTokenID: NFTOKEN_ID,
Flags: NFTokenCreateOfferFlags.tfSellToken,
Amount: '1',
Fee: '5000000',
@@ -181,7 +181,7 @@ describe('NFTokenCreateOffer', function () {
Expiration: 1000,
Account: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm',
Amount: '1',
TokenID: TOKEN_ID,
NFTokenID: NFTOKEN_ID,
Fee: '5000000',
Sequence: 2470665,
} as any
@@ -201,7 +201,7 @@ describe('NFTokenCreateOffer', function () {
Owner: 'r9LqNeG6qHxjeUocjvVki2XR35weJ9mZgQ',
Amount: '0',
Fee: '5000000',
TokenID: TOKEN_ID,
NFTokenID: NFTOKEN_ID,
Sequence: 2470665,
} as any

View File

@@ -19,7 +19,7 @@ describe('NFTokenMint', function () {
Fee: '5000000',
Sequence: 2470665,
Flags: NFTokenMintFlags.tfTransferable,
TokenTaxon: 0,
NFTokenTaxon: 0,
Issuer: 'r9LqNeG6qHxjeUocjvVki2XR35weJ9mZgQ',
TransferFee: 1,
URI: convertStringToHex('http://xrpl.org'),
@@ -28,7 +28,7 @@ describe('NFTokenMint', function () {
assert.doesNotThrow(() => validate(validNFTokenMint))
})
it(`throws w/ missing TokenTaxon`, function () {
it(`throws w/ missing NFTokenTaxon`, function () {
const invalid = {
TransactionType: 'NFTokenMint',
Account: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm',
@@ -43,7 +43,7 @@ describe('NFTokenMint', function () {
assert.throws(
() => validate(invalid),
ValidationError,
'NFTokenMint: missing field TokenTaxon',
'NFTokenMint: missing field NFTokenTaxon',
)
})
@@ -56,7 +56,7 @@ describe('NFTokenMint', function () {
Flags: NFTokenMintFlags.tfTransferable,
Issuer: 'rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm',
TransferFee: 1,
TokenTaxon: 0,
NFTokenTaxon: 0,
URI: convertStringToHex('http://xrpl.org'),
} as any

View File

@@ -5,11 +5,11 @@ import { assertResultMatch } from '../testUtils'
describe('parseNFTokenID', function () {
it('decode a valid NFTokenID', function () {
const tokenID =
const nftokenID =
'000B0539C35B55AA096BA6D87A6E6C965A6534150DC56E5E12C5D09E0000000C'
const result = parseNFTokenID(tokenID)
const result = parseNFTokenID(nftokenID)
const expected = {
TokenID: tokenID,
NFTokenID: nftokenID,
Flags: 11,
TransferFee: 1337,
Issuer: 'rJoxBSzpXhPtAuqFmqxQtGKjA13jUJWthE',