xrpl 2.12.0-beta.0 → 2.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (483) hide show
  1. package/README.md +114 -5
  2. package/build/xrpl-latest-min.js +1 -1
  3. package/build/xrpl-latest-min.js.map +1 -1
  4. package/build/xrpl-latest.js +7248 -7657
  5. package/build/xrpl-latest.js.map +1 -1
  6. package/dist/npm/Wallet/defaultFaucets.d.ts.map +1 -1
  7. package/dist/npm/Wallet/defaultFaucets.js +0 -3
  8. package/dist/npm/Wallet/defaultFaucets.js.map +1 -1
  9. package/dist/npm/client/partialPayment.d.ts.map +1 -1
  10. package/dist/npm/client/partialPayment.js.map +1 -1
  11. package/dist/npm/models/common/index.d.ts +2 -1
  12. package/dist/npm/models/common/index.d.ts.map +1 -1
  13. package/dist/npm/models/ledger/AMM.d.ts +5 -5
  14. package/dist/npm/models/ledger/AMM.d.ts.map +1 -1
  15. package/dist/npm/models/ledger/AccountRoot.d.ts +3 -4
  16. package/dist/npm/models/ledger/AccountRoot.d.ts.map +1 -1
  17. package/dist/npm/models/ledger/AccountRoot.js.map +1 -1
  18. package/dist/npm/models/ledger/Amendments.d.ts +2 -2
  19. package/dist/npm/models/ledger/Amendments.d.ts.map +1 -1
  20. package/dist/npm/models/ledger/BaseLedgerEntry.d.ts +9 -1
  21. package/dist/npm/models/ledger/BaseLedgerEntry.d.ts.map +1 -1
  22. package/dist/npm/models/ledger/Bridge.d.ts +2 -4
  23. package/dist/npm/models/ledger/Bridge.d.ts.map +1 -1
  24. package/dist/npm/models/ledger/Check.d.ts +2 -2
  25. package/dist/npm/models/ledger/Check.d.ts.map +1 -1
  26. package/dist/npm/models/ledger/DepositPreauth.d.ts +2 -4
  27. package/dist/npm/models/ledger/DepositPreauth.d.ts.map +1 -1
  28. package/dist/npm/models/ledger/DirectoryNode.d.ts +2 -2
  29. package/dist/npm/models/ledger/DirectoryNode.d.ts.map +1 -1
  30. package/dist/npm/models/ledger/Escrow.d.ts +2 -4
  31. package/dist/npm/models/ledger/Escrow.d.ts.map +1 -1
  32. package/dist/npm/models/ledger/FeeSettings.d.ts +2 -2
  33. package/dist/npm/models/ledger/FeeSettings.d.ts.map +1 -1
  34. package/dist/npm/models/ledger/Ledger.d.ts +3 -3
  35. package/dist/npm/models/ledger/Ledger.d.ts.map +1 -1
  36. package/dist/npm/models/ledger/LedgerEntry.d.ts +2 -1
  37. package/dist/npm/models/ledger/LedgerEntry.d.ts.map +1 -1
  38. package/dist/npm/models/ledger/LedgerHashes.d.ts +2 -2
  39. package/dist/npm/models/ledger/LedgerHashes.d.ts.map +1 -1
  40. package/dist/npm/models/ledger/NFTokenOffer.d.ts +2 -4
  41. package/dist/npm/models/ledger/NFTokenOffer.d.ts.map +1 -1
  42. package/dist/npm/models/ledger/NFTokenPage.d.ts +2 -4
  43. package/dist/npm/models/ledger/NFTokenPage.d.ts.map +1 -1
  44. package/dist/npm/models/ledger/NegativeUNL.d.ts +2 -2
  45. package/dist/npm/models/ledger/NegativeUNL.d.ts.map +1 -1
  46. package/dist/npm/models/ledger/Offer.d.ts +2 -4
  47. package/dist/npm/models/ledger/Offer.d.ts.map +1 -1
  48. package/dist/npm/models/ledger/Offer.js.map +1 -1
  49. package/dist/npm/models/ledger/PayChannel.d.ts +2 -4
  50. package/dist/npm/models/ledger/PayChannel.d.ts.map +1 -1
  51. package/dist/npm/models/ledger/RippleState.d.ts +2 -4
  52. package/dist/npm/models/ledger/RippleState.d.ts.map +1 -1
  53. package/dist/npm/models/ledger/RippleState.js.map +1 -1
  54. package/dist/npm/models/ledger/SignerList.d.ts +2 -4
  55. package/dist/npm/models/ledger/SignerList.d.ts.map +1 -1
  56. package/dist/npm/models/ledger/SignerList.js.map +1 -1
  57. package/dist/npm/models/ledger/Ticket.d.ts +2 -4
  58. package/dist/npm/models/ledger/Ticket.d.ts.map +1 -1
  59. package/dist/npm/models/ledger/XChainOwnedClaimID.d.ts +13 -5
  60. package/dist/npm/models/ledger/XChainOwnedClaimID.d.ts.map +1 -1
  61. package/dist/npm/models/ledger/XChainOwnedCreateAccountClaimID.d.ts +12 -5
  62. package/dist/npm/models/ledger/XChainOwnedCreateAccountClaimID.d.ts.map +1 -1
  63. package/dist/npm/models/ledger/index.d.ts +3 -2
  64. package/dist/npm/models/ledger/index.d.ts.map +1 -1
  65. package/dist/npm/models/ledger/index.js.map +1 -1
  66. package/dist/npm/models/methods/accountObjects.d.ts +4 -3
  67. package/dist/npm/models/methods/accountObjects.d.ts.map +1 -1
  68. package/dist/npm/models/methods/ammInfo.d.ts +4 -3
  69. package/dist/npm/models/methods/ammInfo.d.ts.map +1 -1
  70. package/dist/npm/models/methods/ledger.d.ts +2 -0
  71. package/dist/npm/models/methods/ledger.d.ts.map +1 -1
  72. package/dist/npm/models/methods/ledgerData.d.ts +2 -1
  73. package/dist/npm/models/methods/ledgerData.d.ts.map +1 -1
  74. package/dist/npm/models/methods/ledgerEntry.d.ts +6 -6
  75. package/dist/npm/models/methods/ledgerEntry.d.ts.map +1 -1
  76. package/dist/npm/models/methods/serverInfo.d.ts +6 -0
  77. package/dist/npm/models/methods/serverInfo.d.ts.map +1 -1
  78. package/dist/npm/models/methods/tx.d.ts +2 -1
  79. package/dist/npm/models/methods/tx.d.ts.map +1 -1
  80. package/dist/npm/models/transactions/AMMBid.d.ts +3 -3
  81. package/dist/npm/models/transactions/AMMBid.d.ts.map +1 -1
  82. package/dist/npm/models/transactions/AMMBid.js.map +1 -1
  83. package/dist/npm/models/transactions/AMMDeposit.d.ts.map +1 -1
  84. package/dist/npm/models/transactions/AMMDeposit.js.map +1 -1
  85. package/dist/npm/models/transactions/AMMWithdraw.d.ts.map +1 -1
  86. package/dist/npm/models/transactions/AMMWithdraw.js.map +1 -1
  87. package/dist/npm/models/transactions/NFTokenBurn.d.ts +3 -3
  88. package/dist/npm/models/transactions/NFTokenBurn.d.ts.map +1 -1
  89. package/dist/npm/models/transactions/NFTokenBurn.js +2 -4
  90. package/dist/npm/models/transactions/NFTokenBurn.js.map +1 -1
  91. package/dist/npm/models/transactions/NFTokenCreateOffer.d.ts +3 -3
  92. package/dist/npm/models/transactions/NFTokenCreateOffer.d.ts.map +1 -1
  93. package/dist/npm/models/transactions/NFTokenCreateOffer.js +2 -0
  94. package/dist/npm/models/transactions/NFTokenCreateOffer.js.map +1 -1
  95. package/dist/npm/models/transactions/NFTokenMint.d.ts +2 -2
  96. package/dist/npm/models/transactions/NFTokenMint.d.ts.map +1 -1
  97. package/dist/npm/models/transactions/NFTokenMint.js +1 -0
  98. package/dist/npm/models/transactions/NFTokenMint.js.map +1 -1
  99. package/dist/npm/models/transactions/UNLModify.d.ts +2 -1
  100. package/dist/npm/models/transactions/UNLModify.d.ts.map +1 -1
  101. package/dist/npm/models/transactions/XChainAccountCreateCommit.d.ts +2 -2
  102. package/dist/npm/models/transactions/XChainAccountCreateCommit.d.ts.map +1 -1
  103. package/dist/npm/models/transactions/XChainAccountCreateCommit.js +4 -26
  104. package/dist/npm/models/transactions/XChainAccountCreateCommit.js.map +1 -1
  105. package/dist/npm/models/transactions/XChainAddAccountCreateAttestation.d.ts +5 -5
  106. package/dist/npm/models/transactions/XChainAddAccountCreateAttestation.d.ts.map +1 -1
  107. package/dist/npm/models/transactions/XChainAddAccountCreateAttestation.js +11 -68
  108. package/dist/npm/models/transactions/XChainAddAccountCreateAttestation.js.map +1 -1
  109. package/dist/npm/models/transactions/XChainAddClaimAttestation.d.ts +5 -5
  110. package/dist/npm/models/transactions/XChainAddClaimAttestation.d.ts.map +1 -1
  111. package/dist/npm/models/transactions/XChainAddClaimAttestation.js +10 -59
  112. package/dist/npm/models/transactions/XChainAddClaimAttestation.js.map +1 -1
  113. package/dist/npm/models/transactions/XChainClaim.d.ts +2 -2
  114. package/dist/npm/models/transactions/XChainClaim.d.ts.map +1 -1
  115. package/dist/npm/models/transactions/XChainClaim.js +5 -30
  116. package/dist/npm/models/transactions/XChainClaim.js.map +1 -1
  117. package/dist/npm/models/transactions/XChainCommit.d.ts +2 -2
  118. package/dist/npm/models/transactions/XChainCommit.d.ts.map +1 -1
  119. package/dist/npm/models/transactions/XChainCommit.js +4 -24
  120. package/dist/npm/models/transactions/XChainCommit.js.map +1 -1
  121. package/dist/npm/models/transactions/XChainCreateBridge.d.ts.map +1 -1
  122. package/dist/npm/models/transactions/XChainCreateBridge.js +3 -17
  123. package/dist/npm/models/transactions/XChainCreateBridge.js.map +1 -1
  124. package/dist/npm/models/transactions/XChainCreateClaimID.d.ts +2 -2
  125. package/dist/npm/models/transactions/XChainCreateClaimID.d.ts.map +1 -1
  126. package/dist/npm/models/transactions/XChainCreateClaimID.js +3 -19
  127. package/dist/npm/models/transactions/XChainCreateClaimID.js.map +1 -1
  128. package/dist/npm/models/transactions/XChainModifyBridge.d.ts.map +1 -1
  129. package/dist/npm/models/transactions/XChainModifyBridge.js +3 -14
  130. package/dist/npm/models/transactions/XChainModifyBridge.js.map +1 -1
  131. package/dist/npm/models/transactions/accountDelete.d.ts +2 -2
  132. package/dist/npm/models/transactions/accountDelete.d.ts.map +1 -1
  133. package/dist/npm/models/transactions/accountDelete.js +2 -11
  134. package/dist/npm/models/transactions/accountDelete.js.map +1 -1
  135. package/dist/npm/models/transactions/accountSet.d.ts +2 -2
  136. package/dist/npm/models/transactions/accountSet.d.ts.map +1 -1
  137. package/dist/npm/models/transactions/accountSet.js +1 -5
  138. package/dist/npm/models/transactions/accountSet.js.map +1 -1
  139. package/dist/npm/models/transactions/checkCash.d.ts.map +1 -1
  140. package/dist/npm/models/transactions/checkCash.js.map +1 -1
  141. package/dist/npm/models/transactions/checkCreate.d.ts +2 -2
  142. package/dist/npm/models/transactions/checkCreate.d.ts.map +1 -1
  143. package/dist/npm/models/transactions/checkCreate.js +2 -10
  144. package/dist/npm/models/transactions/checkCreate.js.map +1 -1
  145. package/dist/npm/models/transactions/common.d.ts +7 -1
  146. package/dist/npm/models/transactions/common.d.ts.map +1 -1
  147. package/dist/npm/models/transactions/common.js +39 -38
  148. package/dist/npm/models/transactions/common.js.map +1 -1
  149. package/dist/npm/models/transactions/depositPreauth.d.ts.map +1 -1
  150. package/dist/npm/models/transactions/depositPreauth.js.map +1 -1
  151. package/dist/npm/models/transactions/escrowCancel.d.ts +3 -3
  152. package/dist/npm/models/transactions/escrowCancel.d.ts.map +1 -1
  153. package/dist/npm/models/transactions/escrowCancel.js +5 -8
  154. package/dist/npm/models/transactions/escrowCancel.js.map +1 -1
  155. package/dist/npm/models/transactions/escrowCreate.d.ts +2 -2
  156. package/dist/npm/models/transactions/escrowCreate.d.ts.map +1 -1
  157. package/dist/npm/models/transactions/escrowCreate.js +2 -10
  158. package/dist/npm/models/transactions/escrowCreate.js.map +1 -1
  159. package/dist/npm/models/transactions/escrowFinish.d.ts +3 -3
  160. package/dist/npm/models/transactions/escrowFinish.d.ts.map +1 -1
  161. package/dist/npm/models/transactions/escrowFinish.js +5 -8
  162. package/dist/npm/models/transactions/escrowFinish.js.map +1 -1
  163. package/dist/npm/models/transactions/index.d.ts +1 -1
  164. package/dist/npm/models/transactions/index.d.ts.map +1 -1
  165. package/dist/npm/models/transactions/index.js.map +1 -1
  166. package/dist/npm/models/transactions/offerCreate.d.ts.map +1 -1
  167. package/dist/npm/models/transactions/offerCreate.js.map +1 -1
  168. package/dist/npm/models/transactions/payment.d.ts +2 -2
  169. package/dist/npm/models/transactions/payment.d.ts.map +1 -1
  170. package/dist/npm/models/transactions/payment.js +2 -9
  171. package/dist/npm/models/transactions/payment.js.map +1 -1
  172. package/dist/npm/models/transactions/paymentChannelClaim.d.ts.map +1 -1
  173. package/dist/npm/models/transactions/paymentChannelClaim.js.map +1 -1
  174. package/dist/npm/models/transactions/paymentChannelCreate.d.ts +2 -2
  175. package/dist/npm/models/transactions/paymentChannelCreate.d.ts.map +1 -1
  176. package/dist/npm/models/transactions/paymentChannelCreate.js +2 -10
  177. package/dist/npm/models/transactions/paymentChannelCreate.js.map +1 -1
  178. package/dist/npm/models/transactions/signerListSet.d.ts.map +1 -1
  179. package/dist/npm/models/transactions/signerListSet.js.map +1 -1
  180. package/dist/npm/models/transactions/transaction.d.ts +4 -0
  181. package/dist/npm/models/transactions/transaction.d.ts.map +1 -1
  182. package/dist/npm/models/transactions/transaction.js.map +1 -1
  183. package/dist/npm/models/utils/flags.d.ts.map +1 -1
  184. package/dist/npm/models/utils/flags.js +17 -28
  185. package/dist/npm/models/utils/flags.js.map +1 -1
  186. package/dist/npm/snippets/src/bridgeTransfer.js +16 -13
  187. package/dist/npm/snippets/src/bridgeTransfer.js.map +1 -1
  188. package/dist/npm/snippets/tsconfig.tsbuildinfo +1 -1
  189. package/dist/npm/src/Wallet/defaultFaucets.d.ts.map +1 -1
  190. package/dist/npm/src/Wallet/defaultFaucets.js +0 -3
  191. package/dist/npm/src/Wallet/defaultFaucets.js.map +1 -1
  192. package/dist/npm/src/client/partialPayment.d.ts.map +1 -1
  193. package/dist/npm/src/client/partialPayment.js.map +1 -1
  194. package/dist/npm/src/models/common/index.d.ts +2 -1
  195. package/dist/npm/src/models/common/index.d.ts.map +1 -1
  196. package/dist/npm/src/models/ledger/AMM.d.ts +5 -5
  197. package/dist/npm/src/models/ledger/AMM.d.ts.map +1 -1
  198. package/dist/npm/src/models/ledger/AccountRoot.d.ts +3 -4
  199. package/dist/npm/src/models/ledger/AccountRoot.d.ts.map +1 -1
  200. package/dist/npm/src/models/ledger/AccountRoot.js.map +1 -1
  201. package/dist/npm/src/models/ledger/Amendments.d.ts +2 -2
  202. package/dist/npm/src/models/ledger/Amendments.d.ts.map +1 -1
  203. package/dist/npm/src/models/ledger/BaseLedgerEntry.d.ts +9 -1
  204. package/dist/npm/src/models/ledger/BaseLedgerEntry.d.ts.map +1 -1
  205. package/dist/npm/src/models/ledger/Bridge.d.ts +2 -4
  206. package/dist/npm/src/models/ledger/Bridge.d.ts.map +1 -1
  207. package/dist/npm/src/models/ledger/Check.d.ts +2 -2
  208. package/dist/npm/src/models/ledger/Check.d.ts.map +1 -1
  209. package/dist/npm/src/models/ledger/DepositPreauth.d.ts +2 -4
  210. package/dist/npm/src/models/ledger/DepositPreauth.d.ts.map +1 -1
  211. package/dist/npm/src/models/ledger/DirectoryNode.d.ts +2 -2
  212. package/dist/npm/src/models/ledger/DirectoryNode.d.ts.map +1 -1
  213. package/dist/npm/src/models/ledger/Escrow.d.ts +2 -4
  214. package/dist/npm/src/models/ledger/Escrow.d.ts.map +1 -1
  215. package/dist/npm/src/models/ledger/FeeSettings.d.ts +2 -2
  216. package/dist/npm/src/models/ledger/FeeSettings.d.ts.map +1 -1
  217. package/dist/npm/src/models/ledger/Ledger.d.ts +3 -3
  218. package/dist/npm/src/models/ledger/Ledger.d.ts.map +1 -1
  219. package/dist/npm/src/models/ledger/LedgerEntry.d.ts +2 -1
  220. package/dist/npm/src/models/ledger/LedgerEntry.d.ts.map +1 -1
  221. package/dist/npm/src/models/ledger/LedgerHashes.d.ts +2 -2
  222. package/dist/npm/src/models/ledger/LedgerHashes.d.ts.map +1 -1
  223. package/dist/npm/src/models/ledger/NFTokenOffer.d.ts +2 -4
  224. package/dist/npm/src/models/ledger/NFTokenOffer.d.ts.map +1 -1
  225. package/dist/npm/src/models/ledger/NFTokenPage.d.ts +2 -4
  226. package/dist/npm/src/models/ledger/NFTokenPage.d.ts.map +1 -1
  227. package/dist/npm/src/models/ledger/NegativeUNL.d.ts +2 -2
  228. package/dist/npm/src/models/ledger/NegativeUNL.d.ts.map +1 -1
  229. package/dist/npm/src/models/ledger/Offer.d.ts +2 -4
  230. package/dist/npm/src/models/ledger/Offer.d.ts.map +1 -1
  231. package/dist/npm/src/models/ledger/Offer.js.map +1 -1
  232. package/dist/npm/src/models/ledger/PayChannel.d.ts +2 -4
  233. package/dist/npm/src/models/ledger/PayChannel.d.ts.map +1 -1
  234. package/dist/npm/src/models/ledger/RippleState.d.ts +2 -4
  235. package/dist/npm/src/models/ledger/RippleState.d.ts.map +1 -1
  236. package/dist/npm/src/models/ledger/RippleState.js.map +1 -1
  237. package/dist/npm/src/models/ledger/SignerList.d.ts +2 -4
  238. package/dist/npm/src/models/ledger/SignerList.d.ts.map +1 -1
  239. package/dist/npm/src/models/ledger/SignerList.js.map +1 -1
  240. package/dist/npm/src/models/ledger/Ticket.d.ts +2 -4
  241. package/dist/npm/src/models/ledger/Ticket.d.ts.map +1 -1
  242. package/dist/npm/src/models/ledger/XChainOwnedClaimID.d.ts +13 -5
  243. package/dist/npm/src/models/ledger/XChainOwnedClaimID.d.ts.map +1 -1
  244. package/dist/npm/src/models/ledger/XChainOwnedCreateAccountClaimID.d.ts +12 -5
  245. package/dist/npm/src/models/ledger/XChainOwnedCreateAccountClaimID.d.ts.map +1 -1
  246. package/dist/npm/src/models/ledger/index.d.ts +3 -2
  247. package/dist/npm/src/models/ledger/index.d.ts.map +1 -1
  248. package/dist/npm/src/models/ledger/index.js.map +1 -1
  249. package/dist/npm/src/models/methods/accountObjects.d.ts +4 -3
  250. package/dist/npm/src/models/methods/accountObjects.d.ts.map +1 -1
  251. package/dist/npm/src/models/methods/ammInfo.d.ts +4 -3
  252. package/dist/npm/src/models/methods/ammInfo.d.ts.map +1 -1
  253. package/dist/npm/src/models/methods/ledger.d.ts +2 -0
  254. package/dist/npm/src/models/methods/ledger.d.ts.map +1 -1
  255. package/dist/npm/src/models/methods/ledgerData.d.ts +2 -1
  256. package/dist/npm/src/models/methods/ledgerData.d.ts.map +1 -1
  257. package/dist/npm/src/models/methods/ledgerEntry.d.ts +6 -6
  258. package/dist/npm/src/models/methods/ledgerEntry.d.ts.map +1 -1
  259. package/dist/npm/src/models/methods/serverInfo.d.ts +6 -0
  260. package/dist/npm/src/models/methods/serverInfo.d.ts.map +1 -1
  261. package/dist/npm/src/models/methods/tx.d.ts +2 -1
  262. package/dist/npm/src/models/methods/tx.d.ts.map +1 -1
  263. package/dist/npm/src/models/transactions/AMMBid.d.ts +3 -3
  264. package/dist/npm/src/models/transactions/AMMBid.d.ts.map +1 -1
  265. package/dist/npm/src/models/transactions/AMMBid.js.map +1 -1
  266. package/dist/npm/src/models/transactions/AMMDeposit.d.ts.map +1 -1
  267. package/dist/npm/src/models/transactions/AMMDeposit.js.map +1 -1
  268. package/dist/npm/src/models/transactions/AMMWithdraw.d.ts.map +1 -1
  269. package/dist/npm/src/models/transactions/AMMWithdraw.js.map +1 -1
  270. package/dist/npm/src/models/transactions/NFTokenBurn.d.ts +3 -3
  271. package/dist/npm/src/models/transactions/NFTokenBurn.d.ts.map +1 -1
  272. package/dist/npm/src/models/transactions/NFTokenBurn.js +2 -4
  273. package/dist/npm/src/models/transactions/NFTokenBurn.js.map +1 -1
  274. package/dist/npm/src/models/transactions/NFTokenCreateOffer.d.ts +3 -3
  275. package/dist/npm/src/models/transactions/NFTokenCreateOffer.d.ts.map +1 -1
  276. package/dist/npm/src/models/transactions/NFTokenCreateOffer.js +2 -0
  277. package/dist/npm/src/models/transactions/NFTokenCreateOffer.js.map +1 -1
  278. package/dist/npm/src/models/transactions/NFTokenMint.d.ts +2 -2
  279. package/dist/npm/src/models/transactions/NFTokenMint.d.ts.map +1 -1
  280. package/dist/npm/src/models/transactions/NFTokenMint.js +1 -0
  281. package/dist/npm/src/models/transactions/NFTokenMint.js.map +1 -1
  282. package/dist/npm/src/models/transactions/UNLModify.d.ts +2 -1
  283. package/dist/npm/src/models/transactions/UNLModify.d.ts.map +1 -1
  284. package/dist/npm/src/models/transactions/XChainAccountCreateCommit.d.ts +2 -2
  285. package/dist/npm/src/models/transactions/XChainAccountCreateCommit.d.ts.map +1 -1
  286. package/dist/npm/src/models/transactions/XChainAccountCreateCommit.js +4 -26
  287. package/dist/npm/src/models/transactions/XChainAccountCreateCommit.js.map +1 -1
  288. package/dist/npm/src/models/transactions/XChainAddAccountCreateAttestation.d.ts +5 -5
  289. package/dist/npm/src/models/transactions/XChainAddAccountCreateAttestation.d.ts.map +1 -1
  290. package/dist/npm/src/models/transactions/XChainAddAccountCreateAttestation.js +11 -68
  291. package/dist/npm/src/models/transactions/XChainAddAccountCreateAttestation.js.map +1 -1
  292. package/dist/npm/src/models/transactions/XChainAddClaimAttestation.d.ts +5 -5
  293. package/dist/npm/src/models/transactions/XChainAddClaimAttestation.d.ts.map +1 -1
  294. package/dist/npm/src/models/transactions/XChainAddClaimAttestation.js +10 -59
  295. package/dist/npm/src/models/transactions/XChainAddClaimAttestation.js.map +1 -1
  296. package/dist/npm/src/models/transactions/XChainClaim.d.ts +2 -2
  297. package/dist/npm/src/models/transactions/XChainClaim.d.ts.map +1 -1
  298. package/dist/npm/src/models/transactions/XChainClaim.js +5 -30
  299. package/dist/npm/src/models/transactions/XChainClaim.js.map +1 -1
  300. package/dist/npm/src/models/transactions/XChainCommit.d.ts +2 -2
  301. package/dist/npm/src/models/transactions/XChainCommit.d.ts.map +1 -1
  302. package/dist/npm/src/models/transactions/XChainCommit.js +4 -24
  303. package/dist/npm/src/models/transactions/XChainCommit.js.map +1 -1
  304. package/dist/npm/src/models/transactions/XChainCreateBridge.d.ts.map +1 -1
  305. package/dist/npm/src/models/transactions/XChainCreateBridge.js +3 -17
  306. package/dist/npm/src/models/transactions/XChainCreateBridge.js.map +1 -1
  307. package/dist/npm/src/models/transactions/XChainCreateClaimID.d.ts +2 -2
  308. package/dist/npm/src/models/transactions/XChainCreateClaimID.d.ts.map +1 -1
  309. package/dist/npm/src/models/transactions/XChainCreateClaimID.js +3 -19
  310. package/dist/npm/src/models/transactions/XChainCreateClaimID.js.map +1 -1
  311. package/dist/npm/src/models/transactions/XChainModifyBridge.d.ts.map +1 -1
  312. package/dist/npm/src/models/transactions/XChainModifyBridge.js +3 -14
  313. package/dist/npm/src/models/transactions/XChainModifyBridge.js.map +1 -1
  314. package/dist/npm/src/models/transactions/accountDelete.d.ts +2 -2
  315. package/dist/npm/src/models/transactions/accountDelete.d.ts.map +1 -1
  316. package/dist/npm/src/models/transactions/accountDelete.js +2 -11
  317. package/dist/npm/src/models/transactions/accountDelete.js.map +1 -1
  318. package/dist/npm/src/models/transactions/accountSet.d.ts +2 -2
  319. package/dist/npm/src/models/transactions/accountSet.d.ts.map +1 -1
  320. package/dist/npm/src/models/transactions/accountSet.js +1 -5
  321. package/dist/npm/src/models/transactions/accountSet.js.map +1 -1
  322. package/dist/npm/src/models/transactions/checkCash.d.ts.map +1 -1
  323. package/dist/npm/src/models/transactions/checkCash.js.map +1 -1
  324. package/dist/npm/src/models/transactions/checkCreate.d.ts +2 -2
  325. package/dist/npm/src/models/transactions/checkCreate.d.ts.map +1 -1
  326. package/dist/npm/src/models/transactions/checkCreate.js +2 -10
  327. package/dist/npm/src/models/transactions/checkCreate.js.map +1 -1
  328. package/dist/npm/src/models/transactions/common.d.ts +7 -1
  329. package/dist/npm/src/models/transactions/common.d.ts.map +1 -1
  330. package/dist/npm/src/models/transactions/common.js +39 -38
  331. package/dist/npm/src/models/transactions/common.js.map +1 -1
  332. package/dist/npm/src/models/transactions/depositPreauth.d.ts.map +1 -1
  333. package/dist/npm/src/models/transactions/depositPreauth.js.map +1 -1
  334. package/dist/npm/src/models/transactions/escrowCancel.d.ts +3 -3
  335. package/dist/npm/src/models/transactions/escrowCancel.d.ts.map +1 -1
  336. package/dist/npm/src/models/transactions/escrowCancel.js +5 -8
  337. package/dist/npm/src/models/transactions/escrowCancel.js.map +1 -1
  338. package/dist/npm/src/models/transactions/escrowCreate.d.ts +2 -2
  339. package/dist/npm/src/models/transactions/escrowCreate.d.ts.map +1 -1
  340. package/dist/npm/src/models/transactions/escrowCreate.js +2 -10
  341. package/dist/npm/src/models/transactions/escrowCreate.js.map +1 -1
  342. package/dist/npm/src/models/transactions/escrowFinish.d.ts +3 -3
  343. package/dist/npm/src/models/transactions/escrowFinish.d.ts.map +1 -1
  344. package/dist/npm/src/models/transactions/escrowFinish.js +5 -8
  345. package/dist/npm/src/models/transactions/escrowFinish.js.map +1 -1
  346. package/dist/npm/src/models/transactions/index.d.ts +1 -1
  347. package/dist/npm/src/models/transactions/index.d.ts.map +1 -1
  348. package/dist/npm/src/models/transactions/index.js.map +1 -1
  349. package/dist/npm/src/models/transactions/offerCreate.d.ts.map +1 -1
  350. package/dist/npm/src/models/transactions/offerCreate.js.map +1 -1
  351. package/dist/npm/src/models/transactions/payment.d.ts +2 -2
  352. package/dist/npm/src/models/transactions/payment.d.ts.map +1 -1
  353. package/dist/npm/src/models/transactions/payment.js +2 -9
  354. package/dist/npm/src/models/transactions/payment.js.map +1 -1
  355. package/dist/npm/src/models/transactions/paymentChannelClaim.d.ts.map +1 -1
  356. package/dist/npm/src/models/transactions/paymentChannelClaim.js.map +1 -1
  357. package/dist/npm/src/models/transactions/paymentChannelCreate.d.ts +2 -2
  358. package/dist/npm/src/models/transactions/paymentChannelCreate.d.ts.map +1 -1
  359. package/dist/npm/src/models/transactions/paymentChannelCreate.js +2 -10
  360. package/dist/npm/src/models/transactions/paymentChannelCreate.js.map +1 -1
  361. package/dist/npm/src/models/transactions/signerListSet.d.ts.map +1 -1
  362. package/dist/npm/src/models/transactions/signerListSet.js.map +1 -1
  363. package/dist/npm/src/models/transactions/transaction.d.ts +4 -0
  364. package/dist/npm/src/models/transactions/transaction.d.ts.map +1 -1
  365. package/dist/npm/src/models/transactions/transaction.js.map +1 -1
  366. package/dist/npm/src/models/utils/flags.d.ts.map +1 -1
  367. package/dist/npm/src/models/utils/flags.js +17 -28
  368. package/dist/npm/src/models/utils/flags.js.map +1 -1
  369. package/dist/npm/src/sugar/autofill.d.ts.map +1 -1
  370. package/dist/npm/src/sugar/autofill.js.map +1 -1
  371. package/dist/npm/src/utils/getXChainClaimID.d.ts +3 -0
  372. package/dist/npm/src/utils/getXChainClaimID.d.ts.map +1 -0
  373. package/dist/npm/src/utils/getXChainClaimID.js +29 -0
  374. package/dist/npm/src/utils/getXChainClaimID.js.map +1 -0
  375. package/dist/npm/src/utils/hashes/hashLedger.d.ts +2 -1
  376. package/dist/npm/src/utils/hashes/hashLedger.d.ts.map +1 -1
  377. package/dist/npm/src/utils/hashes/hashLedger.js.map +1 -1
  378. package/dist/npm/src/utils/index.d.ts +2 -1
  379. package/dist/npm/src/utils/index.d.ts.map +1 -1
  380. package/dist/npm/src/utils/index.js +3 -1
  381. package/dist/npm/src/utils/index.js.map +1 -1
  382. package/dist/npm/src/utils/signPaymentChannelClaim.d.ts +1 -1
  383. package/dist/npm/src/utils/signPaymentChannelClaim.d.ts.map +1 -1
  384. package/dist/npm/src/utils/signPaymentChannelClaim.js +2 -2
  385. package/dist/npm/src/utils/signPaymentChannelClaim.js.map +1 -1
  386. package/dist/npm/src/utils/verifyPaymentChannelClaim.d.ts +1 -1
  387. package/dist/npm/src/utils/verifyPaymentChannelClaim.d.ts.map +1 -1
  388. package/dist/npm/src/utils/verifyPaymentChannelClaim.js +2 -2
  389. package/dist/npm/src/utils/verifyPaymentChannelClaim.js.map +1 -1
  390. package/dist/npm/sugar/autofill.d.ts.map +1 -1
  391. package/dist/npm/sugar/autofill.js.map +1 -1
  392. package/dist/npm/utils/getXChainClaimID.d.ts +3 -0
  393. package/dist/npm/utils/getXChainClaimID.d.ts.map +1 -0
  394. package/dist/npm/utils/getXChainClaimID.js +29 -0
  395. package/dist/npm/utils/getXChainClaimID.js.map +1 -0
  396. package/dist/npm/utils/hashes/hashLedger.d.ts +2 -1
  397. package/dist/npm/utils/hashes/hashLedger.d.ts.map +1 -1
  398. package/dist/npm/utils/hashes/hashLedger.js.map +1 -1
  399. package/dist/npm/utils/index.d.ts +2 -1
  400. package/dist/npm/utils/index.d.ts.map +1 -1
  401. package/dist/npm/utils/index.js +3 -1
  402. package/dist/npm/utils/index.js.map +1 -1
  403. package/dist/npm/utils/signPaymentChannelClaim.d.ts +1 -1
  404. package/dist/npm/utils/signPaymentChannelClaim.d.ts.map +1 -1
  405. package/dist/npm/utils/signPaymentChannelClaim.js +2 -2
  406. package/dist/npm/utils/signPaymentChannelClaim.js.map +1 -1
  407. package/dist/npm/utils/verifyPaymentChannelClaim.d.ts +1 -1
  408. package/dist/npm/utils/verifyPaymentChannelClaim.d.ts.map +1 -1
  409. package/dist/npm/utils/verifyPaymentChannelClaim.js +2 -2
  410. package/dist/npm/utils/verifyPaymentChannelClaim.js.map +1 -1
  411. package/package.json +14 -6
  412. package/src/Wallet/defaultFaucets.ts +0 -4
  413. package/src/client/partialPayment.ts +6 -2
  414. package/src/models/common/index.ts +2 -1
  415. package/src/models/ledger/AMM.ts +5 -5
  416. package/src/models/ledger/AccountRoot.ts +8 -12
  417. package/src/models/ledger/Amendments.ts +4 -2
  418. package/src/models/ledger/BaseLedgerEntry.ts +25 -1
  419. package/src/models/ledger/Bridge.ts +2 -14
  420. package/src/models/ledger/Check.ts +2 -2
  421. package/src/models/ledger/DepositPreauth.ts +4 -12
  422. package/src/models/ledger/DirectoryNode.ts +4 -2
  423. package/src/models/ledger/Escrow.ts +2 -12
  424. package/src/models/ledger/FeeSettings.ts +2 -2
  425. package/src/models/ledger/Ledger.ts +9 -3
  426. package/src/models/ledger/LedgerEntry.ts +22 -1
  427. package/src/models/ledger/LedgerHashes.ts +4 -2
  428. package/src/models/ledger/NFTokenOffer.ts +2 -4
  429. package/src/models/ledger/NFTokenPage.ts +2 -4
  430. package/src/models/ledger/NegativeUNL.ts +4 -2
  431. package/src/models/ledger/Offer.ts +2 -12
  432. package/src/models/ledger/PayChannel.ts +2 -12
  433. package/src/models/ledger/RippleState.ts +2 -12
  434. package/src/models/ledger/SignerList.ts +2 -12
  435. package/src/models/ledger/Ticket.ts +2 -12
  436. package/src/models/ledger/XChainOwnedClaimID.ts +22 -14
  437. package/src/models/ledger/XChainOwnedCreateAccountClaimID.ts +19 -14
  438. package/src/models/ledger/index.ts +5 -1
  439. package/src/models/methods/accountObjects.ts +10 -41
  440. package/src/models/methods/ammInfo.ts +8 -3
  441. package/src/models/methods/ledger.ts +5 -0
  442. package/src/models/methods/ledgerData.ts +5 -1
  443. package/src/models/methods/ledgerEntry.ts +6 -6
  444. package/src/models/methods/serverInfo.ts +21 -0
  445. package/src/models/methods/tx.ts +4 -2
  446. package/src/models/transactions/AMMBid.ts +5 -6
  447. package/src/models/transactions/AMMDeposit.ts +0 -1
  448. package/src/models/transactions/AMMWithdraw.ts +0 -1
  449. package/src/models/transactions/NFTokenBurn.ts +13 -9
  450. package/src/models/transactions/NFTokenCreateOffer.ts +8 -2
  451. package/src/models/transactions/NFTokenMint.ts +11 -2
  452. package/src/models/transactions/UNLModify.ts +3 -1
  453. package/src/models/transactions/XChainAccountCreateCommit.ts +10 -48
  454. package/src/models/transactions/XChainAddAccountCreateAttestation.ts +40 -142
  455. package/src/models/transactions/XChainAddClaimAttestation.ts +39 -120
  456. package/src/models/transactions/XChainClaim.ts +18 -42
  457. package/src/models/transactions/XChainCommit.ts +17 -36
  458. package/src/models/transactions/XChainCreateBridge.ts +7 -29
  459. package/src/models/transactions/XChainCreateClaimID.ts +9 -33
  460. package/src/models/transactions/XChainModifyBridge.ts +7 -23
  461. package/src/models/transactions/accountDelete.ts +12 -18
  462. package/src/models/transactions/accountSet.ts +10 -13
  463. package/src/models/transactions/checkCash.ts +0 -1
  464. package/src/models/transactions/checkCreate.ts +8 -16
  465. package/src/models/transactions/common.ts +102 -54
  466. package/src/models/transactions/depositPreauth.ts +0 -1
  467. package/src/models/transactions/escrowCancel.ts +16 -12
  468. package/src/models/transactions/escrowCreate.ts +12 -17
  469. package/src/models/transactions/escrowFinish.ts +16 -12
  470. package/src/models/transactions/index.ts +6 -1
  471. package/src/models/transactions/offerCreate.ts +0 -1
  472. package/src/models/transactions/payment.ts +8 -15
  473. package/src/models/transactions/paymentChannelClaim.ts +0 -1
  474. package/src/models/transactions/paymentChannelCreate.ts +12 -22
  475. package/src/models/transactions/signerListSet.ts +0 -1
  476. package/src/models/transactions/transaction.ts +5 -1
  477. package/src/models/utils/flags.ts +18 -29
  478. package/src/sugar/autofill.ts +0 -2
  479. package/src/utils/getXChainClaimID.ts +64 -0
  480. package/src/utils/hashes/hashLedger.ts +4 -1
  481. package/src/utils/index.ts +2 -0
  482. package/src/utils/signPaymentChannelClaim.ts +3 -3
  483. package/src/utils/verifyPaymentChannelClaim.ts +3 -3
@@ -1,6 +1,4 @@
1
- /* eslint-disable max-lines-per-function -- Necessary for validateBaseTransaction */
2
- /* eslint-disable complexity -- Necessary for validateBaseTransaction */
3
- /* eslint-disable max-statements -- Necessary for validateBaseTransaction */
1
+ import { isValidClassicAddress, isValidXAddress } from 'ripple-address-codec'
4
2
  import { TRANSACTION_TYPES } from 'ripple-binary-codec'
5
3
 
6
4
  import { ValidationError } from '../../errors'
@@ -66,6 +64,26 @@ function isRecord(value: unknown): value is Record<string, unknown> {
66
64
  return value !== null && typeof value === 'object'
67
65
  }
68
66
 
67
+ /**
68
+ * Verify the form and type of a string at runtime.
69
+ *
70
+ * @param str - The object to check the form and type of.
71
+ * @returns Whether the string is properly formed.
72
+ */
73
+ export function isString(str: unknown): str is string {
74
+ return typeof str === 'string'
75
+ }
76
+
77
+ /**
78
+ * Verify the form and type of a number at runtime.
79
+ *
80
+ * @param num - The object to check the form and type of.
81
+ * @returns Whether the number is properly formed.
82
+ */
83
+ export function isNumber(num: unknown): num is number {
84
+ return typeof num === 'number'
85
+ }
86
+
69
87
  /**
70
88
  * Verify the form and type of an IssuedCurrency at runtime.
71
89
  *
@@ -101,6 +119,24 @@ export function isIssuedCurrency(
101
119
  )
102
120
  }
103
121
 
122
+ /**
123
+ * Must be a valid account address
124
+ */
125
+ export type Account = string
126
+
127
+ /**
128
+ * Verify a string is in fact a valid account address.
129
+ *
130
+ * @param account - The object to check the form and type of.
131
+ * @returns Whether the account is properly formed account for a transaction.
132
+ */
133
+ export function isAccount(account: unknown): account is Account {
134
+ return (
135
+ typeof account === 'string' &&
136
+ (isValidClassicAddress(account) || isValidXAddress(account))
137
+ )
138
+ }
139
+
104
140
  /**
105
141
  * Verify the form and type of an Amount at runtime.
106
142
  *
@@ -128,6 +164,56 @@ export function isXChainBridge(input: unknown): input is XChainBridge {
128
164
  )
129
165
  }
130
166
 
167
+ /* eslint-disable @typescript-eslint/restrict-template-expressions -- tx.TransactionType is checked before any calls */
168
+
169
+ /**
170
+ * Verify the form and type of a required type for a transaction at runtime.
171
+ *
172
+ * @param tx - The transaction input to check the form and type of.
173
+ * @param paramName - The name of the transaction parameter.
174
+ * @param checkValidity - The function to use to check the type.
175
+ * @throws
176
+ */
177
+ export function validateRequiredField(
178
+ tx: Record<string, unknown>,
179
+ paramName: string,
180
+ checkValidity: (inp: unknown) => boolean,
181
+ ): void {
182
+ if (tx[paramName] == null) {
183
+ throw new ValidationError(
184
+ `${tx.TransactionType}: missing field ${paramName}`,
185
+ )
186
+ }
187
+
188
+ if (!checkValidity(tx[paramName])) {
189
+ throw new ValidationError(
190
+ `${tx.TransactionType}: invalid field ${paramName}`,
191
+ )
192
+ }
193
+ }
194
+
195
+ /**
196
+ * Verify the form and type of an optional type for a transaction at runtime.
197
+ *
198
+ * @param tx - The transaction input to check the form and type of.
199
+ * @param paramName - The name of the transaction parameter.
200
+ * @param checkValidity - The function to use to check the type.
201
+ * @throws
202
+ */
203
+ export function validateOptionalField(
204
+ tx: Record<string, unknown>,
205
+ paramName: string,
206
+ checkValidity: (inp: unknown) => boolean,
207
+ ): void {
208
+ if (tx[paramName] !== undefined && !checkValidity(tx[paramName])) {
209
+ throw new ValidationError(
210
+ `${tx.TransactionType}: invalid field ${paramName}`,
211
+ )
212
+ }
213
+ }
214
+
215
+ /* eslint-enable @typescript-eslint/restrict-template-expressions -- checked before */
216
+
131
217
  // eslint-disable-next-line @typescript-eslint/no-empty-interface -- no global flags right now, so this is fine
132
218
  export interface GlobalFlags {}
133
219
 
@@ -136,7 +222,7 @@ export interface GlobalFlags {}
136
222
  */
137
223
  export interface BaseTransaction {
138
224
  /** The unique address of the transaction sender. */
139
- Account: string
225
+ Account: Account
140
226
  /**
141
227
  * The type of transaction. Valid types include: `Payment`, `OfferCreate`,
142
228
  * `TrustSet`, and many others.
@@ -216,14 +302,6 @@ export interface BaseTransaction {
216
302
  * @throws When the common param is malformed.
217
303
  */
218
304
  export function validateBaseTransaction(common: Record<string, unknown>): void {
219
- if (common.Account === undefined) {
220
- throw new ValidationError('BaseTransaction: missing field Account')
221
- }
222
-
223
- if (typeof common.Account !== 'string') {
224
- throw new ValidationError('BaseTransaction: Account not string')
225
- }
226
-
227
305
  if (common.TransactionType === undefined) {
228
306
  throw new ValidationError('BaseTransaction: missing field TransactionType')
229
307
  }
@@ -236,27 +314,15 @@ export function validateBaseTransaction(common: Record<string, unknown>): void {
236
314
  throw new ValidationError('BaseTransaction: Unknown TransactionType')
237
315
  }
238
316
 
239
- if (common.Fee !== undefined && typeof common.Fee !== 'string') {
240
- throw new ValidationError('BaseTransaction: invalid Fee')
241
- }
317
+ validateRequiredField(common, 'Account', isString)
242
318
 
243
- if (common.Sequence !== undefined && typeof common.Sequence !== 'number') {
244
- throw new ValidationError('BaseTransaction: invalid Sequence')
245
- }
319
+ validateOptionalField(common, 'Fee', isString)
246
320
 
247
- if (
248
- common.AccountTxnID !== undefined &&
249
- typeof common.AccountTxnID !== 'string'
250
- ) {
251
- throw new ValidationError('BaseTransaction: invalid AccountTxnID')
252
- }
321
+ validateOptionalField(common, 'Sequence', isNumber)
253
322
 
254
- if (
255
- common.LastLedgerSequence !== undefined &&
256
- typeof common.LastLedgerSequence !== 'number'
257
- ) {
258
- throw new ValidationError('BaseTransaction: invalid LastLedgerSequence')
259
- }
323
+ validateOptionalField(common, 'AccountTxnID', isString)
324
+
325
+ validateOptionalField(common, 'LastLedgerSequence', isNumber)
260
326
 
261
327
  // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- Only used by JS
262
328
  const memos = common.Memos as Array<{ Memo?: unknown }> | undefined
@@ -274,33 +340,15 @@ export function validateBaseTransaction(common: Record<string, unknown>): void {
274
340
  throw new ValidationError('BaseTransaction: invalid Signers')
275
341
  }
276
342
 
277
- if (common.SourceTag !== undefined && typeof common.SourceTag !== 'number') {
278
- throw new ValidationError('BaseTransaction: invalid SourceTag')
279
- }
343
+ validateOptionalField(common, 'SourceTag', isNumber)
280
344
 
281
- if (
282
- common.SigningPubKey !== undefined &&
283
- typeof common.SigningPubKey !== 'string'
284
- ) {
285
- throw new ValidationError('BaseTransaction: invalid SigningPubKey')
286
- }
345
+ validateOptionalField(common, 'SigningPubKey', isString)
287
346
 
288
- if (
289
- common.TicketSequence !== undefined &&
290
- typeof common.TicketSequence !== 'number'
291
- ) {
292
- throw new ValidationError('BaseTransaction: invalid TicketSequence')
293
- }
347
+ validateOptionalField(common, 'TicketSequence', isNumber)
294
348
 
295
- if (
296
- common.TxnSignature !== undefined &&
297
- typeof common.TxnSignature !== 'string'
298
- ) {
299
- throw new ValidationError('BaseTransaction: invalid TxnSignature')
300
- }
301
- if (common.NetworkID !== undefined && typeof common.NetworkID !== 'number') {
302
- throw new ValidationError('BaseTransaction: invalid NetworkID')
303
- }
349
+ validateOptionalField(common, 'TxnSignature', isString)
350
+
351
+ validateOptionalField(common, 'NetworkID', isNumber)
304
352
  }
305
353
 
306
354
  /**
@@ -1,4 +1,3 @@
1
- /* eslint-disable complexity -- Necessary for validateDepositPreauth */
2
1
  import { ValidationError } from '../../errors'
3
2
 
4
3
  import { BaseTransaction, validateBaseTransaction } from './common'
@@ -1,6 +1,12 @@
1
1
  import { ValidationError } from '../../errors'
2
2
 
3
- import { BaseTransaction, validateBaseTransaction } from './common'
3
+ import {
4
+ Account,
5
+ BaseTransaction,
6
+ isAccount,
7
+ validateBaseTransaction,
8
+ validateRequiredField,
9
+ } from './common'
4
10
 
5
11
  /**
6
12
  * Return escrowed XRP to the sender.
@@ -10,12 +16,12 @@ import { BaseTransaction, validateBaseTransaction } from './common'
10
16
  export interface EscrowCancel extends BaseTransaction {
11
17
  TransactionType: 'EscrowCancel'
12
18
  /** Address of the source account that funded the escrow payment. */
13
- Owner: string
19
+ Owner: Account
14
20
  /**
15
21
  * Transaction sequence (or Ticket number) of EscrowCreate transaction that.
16
22
  * created the escrow to cancel.
17
23
  */
18
- OfferSequence: number
24
+ OfferSequence: number | string
19
25
  }
20
26
 
21
27
  /**
@@ -27,19 +33,17 @@ export interface EscrowCancel extends BaseTransaction {
27
33
  export function validateEscrowCancel(tx: Record<string, unknown>): void {
28
34
  validateBaseTransaction(tx)
29
35
 
30
- if (tx.Owner === undefined) {
31
- throw new ValidationError('EscrowCancel: missing Owner')
32
- }
33
-
34
- if (typeof tx.Owner !== 'string') {
35
- throw new ValidationError('EscrowCancel: Owner must be a string')
36
- }
36
+ validateRequiredField(tx, 'Owner', isAccount)
37
37
 
38
- if (tx.OfferSequence === undefined) {
38
+ if (tx.OfferSequence == null) {
39
39
  throw new ValidationError('EscrowCancel: missing OfferSequence')
40
40
  }
41
41
 
42
- if (typeof tx.OfferSequence !== 'number') {
42
+ if (
43
+ (typeof tx.OfferSequence !== 'number' &&
44
+ typeof tx.OfferSequence !== 'string') ||
45
+ Number.isNaN(Number(tx.OfferSequence))
46
+ ) {
43
47
  throw new ValidationError('EscrowCancel: OfferSequence must be a number')
44
48
  }
45
49
  }
@@ -1,7 +1,14 @@
1
- /* eslint-disable complexity -- Necessary for validateEscrowCreate */
2
1
  import { ValidationError } from '../../errors'
3
2
 
4
- import { BaseTransaction, validateBaseTransaction } from './common'
3
+ import {
4
+ Account,
5
+ BaseTransaction,
6
+ isAccount,
7
+ isNumber,
8
+ validateBaseTransaction,
9
+ validateOptionalField,
10
+ validateRequiredField,
11
+ } from './common'
5
12
 
6
13
  /**
7
14
  * Sequester XRP until the escrow process either finishes or is canceled.
@@ -17,7 +24,7 @@ export interface EscrowCreate extends BaseTransaction {
17
24
  */
18
25
  Amount: string
19
26
  /** Address to receive escrowed XRP. */
20
- Destination: string
27
+ Destination: Account
21
28
  /**
22
29
  * The time, in seconds since the Ripple Epoch, when this escrow expires.
23
30
  * This value is immutable; the funds can only be returned the sender after.
@@ -59,13 +66,8 @@ export function validateEscrowCreate(tx: Record<string, unknown>): void {
59
66
  throw new ValidationError('EscrowCreate: Amount must be a string')
60
67
  }
61
68
 
62
- if (tx.Destination === undefined) {
63
- throw new ValidationError('EscrowCreate: missing field Destination')
64
- }
65
-
66
- if (typeof tx.Destination !== 'string') {
67
- throw new ValidationError('EscrowCreate: Destination must be a string')
68
- }
69
+ validateRequiredField(tx, 'Destination', isAccount)
70
+ validateOptionalField(tx, 'DestinationTag', isNumber)
69
71
 
70
72
  if (tx.CancelAfter === undefined && tx.FinishAfter === undefined) {
71
73
  throw new ValidationError(
@@ -90,11 +92,4 @@ export function validateEscrowCreate(tx: Record<string, unknown>): void {
90
92
  if (tx.Condition !== undefined && typeof tx.Condition !== 'string') {
91
93
  throw new ValidationError('EscrowCreate: Condition must be a string')
92
94
  }
93
-
94
- if (
95
- tx.DestinationTag !== undefined &&
96
- typeof tx.DestinationTag !== 'number'
97
- ) {
98
- throw new ValidationError('EscrowCreate: DestinationTag must be a number')
99
- }
100
95
  }
@@ -1,6 +1,12 @@
1
1
  import { ValidationError } from '../../errors'
2
2
 
3
- import { BaseTransaction, validateBaseTransaction } from './common'
3
+ import {
4
+ Account,
5
+ BaseTransaction,
6
+ isAccount,
7
+ validateBaseTransaction,
8
+ validateRequiredField,
9
+ } from './common'
4
10
 
5
11
  /**
6
12
  * Deliver XRP from a held payment to the recipient.
@@ -10,12 +16,12 @@ import { BaseTransaction, validateBaseTransaction } from './common'
10
16
  export interface EscrowFinish extends BaseTransaction {
11
17
  TransactionType: 'EscrowFinish'
12
18
  /** Address of the source account that funded the held payment. */
13
- Owner: string
19
+ Owner: Account
14
20
  /**
15
21
  * Transaction sequence of EscrowCreate transaction that created the held.
16
22
  * payment to finish.
17
23
  */
18
- OfferSequence: number
24
+ OfferSequence: number | string
19
25
  /**
20
26
  * Hex value matching the previously-supplied PREIMAGE-SHA-256.
21
27
  * crypto-condition of the held payment.
@@ -37,19 +43,17 @@ export interface EscrowFinish extends BaseTransaction {
37
43
  export function validateEscrowFinish(tx: Record<string, unknown>): void {
38
44
  validateBaseTransaction(tx)
39
45
 
40
- if (tx.Owner === undefined) {
41
- throw new ValidationError('EscrowFinish: missing field Owner')
42
- }
43
-
44
- if (typeof tx.Owner !== 'string') {
45
- throw new ValidationError('EscrowFinish: Owner must be a string')
46
- }
46
+ validateRequiredField(tx, 'Owner', isAccount)
47
47
 
48
- if (tx.OfferSequence === undefined) {
48
+ if (tx.OfferSequence == null) {
49
49
  throw new ValidationError('EscrowFinish: missing field OfferSequence')
50
50
  }
51
51
 
52
- if (typeof tx.OfferSequence !== 'number') {
52
+ if (
53
+ (typeof tx.OfferSequence !== 'number' &&
54
+ typeof tx.OfferSequence !== 'string') ||
55
+ Number.isNaN(Number(tx.OfferSequence))
56
+ ) {
53
57
  throw new ValidationError('EscrowFinish: OfferSequence must be a number')
54
58
  }
55
59
 
@@ -1,5 +1,10 @@
1
1
  export { BaseTransaction } from './common'
2
- export { validate, TransactionAndMetadata, Transaction } from './transaction'
2
+ export {
3
+ validate,
4
+ PseudoTransaction,
5
+ TransactionAndMetadata,
6
+ Transaction,
7
+ } from './transaction'
3
8
  export * from './metadata'
4
9
  export {
5
10
  AccountSetAsfFlags,
@@ -1,4 +1,3 @@
1
- /* eslint-disable complexity -- Necessary for validateOfferCreate */
2
1
  import { ValidationError } from '../../errors'
3
2
  import { Amount } from '../common'
4
3
 
@@ -1,4 +1,3 @@
1
- /* eslint-disable complexity -- Necessary for validatePayment */
2
1
  import { ValidationError } from '../../errors'
3
2
  import { Amount, Path } from '../common'
4
3
  import { isFlagEnabled } from '../utils'
@@ -8,6 +7,11 @@ import {
8
7
  isAmount,
9
8
  GlobalFlags,
10
9
  validateBaseTransaction,
10
+ isAccount,
11
+ validateRequiredField,
12
+ validateOptionalField,
13
+ isNumber,
14
+ Account,
11
15
  } from './common'
12
16
 
13
17
  /**
@@ -113,7 +117,7 @@ export interface Payment extends BaseTransaction {
113
117
  */
114
118
  Amount: Amount
115
119
  /** The unique address of the account receiving the payment. */
116
- Destination: string
120
+ Destination: Account
117
121
  /**
118
122
  * Arbitrary tag that identifies the reason for the payment to the
119
123
  * destination, or a hosted recipient to pay.
@@ -164,19 +168,8 @@ export function validatePayment(tx: Record<string, unknown>): void {
164
168
  throw new ValidationError('PaymentTransaction: invalid Amount')
165
169
  }
166
170
 
167
- if (tx.Destination === undefined) {
168
- throw new ValidationError('PaymentTransaction: missing field Destination')
169
- }
170
-
171
- if (!isAmount(tx.Destination)) {
172
- throw new ValidationError('PaymentTransaction: invalid Destination')
173
- }
174
-
175
- if (tx.DestinationTag != null && typeof tx.DestinationTag !== 'number') {
176
- throw new ValidationError(
177
- 'PaymentTransaction: DestinationTag must be a number',
178
- )
179
- }
171
+ validateRequiredField(tx, 'Destination', isAccount)
172
+ validateOptionalField(tx, 'DestinationTag', isNumber)
180
173
 
181
174
  if (tx.InvoiceID !== undefined && typeof tx.InvoiceID !== 'string') {
182
175
  throw new ValidationError('PaymentTransaction: InvoiceID must be a string')
@@ -1,4 +1,3 @@
1
- /* eslint-disable complexity -- Necessary for validatePaymentChannelClaim */
2
1
  import { ValidationError } from '../../errors'
3
2
 
4
3
  import { BaseTransaction, GlobalFlags, validateBaseTransaction } from './common'
@@ -1,7 +1,14 @@
1
- /* eslint-disable complexity -- Necessary for validatePaymentChannelCreate */
2
1
  import { ValidationError } from '../../errors'
3
2
 
4
- import { BaseTransaction, validateBaseTransaction } from './common'
3
+ import {
4
+ Account,
5
+ BaseTransaction,
6
+ isAccount,
7
+ isNumber,
8
+ validateBaseTransaction,
9
+ validateOptionalField,
10
+ validateRequiredField,
11
+ } from './common'
5
12
 
6
13
  /**
7
14
  * Create a unidirectional channel and fund it with XRP. The address sending
@@ -22,7 +29,7 @@ export interface PaymentChannelCreate extends BaseTransaction {
22
29
  * Address to receive XRP claims against this channel. This is also known as
23
30
  * the "destination address" for the channel.
24
31
  */
25
- Destination: string
32
+ Destination: Account
26
33
  /**
27
34
  * Amount of time the source address must wait before closing the channel if
28
35
  * it has unclaimed XRP.
@@ -55,7 +62,6 @@ export interface PaymentChannelCreate extends BaseTransaction {
55
62
  * @param tx - An PaymentChannelCreate Transaction.
56
63
  * @throws When the PaymentChannelCreate is Malformed.
57
64
  */
58
- // eslint-disable-next-line max-lines-per-function -- okay for this function, there's a lot of things to check
59
65
  export function validatePaymentChannelCreate(
60
66
  tx: Record<string, unknown>,
61
67
  ): void {
@@ -69,15 +75,8 @@ export function validatePaymentChannelCreate(
69
75
  throw new ValidationError('PaymentChannelCreate: Amount must be a string')
70
76
  }
71
77
 
72
- if (tx.Destination === undefined) {
73
- throw new ValidationError('PaymentChannelCreate: missing Destination')
74
- }
75
-
76
- if (typeof tx.Destination !== 'string') {
77
- throw new ValidationError(
78
- 'PaymentChannelCreate: Destination must be a string',
79
- )
80
- }
78
+ validateRequiredField(tx, 'Destination', isAccount)
79
+ validateOptionalField(tx, 'DestinationTag', isNumber)
81
80
 
82
81
  if (tx.SettleDelay === undefined) {
83
82
  throw new ValidationError('PaymentChannelCreate: missing SettleDelay')
@@ -104,13 +103,4 @@ export function validatePaymentChannelCreate(
104
103
  'PaymentChannelCreate: CancelAfter must be a number',
105
104
  )
106
105
  }
107
-
108
- if (
109
- tx.DestinationTag !== undefined &&
110
- typeof tx.DestinationTag !== 'number'
111
- ) {
112
- throw new ValidationError(
113
- 'PaymentChannelCreate: DestinationTag must be a number',
114
- )
115
- }
116
106
  }
@@ -36,7 +36,6 @@ const HEX_WALLET_LOCATOR_REGEX = /^[0-9A-Fa-f]{64}$/u
36
36
  * @param tx - An SignerListSet Transaction.
37
37
  * @throws When the SignerListSet is Malformed.
38
38
  */
39
- // eslint-disable-next-line complexity -- validation can be complex
40
39
  export function validateSignerListSet(tx: Record<string, unknown>): void {
41
40
  validateBaseTransaction(tx)
42
41
 
@@ -1,5 +1,4 @@
1
1
  /* eslint-disable max-lines -- need to work with a lot of transactions in a switch statement */
2
- /* eslint-disable complexity -- verifies many tx types hence a lot of checks needed */
3
2
  /* eslint-disable max-lines-per-function -- need to work with a lot of Tx verifications */
4
3
 
5
4
  import { ValidationError } from '../../errors'
@@ -21,6 +20,7 @@ import { CheckCreate, validateCheckCreate } from './checkCreate'
21
20
  import { Clawback, validateClawback } from './clawback'
22
21
  import { isIssuedCurrency } from './common'
23
22
  import { DepositPreauth, validateDepositPreauth } from './depositPreauth'
23
+ import { EnableAmendment } from './enableAmendment'
24
24
  import { EscrowCancel, validateEscrowCancel } from './escrowCancel'
25
25
  import { EscrowCreate, validateEscrowCreate } from './escrowCreate'
26
26
  import { EscrowFinish, validateEscrowFinish } from './escrowFinish'
@@ -54,10 +54,12 @@ import {
54
54
  PaymentChannelFund,
55
55
  validatePaymentChannelFund,
56
56
  } from './paymentChannelFund'
57
+ import { SetFee } from './setFee'
57
58
  import { SetRegularKey, validateSetRegularKey } from './setRegularKey'
58
59
  import { SignerListSet, validateSignerListSet } from './signerListSet'
59
60
  import { TicketCreate, validateTicketCreate } from './ticketCreate'
60
61
  import { TrustSet, validateTrustSet } from './trustSet'
62
+ import { UNLModify } from './UNLModify'
61
63
  import {
62
64
  XChainAccountCreateCommit,
63
65
  validateXChainAccountCreateCommit,
@@ -129,6 +131,8 @@ export type Transaction =
129
131
  | XChainAccountCreateCommit
130
132
  | XChainModifyBridge
131
133
 
134
+ export type PseudoTransaction = EnableAmendment | SetFee | UNLModify
135
+
132
136
  /**
133
137
  * @category Transaction Models
134
138
  */
@@ -10,6 +10,8 @@ import { AccountSetTfFlags } from '../transactions/accountSet'
10
10
  import { AMMDepositFlags } from '../transactions/AMMDeposit'
11
11
  import { AMMWithdrawFlags } from '../transactions/AMMWithdraw'
12
12
  import { GlobalFlags } from '../transactions/common'
13
+ import { NFTokenCreateOfferFlags } from '../transactions/NFTokenCreateOffer'
14
+ import { NFTokenMintFlags } from '../transactions/NFTokenMint'
13
15
  import { OfferCreateFlags } from '../transactions/offerCreate'
14
16
  import { PaymentFlags } from '../transactions/payment'
15
17
  import { PaymentChannelClaimFlags } from '../transactions/paymentChannelClaim'
@@ -43,12 +45,24 @@ export function parseAccountRootFlags(
43
45
  return flagsInterface
44
46
  }
45
47
 
48
+ const txToFlag = {
49
+ AccountSet: AccountSetTfFlags,
50
+ AMMDeposit: AMMDepositFlags,
51
+ AMMWithdraw: AMMWithdrawFlags,
52
+ NFTokenCreateOffer: NFTokenCreateOfferFlags,
53
+ NFTokenMint: NFTokenMintFlags,
54
+ OfferCreate: OfferCreateFlags,
55
+ PaymentChannelClaim: PaymentChannelClaimFlags,
56
+ Payment: PaymentFlags,
57
+ TrustSet: TrustSetFlags,
58
+ XChainModifyBridge: XChainModifyBridgeFlags,
59
+ }
60
+
46
61
  /**
47
62
  * Sets a transaction's flags to its numeric representation.
48
63
  *
49
64
  * @param tx - A transaction to set its flags to its numeric representation.
50
65
  */
51
- // eslint-disable-next-line complexity -- there's a lot of txs with flags
52
66
  export function setTransactionFlagsToNumber(tx: Transaction): void {
53
67
  if (tx.Flags == null) {
54
68
  tx.Flags = 0
@@ -58,34 +72,9 @@ export function setTransactionFlagsToNumber(tx: Transaction): void {
58
72
  return
59
73
  }
60
74
 
61
- switch (tx.TransactionType) {
62
- case 'AccountSet':
63
- tx.Flags = convertFlagsToNumber(tx.Flags, AccountSetTfFlags)
64
- return
65
- case 'AMMDeposit':
66
- tx.Flags = convertFlagsToNumber(tx.Flags, AMMDepositFlags)
67
- return
68
- case 'AMMWithdraw':
69
- tx.Flags = convertFlagsToNumber(tx.Flags, AMMWithdrawFlags)
70
- return
71
- case 'OfferCreate':
72
- tx.Flags = convertFlagsToNumber(tx.Flags, OfferCreateFlags)
73
- return
74
- case 'PaymentChannelClaim':
75
- tx.Flags = convertFlagsToNumber(tx.Flags, PaymentChannelClaimFlags)
76
- return
77
- case 'Payment':
78
- tx.Flags = convertFlagsToNumber(tx.Flags, PaymentFlags)
79
- return
80
- case 'TrustSet':
81
- tx.Flags = convertFlagsToNumber(tx.Flags, TrustSetFlags)
82
- return
83
- case 'XChainModifyBridge':
84
- tx.Flags = convertFlagsToNumber(tx.Flags, XChainModifyBridgeFlags)
85
- return
86
- default:
87
- tx.Flags = 0
88
- }
75
+ tx.Flags = txToFlag[tx.TransactionType]
76
+ ? convertFlagsToNumber(tx.Flags, txToFlag[tx.TransactionType])
77
+ : 0
89
78
  }
90
79
 
91
80
  // eslint-disable-next-line @typescript-eslint/no-explicit-any -- added ValidationError check for flagEnum
@@ -176,8 +176,6 @@ function txNeedsNetworkID(client: Client): boolean {
176
176
  client.networkID !== undefined &&
177
177
  client.networkID > RESTRICTED_NETWORKS
178
178
  ) {
179
- // TODO: remove the buildVersion logic when 1.11.0 is out and widely used.
180
- // Issue: https://github.com/XRPLF/xrpl.js/issues/2339
181
179
  if (
182
180
  (client.buildVersion &&
183
181
  isNotLaterRippledVersion(