From 76871a80417bc06a2745707181be24585b3ca82d Mon Sep 17 00:00:00 2001 From: muzam1l Date: Mon, 6 Feb 2023 21:09:11 +0530 Subject: [PATCH] Testnet v3. --- .env.example | 9 +- .gitignore | 4 + components/Accounts.tsx | 5 +- package.json | 4 +- patches/ripple-binary-codec+1.4.2.patch | 4407 +++++++++++++++-------- state/actions/deployHook.tsx | 58 +- state/actions/sendTransaction.ts | 66 - state/actions/sendTransaction.tsx | 8 +- state/actions/xrpl-client.ts | 7 + state/index.ts | 6 +- utils/estimateFee.ts | 5 +- utils/hookOnCalculator.ts | 14 +- yarn.lock | 143 +- 13 files changed, 3060 insertions(+), 1676 deletions(-) delete mode 100644 state/actions/sendTransaction.ts create mode 100644 state/actions/xrpl-client.ts diff --git a/.env.example b/.env.example index e193232..4a19d52 100644 --- a/.env.example +++ b/.env.example @@ -5,7 +5,8 @@ GITHUB_ID="" NEXT_PUBLIC_COMPILE_API_ENDPOINT="http://localhost:9000/api/build" NEXT_PUBLIC_COMPILE_API_BASE_URL="http://localhost:9000" NEXT_PUBLIC_LANGUAGE_SERVER_API_ENDPOINT="ws://localhost:9000/language-server/c" -NEXT_PUBLIC_TESTNET_URL="hooks-testnet-v2.xrpl-labs.com" -NEXT_PUBLIC_DEBUG_STREAM_URL="hooks-testnet-v2-debugstream.xrpl-labs.com" -NEXT_PUBLIC_EXPLORER_URL="hooks-testnet-v2-explorer.xrpl-labs.com" -NEXT_PUBLIC_SITE_URL=http://localhost:3000 \ No newline at end of file +NEXT_PUBLIC_TESTNET_URL="hooks-testnet-v3.xrpl-labs.com" +NEXT_PUBLIC_DEBUG_STREAM_URL="hooks-testnet-v3-debugstream.xrpl-labs.com" +NEXT_PUBLIC_EXPLORER_URL="hooks-testnet-v3-explorer.xrpl-labs.com" +NEXT_PUBLIC_NETWORK_ID="21338" +NEXT_PUBLIC_SITE_URL="http://localhost:3000" \ No newline at end of file diff --git a/.gitignore b/.gitignore index ae46c07..c98cdfc 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,7 @@ yarn-error.log* # vercel .vercel .vscode + +# yarn +.yarnrc.yml +.yarn/ diff --git a/components/Accounts.tsx b/components/Accounts.tsx index 001284f..0771bff 100644 --- a/components/Accounts.tsx +++ b/components/Accounts.tsx @@ -33,6 +33,7 @@ import { addFunds } from '../state/actions/addFaucetAccount' import { deleteHook } from '../state/actions/deployHook' import { capitalize } from '../utils/helpers' import { deleteAccount } from '../state/actions/deleteAccount' +import { xrplSend } from '../state/actions/xrpl-client' export const AccountDialog = ({ activeAccountAddress, @@ -301,7 +302,7 @@ const Accounts: FC = props => { const fetchAccInfo = async () => { if (snap.clientStatus === 'online') { const requests = snap.accounts.map(acc => - snap.client?.send({ + xrplSend({ id: `hooks-builder-req-info-${acc.address}`, command: 'account_info', account: acc.address @@ -329,7 +330,7 @@ const Accounts: FC = props => { } }) const objectRequests = snap.accounts.map(acc => { - return snap.client?.send({ + return xrplSend({ id: `hooks-builder-req-objects-${acc.address}`, command: 'account_objects', account: acc.address diff --git a/package.json b/package.json index cd89c32..0b9b83e 100644 --- a/package.json +++ b/package.json @@ -65,8 +65,8 @@ "vscode-languageserver": "^7.0.0", "vscode-uri": "^3.0.2", "wabt": "^1.0.30", - "xrpl-accountlib": "^1.5.2", - "xrpl-client": "^1.9.4" + "xrpl-accountlib": "^1.6.1", + "xrpl-client": "^2.0.2" }, "devDependencies": { "@types/dinero.js": "^1.9.0", diff --git a/patches/ripple-binary-codec+1.4.2.patch b/patches/ripple-binary-codec+1.4.2.patch index 7c77bb6..f953f41 100644 --- a/patches/ripple-binary-codec+1.4.2.patch +++ b/patches/ripple-binary-codec+1.4.2.patch @@ -1,175 +1,662 @@ diff --git a/node_modules/ripple-binary-codec/dist/enums/definitions.json b/node_modules/ripple-binary-codec/dist/enums/definitions.json -index 6a82327..273b78d 100644 +index 6a82327..ccc7615 100644 --- a/node_modules/ripple-binary-codec/dist/enums/definitions.json +++ b/node_modules/ripple-binary-codec/dist/enums/definitions.json -@@ -46,23 +46,103 @@ - }, +@@ -1,1826 +1,2394 @@ + { +- "TYPES": { +- "Validation": 10003, +- "Done": -1, +- "Hash128": 4, +- "Blob": 7, +- "AccountID": 8, +- "Amount": 6, +- "Hash256": 5, +- "UInt8": 16, +- "Vector256": 19, +- "STObject": 14, +- "Unknown": -2, +- "Transaction": 10001, +- "Hash160": 17, +- "PathSet": 18, +- "LedgerEntry": 10002, +- "UInt16": 1, +- "NotPresent": 0, +- "UInt64": 3, +- "UInt32": 2, +- "STArray": 15 +- }, +- "LEDGER_ENTRY_TYPES": { +- "Any": -3, +- "Child": -2, +- "Invalid": -1, +- "AccountRoot": 97, +- "DirectoryNode": 100, +- "RippleState": 114, +- "Ticket": 84, +- "SignerList": 83, +- "Offer": 111, +- "LedgerHashes": 104, +- "Amendments": 102, +- "FeeSettings": 115, +- "Escrow": 117, +- "PayChannel": 120, +- "DepositPreauth": 112, +- "Check": 67, +- "Nickname": 110, +- "Contract": 99, +- "NFTokenPage": 80, +- "NFTokenOffer": 55, +- "NegativeUNL": 78 +- }, "FIELDS": [ [ -- "Generic", -+ "LedgerEntry", + "Generic", { - "nth": 0, -+ "nth": 1, - "isVLEncoded": false, +- "isVLEncoded": false, "isSerialized": false, "isSigningField": false, -- "type": "Unknown" -+ "type": "LedgerEntry" ++ "isVLEncoded": false, ++ "nth": 0, + "type": "Unknown" } ], [ -- "Invalid", -+ "Transaction", + "Invalid", { - "nth": -1, -+ "nth": 1, - "isVLEncoded": false, +- "isVLEncoded": false, "isSerialized": false, "isSigningField": false, -- "type": "Unknown" -+ "type": "Transaction" -+ } -+ ], -+ [ -+ "Validation", -+ { -+ "nth": 1, + "isVLEncoded": false, -+ "isSerialized": false, -+ "isSigningField": false, -+ "type": "Validation" -+ } -+ ], -+ [ -+ "Metadata", -+ { -+ "nth": 1, -+ "isVLEncoded": false, -+ "isSerialized": false, -+ "isSigningField": false, -+ "type": "Validation" -+ } -+ ], -+ [ -+ "CloseResolution", -+ { -+ "nth": 1, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "UInt8" -+ } -+ ], -+ [ -+ "Method", -+ { -+ "nth": 2, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "UInt8" -+ } -+ ], -+ [ -+ "TransactionResult", -+ { -+ "nth": 3, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "UInt8" -+ } -+ ], -+ [ -+ "TickSize", -+ { -+ "nth": 16, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "UInt8" -+ } -+ ], -+ [ -+ "UNLModifyDisabling", -+ { -+ "nth": 17, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "UInt8" -+ } -+ ], -+ [ -+ "HookResult", -+ { -+ "nth": 18, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "UInt8" ++ "nth": -1, + "type": "Unknown" } ], [ -@@ -105,6 +185,56 @@ +- "LedgerEntryType", ++ "ObjectEndMarker", ++ { ++ "isSerialized": false, ++ "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 1, ++ "type": "STObject" ++ } ++ ], ++ [ ++ "ArrayEndMarker", + { ++ "isSerialized": false, ++ "isSigningField": true, ++ "isVLEncoded": false, + "nth": 1, ++ "type": "STArray" ++ } ++ ], ++ [ ++ "hash", ++ { ++ "isSerialized": false, ++ "isSigningField": false, ++ "isVLEncoded": false, ++ "nth": 257, ++ "type": "Hash256" ++ } ++ ], ++ [ ++ "index", ++ { ++ "isSerialized": false, ++ "isSigningField": false, ++ "isVLEncoded": false, ++ "nth": 258, ++ "type": "Hash256" ++ } ++ ], ++ [ ++ "taker_gets_funded", ++ { ++ "isSerialized": false, ++ "isSigningField": false, ++ "isVLEncoded": false, ++ "nth": 258, ++ "type": "Amount" ++ } ++ ], ++ [ ++ "taker_pays_funded", ++ { ++ "isSerialized": false, ++ "isSigningField": false, + "isVLEncoded": false, ++ "nth": 259, ++ "type": "Amount" ++ } ++ ], ++ [ ++ "LedgerEntryType", ++ { + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 1, "type": "UInt16" } ], + [ + "TransactionType", + { +- "nth": 2, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 2, + "type": "UInt16" + } + ], + [ + "SignerWeight", + { +- "nth": 3, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 3, + "type": "UInt16" + } + ], + [ + "TransferFee", + { ++ "isSerialized": true, ++ "isSigningField": true, ++ "isVLEncoded": false, + "nth": 4, ++ "type": "UInt16" ++ } ++ ], + [ + "Version", + { -+ "nth": 16, -+ "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, + "isVLEncoded": false, ++ "nth": 16, + "type": "UInt16" + } + ], + [ + "HookStateChangeCount", + { + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, + "nth": 17, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "UInt16" -+ } -+ ], -+ [ + "type": "UInt16" + } + ], + [ +- "Flags", + "HookEmitCount", -+ { -+ "nth": 18, -+ "isVLEncoded": false, + { +- "nth": 2, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 18, + "type": "UInt16" + } + ], + [ + "HookExecutionIndex", + { -+ "nth": 19, -+ "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 19, + "type": "UInt16" + } + ], + [ + "HookApiVersion", + { -+ "nth": 20, -+ "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 20, + "type": "UInt16" + } + ], ++ [ ++ "NetworkID", ++ { ++ "isSerialized": true, ++ "isSigningField": true, + "isVLEncoded": false, ++ "nth": 1, ++ "type": "UInt32" ++ } ++ ], ++ [ ++ "Flags", ++ { + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 2, + "type": "UInt32" + } + ], [ - "Flags", + "SourceTag", { -@@ -456,272 +586,612 @@ +- "nth": 3, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 3, + "type": "UInt32" + } + ], + [ + "Sequence", + { +- "nth": 4, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 4, + "type": "UInt32" + } + ], + [ + "PreviousTxnLgrSeq", + { +- "nth": 5, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 5, + "type": "UInt32" + } + ], + [ + "LedgerSequence", + { +- "nth": 6, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 6, + "type": "UInt32" + } + ], + [ + "CloseTime", + { +- "nth": 7, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 7, + "type": "UInt32" + } + ], + [ + "ParentCloseTime", + { +- "nth": 8, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 8, + "type": "UInt32" + } + ], + [ + "SigningTime", + { +- "nth": 9, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 9, + "type": "UInt32" + } + ], + [ + "Expiration", + { +- "nth": 10, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 10, + "type": "UInt32" + } + ], + [ + "TransferRate", + { +- "nth": 11, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 11, + "type": "UInt32" + } + ], + [ + "WalletSize", + { +- "nth": 12, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 12, + "type": "UInt32" + } + ], + [ + "OwnerCount", + { +- "nth": 13, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 13, + "type": "UInt32" + } + ], + [ + "DestinationTag", + { +- "nth": 14, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 14, + "type": "UInt32" + } + ], + [ + "HighQualityIn", + { +- "nth": 16, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 16, + "type": "UInt32" + } + ], + [ + "HighQualityOut", + { +- "nth": 17, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 17, + "type": "UInt32" + } + ], + [ + "LowQualityIn", + { +- "nth": 18, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 18, + "type": "UInt32" + } + ], + [ + "LowQualityOut", + { +- "nth": 19, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 19, + "type": "UInt32" + } + ], + [ + "QualityIn", + { +- "nth": 20, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 20, + "type": "UInt32" + } + ], + [ + "QualityOut", + { +- "nth": 21, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 21, + "type": "UInt32" + } + ], + [ + "StampEscrow", + { +- "nth": 22, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 22, + "type": "UInt32" + } + ], + [ + "BondAmount", + { +- "nth": 23, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 23, + "type": "UInt32" + } + ], + [ + "LoadFee", + { +- "nth": 24, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 24, + "type": "UInt32" + } + ], + [ + "OfferSequence", + { +- "nth": 25, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 25, + "type": "UInt32" + } + ], + [ + "FirstLedgerSequence", + { +- "nth": 26, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 26, + "type": "UInt32" + } + ], + [ + "LastLedgerSequence", + { +- "nth": 27, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 27, + "type": "UInt32" + } + ], + [ + "TransactionIndex", + { +- "nth": 28, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 28, + "type": "UInt32" + } + ], + [ + "OperationLimit", + { +- "nth": 29, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 29, + "type": "UInt32" + } + ], + [ + "ReferenceFeeUnits", + { +- "nth": 30, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 30, + "type": "UInt32" + } + ], + [ + "ReserveBase", + { +- "nth": 31, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 31, + "type": "UInt32" + } + ], + [ + "ReserveIncrement", + { +- "nth": 32, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 32, + "type": "UInt32" + } + ], + [ + "SetFlag", + { +- "nth": 33, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 33, + "type": "UInt32" + } + ], + [ + "ClearFlag", + { +- "nth": 34, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 34, + "type": "UInt32" + } + ], + [ + "SignerQuorum", + { +- "nth": 35, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 35, + "type": "UInt32" + } + ], + [ + "CancelAfter", + { +- "nth": 36, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 36, + "type": "UInt32" + } + ], + [ + "FinishAfter", + { +- "nth": 37, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 37, + "type": "UInt32" } ], [ @@ -177,11 +664,12 @@ index 6a82327..273b78d 100644 + "SignerListID", { - "nth": 1, -+ "nth": 38, - "isVLEncoded": false, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "UInt64" ++ "isVLEncoded": false, ++ "nth": 38, + "type": "UInt32" } ], @@ -190,11 +678,12 @@ index 6a82327..273b78d 100644 + "SettleDelay", { - "nth": 2, -+ "nth": 39, - "isVLEncoded": false, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "UInt64" ++ "isVLEncoded": false, ++ "nth": 39, + "type": "UInt32" } ], @@ -203,11 +692,12 @@ index 6a82327..273b78d 100644 + "TicketCount", { - "nth": 3, -+ "nth": 40, - "isVLEncoded": false, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "UInt64" ++ "isVLEncoded": false, ++ "nth": 40, + "type": "UInt32" } ], @@ -216,11 +706,12 @@ index 6a82327..273b78d 100644 + "TicketSequence", { - "nth": 4, -+ "nth": 41, - "isVLEncoded": false, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "UInt64" ++ "isVLEncoded": false, ++ "nth": 41, + "type": "UInt32" } ], @@ -229,11 +720,12 @@ index 6a82327..273b78d 100644 + "NFTokenTaxon", { - "nth": 5, -+ "nth": 42, - "isVLEncoded": false, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "UInt64" ++ "isVLEncoded": false, ++ "nth": 42, + "type": "UInt32" } ], @@ -242,11 +734,12 @@ index 6a82327..273b78d 100644 + "MintedNFTokens", { - "nth": 6, -+ "nth": 43, - "isVLEncoded": false, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "UInt64" ++ "isVLEncoded": false, ++ "nth": 43, + "type": "UInt32" } ], @@ -255,11 +748,12 @@ index 6a82327..273b78d 100644 + "BurnedNFTokens", { - "nth": 7, -+ "nth": 44, - "isVLEncoded": false, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "UInt64" ++ "isVLEncoded": false, ++ "nth": 44, + "type": "UInt32" } ], @@ -268,11 +762,12 @@ index 6a82327..273b78d 100644 + "HookStateCount", { - "nth": 8, -+ "nth": 45, - "isVLEncoded": false, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "UInt64" ++ "isVLEncoded": false, ++ "nth": 45, + "type": "UInt32" } ], @@ -281,1547 +776,2529 @@ index 6a82327..273b78d 100644 + "EmitGeneration", { - "nth": 1, -+ "nth": 46, - "isVLEncoded": false, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "Hash128" ++ "isVLEncoded": false, ++ "nth": 46, + "type": "UInt32" } ], [ - "LedgerHash", -+ "IndexNext", ++ "LockCount", { - "nth": 1, - "isVLEncoded": false, +- "nth": 1, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "Hash256" -+ "type": "UInt64" ++ "isVLEncoded": false, ++ "nth": 47, ++ "type": "UInt32" } ], [ - "ParentHash", -+ "IndexPrevious", ++ "RewardTime", { - "nth": 2, - "isVLEncoded": false, +- "nth": 2, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "Hash256" -+ "type": "UInt64" ++ "isVLEncoded": false, ++ "nth": 98, ++ "type": "UInt32" } ], [ - "TransactionHash", -+ "BookNode", ++ "RewardLgrFirst", { - "nth": 3, - "isVLEncoded": false, +- "nth": 3, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "Hash256" -+ "type": "UInt64" ++ "isVLEncoded": false, ++ "nth": 99, ++ "type": "UInt32" } ], [ - "AccountHash", -+ "OwnerNode", ++ "RewardLgrLast", { - "nth": 4, - "isVLEncoded": false, +- "nth": 4, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "Hash256" -+ "type": "UInt64" ++ "isVLEncoded": false, ++ "nth": 100, ++ "type": "UInt32" } ], [ - "PreviousTxnID", -+ "BaseFee", ++ "IndexNext", { - "nth": 5, - "isVLEncoded": false, +- "nth": 5, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "Hash256" ++ "isVLEncoded": false, ++ "nth": 1, + "type": "UInt64" } ], [ - "LedgerIndex", -+ "ExchangeRate", ++ "IndexPrevious", { - "nth": 6, - "isVLEncoded": false, +- "nth": 6, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "Hash256" ++ "isVLEncoded": false, ++ "nth": 2, + "type": "UInt64" } ], [ - "WalletLocator", -+ "LowNode", ++ "BookNode", { - "nth": 7, - "isVLEncoded": false, +- "nth": 7, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "Hash256" ++ "isVLEncoded": false, ++ "nth": 3, + "type": "UInt64" } ], [ - "RootIndex", -+ "HighNode", ++ "OwnerNode", { - "nth": 8, - "isVLEncoded": false, +- "nth": 8, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "Hash256" ++ "isVLEncoded": false, ++ "nth": 4, + "type": "UInt64" } ], [ - "AccountTxnID", -+ "DestinationNode", ++ "BaseFee", { - "nth": 9, - "isVLEncoded": false, +- "nth": 9, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "Hash256" ++ "isVLEncoded": false, ++ "nth": 5, + "type": "UInt64" } ], [ - "NFTokenID", -+ "Cookie", ++ "ExchangeRate", { - "nth": 10, - "isVLEncoded": false, +- "nth": 10, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "Hash256" ++ "isVLEncoded": false, ++ "nth": 6, + "type": "UInt64" } ], [ - "BookDirectory", -+ "ServerVersion", ++ "LowNode", { - "nth": 16, -+ "nth": 11, - "isVLEncoded": false, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "Hash256" ++ "isVLEncoded": false, ++ "nth": 7, + "type": "UInt64" } ], [ - "InvoiceID", -+ "NFTokenOfferNode", ++ "HighNode", { - "nth": 17, -+ "nth": 12, - "isVLEncoded": false, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "Hash256" ++ "isVLEncoded": false, ++ "nth": 8, + "type": "UInt64" } ], [ - "Nickname", -+ "EmitBurden", ++ "DestinationNode", { - "nth": 18, -+ "nth": 13, - "isVLEncoded": false, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "Hash256" ++ "isVLEncoded": false, ++ "nth": 9, + "type": "UInt64" } ], [ - "Amendment", -+ "HookOn", ++ "Cookie", { - "nth": 19, -+ "nth": 16, - "isVLEncoded": false, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "Hash256" ++ "isVLEncoded": false, ++ "nth": 10, + "type": "UInt64" } ], [ - "TicketID", -+ "HookInstructionCount", ++ "ServerVersion", { - "nth": 20, -+ "nth": 17, - "isVLEncoded": false, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "Hash256" ++ "isVLEncoded": false, ++ "nth": 11, + "type": "UInt64" } ], [ - "Digest", -+ "HookReturnCode", ++ "NFTokenOfferNode", { - "nth": 21, -+ "nth": 19, - "isVLEncoded": false, +- "isVLEncoded": false, "isSerialized": true, "isSigningField": true, - "type": "Hash256" ++ "isVLEncoded": false, ++ "nth": 12, + "type": "UInt64" -+ } -+ ], -+ [ + } + ], + [ +- "hash", ++ "EmitBurden", + { +- "nth": 257, ++ "isSerialized": true, ++ "isSigningField": true, + "isVLEncoded": false, +- "isSerialized": false, +- "isSigningField": false, +- "type": "Hash256" ++ "nth": 13, ++ "type": "UInt64" + } + ], + [ +- "index", ++ "HookInstructionCount", + { +- "nth": 258, ++ "isSerialized": true, ++ "isSigningField": true, + "isVLEncoded": false, +- "isSerialized": false, +- "isSigningField": false, +- "type": "Hash256" ++ "nth": 17, ++ "type": "UInt64" + } + ], + [ +- "Amount", ++ "HookReturnCode", + { +- "nth": 1, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "Amount" ++ "isVLEncoded": false, ++ "nth": 18, ++ "type": "UInt64" + } + ], + [ +- "Balance", + "ReferenceCount", -+ { -+ "nth": 19, + { +- "nth": 2, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "Amount" + "isVLEncoded": false, ++ "nth": 19, ++ "type": "UInt64" + } + ], + [ +- "LimitAmount", ++ "RewardAccumulator", + { +- "nth": 3, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "Amount" ++ "isVLEncoded": false, ++ "nth": 100, ++ "type": "UInt64" + } + ], + [ +- "TakerPays", ++ "EmailHash", + { +- "nth": 4, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "Amount" ++ "isVLEncoded": false, ++ "nth": 1, ++ "type": "Hash128" + } + ], + [ +- "TakerGets", ++ "LedgerHash", + { +- "nth": 5, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "Amount" ++ "isVLEncoded": false, ++ "nth": 1, ++ "type": "Hash256" + } + ], + [ +- "LowLimit", ++ "ParentHash", + { +- "nth": 6, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "Amount" ++ "isVLEncoded": false, ++ "nth": 2, ++ "type": "Hash256" + } + ], + [ +- "HighLimit", ++ "TransactionHash", + { +- "nth": 7, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "Amount" ++ "isVLEncoded": false, ++ "nth": 3, ++ "type": "Hash256" + } + ], + [ +- "Fee", ++ "AccountHash", + { +- "nth": 8, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "Amount" ++ "isVLEncoded": false, ++ "nth": 4, ++ "type": "Hash256" + } + ], + [ +- "SendMax", ++ "PreviousTxnID", + { +- "nth": 9, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "Amount" ++ "isVLEncoded": false, ++ "nth": 5, ++ "type": "Hash256" + } + ], + [ +- "DeliverMin", ++ "LedgerIndex", + { +- "nth": 10, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "Amount" ++ "isVLEncoded": false, ++ "nth": 6, ++ "type": "Hash256" + } + ], + [ +- "MinimumOffer", ++ "WalletLocator", + { +- "nth": 16, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "Amount" ++ "isVLEncoded": false, ++ "nth": 7, ++ "type": "Hash256" + } + ], + [ +- "RippleEscrow", ++ "RootIndex", + { +- "nth": 17, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "Amount" ++ "isVLEncoded": false, ++ "nth": 8, ++ "type": "Hash256" + } + ], + [ +- "DeliveredAmount", ++ "AccountTxnID", + { +- "nth": 18, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "Amount" ++ "isVLEncoded": false, ++ "nth": 9, ++ "type": "Hash256" + } + ], + [ +- "NFTokenBrokerFee", ++ "NFTokenID", + { +- "nth": 19, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "Amount" ++ "isVLEncoded": false, ++ "nth": 10, ++ "type": "Hash256" + } + ], + [ +- "taker_gets_funded", ++ "EmitParentTxnID", + { +- "nth": 258, + "isSerialized": true, + "isSigningField": true, -+ "type": "UInt64" + "isVLEncoded": false, +- "isSerialized": false, +- "isSigningField": false, +- "type": "Amount" ++ "nth": 11, ++ "type": "Hash256" + } + ], + [ +- "taker_pays_funded", ++ "EmitNonce", + { +- "nth": 259, ++ "isSerialized": true, ++ "isSigningField": true, + "isVLEncoded": false, +- "isSerialized": false, +- "isSigningField": false, +- "type": "Amount" ++ "nth": 12, ++ "type": "Hash256" + } + ], + [ +- "PublicKey", ++ "EmitHookHash", + { +- "nth": 1, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "Blob" ++ "isVLEncoded": false, ++ "nth": 13, ++ "type": "Hash256" + } + ], + [ +- "MessageKey", ++ "BookDirectory", + { +- "nth": 2, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "Blob" ++ "isVLEncoded": false, ++ "nth": 16, ++ "type": "Hash256" + } + ], + [ +- "SigningPubKey", ++ "InvoiceID", + { +- "nth": 3, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "Blob" ++ "isVLEncoded": false, ++ "nth": 17, ++ "type": "Hash256" + } + ], + [ +- "TxnSignature", ++ "Nickname", + { +- "nth": 4, +- "isVLEncoded": true, + "isSerialized": true, +- "isSigningField": false, +- "type": "Blob" ++ "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 18, ++ "type": "Hash256" + } + ], + [ +- "URI", ++ "Amendment", + { +- "nth": 5, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "Blob" ++ "isVLEncoded": false, ++ "nth": 19, ++ "type": "Hash256" + } + ], + [ +- "Signature", ++ "HookOn", + { +- "nth": 6, +- "isVLEncoded": true, + "isSerialized": true, +- "isSigningField": false, +- "type": "Blob" ++ "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 20, ++ "type": "Hash256" + } + ], + [ +- "Domain", ++ "Digest", + { +- "nth": 7, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "Blob" ++ "isVLEncoded": false, ++ "nth": 21, ++ "type": "Hash256" + } + ], + [ +- "FundCode", ++ "Channel", + { +- "nth": 8, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "Blob" ++ "isVLEncoded": false, ++ "nth": 22, ++ "type": "Hash256" + } + ], + [ +- "RemoveCode", ++ "ConsensusHash", + { +- "nth": 9, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "Blob" ++ "isVLEncoded": false, ++ "nth": 23, ++ "type": "Hash256" + } + ], + [ +- "ExpireCode", ++ "CheckID", + { +- "nth": 10, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "Blob" ++ "isVLEncoded": false, ++ "nth": 24, ++ "type": "Hash256" + } + ], + [ +- "CreateCode", ++ "ValidatedHash", + { +- "nth": 11, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "Blob" ++ "isVLEncoded": false, ++ "nth": 25, ++ "type": "Hash256" + } + ], + [ +- "MemoType", ++ "PreviousPageMin", + { +- "nth": 12, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "Blob" ++ "isVLEncoded": false, ++ "nth": 26, ++ "type": "Hash256" + } + ], + [ +- "MemoData", ++ "NextPageMin", + { +- "nth": 13, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "Blob" ++ "isVLEncoded": false, ++ "nth": 27, ++ "type": "Hash256" + } + ], + [ +- "MemoFormat", ++ "NFTokenBuyOffer", + { +- "nth": 14, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "Blob" ++ "isVLEncoded": false, ++ "nth": 28, ++ "type": "Hash256" + } + ], + [ +- "Fulfillment", ++ "NFTokenSellOffer", + { +- "nth": 16, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "Blob" ++ "isVLEncoded": false, ++ "nth": 29, ++ "type": "Hash256" + } + ], + [ +- "Condition", ++ "HookStateKey", + { +- "nth": 17, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "Blob" ++ "isVLEncoded": false, ++ "nth": 30, ++ "type": "Hash256" + } + ], + [ +- "MasterSignature", ++ "HookHash", + { +- "nth": 18, +- "isVLEncoded": true, + "isSerialized": true, +- "isSigningField": false, +- "type": "Blob" ++ "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 31, ++ "type": "Hash256" + } + ], + [ +- "UNLModifyValidator", ++ "HookNamespace", + { +- "nth": 19, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "Blob" ++ "isVLEncoded": false, ++ "nth": 32, ++ "type": "Hash256" + } + ], + [ +- "ValidatorToDisable", ++ "HookSetTxnID", + { +- "nth": 20, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "Blob" ++ "isVLEncoded": false, ++ "nth": 33, ++ "type": "Hash256" + } + ], + [ +- "ValidatorToReEnable", ++ "OfferID", + { +- "nth": 21, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "Blob" ++ "isVLEncoded": false, ++ "nth": 34, ++ "type": "Hash256" + } + ], + [ +- "Account", ++ "EscrowID", + { +- "nth": 1, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "AccountID" ++ "isVLEncoded": false, ++ "nth": 35, ++ "type": "Hash256" + } + ], + [ +- "Owner", ++ "URITokenID", + { +- "nth": 2, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "AccountID" ++ "isVLEncoded": false, ++ "nth": 36, ++ "type": "Hash256" + } + ], + [ +- "Destination", ++ "hash", + { +- "nth": 3, +- "isVLEncoded": true, + "isSerialized": true, +- "isSigningField": true, +- "type": "AccountID" ++ "isSigningField": false, ++ "isVLEncoded": false, ++ "nth": 1, ++ "type": "Hash256" + } + ], + [ +- "Issuer", ++ "index", + { +- "nth": 4, +- "isVLEncoded": true, + "isSerialized": true, +- "isSigningField": true, +- "type": "AccountID" ++ "isSigningField": false, ++ "isVLEncoded": false, ++ "nth": 2, ++ "type": "Hash256" + } + ], + [ +- "Authorize", ++ "Amount", + { +- "nth": 5, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "AccountID" ++ "isVLEncoded": false, ++ "nth": 1, ++ "type": "Amount" + } + ], + [ +- "Unauthorize", ++ "Balance", + { +- "nth": 6, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "AccountID" ++ "isVLEncoded": false, ++ "nth": 2, ++ "type": "Amount" + } + ], + [ +- "Target", ++ "LimitAmount", + { +- "nth": 7, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "AccountID" ++ "isVLEncoded": false, ++ "nth": 3, ++ "type": "Amount" + } + ], + [ +- "RegularKey", ++ "TakerPays", + { +- "nth": 8, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "AccountID" ++ "isVLEncoded": false, ++ "nth": 4, ++ "type": "Amount" + } + ], + [ +- "NFTokenMinter", ++ "TakerGets", + { +- "nth": 9, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "AccountID" ++ "isVLEncoded": false, ++ "nth": 5, ++ "type": "Amount" + } + ], + [ +- "ObjectEndMarker", ++ "LowLimit", + { +- "nth": 1, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STObject" ++ "isVLEncoded": false, ++ "nth": 6, ++ "type": "Amount" + } + ], + [ +- "TransactionMetaData", ++ "HighLimit", + { +- "nth": 2, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STObject" ++ "isVLEncoded": false, ++ "nth": 7, ++ "type": "Amount" + } + ], + [ +- "CreatedNode", ++ "Fee", + { +- "nth": 3, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STObject" ++ "isVLEncoded": false, ++ "nth": 8, ++ "type": "Amount" + } + ], + [ +- "DeletedNode", ++ "SendMax", + { +- "nth": 4, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STObject" ++ "isVLEncoded": false, ++ "nth": 9, ++ "type": "Amount" + } + ], + [ +- "ModifiedNode", ++ "DeliverMin", + { +- "nth": 5, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STObject" ++ "isVLEncoded": false, ++ "nth": 10, ++ "type": "Amount" + } + ], + [ +- "PreviousFields", ++ "MinimumOffer", + { +- "nth": 6, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STObject" ++ "isVLEncoded": false, ++ "nth": 16, ++ "type": "Amount" + } + ], + [ +- "FinalFields", ++ "RippleEscrow", + { +- "nth": 7, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STObject" ++ "isVLEncoded": false, ++ "nth": 17, ++ "type": "Amount" + } + ], + [ +- "NewFields", ++ "DeliveredAmount", + { +- "nth": 8, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STObject" ++ "isVLEncoded": false, ++ "nth": 18, ++ "type": "Amount" + } + ], + [ +- "TemplateEntry", ++ "NFTokenBrokerFee", + { +- "nth": 9, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STObject" ++ "isVLEncoded": false, ++ "nth": 19, ++ "type": "Amount" + } + ], + [ +- "Memo", ++ "HookCallbackFee", + { +- "nth": 10, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STObject" ++ "isVLEncoded": false, ++ "nth": 20, ++ "type": "Amount" + } + ], + [ +- "SignerEntry", ++ "LockedBalance", + { +- "nth": 11, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STObject" ++ "isVLEncoded": false, ++ "nth": 21, ++ "type": "Amount" + } + ], + [ +- "NFToken", ++ "PublicKey", + { +- "nth": 12, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STObject" ++ "isVLEncoded": true, ++ "nth": 1, ++ "type": "Blob" + } + ], + [ +- "Signer", ++ "MessageKey", + { +- "nth": 16, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STObject" ++ "isVLEncoded": true, ++ "nth": 2, ++ "type": "Blob" + } + ], + [ +- "Majority", ++ "SigningPubKey", + { +- "nth": 18, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STObject" ++ "isVLEncoded": true, ++ "nth": 3, ++ "type": "Blob" + } + ], + [ +- "DisabledValidator", ++ "TxnSignature", + { +- "nth": 19, +- "isVLEncoded": false, + "isSerialized": true, +- "isSigningField": true, +- "type": "STObject" ++ "isSigningField": false, ++ "isVLEncoded": true, ++ "nth": 4, ++ "type": "Blob" + } + ], + [ +- "ArrayEndMarker", ++ "URI", + { +- "nth": 1, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STArray" ++ "isVLEncoded": true, ++ "nth": 5, ++ "type": "Blob" + } + ], + [ +- "Signers", ++ "Signature", + { +- "nth": 3, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": false, +- "type": "STArray" ++ "isVLEncoded": true, ++ "nth": 6, ++ "type": "Blob" + } + ], + [ +- "SignerEntries", ++ "Domain", + { +- "nth": 4, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STArray" ++ "isVLEncoded": true, ++ "nth": 7, ++ "type": "Blob" + } + ], + [ +- "Template", ++ "FundCode", + { +- "nth": 5, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STArray" ++ "isVLEncoded": true, ++ "nth": 8, ++ "type": "Blob" + } + ], + [ +- "Necessary", ++ "RemoveCode", + { +- "nth": 6, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STArray" ++ "isVLEncoded": true, ++ "nth": 9, ++ "type": "Blob" + } + ], + [ +- "Sufficient", ++ "ExpireCode", + { +- "nth": 7, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STArray" ++ "isVLEncoded": true, ++ "nth": 10, ++ "type": "Blob" + } + ], + [ +- "AffectedNodes", ++ "CreateCode", + { +- "nth": 8, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STArray" ++ "isVLEncoded": true, ++ "nth": 11, ++ "type": "Blob" + } + ], + [ +- "Memos", ++ "MemoType", + { +- "nth": 9, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STArray" ++ "isVLEncoded": true, ++ "nth": 12, ++ "type": "Blob" + } + ], + [ +- "NFTokens", ++ "MemoData", + { +- "nth": 10, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STArray" ++ "isVLEncoded": true, ++ "nth": 13, ++ "type": "Blob" + } + ], + [ +- "Majorities", ++ "MemoFormat", + { +- "nth": 16, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STArray" ++ "isVLEncoded": true, ++ "nth": 14, ++ "type": "Blob" + } + ], + [ +- "DisabledValidators", ++ "Fulfillment", + { +- "nth": 17, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "STArray" ++ "isVLEncoded": true, ++ "nth": 16, ++ "type": "Blob" + } + ], + [ +- "CloseResolution", ++ "Condition", + { +- "nth": 1, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "UInt8" ++ "isVLEncoded": true, ++ "nth": 17, ++ "type": "Blob" + } + ], + [ +- "Method", ++ "MasterSignature", + { +- "nth": 2, +- "isVLEncoded": false, + "isSerialized": true, +- "isSigningField": true, +- "type": "UInt8" ++ "isSigningField": false, ++ "isVLEncoded": true, ++ "nth": 18, ++ "type": "Blob" + } + ], + [ +- "TransactionResult", ++ "UNLModifyValidator", + { +- "nth": 3, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "UInt8" ++ "isVLEncoded": true, ++ "nth": 19, ++ "type": "Blob" + } + ], + [ +- "TakerPaysCurrency", ++ "ValidatorToDisable", + { +- "nth": 1, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "Hash160" ++ "isVLEncoded": true, ++ "nth": 20, ++ "type": "Blob" + } + ], + [ +- "TakerPaysIssuer", ++ "ValidatorToReEnable", + { +- "nth": 2, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "Hash160" ++ "isVLEncoded": true, ++ "nth": 21, ++ "type": "Blob" + } + ], + [ +- "TakerGetsCurrency", ++ "HookStateData", + { +- "nth": 3, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "Hash160" ++ "isVLEncoded": true, ++ "nth": 22, ++ "type": "Blob" + } + ], + [ +- "TakerGetsIssuer", ++ "HookReturnString", + { +- "nth": 4, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "Hash160" ++ "isVLEncoded": true, ++ "nth": 23, ++ "type": "Blob" + } + ], + [ +- "Paths", ++ "HookParameterName", + { +- "nth": 1, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "PathSet" ++ "isVLEncoded": true, ++ "nth": 24, ++ "type": "Blob" + } + ], + [ +- "Indexes", ++ "HookParameterValue", + { +- "nth": 1, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "Vector256" ++ "isVLEncoded": true, ++ "nth": 25, ++ "type": "Blob" + } + ], + [ +- "Hashes", ++ "Blob", + { +- "nth": 2, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "Vector256" ++ "isVLEncoded": true, ++ "nth": 26, ++ "type": "Blob" + } + ], + [ +- "Amendments", ++ "Account", + { +- "nth": 3, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "Vector256" ++ "isVLEncoded": true, ++ "nth": 1, ++ "type": "AccountID" + } + ], + [ +- "NFTokenOffers", ++ "Owner", + { +- "nth": 4, +- "isVLEncoded": true, + "isSerialized": true, + "isSigningField": true, +- "type": "Vector256" ++ "isVLEncoded": true, ++ "nth": 2, ++ "type": "AccountID" + } + ], + [ +- "Transaction", ++ "Destination", + { +- "nth": 1, +- "isVLEncoded": false, +- "isSerialized": false, +- "isSigningField": false, +- "type": "Transaction" ++ "isSerialized": true, ++ "isSigningField": true, ++ "isVLEncoded": true, ++ "nth": 3, ++ "type": "AccountID" + } + ], + [ +- "LedgerEntry", ++ "Issuer", + { +- "nth": 1, +- "isVLEncoded": false, +- "isSerialized": false, +- "isSigningField": false, +- "type": "LedgerEntry" ++ "isSerialized": true, ++ "isSigningField": true, ++ "isVLEncoded": true, ++ "nth": 4, ++ "type": "AccountID" + } + ], + [ +- "Validation", ++ "Authorize", + { +- "nth": 1, +- "isVLEncoded": false, +- "isSerialized": false, +- "isSigningField": false, +- "type": "Validation" ++ "isSerialized": true, ++ "isSigningField": true, ++ "isVLEncoded": true, ++ "nth": 5, ++ "type": "AccountID" + } + ], + [ +- "SignerListID", ++ "Unauthorize", + { +- "nth": 38, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "UInt32" ++ "isVLEncoded": true, ++ "nth": 6, ++ "type": "AccountID" + } + ], + [ +- "SettleDelay", ++ "RegularKey", + { +- "nth": 39, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "UInt32" ++ "isVLEncoded": true, ++ "nth": 8, ++ "type": "AccountID" + } + ], + [ +- "TicketCount", ++ "NFTokenMinter", + { +- "nth": 40, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "UInt32" ++ "isVLEncoded": true, ++ "nth": 9, ++ "type": "AccountID" + } + ], + [ +- "TicketSequence", ++ "EmitCallback", + { +- "nth": 41, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "UInt32" ++ "isVLEncoded": true, ++ "nth": 10, ++ "type": "AccountID" + } + ], + [ +- "NFTokenTaxon", ++ "HookAccount", + { +- "nth": 42, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "UInt32" ++ "isVLEncoded": true, ++ "nth": 16, ++ "type": "AccountID" + } + ], + [ +- "MintedNFTokens", ++ "TransactionMetaData", + { +- "nth": 43, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "UInt32" ++ "isVLEncoded": false, ++ "nth": 2, ++ "type": "STObject" + } + ], + [ +- "BurnedNFTokens", ++ "CreatedNode", + { +- "nth": 44, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "UInt32" ++ "isVLEncoded": false, ++ "nth": 3, ++ "type": "STObject" + } + ], + [ +- "Channel", ++ "DeletedNode", + { +- "nth": 22, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "Hash256" ++ "isVLEncoded": false, ++ "nth": 4, ++ "type": "STObject" + } + ], + [ +- "ConsensusHash", ++ "ModifiedNode", + { +- "nth": 23, +- "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, +- "type": "Hash256" +- } ++ "isVLEncoded": false, ++ "nth": 5, ++ "type": "STObject" ++ } + ], + [ +- "CheckID", ++ "PreviousFields", + { +- "nth": 24, ++ "isSerialized": true, ++ "isSigningField": true, + "isVLEncoded": false, ++ "nth": 6, ++ "type": "STObject" + } + ], + [ -+ "EmailHash", ++ "FinalFields", + { -+ "nth": 1, + "isSerialized": true, + "isSigningField": true, +- "type": "Hash256" + "isVLEncoded": false, ++ "nth": 7, ++ "type": "STObject" + } + ], + [ +- "ValidatedHash", ++ "NewFields", + { +- "nth": 25, + "isSerialized": true, + "isSigningField": true, -+ "type": "Hash128" + "isVLEncoded": false, ++ "nth": 8, ++ "type": "STObject" ++ } ++ ], ++ [ ++ "TemplateEntry", ++ { + "isSerialized": true, + "isSigningField": true, +- "type": "Hash256" ++ "isVLEncoded": false, ++ "nth": 9, ++ "type": "STObject" + } + ], + [ +- "PreviousPageMin", ++ "Memo", + { +- "nth": 26, ++ "isSerialized": true, ++ "isSigningField": true, + "isVLEncoded": false, ++ "nth": 10, ++ "type": "STObject" ++ } ++ ], ++ [ ++ "SignerEntry", ++ { + "isSerialized": true, + "isSigningField": true, +- "type": "Hash256" ++ "isVLEncoded": false, ++ "nth": 11, ++ "type": "STObject" + } + ], + [ +- "NextPageMin", ++ "NFToken", + { +- "nth": 27, ++ "isSerialized": true, ++ "isSigningField": true, + "isVLEncoded": false, ++ "nth": 12, ++ "type": "STObject" ++ } ++ ], ++ [ ++ "EmitDetails", ++ { + "isSerialized": true, + "isSigningField": true, +- "type": "Hash256" ++ "isVLEncoded": false, ++ "nth": 13, ++ "type": "STObject" + } + ], + [ +- "NFTokenBuyOffer", ++ "Hook", + { +- "nth": 28, ++ "isSerialized": true, ++ "isSigningField": true, + "isVLEncoded": false, ++ "nth": 14, ++ "type": "STObject" ++ } ++ ], ++ [ ++ "Signer", ++ { + "isSerialized": true, + "isSigningField": true, +- "type": "Hash256" ++ "isVLEncoded": false, ++ "nth": 16, ++ "type": "STObject" + } + ], + [ +- "NFTokenSellOffer", ++ "Majority", + { +- "nth": 29, ++ "isSerialized": true, ++ "isSigningField": true, + "isVLEncoded": false, ++ "nth": 18, ++ "type": "STObject" ++ } ++ ], ++ [ ++ "DisabledValidator", ++ { + "isSerialized": true, + "isSigningField": true, +- "type": "Hash256" ++ "isVLEncoded": false, ++ "nth": 19, ++ "type": "STObject" + } + ], + [ +- "TickSize", ++ "EmittedTxn", + { +- "nth": 16, ++ "isSerialized": true, ++ "isSigningField": true, + "isVLEncoded": false, ++ "nth": 20, ++ "type": "STObject" ++ } ++ ], ++ [ ++ "HookExecution", ++ { + "isSerialized": true, + "isSigningField": true, +- "type": "UInt8" ++ "isVLEncoded": false, ++ "nth": 21, ++ "type": "STObject" + } + ], + [ +- "UNLModifyDisabling", ++ "HookDefinition", + { +- "nth": 17, ++ "isSerialized": true, ++ "isSigningField": true, + "isVLEncoded": false, ++ "nth": 22, ++ "type": "STObject" ++ } ++ ], ++ [ ++ "HookParameter", ++ { + "isSerialized": true, + "isSigningField": true, +- "type": "UInt8" ++ "isVLEncoded": false, ++ "nth": 23, ++ "type": "STObject" + } + ], + [ +- "DestinationNode", ++ "HookGrant", + { +- "nth": 9, ++ "isSerialized": true, ++ "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 24, ++ "type": "STObject" ++ } ++ ], ++ [ ++ "Signers", ++ { ++ "isSerialized": true, ++ "isSigningField": false, + "isVLEncoded": false, ++ "nth": 3, ++ "type": "STArray" ++ } ++ ], ++ [ ++ "SignerEntries", ++ { + "isSerialized": true, + "isSigningField": true, +- "type": "UInt64" ++ "isVLEncoded": false, ++ "nth": 4, ++ "type": "STArray" + } + ], + [ +- "Cookie", ++ "Template", + { +- "nth": 10, ++ "isSerialized": true, ++ "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 5, ++ "type": "STArray" ++ } ++ ], ++ [ ++ "Necessary", ++ { ++ "isSerialized": true, ++ "isSigningField": true, + "isVLEncoded": false, ++ "nth": 6, ++ "type": "STArray" ++ } ++ ], ++ [ ++ "Sufficient", ++ { + "isSerialized": true, + "isSigningField": true, +- "type": "UInt64" ++ "isVLEncoded": false, ++ "nth": 7, ++ "type": "STArray" + } + ], + [ +- "ServerVersion", ++ "AffectedNodes", ++ { ++ "isSerialized": true, ++ "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 8, ++ "type": "STArray" ++ } ++ ], ++ [ ++ "Memos", ++ { ++ "isSerialized": true, ++ "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 9, ++ "type": "STArray" ++ } ++ ], ++ [ ++ "NFTokens", ++ { ++ "isSerialized": true, ++ "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 10, ++ "type": "STArray" ++ } ++ ], ++ [ ++ "Hooks", + { ++ "isSerialized": true, ++ "isSigningField": true, ++ "isVLEncoded": false, + "nth": 11, ++ "type": "STArray" ++ } ++ ], ++ [ ++ "Majorities", ++ { ++ "isSerialized": true, ++ "isSigningField": true, + "isVLEncoded": false, ++ "nth": 16, ++ "type": "STArray" ++ } ++ ], ++ [ ++ "DisabledValidators", ++ { + "isSerialized": true, + "isSigningField": true, +- "type": "UInt64" ++ "isVLEncoded": false, ++ "nth": 17, ++ "type": "STArray" + } + ], + [ +- "NFTokenOfferNode", ++ "HookExecutions", + { +- "nth": 12, ++ "isSerialized": true, ++ "isSigningField": true, + "isVLEncoded": false, ++ "nth": 18, ++ "type": "STArray" ++ } ++ ], ++ [ ++ "HookParameters", ++ { + "isSerialized": true, + "isSigningField": true, +- "type": "UInt64" ++ "isVLEncoded": false, ++ "nth": 19, ++ "type": "STArray" + } +- ] +- ], +- "TRANSACTION_RESULTS": { +- "telLOCAL_ERROR": -399, +- "telBAD_DOMAIN": -398, +- "telBAD_PATH_COUNT": -397, +- "telBAD_PUBLIC_KEY": -396, +- "telFAILED_PROCESSING": -395, +- "telINSUF_FEE_P": -394, +- "telNO_DST_PARTIAL": -393, +- "telCAN_NOT_QUEUE": -392, +- "telCAN_NOT_QUEUE_BALANCE": -391, +- "telCAN_NOT_QUEUE_BLOCKS": -390, ++ ], ++ [ ++ "HookGrants", ++ { ++ "isSerialized": true, ++ "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 20, ++ "type": "STArray" ++ } ++ ], ++ [ ++ "CloseResolution", ++ { ++ "isSerialized": true, ++ "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 1, ++ "type": "UInt8" ++ } ++ ], ++ [ ++ "Method", ++ { ++ "isSerialized": true, ++ "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 2, ++ "type": "UInt8" ++ } ++ ], ++ [ ++ "TransactionResult", ++ { ++ "isSerialized": true, ++ "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 3, ++ "type": "UInt8" ++ } ++ ], ++ [ ++ "TickSize", ++ { ++ "isSerialized": true, ++ "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 16, ++ "type": "UInt8" ++ } ++ ], ++ [ ++ "UNLModifyDisabling", ++ { ++ "isSerialized": true, ++ "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 17, ++ "type": "UInt8" ++ } ++ ], ++ [ ++ "HookResult", ++ { ++ "isSerialized": true, ++ "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 18, ++ "type": "UInt8" + } + ], + [ + "TakerPaysCurrency", + { -+ "nth": 1, -+ "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 1, + "type": "Hash160" + } + ], + [ + "TakerPaysIssuer", + { -+ "nth": 2, -+ "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 2, + "type": "Hash160" + } + ], + [ + "TakerGetsCurrency", + { -+ "nth": 3, -+ "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 3, + "type": "Hash160" + } + ], + [ + "TakerGetsIssuer", + { -+ "nth": 4, -+ "isVLEncoded": false, + "isSerialized": true, + "isSigningField": true, ++ "isVLEncoded": false, ++ "nth": 4, + "type": "Hash160" + } + ], + [ -+ "LedgerHash", -+ { -+ "nth": 1, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "ParentHash", -+ { -+ "nth": 2, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "TransactionHash", -+ { -+ "nth": 3, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "AccountHash", -+ { -+ "nth": 4, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "PreviousTxnID", -+ { -+ "nth": 5, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "LedgerIndex", -+ { -+ "nth": 6, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "WalletLocator", -+ { -+ "nth": 7, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "RootIndex", -+ { -+ "nth": 8, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "AccountTxnID", -+ { -+ "nth": 9, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "NFTokenID", -+ { -+ "nth": 10, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "EmitParentTxnID", -+ { -+ "nth": 11, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "EmitNonce", -+ { -+ "nth": 12, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "EmitHookHash", -+ { -+ "nth": 13, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "BookDirectory", -+ { -+ "nth": 16, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "InvoiceID", -+ { -+ "nth": 17, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "Nickname", -+ { -+ "nth": 18, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "Amendment", -+ { -+ "nth": 19, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "Digest", -+ { -+ "nth": 21, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "Channel", -+ { -+ "nth": 22, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "ConsensusHash", -+ { -+ "nth": 23, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "CheckID", -+ { -+ "nth": 24, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "ValidatedHash", -+ { -+ "nth": 25, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "PreviousPageMin", -+ { -+ "nth": 26, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "NextPageMin", -+ { -+ "nth": 27, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "NFTokenBuyOffer", -+ { -+ "nth": 28, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "NFTokenSellOffer", -+ { -+ "nth": 29, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "HookStateKey", -+ { -+ "nth": 30, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" - } - ], - [ -- "hash", -+ "HookHash", - { -- "nth": 257, -+ "nth": 31, - "isVLEncoded": false, -- "isSerialized": false, -- "isSigningField": false, -+ "isSerialized": true, -+ "isSigningField": true, - "type": "Hash256" - } - ], - [ -- "index", -+ "HookNamespace", - { -- "nth": 258, -+ "nth": 32, - "isVLEncoded": false, -- "isSerialized": false, -- "isSigningField": false, -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "Hash256" -+ } -+ ], -+ [ -+ "HookSetTxnID", -+ { -+ "nth": 33, -+ "isVLEncoded": false, -+ "isSerialized": true, -+ "isSigningField": true, - "type": "Hash256" - } - ], -@@ -866,22 +1336,12 @@ - } - ], - [ -- "taker_gets_funded", -- { -- "nth": 258, -- "isVLEncoded": false, -- "isSerialized": false, -- "isSigningField": false, -- "type": "Amount" -- } -- ], -- [ -- "taker_pays_funded", -+ "HookCallbackFee", - { -- "nth": 259, -+ "nth": 20, - "isVLEncoded": false, -- "isSerialized": false, -- "isSigningField": false, -+ "isSerialized": true, -+ "isSigningField": true, - "type": "Amount" - } - ], -@@ -1086,49 +1546,49 @@ - } - ], - [ -- "Account", -+ "HookStateData", - { -- "nth": 1, -+ "nth": 22, - "isVLEncoded": true, - "isSerialized": true, - "isSigningField": true, -- "type": "AccountID" -+ "type": "Blob" - } - ], - [ -- "Owner", -+ "HookReturnString", - { -- "nth": 2, -+ "nth": 23, - "isVLEncoded": true, - "isSerialized": true, - "isSigningField": true, -- "type": "AccountID" -+ "type": "Blob" - } - ], - [ -- "Destination", -+ "HookParameterName", - { -- "nth": 3, -+ "nth": 24, - "isVLEncoded": true, - "isSerialized": true, - "isSigningField": true, -- "type": "AccountID" -+ "type": "Blob" - } - ], - [ -- "Issuer", -+ "HookParameterValue", - { -- "nth": 4, -+ "nth": 25, - "isVLEncoded": true, - "isSerialized": true, - "isSigningField": true, -- "type": "AccountID" -+ "type": "Blob" - } - ], - [ -- "Authorize", -+ "Account", - { -- "nth": 5, -+ "nth": 1, - "isVLEncoded": true, - "isSerialized": true, - "isSigningField": true, -@@ -1136,9 +1596,9 @@ - } - ], - [ -- "Unauthorize", -+ "Owner", - { -- "nth": 6, -+ "nth": 2, - "isVLEncoded": true, - "isSerialized": true, - "isSigningField": true, -@@ -1146,9 +1606,9 @@ - } - ], - [ -- "Target", -+ "Destination", - { -- "nth": 7, -+ "nth": 3, - "isVLEncoded": true, - "isSerialized": true, - "isSigningField": true, -@@ -1156,9 +1616,9 @@ - } - ], - [ -- "RegularKey", -+ "Issuer", - { -- "nth": 8, -+ "nth": 4, - "isVLEncoded": true, - "isSerialized": true, - "isSigningField": true, -@@ -1166,9 +1626,9 @@ - } - ], - [ -- "NFTokenMinter", -+ "Authorize", - { -- "nth": 9, -+ "nth": 5, - "isVLEncoded": true, - "isSerialized": true, - "isSigningField": true, -@@ -1176,139 +1636,119 @@ - } - ], - [ -- "ObjectEndMarker", -- { -- "nth": 1, -- "isVLEncoded": false, -- "isSerialized": true, -- "isSigningField": true, -- "type": "STObject" -- } -- ], -- [ -- "TransactionMetaData", -- { -- "nth": 2, -- "isVLEncoded": false, -- "isSerialized": true, -- "isSigningField": true, -- "type": "STObject" -- } -- ], -- [ -- "CreatedNode", -+ "Unauthorize", - { -- "nth": 3, -- "isVLEncoded": false, -+ "nth": 6, -+ "isVLEncoded": true, - "isSerialized": true, - "isSigningField": true, -- "type": "STObject" -+ "type": "AccountID" - } - ], - [ -- "DeletedNode", -+ "RegularKey", - { -- "nth": 4, -- "isVLEncoded": false, -+ "nth": 8, -+ "isVLEncoded": true, - "isSerialized": true, - "isSigningField": true, -- "type": "STObject" -+ "type": "AccountID" - } - ], - [ -- "ModifiedNode", -+ "NFTokenMinter", - { -- "nth": 5, -- "isVLEncoded": false, -+ "nth": 9, -+ "isVLEncoded": true, - "isSerialized": true, - "isSigningField": true, -- "type": "STObject" -+ "type": "AccountID" - } - ], - [ -- "PreviousFields", -+ "EmitCallback", - { -- "nth": 6, -- "isVLEncoded": false, -+ "nth": 10, -+ "isVLEncoded": true, - "isSerialized": true, - "isSigningField": true, -- "type": "STObject" -+ "type": "AccountID" - } - ], - [ -- "FinalFields", -+ "HookAccount", - { -- "nth": 7, -- "isVLEncoded": false, -+ "nth": 16, -+ "isVLEncoded": true, - "isSerialized": true, - "isSigningField": true, -- "type": "STObject" -+ "type": "AccountID" - } - ], - [ -- "NewFields", -+ "Indexes", - { -- "nth": 8, -- "isVLEncoded": false, -+ "nth": 1, -+ "isVLEncoded": true, - "isSerialized": true, - "isSigningField": true, -- "type": "STObject" -+ "type": "Vector256" - } - ], - [ -- "TemplateEntry", -+ "Hashes", - { -- "nth": 9, -- "isVLEncoded": false, -+ "nth": 2, -+ "isVLEncoded": true, - "isSerialized": true, - "isSigningField": true, -- "type": "STObject" -+ "type": "Vector256" - } - ], - [ -- "Memo", -+ "Amendments", - { -- "nth": 10, -- "isVLEncoded": false, -+ "nth": 3, -+ "isVLEncoded": true, - "isSerialized": true, - "isSigningField": true, -- "type": "STObject" -+ "type": "Vector256" - } - ], - [ -- "SignerEntry", -+ "NFTokenOffers", - { -- "nth": 11, -- "isVLEncoded": false, -+ "nth": 4, -+ "isVLEncoded": true, - "isSerialized": true, - "isSigningField": true, -- "type": "STObject" -+ "type": "Vector256" - } - ], - [ -- "NFToken", -+ "HookNamespaces", - { -- "nth": 12, -- "isVLEncoded": false, -+ "nth": 5, -+ "isVLEncoded": true, - "isSerialized": true, - "isSigningField": true, -- "type": "STObject" -+ "type": "Vector256" - } - ], - [ -- "Signer", + "Paths", - { -- "nth": 16, ++ { ++ "isSerialized": true, ++ "isSigningField": true, ++ "isVLEncoded": false, + "nth": 1, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "STObject" + "type": "PathSet" - } - ], - [ -- "Majority", -+ "TransactionMetaData", - { -- "nth": 18, -+ "nth": 2, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -@@ -1316,9 +1756,9 @@ - } - ], - [ -- "DisabledValidator", -+ "CreatedNode", - { -- "nth": 19, -+ "nth": 3, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -@@ -1326,399 +1766,359 @@ - } - ], - [ -- "ArrayEndMarker", -- { -- "nth": 1, -- "isVLEncoded": false, -- "isSerialized": true, -- "isSigningField": true, -- "type": "STArray" -- } -- ], -- [ -- "Signers", -- { -- "nth": 3, -- "isVLEncoded": false, -- "isSerialized": true, -- "isSigningField": false, -- "type": "STArray" -- } -- ], -- [ -- "SignerEntries", -+ "DeletedNode", - { - "nth": 4, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "STArray" -+ "type": "STObject" - } - ], - [ -- "Template", -+ "ModifiedNode", - { - "nth": 5, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "STArray" -+ "type": "STObject" - } - ], - [ -- "Necessary", -+ "PreviousFields", - { - "nth": 6, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "STArray" -+ "type": "STObject" - } - ], - [ -- "Sufficient", -+ "FinalFields", - { - "nth": 7, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "STArray" -+ "type": "STObject" - } - ], - [ -- "AffectedNodes", -+ "NewFields", - { - "nth": 8, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "STArray" -- } -- ], -- [ -- "Memos", -- { -- "nth": 9, -- "isVLEncoded": false, -- "isSerialized": true, -- "isSigningField": true, -- "type": "STArray" -- } -- ], -- [ -- "NFTokens", -- { -- "nth": 10, -- "isVLEncoded": false, -- "isSerialized": true, -- "isSigningField": true, -- "type": "STArray" -+ "type": "STObject" - } - ], - [ -- "Majorities", -+ "TemplateEntry", - { -- "nth": 16, -+ "nth": 9, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "STArray" -+ "type": "STObject" - } - ], - [ -- "DisabledValidators", -+ "Memo", - { -- "nth": 17, -+ "nth": 10, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "STArray" -+ "type": "STObject" - } - ], - [ -- "CloseResolution", -+ "SignerEntry", - { -- "nth": 1, -+ "nth": 11, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "UInt8" -+ "type": "STObject" - } - ], - [ -- "Method", -+ "NFToken", - { -- "nth": 2, -+ "nth": 12, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "UInt8" -+ "type": "STObject" - } - ], - [ -- "TransactionResult", -+ "EmitDetails", - { -- "nth": 3, -+ "nth": 13, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "UInt8" -+ "type": "STObject" - } - ], - [ -- "TakerPaysCurrency", -+ "Hook", - { -- "nth": 1, -+ "nth": 14, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "Hash160" -+ "type": "STObject" - } - ], - [ -- "TakerPaysIssuer", -+ "Signer", - { -- "nth": 2, -+ "nth": 16, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "Hash160" -+ "type": "STObject" - } - ], - [ -- "TakerGetsCurrency", -+ "Majority", - { -- "nth": 3, -+ "nth": 18, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "Hash160" -+ "type": "STObject" - } - ], - [ -- "TakerGetsIssuer", -+ "DisabledValidator", - { -- "nth": 4, -+ "nth": 19, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "Hash160" -+ "type": "STObject" - } - ], - [ -- "Paths", -+ "EmittedTxn", - { -- "nth": 1, -+ "nth": 20, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "PathSet" -+ "type": "STObject" - } - ], - [ -- "Indexes", -+ "HookExecution", - { -- "nth": 1, -- "isVLEncoded": true, -+ "nth": 21, -+ "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "Vector256" -+ "type": "STObject" - } - ], - [ -- "Hashes", -+ "HookDefinition", - { -- "nth": 2, -- "isVLEncoded": true, -+ "nth": 22, -+ "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "Vector256" -+ "type": "STObject" - } - ], - [ -- "Amendments", -+ "HookParameter", - { -- "nth": 3, -- "isVLEncoded": true, -+ "nth": 23, -+ "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "Vector256" -+ "type": "STObject" - } - ], - [ -- "NFTokenOffers", -+ "HookGrant", - { -- "nth": 4, -- "isVLEncoded": true, -+ "nth": 24, -+ "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "Vector256" -+ "type": "STObject" - } - ], - [ -- "Transaction", -+ "Signers", - { -- "nth": 1, -+ "nth": 3, - "isVLEncoded": false, -- "isSerialized": false, -+ "isSerialized": true, - "isSigningField": false, -- "type": "Transaction" -+ "type": "STArray" - } - ], - [ -- "LedgerEntry", -+ "SignerEntries", - { -- "nth": 1, -+ "nth": 4, - "isVLEncoded": false, -- "isSerialized": false, -- "isSigningField": false, -- "type": "LedgerEntry" ++ } ++ ], ++ [ ++ "Indexes", ++ { + "isSerialized": true, + "isSigningField": true, -+ "type": "STArray" - } - ], - [ -- "Validation", -+ "Template", - { -- "nth": 1, -+ "nth": 5, - "isVLEncoded": false, -- "isSerialized": false, -- "isSigningField": false, -- "type": "Validation" -+ "isSerialized": true, -+ "isSigningField": true, -+ "type": "STArray" - } - ], - [ -- "SignerListID", -+ "Necessary", - { -- "nth": 38, -+ "nth": 6, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "UInt32" -+ "type": "STArray" - } - ], - [ -- "SettleDelay", -+ "Sufficient", - { -- "nth": 39, -+ "nth": 7, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "UInt32" -+ "type": "STArray" - } - ], - [ -- "TicketCount", -+ "AffectedNodes", - { -- "nth": 40, -+ "nth": 8, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "UInt32" -+ "type": "STArray" - } - ], - [ -- "TicketSequence", -+ "Memos", - { -- "nth": 41, -+ "nth": 9, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "UInt32" -+ "type": "STArray" - } - ], - [ -- "NFTokenTaxon", -+ "NFTokens", - { -- "nth": 42, -+ "nth": 10, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "UInt32" -+ "type": "STArray" - } - ], - [ -- "MintedNFTokens", -+ "Hooks", - { -- "nth": 43, -+ "nth": 11, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "UInt32" -+ "type": "STArray" - } - ], - [ -- "BurnedNFTokens", -+ "Majorities", - { -- "nth": 44, -+ "nth": 16, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "UInt32" -+ "type": "STArray" - } - ], - [ -- "Channel", -+ "DisabledValidators", - { -- "nth": 22, -+ "nth": 17, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "Hash256" -+ "type": "STArray" - } - ], - [ -- "ConsensusHash", -+ "HookExecutions", - { -- "nth": 23, -+ "nth": 18, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "Hash256" -+ "type": "STArray" - } - ], - [ -- "CheckID", -+ "HookParameters", - { -- "nth": 24, -+ "nth": 19, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "Hash256" -+ "type": "STArray" - } - ], - [ -- "ValidatedHash", -+ "HookGrants", - { -- "nth": 25, -+ "nth": 20, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "Hash256" -+ "type": "STArray" - } - ], - [ -- "PreviousPageMin", -+ "Generic", - { -- "nth": 26, -+ "nth": 0, - "isVLEncoded": false, -- "isSerialized": true, -- "isSigningField": true, -- "type": "Hash256" -+ "isSerialized": false, -+ "isSigningField": false, -+ "type": "Unknown" - } - ], - [ -- "NextPageMin", -+ "Invalid", - { -- "nth": 27, -+ "nth": -1, - "isVLEncoded": false, -- "isSerialized": true, -- "isSigningField": true, -- "type": "Hash256" -+ "isSerialized": false, -+ "isSigningField": false, -+ "type": "Unknown" - } - ], - [ -- "NFTokenBuyOffer", -+ "TicketID", - { -- "nth": 28, -+ "nth": 20, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -@@ -1726,73 +2126,73 @@ - } - ], - [ -- "NFTokenSellOffer", -+ "hash", - { -- "nth": 29, -+ "nth": 257, - "isVLEncoded": false, -- "isSerialized": true, -- "isSigningField": true, -+ "isSerialized": false, -+ "isSigningField": false, - "type": "Hash256" - } - ], - [ -- "TickSize", -+ "index", - { -- "nth": 16, -+ "nth": 258, - "isVLEncoded": false, -- "isSerialized": true, -- "isSigningField": true, -- "type": "UInt8" -+ "isSerialized": false, -+ "isSigningField": false, -+ "type": "Hash256" - } - ], - [ -- "UNLModifyDisabling", -+ "taker_gets_funded", - { -- "nth": 17, -+ "nth": 258, - "isVLEncoded": false, -- "isSerialized": true, -- "isSigningField": true, -- "type": "UInt8" -+ "isSerialized": false, -+ "isSigningField": false, -+ "type": "Amount" - } - ], - [ -- "DestinationNode", -+ "taker_pays_funded", - { -- "nth": 9, -+ "nth": 259, - "isVLEncoded": false, -- "isSerialized": true, -- "isSigningField": true, -- "type": "UInt64" -+ "isSerialized": false, -+ "isSigningField": false, -+ "type": "Amount" - } - ], - [ -- "Cookie", -+ "Target", - { -- "nth": 10, -- "isVLEncoded": false, -+ "nth": 7, + "isVLEncoded": true, - "isSerialized": true, - "isSigningField": true, -- "type": "UInt64" -+ "type": "AccountID" - } - ], - [ -- "ServerVersion", -+ "ObjectEndMarker", - { -- "nth": 11, + "nth": 1, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "UInt64" -+ "type": "STObject" - } - ], - [ -- "NFTokenOfferNode", -+ "ArrayEndMarker", - { -- "nth": 12, ++ "type": "Vector256" ++ } ++ ], ++ [ ++ "Hashes", ++ { ++ "isSerialized": true, ++ "isSigningField": true, ++ "isVLEncoded": true, ++ "nth": 2, ++ "type": "Vector256" ++ } ++ ], ++ [ ++ "Amendments", ++ { ++ "isSerialized": true, ++ "isSigningField": true, ++ "isVLEncoded": true, ++ "nth": 3, ++ "type": "Vector256" ++ } ++ ], ++ [ ++ "NFTokenOffers", ++ { ++ "isSerialized": true, ++ "isSigningField": true, ++ "isVLEncoded": true, ++ "nth": 4, ++ "type": "Vector256" ++ } ++ ], ++ [ ++ "HookNamespaces", ++ { ++ "isSerialized": true, ++ "isSigningField": true, ++ "isVLEncoded": true, ++ "nth": 5, ++ "type": "Vector256" ++ } ++ ], ++ [ ++ "Transaction", ++ { ++ "isSerialized": false, ++ "isSigningField": false, ++ "isVLEncoded": false, + "nth": 1, - "isVLEncoded": false, - "isSerialized": true, - "isSigningField": true, -- "type": "UInt64" -+ "type": "STArray" - } - ] - ], -@@ -1938,7 +2338,6 @@ ++ "type": "Transaction" ++ } ++ ], ++ [ ++ "LedgerEntry", ++ { ++ "isSerialized": false, ++ "isSigningField": false, ++ "isVLEncoded": false, ++ "nth": 1, ++ "type": "LedgerEntry" ++ } ++ ], ++ [ ++ "Validation", ++ { ++ "isSerialized": false, ++ "isSigningField": false, ++ "isVLEncoded": false, ++ "nth": 1, ++ "type": "Validation" ++ } ++ ], ++ [ ++ "Metadata", ++ { ++ "isSerialized": false, ++ "isSigningField": false, ++ "isVLEncoded": false, ++ "nth": 1, ++ "type": "Metadata" ++ } ++ ] ++ ], ++ "LEDGER_ENTRY_TYPES": { ++ "AccountRoot": 97, ++ "Amendments": 102, ++ "Any": 0, ++ "Check": 67, ++ "Child": 7378, ++ "Contract": 99, ++ "DepositPreauth": 112, ++ "DirectoryNode": 100, ++ "EmittedTxn": 69, ++ "Escrow": 117, ++ "FeeSettings": 115, ++ "GeneratorMap": 103, ++ "Hook": 72, ++ "HookDefinition": 68, ++ "HookState": 118, ++ "Invalid": -1, ++ "LedgerHashes": 104, ++ "NFTokenOffer": 55, ++ "NFTokenPage": 80, ++ "NegativeUNL": 78, ++ "Nickname": 110, ++ "Offer": 111, ++ "PayChannel": 120, ++ "RippleState": 114, ++ "SignerList": 83, ++ "Ticket": 84, ++ "UriToken": 85 ++ }, ++ "TRANSACTION_RESULTS": { ++ "tecCANT_ACCEPT_OWN_NFTOKEN_OFFER": 158, ++ "tecCLAIM": 100, ++ "tecCRYPTOCONDITION_ERROR": 146, ++ "tecDIR_FULL": 121, ++ "tecDST_TAG_NEEDED": 143, ++ "tecDUPLICATE": 149, ++ "tecEXPIRED": 148, ++ "tecFAILED_PROCESSING": 105, ++ "tecFROZEN": 137, ++ "tecHAS_OBLIGATIONS": 151, ++ "tecHOOK_REJECTED": 153, ++ "tecINSUFFICIENT_FUNDS": 159, ++ "tecINSUFFICIENT_PAYMENT": 161, ++ "tecINSUFFICIENT_RESERVE": 141, ++ "tecINSUFF_FEE": 136, ++ "tecINSUF_RESERVE_LINE": 122, ++ "tecINSUF_RESERVE_OFFER": 123, ++ "tecINTERNAL": 144, ++ "tecINVARIANT_FAILED": 147, ++ "tecKILLED": 150, ++ "tecMAX_SEQUENCE_REACHED": 154, ++ "tecNEED_MASTER_KEY": 142, ++ "tecNFTOKEN_BUY_SELL_MISMATCH": 156, ++ "tecNFTOKEN_OFFER_TYPE_MISMATCH": 157, ++ "tecNO_ALTERNATIVE_KEY": 130, ++ "tecNO_AUTH": 134, ++ "tecNO_DST": 124, ++ "tecNO_DST_INSUF_XRP": 125, ++ "tecNO_ENTRY": 140, ++ "tecNO_ISSUER": 133, ++ "tecNO_LINE": 135, ++ "tecNO_LINE_INSUF_RESERVE": 126, ++ "tecNO_LINE_REDUNDANT": 127, ++ "tecNO_PERMISSION": 139, ++ "tecNO_REGULAR_KEY": 131, ++ "tecNO_SUITABLE_NFTOKEN_PAGE": 155, ++ "tecNO_TARGET": 138, ++ "tecOBJECT_NOT_FOUND": 160, ++ "tecOVERSIZE": 145, ++ "tecOWNERS": 132, ++ "tecPATH_DRY": 128, ++ "tecPATH_PARTIAL": 101, ++ "tecPRECISION_LOSS": 163, ++ "tecREQUIRES_FLAG": 162, ++ "tecTOO_SOON": 152, ++ "tecUNFUNDED": 129, ++ "tecUNFUNDED_ADD": 102, ++ "tecUNFUNDED_OFFER": 103, ++ "tecUNFUNDED_PAYMENT": 104, ++ "tefALREADY": -198, ++ "tefBAD_ADD_AUTH": -197, ++ "tefBAD_AUTH": -196, ++ "tefBAD_AUTH_MASTER": -183, ++ "tefBAD_LEDGER": -195, ++ "tefBAD_QUORUM": -185, ++ "tefBAD_SIGNATURE": -186, ++ "tefCREATED": -194, ++ "tefEXCEPTION": -193, ++ "tefFAILURE": -199, ++ "tefINTERNAL": -192, ++ "tefINVARIANT_FAILED": -182, ++ "tefMASTER_DISABLED": -188, ++ "tefMAX_LEDGER": -187, ++ "tefNFTOKEN_IS_NOT_TRANSFERABLE": -179, ++ "tefNOT_MULTI_SIGNING": -184, ++ "tefNO_AUTH_REQUIRED": -191, ++ "tefNO_TICKET": -180, ++ "tefPAST_SEQ": -190, ++ "tefTOO_BIG": -181, ++ "tefWRONG_PRIOR": -189, ++ "telBAD_DOMAIN": -398, ++ "telBAD_PATH_COUNT": -397, ++ "telBAD_PUBLIC_KEY": -396, ++ "telCAN_NOT_QUEUE": -392, ++ "telCAN_NOT_QUEUE_BALANCE": -391, + "telCAN_NOT_QUEUE_BLOCKED": -389, ++ "telCAN_NOT_QUEUE_BLOCKS": -390, + "telCAN_NOT_QUEUE_FEE": -388, + "telCAN_NOT_QUEUE_FULL": -387, +- +- "temMALFORMED": -299, ++ "telFAILED_PROCESSING": -395, ++ "telINSUF_FEE_P": -394, ++ "telLOCAL_ERROR": -399, ++ "telNETWORK_ID_MAKES_TX_NON_CANONICAL": -384, ++ "telNON_LOCAL_EMITTED_TXN": -383, ++ "telNO_DST_PARTIAL": -393, ++ "telREQUIRES_NETWORK_ID": -385, ++ "telWRONG_NETWORK": -386, + "temBAD_AMOUNT": -298, + "temBAD_CURRENCY": -297, + "temBAD_EXPIRATION": -296, + "temBAD_FEE": -295, + "temBAD_ISSUER": -294, + "temBAD_LIMIT": -293, ++ "temBAD_NFTOKEN_TRANSFER_FEE": -260, + "temBAD_OFFER": -292, + "temBAD_PATH": -291, + "temBAD_PATH_LOOP": -290, ++ "temBAD_QUORUM": -271, + "temBAD_REGKEY": -289, + "temBAD_SEND_XRP_LIMIT": -288, + "temBAD_SEND_XRP_MAX": -287, +@@ -1829,145 +2397,106 @@ + "temBAD_SEND_XRP_PATHS": -284, + "temBAD_SEQUENCE": -283, + "temBAD_SIGNATURE": -282, ++ "temBAD_SIGNER": -272, + "temBAD_SRC_ACCOUNT": -281, ++ "temBAD_TICK_SIZE": -269, + "temBAD_TRANSFER_RATE": -280, ++ "temBAD_WEIGHT": -270, ++ "temCANNOT_PREAUTH_SELF": -267, ++ "temDISABLED": -273, + "temDST_IS_SRC": -279, + "temDST_NEEDED": -278, ++ "temHOOK_DATA_TOO_LARGE": -265, ++ "temHOOK_REJECTED": -264, + "temINVALID": -277, ++ "temINVALID_ACCOUNT_ID": -268, ++ "temINVALID_COUNT": -266, + "temINVALID_FLAG": -276, ++ "temMALFORMED": -299, + "temREDUNDANT": -275, + "temRIPPLE_EMPTY": -274, +- "temDISABLED": -273, +- "temBAD_SIGNER": -272, +- "temBAD_QUORUM": -271, +- "temBAD_WEIGHT": -270, +- "temBAD_TICK_SIZE": -269, +- "temINVALID_ACCOUNT_ID": -268, +- "temCANNOT_PREAUTH_SELF": -267, +- "temUNCERTAIN": -266, +- "temUNKNOWN": -265, +- "temSEQ_AND_TICKET": -264, +- "temBAD_NFTOKEN_TRANSFER_FEE": -263, +- +- "tefFAILURE": -199, +- "tefALREADY": -198, +- "tefBAD_ADD_AUTH": -197, +- "tefBAD_AUTH": -196, +- "tefBAD_LEDGER": -195, +- "tefCREATED": -194, +- "tefEXCEPTION": -193, +- "tefINTERNAL": -192, +- "tefNO_AUTH_REQUIRED": -191, +- "tefPAST_SEQ": -190, +- "tefWRONG_PRIOR": -189, +- "tefMASTER_DISABLED": -188, +- "tefMAX_LEDGER": -187, +- "tefBAD_SIGNATURE": -186, +- "tefBAD_QUORUM": -185, +- "tefNOT_MULTI_SIGNING": -184, +- "tefBAD_AUTH_MASTER": -183, +- "tefINVARIANT_FAILED": -182, +- "tefTOO_BIG": -181, +- "tefNO_TICKET": -180, +- "tefNFTOKEN_IS_NOT_TRANSFERABLE": -179, +- +- "terRETRY": -99, ++ "temSEQ_AND_TICKET": -261, ++ "temUNCERTAIN": -263, ++ "temUNKNOWN": -262, + "terFUNDS_SPENT": -98, + "terINSUF_FEE_B": -97, ++ "terLAST": -91, + "terNO_ACCOUNT": -96, + "terNO_AUTH": -95, ++ "terNO_HOOK": -87, + "terNO_LINE": -94, ++ "terNO_RIPPLE": -90, + "terOWNERS": -93, + "terPRE_SEQ": -92, +- "terLAST": -91, +- "terNO_RIPPLE": -90, +- "terQUEUED": -89, + "terPRE_TICKET": -88, +- +- "tesSUCCESS": 0, +- +- "tecCLAIM": 100, +- "tecPATH_PARTIAL": 101, +- "tecUNFUNDED_ADD": 102, +- "tecUNFUNDED_OFFER": 103, +- "tecUNFUNDED_PAYMENT": 104, +- "tecFAILED_PROCESSING": 105, +- "tecDIR_FULL": 121, +- "tecINSUF_RESERVE_LINE": 122, +- "tecINSUF_RESERVE_OFFER": 123, +- "tecNO_DST": 124, +- "tecNO_DST_INSUF_XRP": 125, +- "tecNO_LINE_INSUF_RESERVE": 126, +- "tecNO_LINE_REDUNDANT": 127, +- "tecPATH_DRY": 128, +- "tecUNFUNDED": 129, +- "tecNO_ALTERNATIVE_KEY": 130, +- "tecNO_REGULAR_KEY": 131, +- "tecOWNERS": 132, +- "tecNO_ISSUER": 133, +- "tecNO_AUTH": 134, +- "tecNO_LINE": 135, +- "tecINSUFF_FEE": 136, +- "tecFROZEN": 137, +- "tecNO_TARGET": 138, +- "tecNO_PERMISSION": 139, +- "tecNO_ENTRY": 140, +- "tecINSUFFICIENT_RESERVE": 141, +- "tecNEED_MASTER_KEY": 142, +- "tecDST_TAG_NEEDED": 143, +- "tecINTERNAL": 144, +- "tecOVERSIZE": 145, +- "tecCRYPTOCONDITION_ERROR": 146, +- "tecINVARIANT_FAILED": 147, +- "tecEXPIRED": 148, +- "tecDUPLICATE": 149, +- "tecKILLED": 150, +- "tecHAS_OBLIGATIONS": 151, +- "tecTOO_SOON": 152, +- +- "tecMAX_SEQUENCE_REACHED": 154, +- "tecNO_SUITABLE_NFTOKEN_PAGE": 155, +- "tecNFTOKEN_BUY_SELL_MISMATCH": 156, +- "tecNFTOKEN_OFFER_TYPE_MISMATCH": 157, +- "tecCANT_ACCEPT_OWN_NFTOKEN_OFFER": 158, +- "tecINSUFFICIENT_FUNDS": 159, +- "tecOBJECT_NOT_FOUND": 160, +- "tecINSUFFICIENT_PAYMENT": 161, +- "tecINCORRECT_ASSET": 162, +- "tecTOO_MANY": 163 ++ "terQUEUED": -89, ++ "terRETRY": -99, ++ "tesSUCCESS": 0 }, "TRANSACTION_TYPES": { - "Invalid": -1, +- "Invalid": -1, - - "Payment": 0, - "EscrowCreate": 1, - "EscrowFinish": 2, -@@ -1961,6 +2360,7 @@ - "DepositPreauth": 19, - "TrustSet": 20, - "AccountDelete": 21, +- "Payment": 0, +- "EscrowCreate": 1, +- "EscrowFinish": 2, ++ "AccountDelete": 21, + "AccountSet": 3, ++ "Amendment": 100, ++ "CheckCancel": 18, ++ "CheckCash": 17, ++ "CheckCreate": 16, ++ "ClaimReward": 98, ++ "Contract": 9, ++ "DepositPreauth": 19, ++ "EmitFailure": 103, + "EscrowCancel": 4, +- "SetRegularKey": 5, +- "NickNameSet": 6, +- "OfferCreate": 7, ++ "EscrowCreate": 1, ++ "EscrowFinish": 2, ++ "Fee": 101, ++ "Invalid": -1, ++ "Invoke": 99, ++ "NFTokenAcceptOffer": 29, ++ "NFTokenBurn": 26, ++ "NFTokenCancelOffer": 28, ++ "NFTokenCreateOffer": 27, ++ "NFTokenMint": 25, ++ "NicknameSet": 6, + "OfferCancel": 8, +- "Contract": 9, +- "TicketCreate": 10, +- "TicketCancel": 11, +- "SignerListSet": 12, ++ "OfferCreate": 7, ++ "Payment": 0, ++ "PaymentChannelClaim": 15, + "PaymentChannelCreate": 13, + "PaymentChannelFund": 14, +- "PaymentChannelClaim": 15, +- "CheckCreate": 16, +- "CheckCash": 17, +- "CheckCancel": 18, +- "DepositPreauth": 19, + "SetHook": 22, - "NFTokenMint": 25, - "NFTokenBurn": 26, - "NFTokenCreateOffer": 27, ++ "SetRegularKey": 5, ++ "SignerListSet": 12, ++ "SpinalTap": 11, ++ "TicketCreate": 10, + "TrustSet": 20, +- "AccountDelete": 21, +- "NFTokenMint": 25, +- "NFTokenBurn": 26, +- "NFTokenCreateOffer": 27, +- "NFTokenCancelOffer": 28, +- "NFTokenAcceptOffer": 29, +- "EnableAmendment": 100, +- "SetFee": 101, +- "UNLModify": 102 +- } ++ "UNLModify": 102, ++ "UriToken": 45 ++ }, ++ "TYPES": { ++ "AccountID": 8, ++ "Amount": 6, ++ "Blob": 7, ++ "Done": -1, ++ "Hash128": 4, ++ "Hash160": 17, ++ "Hash256": 5, ++ "LedgerEntry": 10002, ++ "Metadata": 10004, ++ "NotPresent": 0, ++ "PathSet": 18, ++ "STArray": 15, ++ "STObject": 14, ++ "Transaction": 10001, ++ "UInt16": 1, ++ "UInt192": 21, ++ "UInt32": 2, ++ "UInt384": 22, ++ "UInt512": 23, ++ "UInt64": 3, ++ "UInt8": 16, ++ "UInt96": 20, ++ "Unknown": -2, ++ "Validation": 10003, ++ "Vector256": 19 ++ }, ++ "hash": "D4A1424FAFB7E36115FCD3FF1EE1E7A72EBFACAB6659AFC018D6FAB5FAEE74DE" + } +\ No newline at end of file diff --git a/state/actions/deployHook.tsx b/state/actions/deployHook.tsx index f1df9cb..c7037ae 100644 --- a/state/actions/deployHook.tsx +++ b/state/actions/deployHook.tsx @@ -8,6 +8,7 @@ import { ref } from 'valtio' import estimateFee from '../../utils/estimateFee' import { SetHookData } from '../../utils/setHook' import ResultLink from '../../components/ResultLink' +import { xrplSend } from './xrpl-client' export const sha256 = async (string: string) => { const utf8 = new TextEncoder().encode(string) @@ -64,9 +65,6 @@ export const prepareDeployHookTx = async ( if (!activeFile?.compiledContent) { return } - if (!state.client) { - return - } const HookNamespace = (await sha256(data.HookNamespace)).toUpperCase() const hookOnValues: (keyof TTS)[] = data.Invoke.map(tt => tt.value) const { HookParameters } = data @@ -87,30 +85,30 @@ export const prepareDeployHookTx = async ( // } // } // }); - if (typeof window !== 'undefined') { - const tx = { - Account: account.address, - TransactionType: 'SetHook', - Sequence: account.sequence, - Fee: data.Fee, - Hooks: [ - { - Hook: { - CreateCode: arrayBufferToHex(activeFile?.compiledContent).toUpperCase(), - HookOn: calculateHookOn(hookOnValues), - HookNamespace, - HookApiVersion: 0, - Flags: 1, - // ...(filteredHookGrants.length > 0 && { HookGrants: filteredHookGrants }), - ...(filteredHookParameters.length > 0 && { - HookParameters: filteredHookParameters - }) - } + if (typeof window === 'undefined') return; + const tx = { + Account: account.address, + TransactionType: 'SetHook', + Sequence: account.sequence, + Fee: data.Fee, + NetworkID: process.env.NEXT_PUBLIC_NETWORK_ID || state.client.getState().server.networkId, + Hooks: [ + { + Hook: { + CreateCode: arrayBufferToHex(activeFile?.compiledContent).toUpperCase(), + HookOn: calculateHookOn(hookOnValues), + HookNamespace, + HookApiVersion: 0, + Flags: 1, + // ...(filteredHookGrants.length > 0 && { HookGrants: filteredHookGrants }), + ...(filteredHookParameters.length > 0 && { + HookParameters: filteredHookParameters + }) } - ] - } - return tx + } + ] } + return tx } /* deployHook function turns the wasm binary into @@ -127,9 +125,6 @@ export const deployHook = async (account: IAccount & { name?: string }, data: Se if (!tx) { return } - if (!state.client) { - return - } const keypair = derive.familySeed(account.secret) const { signedTransaction } = sign(tx, keypair) @@ -140,7 +135,7 @@ export const deployHook = async (account: IAccount & { name?: string }, data: Se let submitRes try { - submitRes = await state.client?.send({ + submitRes = await xrplSend({ command: 'submit', tx_blob: signedTransaction }) @@ -199,9 +194,6 @@ export const deployHook = async (account: IAccount & { name?: string }, data: Se } export const deleteHook = async (account: IAccount & { name?: string }) => { - if (!state.client) { - return - } const currentAccount = state.accounts.find(acc => acc.address === account.address) if (currentAccount?.isLoading || !currentAccount?.hooks.length) { return @@ -239,7 +231,7 @@ export const deleteHook = async (account: IAccount & { name?: string }) => { let submitRes const toastId = toast.loading('Deleting hook...') try { - submitRes = await state.client.send({ + submitRes = await xrplSend({ command: 'submit', tx_blob: signedTransaction }) diff --git a/state/actions/sendTransaction.ts b/state/actions/sendTransaction.ts deleted file mode 100644 index 44efaa0..0000000 --- a/state/actions/sendTransaction.ts +++ /dev/null @@ -1,66 +0,0 @@ -import { derive, sign } from 'xrpl-accountlib' - -import state from '..' -import type { IAccount } from '..' - -interface TransactionOptions { - TransactionType: string - Account?: string - Fee?: string - Destination?: string - [index: string]: any -} -interface OtherOptions { - logPrefix?: string -} - -export const sendTransaction = async ( - account: IAccount, - txOptions: TransactionOptions, - options?: OtherOptions -) => { - if (!state.client) throw Error('XRPL client not initalized') - - const { Fee = '1000', ...opts } = txOptions - const tx: TransactionOptions = { - Account: account.address, - Sequence: account.sequence, - Fee, // TODO auto-fillable default - ...opts - } - const { logPrefix = '' } = options || {} - try { - const signedAccount = derive.familySeed(account.secret) - const { signedTransaction } = sign(tx, signedAccount) - const response = await state.client.send({ - command: 'submit', - tx_blob: signedTransaction - }) - if (response.engine_result === 'tesSUCCESS') { - state.transactionLogs.push({ - type: 'success', - message: `${logPrefix}[${response.engine_result}] ${response.engine_result_message}` - }) - } else { - state.transactionLogs.push({ - type: 'error', - message: `${logPrefix}[${response.error || response.engine_result}] ${ - response.error_exception || response.engine_result_message - }` - }) - } - const currAcc = state.accounts.find(acc => acc.address === account.address) - if (currAcc && response.account_sequence_next) { - currAcc.sequence = response.account_sequence_next - } - } catch (err) { - console.error(err) - state.transactionLogs.push({ - type: 'error', - message: - err instanceof Error - ? `${logPrefix}Error: ${err.message}` - : `${logPrefix}Something went wrong, try again later` - }) - } -} diff --git a/state/actions/sendTransaction.tsx b/state/actions/sendTransaction.tsx index a515972..07d8a99 100644 --- a/state/actions/sendTransaction.tsx +++ b/state/actions/sendTransaction.tsx @@ -4,6 +4,7 @@ import state from '..' import type { IAccount } from '..' import ResultLink from '../../components/ResultLink' import { ref } from 'valtio' +import { xrplSend } from './xrpl-client' interface TransactionOptions { TransactionType: string @@ -21,20 +22,19 @@ export const sendTransaction = async ( txOptions: TransactionOptions, options?: OtherOptions ) => { - if (!state.client) throw Error('XRPL client not initalized') - const { Fee = '1000', ...opts } = txOptions const tx: TransactionOptions = { Account: account.address, Sequence: account.sequence, - Fee, // TODO auto-fillable default + Fee, + NetworkID: process.env.NEXT_PUBLIC_NETWORK_ID || state.client.getState().server.networkId, ...opts } const { logPrefix = '' } = options || {} try { const signedAccount = derive.familySeed(account.secret) const { signedTransaction } = sign(tx, signedAccount) - const response = await state.client.send({ + const response = await xrplSend({ command: 'submit', tx_blob: signedTransaction }) diff --git a/state/actions/xrpl-client.ts b/state/actions/xrpl-client.ts new file mode 100644 index 0000000..9bb79c7 --- /dev/null +++ b/state/actions/xrpl-client.ts @@ -0,0 +1,7 @@ +import { XrplClient } from 'xrpl-client'; +import state from '..'; + +export const xrplSend = async(...params: Parameters) => { + const client = await state.client.ready() + return client.send(...params); +} \ No newline at end of file diff --git a/state/index.ts b/state/index.ts index 257cf53..d317655 100644 --- a/state/index.ts +++ b/state/index.ts @@ -78,7 +78,7 @@ export interface IState { splits: { [id: string]: SplitSize } - client: XrplClient | null + client: XrplClient clientStatus: 'offline' | 'online' mainModalOpen: boolean mainModalShowed: boolean @@ -113,7 +113,7 @@ let initialState: IState = { tabSize: 2 }, splits: {}, - client: null, + client: undefined!, // set below only. clientStatus: 'offline' as 'offline', mainModalOpen: false, mainModalShowed: false, @@ -153,9 +153,9 @@ const state = proxy({ }) // Initialize socket connection const client = new XrplClient(`wss://${process.env.NEXT_PUBLIC_TESTNET_URL}`) +state.client = ref(client); client.on('online', () => { - state.client = ref(client) state.clientStatus = 'online' }) diff --git a/utils/estimateFee.ts b/utils/estimateFee.ts index f8cdab1..b4de7d1 100644 --- a/utils/estimateFee.ts +++ b/utils/estimateFee.ts @@ -1,6 +1,7 @@ import toast from 'react-hot-toast' import { derive, sign } from 'xrpl-accountlib' -import state, { IAccount } from '../state' +import { IAccount } from '../state' +import { xrplSend } from '../state/actions/xrpl-client' const estimateFee = async ( tx: Record, @@ -22,7 +23,7 @@ const estimateFee = async ( const keypair = derive.familySeed(account.secret) const { signedTransaction } = sign(copyTx, keypair) - const res = await state.client?.send({ command: 'fee', tx_blob: signedTransaction }) + const res = await xrplSend({ command: 'fee', tx_blob: signedTransaction }) if (res && res.drops) { return res.drops } diff --git a/utils/hookOnCalculator.ts b/utils/hookOnCalculator.ts index 9d4a483..75e6a0b 100644 --- a/utils/hookOnCalculator.ts +++ b/utils/hookOnCalculator.ts @@ -29,17 +29,15 @@ export const tts = { export type TTS = typeof tts const calculateHookOn = (arr: (keyof TTS)[]) => { - let start = '0x000000003e3ff5bf' + let s = '0x3e3ff5bf' arr.forEach(n => { - let v = BigInt(start) + let v = BigInt(s) v ^= BigInt(1) << BigInt(tts[n as keyof TTS]) - let s = v.toString(16) - let l = s.length - if (l < 16) s = '0'.repeat(16 - l) + s - s = '0x' + s - start = s + s = "0x" + v.toString(16) }) - return start.substring(2) + s = s.replace('0x', '') + s = s.padStart(64, '0') + return s } export default calculateHookOn diff --git a/yarn.lock b/yarn.lock index ee5f326..d643e0c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1343,13 +1343,6 @@ balanced-match@^1.0.0: resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base-x@3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/base-x/-/base-x-3.0.4.tgz" - integrity sha512-UYOadoSIkEI/VrRGSG6qp93rp2WdokiAiNYDfGW5qURAY8GiAQkvMbwNNSDYiVJopqv4gCna7xqf4rrNGp+5AA== - dependencies: - safe-buffer "^5.0.1" - base-x@3.0.9, base-x@^3.0.2, base-x@^3.0.3: version "3.0.9" resolved "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz" @@ -1367,7 +1360,7 @@ before-after-hook@^2.2.0: resolved "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz" integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ== -big-integer@^1.6.48, big-integer@latest: +big-integer@^1.6.48, big-integer@^1.6.51: version "1.6.51" resolved "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz" integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== @@ -1377,11 +1370,6 @@ big.js@^5.2.2: resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== -bignumber.js@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/bignumber.js/-/bignumber.js-4.1.0.tgz" - integrity sha512-eJzYkFYy9L4JzXsbymsFn3p54D+llV27oTQ+ziJG7WFRheJcNZilgVXMG0LoZtlQSKBsJdWtLFqOD0u+U0jZKA== - bignumber.js@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/bignumber.js/-/bignumber.js-5.0.0.tgz" @@ -1399,9 +1387,9 @@ bindings@^1.3.0: dependencies: file-uri-to-path "1.0.0" -bip32@^2.0.5: +bip32@^2.0.6: version "2.0.6" - resolved "https://registry.npmjs.org/bip32/-/bip32-2.0.6.tgz" + resolved "https://registry.yarnpkg.com/bip32/-/bip32-2.0.6.tgz#6a81d9f98c4cd57d05150c60d8f9e75121635134" integrity sha512-HpV5OMLLGTjSVblmrtYRfFFKuQB+GArM0+XP8HGWfJ5vxYBqo+DesvJwOdC2WJ3bCkZShGf0QIfoIpeomVzVdA== dependencies: "@types/node" "10.12.18" @@ -1412,9 +1400,9 @@ bip32@^2.0.5: typeforce "^1.11.5" wif "^2.0.6" -bip39@^3.0.2: +bip39@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/bip39/-/bip39-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.4.tgz#5b11fed966840b5e1b8539f0f54ab6392969b2a0" integrity sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw== dependencies: "@types/node" "11.11.6" @@ -1432,6 +1420,11 @@ bn.js@^5.1.1: resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== +bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + bottleneck@^2.15.3: version "2.19.5" resolved "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz" @@ -4045,15 +4038,7 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" -ripple-address-codec@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/ripple-address-codec/-/ripple-address-codec-3.0.4.tgz" - integrity sha512-GFk1BgavW+9oy5Z1Cp6YAGMfB51QdbeuhOo0Zir+s+S40F5vHtVZYu6zZE1eOAX92A5kygPuBRX4APH2v8Yhmg== - dependencies: - base-x "3.0.4" - create-hash "^1.1.2" - -ripple-address-codec@^4.1.0, ripple-address-codec@^4.1.1, ripple-address-codec@^4.2.3: +ripple-address-codec@^4.1.1, ripple-address-codec@^4.2.3: version "4.2.3" resolved "https://registry.npmjs.org/ripple-address-codec/-/ripple-address-codec-4.2.3.tgz" integrity sha512-9Nd0hQmKoJEhSTzYR9kYjKmSWlH6HaVosNVAM7mIIVlzcNlQCPfKXj7CfvXcRiHl3C6XUZj7RFLqzVaPjq2ufA== @@ -4069,7 +4054,7 @@ ripple-address-codec@^4.2.4: base-x "3.0.9" create-hash "^1.1.2" -ripple-binary-codec@=1.4.2, ripple-binary-codec@^0.2.4, ripple-binary-codec@^1.1.3, ripple-binary-codec@^1.4.2: +ripple-binary-codec@=1.4.2, ripple-binary-codec@^1.1.3, ripple-binary-codec@^1.4.2, ripple-binary-codec@^1.5.0-beta.2: version "1.4.2" resolved "https://registry.yarnpkg.com/ripple-binary-codec/-/ripple-binary-codec-1.4.2.tgz#cdc35353e4bc7c3a704719247c82b4c4d0b57dd3" integrity sha512-EDKIyZMa/6Ay/oNgCwjD9b9CJv0zmBreeHVQeG4BYwy+9GPnIQjNeT5e/aB6OjAnhcmpgbPeBmzwmNVwzxlt0w== @@ -4081,32 +4066,7 @@ ripple-binary-codec@=1.4.2, ripple-binary-codec@^0.2.4, ripple-binary-codec@^1.1 decimal.js "^10.2.0" ripple-address-codec "^4.2.4" -ripple-bs58@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/ripple-bs58/-/ripple-bs58-4.0.1.tgz" - integrity sha512-qV88Ls19OIcTt5e70Helj9aLfuFA1f9HLv1EfUGqMXOLgJhpotzfdcn+rXo9oYHd31BvPT/q64BuRKP5IEM+AA== - dependencies: - base-x "^3.0.2" - -ripple-bs58check@latest: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripple-bs58check/-/ripple-bs58check-2.0.2.tgz#f270dbcd81630b26a21901c3ce27b7d62a4e9c91" - integrity sha512-clZI2ytGYs3st8yz66EFfyXs5ZpHQjL/Y2txXUPkzj5bjwgODXFO7Ms0tuUj6aFek/NKk8dsqxUmQsPjmsBrwg== - dependencies: - create-hash "^1.1.0" - ripple-bs58 "^4.0.0" - -ripple-hashes@^0.3.4, ripple-hashes@latest: - version "0.3.4" - resolved "https://registry.npmjs.org/ripple-hashes/-/ripple-hashes-0.3.4.tgz" - integrity sha512-u2kgg9Yu9D44HWnC9R2lNg+amVLllJkMQmXZEEM2DAMFXigr4+ph1O8LLxLv+k0fbdjAjos4aUyWwcw6cxzYMw== - dependencies: - bignumber.js "^4.1.0" - create-hash "^1.1.2" - ripple-address-codec "^3.0.4" - ripple-binary-codec "^0.2.4" - -ripple-keypairs@^1.0.3, ripple-keypairs@latest: +ripple-keypairs@^1.0.3: version "1.1.3" resolved "https://registry.npmjs.org/ripple-keypairs/-/ripple-keypairs-1.1.3.tgz" integrity sha512-y74Y3c0g652BgpDhWsf0x98GnUyY2D9eO2ay2exienUfbIe00TeIiFhYXQhCGVnliGsxeV9WTpU+YuEWuIxuhw== @@ -4117,6 +4077,17 @@ ripple-keypairs@^1.0.3, ripple-keypairs@latest: hash.js "^1.0.3" ripple-address-codec "^4.2.3" +ripple-keypairs@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/ripple-keypairs/-/ripple-keypairs-1.1.4.tgz#4486fca703b8a2fc4f30cfd568478f3d12c1a911" + integrity sha512-PMMjTOxZmCSBOvHPj6bA+V/HGx7oFgDtGGI8VcZYuaFO2H87UX0X0jhfHy+LA2Xy31WYlD7GaDIDDt2QO+AMtw== + dependencies: + bn.js "^5.1.1" + brorand "^1.0.5" + elliptic "^6.5.4" + hash.js "^1.0.3" + ripple-address-codec "^4.2.4" + ripple-lib-transactionparser@0.8.2: version "0.8.2" resolved "https://registry.npmjs.org/ripple-lib-transactionparser/-/ripple-lib-transactionparser-0.8.2.tgz" @@ -4125,10 +4096,10 @@ ripple-lib-transactionparser@0.8.2: bignumber.js "^9.0.0" lodash "^4.17.15" -ripple-lib@^1.6.4: - version "1.10.0" - resolved "https://registry.npmjs.org/ripple-lib/-/ripple-lib-1.10.0.tgz" - integrity sha512-Cg2u73UybfM1PnzcuLt5flvLKZn35ovdIp+1eLrReVB4swuRuUF/SskJG9hf5wMosbvh+E+jZu8A6IbYJoyFIA== +ripple-lib@^1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/ripple-lib/-/ripple-lib-1.10.1.tgz#9c353702792b25465cdb269265d6f5bb27b1471b" + integrity sha512-OQk+Syl2JfxKxV2KuF/kBMtnh012I5tNnziP3G4WDGCGSIAgeqkOgkR59IQ0YDNrs1YW8GbApxrdMSRi/QClcA== dependencies: "@types/lodash" "^4.14.136" "@types/ws" "^7.2.0" @@ -4142,10 +4113,10 @@ ripple-lib@^1.6.4: ripple-lib-transactionparser "0.8.2" ws "^7.2.0" -ripple-secret-codec@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/ripple-secret-codec/-/ripple-secret-codec-1.0.2.tgz" - integrity sha512-BgI49rBThZm/Y01EE8vTdDh0iTFffvHzyc3M4K5kS33+od7lww/9+n/DaSCGkIbz0mZxsghlkQx0Z7GAt7Chlg== +ripple-secret-codec@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/ripple-secret-codec/-/ripple-secret-codec-1.0.3.tgz#dbc27bf18f09fb5cfe2aa8f814ee378e7731d001" + integrity sha512-vYcHlJx1p+5uH4ORda2dlvbgCy68m/Ib2kn+Np6PMmRoBenf9pKHa4vzaWmp2SjJKPi1921lQjdeAWoXdm7E0g== dependencies: base-x "^3.0.3" bignumber.js "^5.0.0" @@ -4854,30 +4825,29 @@ ws@^7.2.0: resolved "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz" integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== -xrpl-accountlib@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/xrpl-accountlib/-/xrpl-accountlib-1.5.2.tgz#8f16abe449fd60ba9ed75597f6ce3f0c45dfff43" - integrity sha512-lieY2/5G9DySqdtgQ0AD/aMMG5Sy/MLAmbIsmsCaF06scM5DpR8s4SsEzgHni7dOG68Wjnb2Uz6tf5aV+l4/Kg== +xrpl-accountlib@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/xrpl-accountlib/-/xrpl-accountlib-1.6.1.tgz#97a027e1c774246c536593e7c3d689ac58bfc0e8" + integrity sha512-H7hvrbIFfO1N6XkTZVFtO8LntlLfNpNByH2Cqov1ZNocJLSvqAClVpVdHIwU9K9cW1koiP/7o2ww++PksfmbIQ== dependencies: assert "^2.0.0" - bip32 "^2.0.5" - bip39 "^3.0.2" - bn.js "^5.1.1" + bip32 "^2.0.6" + bip39 "^3.0.4" + bn.js "^5.2.1" elliptic "6.5.4" hash.js "^1.1.7" - ripple-address-codec "^4.1.0" + ripple-address-codec "^4.2.4" ripple-binary-codec "^1.4.2" - ripple-hashes "^0.3.4" - ripple-keypairs "^1.0.3" - ripple-lib "^1.6.4" - ripple-secret-codec "^1.0.2" + ripple-keypairs "^1.1.4" + ripple-lib "^1.10.1" + ripple-secret-codec "^1.0.3" xrpl-secret-numbers "^0.3.3" - xrpl-sign-keypairs "^2.1.1" + xrpl-sign-keypairs "^2.1.2" -xrpl-client@^1.9.4: - version "1.9.4" - resolved "https://registry.npmjs.org/xrpl-client/-/xrpl-client-1.9.4.tgz" - integrity sha512-0+O5TbJB4GBAuZVvIrZje8VMSTTQKU8pyvuOggSmX9fhqed5c7+GGOSmKD7RWNmyQ1dZT2I70tDpzocZybtYyg== +xrpl-client@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/xrpl-client/-/xrpl-client-2.0.2.tgz#f24c7fb38fe0de3b1d45cd8c3a5e9f5ef1a0c439" + integrity sha512-ujquoaRn4U0FTm3jEAISr9VS+FMwPVVjWTLqBrQL1MiYypShUSje17R721dHa5ZebxWRwz6SG3BBZsKgcx6egw== dependencies: debug "^4.1.1" websocket "^1.0.34" @@ -4891,16 +4861,15 @@ xrpl-secret-numbers@^0.3.3: brorand "^1.1.0" ripple-keypairs "^1.0.3" -xrpl-sign-keypairs@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/xrpl-sign-keypairs/-/xrpl-sign-keypairs-2.1.1.tgz#2f7f2855799c5d4ba091007963825eef1db21a4e" - integrity sha512-rKQmUCx+x7gjjJ5zv/Z7bOYR+8I36JwUCFlpuD9UzYD4w2msGQDG0rmxVENyZSfThDBVQ1kEArVn6SMDMe9LUQ== +xrpl-sign-keypairs@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/xrpl-sign-keypairs/-/xrpl-sign-keypairs-2.1.2.tgz#dbe1543c4ded5fa2ffab763c31c26bff895cbf3b" + integrity sha512-4QieWblhpL3upnUw7lJ0lgyDSY8Q/KT35HP7xhHk03o5fcqMo0FU5b8Aa6YUXhDZIlQoy8ssjCYB9rRQO4DSWg== dependencies: - big-integer latest - ripple-binary-codec "^1.4.2" - ripple-bs58check latest - ripple-hashes latest - ripple-keypairs latest + big-integer "^1.6.51" + ripple-address-codec "^4.2.4" + ripple-binary-codec "^1.5.0-beta.2" + ripple-keypairs "^1.1.4" yaeti@^0.0.6: version "0.0.6"