xrpl 4.3.0 → 4.4.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 (349) hide show
  1. package/build/xrpl-latest-min.js +1 -1
  2. package/build/xrpl-latest-min.js.map +1 -1
  3. package/build/xrpl-latest.js +1609 -1773
  4. package/build/xrpl-latest.js.map +1 -1
  5. package/dist/npm/client/index.d.ts +3 -3
  6. package/dist/npm/client/index.d.ts.map +1 -1
  7. package/dist/npm/client/index.js +10 -7
  8. package/dist/npm/client/index.js.map +1 -1
  9. package/dist/npm/client/partialPayment.d.ts.map +1 -1
  10. package/dist/npm/client/partialPayment.js +2 -2
  11. package/dist/npm/client/partialPayment.js.map +1 -1
  12. package/dist/npm/models/common/index.d.ts +17 -0
  13. package/dist/npm/models/common/index.d.ts.map +1 -1
  14. package/dist/npm/models/ledger/AccountRoot.d.ts +4 -2
  15. package/dist/npm/models/ledger/AccountRoot.d.ts.map +1 -1
  16. package/dist/npm/models/ledger/AccountRoot.js +1 -0
  17. package/dist/npm/models/ledger/AccountRoot.js.map +1 -1
  18. package/dist/npm/models/ledger/DirectoryNode.d.ts +1 -0
  19. package/dist/npm/models/ledger/DirectoryNode.d.ts.map +1 -1
  20. package/dist/npm/models/ledger/Escrow.d.ts +2 -0
  21. package/dist/npm/models/ledger/Escrow.d.ts.map +1 -1
  22. package/dist/npm/models/ledger/LedgerEntry.d.ts +3 -2
  23. package/dist/npm/models/ledger/LedgerEntry.d.ts.map +1 -1
  24. package/dist/npm/models/ledger/MPToken.d.ts +1 -0
  25. package/dist/npm/models/ledger/MPToken.d.ts.map +1 -1
  26. package/dist/npm/models/ledger/MPTokenIssuance.d.ts +1 -0
  27. package/dist/npm/models/ledger/MPTokenIssuance.d.ts.map +1 -1
  28. package/dist/npm/models/ledger/Offer.d.ts +10 -1
  29. package/dist/npm/models/ledger/Offer.d.ts.map +1 -1
  30. package/dist/npm/models/ledger/Offer.js +1 -0
  31. package/dist/npm/models/ledger/Offer.js.map +1 -1
  32. package/dist/npm/models/ledger/Vault.d.ts +21 -0
  33. package/dist/npm/models/ledger/Vault.d.ts.map +1 -0
  34. package/dist/npm/models/ledger/Vault.js +3 -0
  35. package/dist/npm/models/ledger/Vault.js.map +1 -0
  36. package/dist/npm/models/ledger/index.d.ts +2 -1
  37. package/dist/npm/models/ledger/index.d.ts.map +1 -1
  38. package/dist/npm/models/ledger/index.js.map +1 -1
  39. package/dist/npm/models/methods/bookOffers.d.ts +1 -0
  40. package/dist/npm/models/methods/bookOffers.d.ts.map +1 -1
  41. package/dist/npm/models/methods/index.d.ts +5 -4
  42. package/dist/npm/models/methods/index.d.ts.map +1 -1
  43. package/dist/npm/models/methods/pathFind.d.ts +2 -0
  44. package/dist/npm/models/methods/pathFind.d.ts.map +1 -1
  45. package/dist/npm/models/methods/ripplePathFind.d.ts +1 -0
  46. package/dist/npm/models/methods/ripplePathFind.d.ts.map +1 -1
  47. package/dist/npm/models/methods/subscribe.d.ts +4 -0
  48. package/dist/npm/models/methods/subscribe.d.ts.map +1 -1
  49. package/dist/npm/models/methods/vaultInfo.d.ts +46 -0
  50. package/dist/npm/models/methods/vaultInfo.d.ts.map +1 -0
  51. package/dist/npm/models/methods/vaultInfo.js +3 -0
  52. package/dist/npm/models/methods/vaultInfo.js.map +1 -0
  53. package/dist/npm/models/transactions/AMMBid.d.ts.map +1 -1
  54. package/dist/npm/models/transactions/AMMBid.js +7 -5
  55. package/dist/npm/models/transactions/AMMBid.js.map +1 -1
  56. package/dist/npm/models/transactions/AMMClawback.d.ts.map +1 -1
  57. package/dist/npm/models/transactions/AMMClawback.js +5 -6
  58. package/dist/npm/models/transactions/AMMClawback.js.map +1 -1
  59. package/dist/npm/models/transactions/AMMDelete.d.ts.map +1 -1
  60. package/dist/npm/models/transactions/AMMDelete.js +2 -2
  61. package/dist/npm/models/transactions/AMMDelete.js.map +1 -1
  62. package/dist/npm/models/transactions/AMMDeposit.js +3 -3
  63. package/dist/npm/models/transactions/AMMDeposit.js.map +1 -1
  64. package/dist/npm/models/transactions/AMMVote.d.ts.map +1 -1
  65. package/dist/npm/models/transactions/AMMVote.js +2 -2
  66. package/dist/npm/models/transactions/AMMVote.js.map +1 -1
  67. package/dist/npm/models/transactions/AMMWithdraw.js +3 -3
  68. package/dist/npm/models/transactions/AMMWithdraw.js.map +1 -1
  69. package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts +1 -1
  70. package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -1
  71. package/dist/npm/models/transactions/MPTokenIssuanceCreate.js +17 -8
  72. package/dist/npm/models/transactions/MPTokenIssuanceCreate.js.map +1 -1
  73. package/dist/npm/models/transactions/MPTokenIssuanceSet.js +4 -4
  74. package/dist/npm/models/transactions/MPTokenIssuanceSet.js.map +1 -1
  75. package/dist/npm/models/transactions/NFTokenCancelOffer.d.ts.map +1 -1
  76. package/dist/npm/models/transactions/NFTokenCancelOffer.js +1 -1
  77. package/dist/npm/models/transactions/NFTokenCancelOffer.js.map +1 -1
  78. package/dist/npm/models/transactions/NFTokenCreateOffer.d.ts.map +1 -1
  79. package/dist/npm/models/transactions/NFTokenCreateOffer.js +6 -2
  80. package/dist/npm/models/transactions/NFTokenCreateOffer.js.map +1 -1
  81. package/dist/npm/models/transactions/accountSet.d.ts +2 -1
  82. package/dist/npm/models/transactions/accountSet.d.ts.map +1 -1
  83. package/dist/npm/models/transactions/accountSet.js +1 -0
  84. package/dist/npm/models/transactions/accountSet.js.map +1 -1
  85. package/dist/npm/models/transactions/checkCreate.d.ts.map +1 -1
  86. package/dist/npm/models/transactions/checkCreate.js +1 -2
  87. package/dist/npm/models/transactions/checkCreate.js.map +1 -1
  88. package/dist/npm/models/transactions/clawback.d.ts +2 -2
  89. package/dist/npm/models/transactions/clawback.d.ts.map +1 -1
  90. package/dist/npm/models/transactions/clawback.js +4 -6
  91. package/dist/npm/models/transactions/clawback.js.map +1 -1
  92. package/dist/npm/models/transactions/common.d.ts +13 -4
  93. package/dist/npm/models/transactions/common.d.ts.map +1 -1
  94. package/dist/npm/models/transactions/common.js +184 -28
  95. package/dist/npm/models/transactions/common.js.map +1 -1
  96. package/dist/npm/models/transactions/escrowCreate.d.ts +2 -1
  97. package/dist/npm/models/transactions/escrowCreate.d.ts.map +1 -1
  98. package/dist/npm/models/transactions/escrowCreate.js +1 -6
  99. package/dist/npm/models/transactions/escrowCreate.js.map +1 -1
  100. package/dist/npm/models/transactions/index.d.ts +9 -3
  101. package/dist/npm/models/transactions/index.d.ts.map +1 -1
  102. package/dist/npm/models/transactions/index.js +5 -1
  103. package/dist/npm/models/transactions/index.js.map +1 -1
  104. package/dist/npm/models/transactions/offerCreate.d.ts +4 -1
  105. package/dist/npm/models/transactions/offerCreate.d.ts.map +1 -1
  106. package/dist/npm/models/transactions/offerCreate.js +10 -0
  107. package/dist/npm/models/transactions/offerCreate.js.map +1 -1
  108. package/dist/npm/models/transactions/oracleSet.d.ts.map +1 -1
  109. package/dist/npm/models/transactions/oracleSet.js +22 -21
  110. package/dist/npm/models/transactions/oracleSet.js.map +1 -1
  111. package/dist/npm/models/transactions/payment.d.ts +2 -0
  112. package/dist/npm/models/transactions/payment.d.ts.map +1 -1
  113. package/dist/npm/models/transactions/payment.js +7 -4
  114. package/dist/npm/models/transactions/payment.js.map +1 -1
  115. package/dist/npm/models/transactions/signerListSet.d.ts.map +1 -1
  116. package/dist/npm/models/transactions/signerListSet.js +10 -16
  117. package/dist/npm/models/transactions/signerListSet.js.map +1 -1
  118. package/dist/npm/models/transactions/transaction.d.ts +7 -1
  119. package/dist/npm/models/transactions/transaction.d.ts.map +1 -1
  120. package/dist/npm/models/transactions/transaction.js +28 -35
  121. package/dist/npm/models/transactions/transaction.js.map +1 -1
  122. package/dist/npm/models/transactions/vaultClawback.d.ts +10 -0
  123. package/dist/npm/models/transactions/vaultClawback.d.ts.map +1 -0
  124. package/dist/npm/models/transactions/vaultClawback.js +12 -0
  125. package/dist/npm/models/transactions/vaultClawback.js.map +1 -0
  126. package/dist/npm/models/transactions/vaultCreate.d.ts +24 -0
  127. package/dist/npm/models/transactions/vaultCreate.d.ts.map +1 -0
  128. package/dist/npm/models/transactions/vaultCreate.js +60 -0
  129. package/dist/npm/models/transactions/vaultCreate.js.map +1 -0
  130. package/dist/npm/models/transactions/vaultDelete.d.ts +7 -0
  131. package/dist/npm/models/transactions/vaultDelete.d.ts.map +1 -0
  132. package/dist/npm/models/transactions/vaultDelete.js +10 -0
  133. package/dist/npm/models/transactions/vaultDelete.js.map +1 -0
  134. package/dist/npm/models/transactions/vaultDeposit.d.ts +9 -0
  135. package/dist/npm/models/transactions/vaultDeposit.d.ts.map +1 -0
  136. package/dist/npm/models/transactions/vaultDeposit.js +11 -0
  137. package/dist/npm/models/transactions/vaultDeposit.js.map +1 -0
  138. package/dist/npm/models/transactions/vaultSet.d.ts +10 -0
  139. package/dist/npm/models/transactions/vaultSet.d.ts.map +1 -0
  140. package/dist/npm/models/transactions/vaultSet.js +25 -0
  141. package/dist/npm/models/transactions/vaultSet.js.map +1 -0
  142. package/dist/npm/models/transactions/vaultWithdraw.d.ts +10 -0
  143. package/dist/npm/models/transactions/vaultWithdraw.d.ts.map +1 -0
  144. package/dist/npm/models/transactions/vaultWithdraw.js +12 -0
  145. package/dist/npm/models/transactions/vaultWithdraw.js.map +1 -0
  146. package/dist/npm/models/utils/flags.d.ts.map +1 -1
  147. package/dist/npm/models/utils/flags.js +2 -0
  148. package/dist/npm/models/utils/flags.js.map +1 -1
  149. package/dist/npm/snippets/src/permissionedDEX.d.ts +2 -0
  150. package/dist/npm/snippets/src/permissionedDEX.d.ts.map +1 -0
  151. package/dist/npm/snippets/src/permissionedDEX.js +173 -0
  152. package/dist/npm/snippets/src/permissionedDEX.js.map +1 -0
  153. package/dist/npm/snippets/tsconfig.tsbuildinfo +1 -1
  154. package/dist/npm/src/client/index.d.ts +3 -3
  155. package/dist/npm/src/client/index.d.ts.map +1 -1
  156. package/dist/npm/src/client/index.js +10 -7
  157. package/dist/npm/src/client/index.js.map +1 -1
  158. package/dist/npm/src/client/partialPayment.d.ts.map +1 -1
  159. package/dist/npm/src/client/partialPayment.js +2 -2
  160. package/dist/npm/src/client/partialPayment.js.map +1 -1
  161. package/dist/npm/src/models/common/index.d.ts +17 -0
  162. package/dist/npm/src/models/common/index.d.ts.map +1 -1
  163. package/dist/npm/src/models/ledger/AccountRoot.d.ts +4 -2
  164. package/dist/npm/src/models/ledger/AccountRoot.d.ts.map +1 -1
  165. package/dist/npm/src/models/ledger/AccountRoot.js +1 -0
  166. package/dist/npm/src/models/ledger/AccountRoot.js.map +1 -1
  167. package/dist/npm/src/models/ledger/DirectoryNode.d.ts +1 -0
  168. package/dist/npm/src/models/ledger/DirectoryNode.d.ts.map +1 -1
  169. package/dist/npm/src/models/ledger/Escrow.d.ts +2 -0
  170. package/dist/npm/src/models/ledger/Escrow.d.ts.map +1 -1
  171. package/dist/npm/src/models/ledger/LedgerEntry.d.ts +3 -2
  172. package/dist/npm/src/models/ledger/LedgerEntry.d.ts.map +1 -1
  173. package/dist/npm/src/models/ledger/MPToken.d.ts +1 -0
  174. package/dist/npm/src/models/ledger/MPToken.d.ts.map +1 -1
  175. package/dist/npm/src/models/ledger/MPTokenIssuance.d.ts +1 -0
  176. package/dist/npm/src/models/ledger/MPTokenIssuance.d.ts.map +1 -1
  177. package/dist/npm/src/models/ledger/Offer.d.ts +10 -1
  178. package/dist/npm/src/models/ledger/Offer.d.ts.map +1 -1
  179. package/dist/npm/src/models/ledger/Offer.js +1 -0
  180. package/dist/npm/src/models/ledger/Offer.js.map +1 -1
  181. package/dist/npm/src/models/ledger/Vault.d.ts +21 -0
  182. package/dist/npm/src/models/ledger/Vault.d.ts.map +1 -0
  183. package/dist/npm/src/models/ledger/Vault.js +3 -0
  184. package/dist/npm/src/models/ledger/Vault.js.map +1 -0
  185. package/dist/npm/src/models/ledger/index.d.ts +2 -1
  186. package/dist/npm/src/models/ledger/index.d.ts.map +1 -1
  187. package/dist/npm/src/models/ledger/index.js.map +1 -1
  188. package/dist/npm/src/models/methods/bookOffers.d.ts +1 -0
  189. package/dist/npm/src/models/methods/bookOffers.d.ts.map +1 -1
  190. package/dist/npm/src/models/methods/index.d.ts +5 -4
  191. package/dist/npm/src/models/methods/index.d.ts.map +1 -1
  192. package/dist/npm/src/models/methods/pathFind.d.ts +2 -0
  193. package/dist/npm/src/models/methods/pathFind.d.ts.map +1 -1
  194. package/dist/npm/src/models/methods/ripplePathFind.d.ts +1 -0
  195. package/dist/npm/src/models/methods/ripplePathFind.d.ts.map +1 -1
  196. package/dist/npm/src/models/methods/subscribe.d.ts +4 -0
  197. package/dist/npm/src/models/methods/subscribe.d.ts.map +1 -1
  198. package/dist/npm/src/models/methods/vaultInfo.d.ts +46 -0
  199. package/dist/npm/src/models/methods/vaultInfo.d.ts.map +1 -0
  200. package/dist/npm/src/models/methods/vaultInfo.js +3 -0
  201. package/dist/npm/src/models/methods/vaultInfo.js.map +1 -0
  202. package/dist/npm/src/models/transactions/AMMBid.d.ts.map +1 -1
  203. package/dist/npm/src/models/transactions/AMMBid.js +7 -5
  204. package/dist/npm/src/models/transactions/AMMBid.js.map +1 -1
  205. package/dist/npm/src/models/transactions/AMMClawback.d.ts.map +1 -1
  206. package/dist/npm/src/models/transactions/AMMClawback.js +5 -6
  207. package/dist/npm/src/models/transactions/AMMClawback.js.map +1 -1
  208. package/dist/npm/src/models/transactions/AMMDelete.d.ts.map +1 -1
  209. package/dist/npm/src/models/transactions/AMMDelete.js +2 -2
  210. package/dist/npm/src/models/transactions/AMMDelete.js.map +1 -1
  211. package/dist/npm/src/models/transactions/AMMDeposit.js +3 -3
  212. package/dist/npm/src/models/transactions/AMMDeposit.js.map +1 -1
  213. package/dist/npm/src/models/transactions/AMMVote.d.ts.map +1 -1
  214. package/dist/npm/src/models/transactions/AMMVote.js +2 -2
  215. package/dist/npm/src/models/transactions/AMMVote.js.map +1 -1
  216. package/dist/npm/src/models/transactions/AMMWithdraw.js +3 -3
  217. package/dist/npm/src/models/transactions/AMMWithdraw.js.map +1 -1
  218. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts +1 -1
  219. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -1
  220. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.js +17 -8
  221. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.js.map +1 -1
  222. package/dist/npm/src/models/transactions/MPTokenIssuanceSet.js +4 -4
  223. package/dist/npm/src/models/transactions/MPTokenIssuanceSet.js.map +1 -1
  224. package/dist/npm/src/models/transactions/NFTokenCancelOffer.d.ts.map +1 -1
  225. package/dist/npm/src/models/transactions/NFTokenCancelOffer.js +1 -1
  226. package/dist/npm/src/models/transactions/NFTokenCancelOffer.js.map +1 -1
  227. package/dist/npm/src/models/transactions/NFTokenCreateOffer.d.ts.map +1 -1
  228. package/dist/npm/src/models/transactions/NFTokenCreateOffer.js +6 -2
  229. package/dist/npm/src/models/transactions/NFTokenCreateOffer.js.map +1 -1
  230. package/dist/npm/src/models/transactions/accountSet.d.ts +2 -1
  231. package/dist/npm/src/models/transactions/accountSet.d.ts.map +1 -1
  232. package/dist/npm/src/models/transactions/accountSet.js +1 -0
  233. package/dist/npm/src/models/transactions/accountSet.js.map +1 -1
  234. package/dist/npm/src/models/transactions/checkCreate.d.ts.map +1 -1
  235. package/dist/npm/src/models/transactions/checkCreate.js +1 -2
  236. package/dist/npm/src/models/transactions/checkCreate.js.map +1 -1
  237. package/dist/npm/src/models/transactions/clawback.d.ts +2 -2
  238. package/dist/npm/src/models/transactions/clawback.d.ts.map +1 -1
  239. package/dist/npm/src/models/transactions/clawback.js +4 -6
  240. package/dist/npm/src/models/transactions/clawback.js.map +1 -1
  241. package/dist/npm/src/models/transactions/common.d.ts +13 -4
  242. package/dist/npm/src/models/transactions/common.d.ts.map +1 -1
  243. package/dist/npm/src/models/transactions/common.js +184 -28
  244. package/dist/npm/src/models/transactions/common.js.map +1 -1
  245. package/dist/npm/src/models/transactions/escrowCreate.d.ts +2 -1
  246. package/dist/npm/src/models/transactions/escrowCreate.d.ts.map +1 -1
  247. package/dist/npm/src/models/transactions/escrowCreate.js +1 -6
  248. package/dist/npm/src/models/transactions/escrowCreate.js.map +1 -1
  249. package/dist/npm/src/models/transactions/index.d.ts +9 -3
  250. package/dist/npm/src/models/transactions/index.d.ts.map +1 -1
  251. package/dist/npm/src/models/transactions/index.js +5 -1
  252. package/dist/npm/src/models/transactions/index.js.map +1 -1
  253. package/dist/npm/src/models/transactions/offerCreate.d.ts +4 -1
  254. package/dist/npm/src/models/transactions/offerCreate.d.ts.map +1 -1
  255. package/dist/npm/src/models/transactions/offerCreate.js +10 -0
  256. package/dist/npm/src/models/transactions/offerCreate.js.map +1 -1
  257. package/dist/npm/src/models/transactions/oracleSet.d.ts.map +1 -1
  258. package/dist/npm/src/models/transactions/oracleSet.js +22 -21
  259. package/dist/npm/src/models/transactions/oracleSet.js.map +1 -1
  260. package/dist/npm/src/models/transactions/payment.d.ts +2 -0
  261. package/dist/npm/src/models/transactions/payment.d.ts.map +1 -1
  262. package/dist/npm/src/models/transactions/payment.js +7 -4
  263. package/dist/npm/src/models/transactions/payment.js.map +1 -1
  264. package/dist/npm/src/models/transactions/signerListSet.d.ts.map +1 -1
  265. package/dist/npm/src/models/transactions/signerListSet.js +10 -16
  266. package/dist/npm/src/models/transactions/signerListSet.js.map +1 -1
  267. package/dist/npm/src/models/transactions/transaction.d.ts +7 -1
  268. package/dist/npm/src/models/transactions/transaction.d.ts.map +1 -1
  269. package/dist/npm/src/models/transactions/transaction.js +28 -35
  270. package/dist/npm/src/models/transactions/transaction.js.map +1 -1
  271. package/dist/npm/src/models/transactions/vaultClawback.d.ts +10 -0
  272. package/dist/npm/src/models/transactions/vaultClawback.d.ts.map +1 -0
  273. package/dist/npm/src/models/transactions/vaultClawback.js +12 -0
  274. package/dist/npm/src/models/transactions/vaultClawback.js.map +1 -0
  275. package/dist/npm/src/models/transactions/vaultCreate.d.ts +24 -0
  276. package/dist/npm/src/models/transactions/vaultCreate.d.ts.map +1 -0
  277. package/dist/npm/src/models/transactions/vaultCreate.js +60 -0
  278. package/dist/npm/src/models/transactions/vaultCreate.js.map +1 -0
  279. package/dist/npm/src/models/transactions/vaultDelete.d.ts +7 -0
  280. package/dist/npm/src/models/transactions/vaultDelete.d.ts.map +1 -0
  281. package/dist/npm/src/models/transactions/vaultDelete.js +10 -0
  282. package/dist/npm/src/models/transactions/vaultDelete.js.map +1 -0
  283. package/dist/npm/src/models/transactions/vaultDeposit.d.ts +9 -0
  284. package/dist/npm/src/models/transactions/vaultDeposit.d.ts.map +1 -0
  285. package/dist/npm/src/models/transactions/vaultDeposit.js +11 -0
  286. package/dist/npm/src/models/transactions/vaultDeposit.js.map +1 -0
  287. package/dist/npm/src/models/transactions/vaultSet.d.ts +10 -0
  288. package/dist/npm/src/models/transactions/vaultSet.d.ts.map +1 -0
  289. package/dist/npm/src/models/transactions/vaultSet.js +25 -0
  290. package/dist/npm/src/models/transactions/vaultSet.js.map +1 -0
  291. package/dist/npm/src/models/transactions/vaultWithdraw.d.ts +10 -0
  292. package/dist/npm/src/models/transactions/vaultWithdraw.d.ts.map +1 -0
  293. package/dist/npm/src/models/transactions/vaultWithdraw.js +12 -0
  294. package/dist/npm/src/models/transactions/vaultWithdraw.js.map +1 -0
  295. package/dist/npm/src/models/utils/flags.d.ts.map +1 -1
  296. package/dist/npm/src/models/utils/flags.js +2 -0
  297. package/dist/npm/src/models/utils/flags.js.map +1 -1
  298. package/dist/npm/src/sugar/autofill.d.ts.map +1 -1
  299. package/dist/npm/src/sugar/autofill.js.map +1 -1
  300. package/dist/npm/sugar/autofill.d.ts.map +1 -1
  301. package/dist/npm/sugar/autofill.js.map +1 -1
  302. package/package.json +6 -5
  303. package/src/client/index.ts +43 -38
  304. package/src/client/partialPayment.ts +1 -2
  305. package/src/models/common/index.ts +27 -0
  306. package/src/models/ledger/AccountRoot.ts +11 -1
  307. package/src/models/ledger/DirectoryNode.ts +3 -0
  308. package/src/models/ledger/Escrow.ts +14 -1
  309. package/src/models/ledger/LedgerEntry.ts +3 -0
  310. package/src/models/ledger/MPToken.ts +1 -0
  311. package/src/models/ledger/MPTokenIssuance.ts +1 -0
  312. package/src/models/ledger/Offer.ts +21 -0
  313. package/src/models/ledger/Vault.ts +83 -0
  314. package/src/models/ledger/index.ts +3 -1
  315. package/src/models/methods/bookOffers.ts +7 -0
  316. package/src/models/methods/index.ts +10 -0
  317. package/src/models/methods/pathFind.ts +10 -0
  318. package/src/models/methods/ripplePathFind.ts +5 -0
  319. package/src/models/methods/subscribe.ts +21 -0
  320. package/src/models/methods/vaultInfo.ts +193 -0
  321. package/src/models/transactions/AMMBid.ts +12 -20
  322. package/src/models/transactions/AMMClawback.ts +8 -11
  323. package/src/models/transactions/AMMDelete.ts +7 -3
  324. package/src/models/transactions/AMMDeposit.ts +4 -4
  325. package/src/models/transactions/AMMVote.ts +7 -3
  326. package/src/models/transactions/AMMWithdraw.ts +4 -4
  327. package/src/models/transactions/MPTokenIssuanceCreate.ts +36 -11
  328. package/src/models/transactions/MPTokenIssuanceSet.ts +1 -1
  329. package/src/models/transactions/NFTokenCancelOffer.ts +2 -2
  330. package/src/models/transactions/NFTokenCreateOffer.ts +8 -4
  331. package/src/models/transactions/accountSet.ts +2 -0
  332. package/src/models/transactions/checkCreate.ts +2 -6
  333. package/src/models/transactions/clawback.ts +9 -10
  334. package/src/models/transactions/common.ts +350 -42
  335. package/src/models/transactions/escrowCreate.ts +8 -12
  336. package/src/models/transactions/index.ts +14 -3
  337. package/src/models/transactions/offerCreate.ts +25 -0
  338. package/src/models/transactions/oracleSet.ts +32 -39
  339. package/src/models/transactions/payment.ts +25 -7
  340. package/src/models/transactions/signerListSet.ts +21 -21
  341. package/src/models/transactions/transaction.ts +46 -43
  342. package/src/models/transactions/vaultClawback.ts +55 -0
  343. package/src/models/transactions/vaultCreate.ts +166 -0
  344. package/src/models/transactions/vaultDelete.ts +32 -0
  345. package/src/models/transactions/vaultDeposit.ts +42 -0
  346. package/src/models/transactions/vaultSet.ts +71 -0
  347. package/src/models/transactions/vaultWithdraw.ts +51 -0
  348. package/src/models/utils/flags.ts +2 -0
  349. package/src/sugar/autofill.ts +5 -6
@@ -6,8 +6,8 @@ import {
6
6
  BaseTransaction,
7
7
  GlobalFlagsInterface,
8
8
  isAccount,
9
- isAmount,
10
- isCurrency,
9
+ isIssuedCurrency,
10
+ isIssuedCurrencyAmount,
11
11
  validateBaseTransaction,
12
12
  validateOptionalField,
13
13
  validateRequiredField,
@@ -81,12 +81,9 @@ export function validateAMMClawback(tx: Record<string, unknown>): void {
81
81
 
82
82
  validateRequiredField(tx, 'Holder', isAccount)
83
83
 
84
- validateRequiredField(tx, 'Asset', isCurrency)
84
+ validateRequiredField(tx, 'Asset', isIssuedCurrency)
85
85
 
86
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- required
87
- const asset = tx.Asset as IssuedCurrency
88
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- required
89
- const amount = tx.Amount as IssuedCurrencyAmount
86
+ const asset = tx.Asset
90
87
 
91
88
  if (tx.Holder === asset.issuer) {
92
89
  throw new ValidationError(
@@ -100,18 +97,18 @@ export function validateAMMClawback(tx: Record<string, unknown>): void {
100
97
  )
101
98
  }
102
99
 
103
- validateRequiredField(tx, 'Asset2', isCurrency)
100
+ validateRequiredField(tx, 'Asset2', isIssuedCurrency)
104
101
 
105
- validateOptionalField(tx, 'Amount', isAmount)
102
+ validateOptionalField(tx, 'Amount', isIssuedCurrencyAmount)
106
103
 
107
104
  if (tx.Amount != null) {
108
- if (amount.currency !== asset.currency) {
105
+ if (tx.Amount.currency !== asset.currency) {
109
106
  throw new ValidationError(
110
107
  'AMMClawback: Amount.currency must match Asset.currency',
111
108
  )
112
109
  }
113
110
 
114
- if (amount.issuer !== asset.issuer) {
111
+ if (tx.Amount.issuer !== asset.issuer) {
115
112
  throw new ValidationError(
116
113
  'AMMClawback: Amount.issuer must match Amount.issuer',
117
114
  )
@@ -1,7 +1,11 @@
1
1
  import { ValidationError } from '../../errors'
2
2
  import { Currency } from '../common'
3
3
 
4
- import { BaseTransaction, isCurrency, validateBaseTransaction } from './common'
4
+ import {
5
+ BaseTransaction,
6
+ isIssuedCurrency,
7
+ validateBaseTransaction,
8
+ } from './common'
5
9
 
6
10
  /**
7
11
  * Delete an empty Automated Market Maker (AMM) instance that could not be fully deleted automatically.
@@ -41,7 +45,7 @@ export function validateAMMDelete(tx: Record<string, unknown>): void {
41
45
  throw new ValidationError('AMMDelete: missing field Asset')
42
46
  }
43
47
 
44
- if (!isCurrency(tx.Asset)) {
48
+ if (!isIssuedCurrency(tx.Asset)) {
45
49
  throw new ValidationError('AMMDelete: Asset must be a Currency')
46
50
  }
47
51
 
@@ -49,7 +53,7 @@ export function validateAMMDelete(tx: Record<string, unknown>): void {
49
53
  throw new ValidationError('AMMDelete: missing field Asset2')
50
54
  }
51
55
 
52
- if (!isCurrency(tx.Asset2)) {
56
+ if (!isIssuedCurrency(tx.Asset2)) {
53
57
  throw new ValidationError('AMMDelete: Asset2 must be a Currency')
54
58
  }
55
59
  }
@@ -5,8 +5,8 @@ import {
5
5
  BaseTransaction,
6
6
  GlobalFlagsInterface,
7
7
  isAmount,
8
- isCurrency,
9
8
  isIssuedCurrency,
9
+ isIssuedCurrencyAmount,
10
10
  validateBaseTransaction,
11
11
  } from './common'
12
12
 
@@ -89,7 +89,7 @@ export function validateAMMDeposit(tx: Record<string, unknown>): void {
89
89
  throw new ValidationError('AMMDeposit: missing field Asset')
90
90
  }
91
91
 
92
- if (!isCurrency(tx.Asset)) {
92
+ if (!isIssuedCurrency(tx.Asset)) {
93
93
  throw new ValidationError('AMMDeposit: Asset must be a Currency')
94
94
  }
95
95
 
@@ -97,7 +97,7 @@ export function validateAMMDeposit(tx: Record<string, unknown>): void {
97
97
  throw new ValidationError('AMMDeposit: missing field Asset2')
98
98
  }
99
99
 
100
- if (!isCurrency(tx.Asset2)) {
100
+ if (!isIssuedCurrency(tx.Asset2)) {
101
101
  throw new ValidationError('AMMDeposit: Asset2 must be a Currency')
102
102
  }
103
103
 
@@ -111,7 +111,7 @@ export function validateAMMDeposit(tx: Record<string, unknown>): void {
111
111
  )
112
112
  }
113
113
 
114
- if (tx.LPTokenOut != null && !isIssuedCurrency(tx.LPTokenOut)) {
114
+ if (tx.LPTokenOut != null && !isIssuedCurrencyAmount(tx.LPTokenOut)) {
115
115
  throw new ValidationError(
116
116
  'AMMDeposit: LPTokenOut must be an IssuedCurrencyAmount',
117
117
  )
@@ -2,7 +2,11 @@ import { ValidationError } from '../../errors'
2
2
  import { Currency } from '../common'
3
3
 
4
4
  import { AMM_MAX_TRADING_FEE } from './AMMCreate'
5
- import { BaseTransaction, isCurrency, validateBaseTransaction } from './common'
5
+ import {
6
+ BaseTransaction,
7
+ isIssuedCurrency,
8
+ validateBaseTransaction,
9
+ } from './common'
6
10
 
7
11
  /**
8
12
  * Vote on the trading fee for an Automated Market Maker (AMM) instance.
@@ -43,7 +47,7 @@ export function validateAMMVote(tx: Record<string, unknown>): void {
43
47
  throw new ValidationError('AMMVote: missing field Asset')
44
48
  }
45
49
 
46
- if (!isCurrency(tx.Asset)) {
50
+ if (!isIssuedCurrency(tx.Asset)) {
47
51
  throw new ValidationError('AMMVote: Asset must be a Currency')
48
52
  }
49
53
 
@@ -51,7 +55,7 @@ export function validateAMMVote(tx: Record<string, unknown>): void {
51
55
  throw new ValidationError('AMMVote: missing field Asset2')
52
56
  }
53
57
 
54
- if (!isCurrency(tx.Asset2)) {
58
+ if (!isIssuedCurrency(tx.Asset2)) {
55
59
  throw new ValidationError('AMMVote: Asset2 must be a Currency')
56
60
  }
57
61
 
@@ -5,8 +5,8 @@ import {
5
5
  BaseTransaction,
6
6
  GlobalFlagsInterface,
7
7
  isAmount,
8
- isCurrency,
9
8
  isIssuedCurrency,
9
+ isIssuedCurrencyAmount,
10
10
  validateBaseTransaction,
11
11
  } from './common'
12
12
 
@@ -87,7 +87,7 @@ export function validateAMMWithdraw(tx: Record<string, unknown>): void {
87
87
  throw new ValidationError('AMMWithdraw: missing field Asset')
88
88
  }
89
89
 
90
- if (!isCurrency(tx.Asset)) {
90
+ if (!isIssuedCurrency(tx.Asset)) {
91
91
  throw new ValidationError('AMMWithdraw: Asset must be a Currency')
92
92
  }
93
93
 
@@ -95,7 +95,7 @@ export function validateAMMWithdraw(tx: Record<string, unknown>): void {
95
95
  throw new ValidationError('AMMWithdraw: missing field Asset2')
96
96
  }
97
97
 
98
- if (!isCurrency(tx.Asset2)) {
98
+ if (!isIssuedCurrency(tx.Asset2)) {
99
99
  throw new ValidationError('AMMWithdraw: Asset2 must be a Currency')
100
100
  }
101
101
 
@@ -105,7 +105,7 @@ export function validateAMMWithdraw(tx: Record<string, unknown>): void {
105
105
  throw new ValidationError('AMMWithdraw: must set Amount with EPrice')
106
106
  }
107
107
 
108
- if (tx.LPTokenIn != null && !isIssuedCurrency(tx.LPTokenIn)) {
108
+ if (tx.LPTokenIn != null && !isIssuedCurrencyAmount(tx.LPTokenIn)) {
109
109
  throw new ValidationError(
110
110
  'AMMWithdraw: LPTokenIn must be an IssuedCurrencyAmount',
111
111
  )
@@ -8,6 +8,9 @@ import {
8
8
  validateOptionalField,
9
9
  isString,
10
10
  isNumber,
11
+ MAX_MPT_META_BYTE_LENGTH,
12
+ MPT_META_WARNING_HEADER,
13
+ validateMPTokenMetadata,
11
14
  } from './common'
12
15
  import type { TransactionMetadataBase } from './metadata'
13
16
 
@@ -104,10 +107,18 @@ export interface MPTokenIssuanceCreate extends BaseTransaction {
104
107
  * The field must NOT be present if the `tfMPTCanTransfer` flag is not set.
105
108
  */
106
109
  TransferFee?: number
110
+
107
111
  /**
108
- * Arbitrary metadata about this issuance, in hex format.
112
+ * Optional arbitrary metadata about this issuance, encoded as a hex string and limited to 1024 bytes.
113
+ *
114
+ * The decoded value must be a UTF-8 encoded JSON object that adheres to the
115
+ * XLS-89d MPTokenMetadata standard.
116
+ *
117
+ * While adherence to the XLS-89d format is not mandatory, non-compliant metadata
118
+ * may not be discoverable by ecosystem tools such as explorers and indexers.
109
119
  */
110
- MPTokenMetadata?: string | null
120
+ MPTokenMetadata?: string
121
+
111
122
  Flags?: number | MPTokenIssuanceCreateFlagsInterface
112
123
  }
113
124
 
@@ -131,15 +142,13 @@ export function validateMPTokenIssuanceCreate(
131
142
  validateOptionalField(tx, 'TransferFee', isNumber)
132
143
  validateOptionalField(tx, 'AssetScale', isNumber)
133
144
 
134
- if (typeof tx.MPTokenMetadata === 'string' && tx.MPTokenMetadata === '') {
145
+ if (
146
+ typeof tx.MPTokenMetadata === 'string' &&
147
+ (!isHex(tx.MPTokenMetadata) ||
148
+ tx.MPTokenMetadata.length / 2 > MAX_MPT_META_BYTE_LENGTH)
149
+ ) {
135
150
  throw new ValidationError(
136
- 'MPTokenIssuanceCreate: MPTokenMetadata must not be empty string',
137
- )
138
- }
139
-
140
- if (typeof tx.MPTokenMetadata === 'string' && !isHex(tx.MPTokenMetadata)) {
141
- throw new ValidationError(
142
- 'MPTokenIssuanceCreate: MPTokenMetadata must be in hex format',
151
+ `MPTokenIssuanceCreate: MPTokenMetadata (hex format) must be non-empty and no more than ${MAX_MPT_META_BYTE_LENGTH} bytes.`,
143
152
  )
144
153
  }
145
154
 
@@ -158,7 +167,9 @@ export function validateMPTokenIssuanceCreate(
158
167
 
159
168
  if (typeof tx.TransferFee === 'number') {
160
169
  // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- Not necessary
161
- const flags = tx.Flags as number | MPTokenIssuanceCreateFlagsInterface
170
+ const flags = (tx.Flags ?? 0) as
171
+ | number
172
+ | MPTokenIssuanceCreateFlagsInterface
162
173
  const isTfMPTCanTransfer =
163
174
  typeof flags === 'number'
164
175
  ? isFlagEnabled(flags, MPTokenIssuanceCreateFlags.tfMPTCanTransfer)
@@ -176,5 +187,19 @@ export function validateMPTokenIssuanceCreate(
176
187
  )
177
188
  }
178
189
  }
190
+
191
+ if (tx.MPTokenMetadata != null) {
192
+ const validationMessages = validateMPTokenMetadata(tx.MPTokenMetadata)
193
+
194
+ if (validationMessages.length > 0) {
195
+ const message = [
196
+ MPT_META_WARNING_HEADER,
197
+ ...validationMessages.map((msg) => `- ${msg}`),
198
+ ].join('\n')
199
+
200
+ // eslint-disable-next-line no-console -- Required here.
201
+ console.warn(message)
202
+ }
203
+ }
179
204
  }
180
205
  /* eslint-enable max-lines-per-function */
@@ -69,7 +69,7 @@ export function validateMPTokenIssuanceSet(tx: Record<string, unknown>): void {
69
69
  validateOptionalField(tx, 'Holder', isAccount)
70
70
 
71
71
  // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- Not necessary
72
- const flags = tx.Flags as number | MPTokenIssuanceSetFlagsInterface
72
+ const flags = (tx.Flags ?? 0) as number | MPTokenIssuanceSetFlagsInterface
73
73
  const isTfMPTLock =
74
74
  typeof flags === 'number'
75
75
  ? isFlagEnabled(flags, MPTokenIssuanceSetFlags.tfMPTLock)
@@ -1,6 +1,6 @@
1
1
  import { ValidationError } from '../../errors'
2
2
 
3
- import { BaseTransaction, validateBaseTransaction } from './common'
3
+ import { BaseTransaction, isArray, validateBaseTransaction } from './common'
4
4
  import type { TransactionMetadataBase } from './metadata'
5
5
 
6
6
  /**
@@ -41,7 +41,7 @@ export interface NFTokenCancelOfferMetadata extends TransactionMetadataBase {
41
41
  export function validateNFTokenCancelOffer(tx: Record<string, unknown>): void {
42
42
  validateBaseTransaction(tx)
43
43
 
44
- if (!Array.isArray(tx.NFTokenOffers)) {
44
+ if (!isArray(tx.NFTokenOffers)) {
45
45
  throw new ValidationError('NFTokenCancelOffer: missing field NFTokenOffers')
46
46
  }
47
47
 
@@ -146,10 +146,14 @@ export function validateNFTokenCreateOffer(tx: Record<string, unknown>): void {
146
146
  throw new ValidationError('NFTokenCreateOffer: invalid Amount')
147
147
  }
148
148
 
149
- if (
150
- typeof tx.Flags === 'number' &&
151
- isFlagEnabled(tx.Flags, NFTokenCreateOfferFlags.tfSellNFToken)
152
- ) {
149
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- checked in BaseTransaction
150
+ const flags = (tx.Flags ?? 0) as number | NFTokenCreateOfferFlagsInterface
151
+ const isTfSellNFToken =
152
+ typeof flags === 'number'
153
+ ? isFlagEnabled(flags, NFTokenCreateOfferFlags.tfSellNFToken)
154
+ : flags.tfSellNFToken ?? false
155
+
156
+ if (isTfSellNFToken) {
153
157
  validateNFTokenSellOfferCases(tx)
154
158
  } else {
155
159
  validateNFTokenBuyOfferCases(tx)
@@ -61,6 +61,8 @@ export enum AccountSetAsfFlags {
61
61
  asfDisallowIncomingTrustline = 15,
62
62
  /** Permanently gain the ability to claw back issued IOUs */
63
63
  asfAllowTrustLineClawback = 16,
64
+ /** Issuers allow their IOUs to be used as escrow amounts */
65
+ asfAllowTrustLineLocking = 17,
64
66
  }
65
67
 
66
68
  /**
@@ -4,7 +4,7 @@ import { Amount } from '../common'
4
4
  import {
5
5
  BaseTransaction,
6
6
  validateBaseTransaction,
7
- isIssuedCurrency,
7
+ isIssuedCurrencyAmount,
8
8
  isAccount,
9
9
  validateRequiredField,
10
10
  validateOptionalField,
@@ -64,11 +64,7 @@ export function validateCheckCreate(tx: Record<string, unknown>): void {
64
64
  validateRequiredField(tx, 'Destination', isAccount)
65
65
  validateOptionalField(tx, 'DestinationTag', isNumber)
66
66
 
67
- if (
68
- typeof tx.SendMax !== 'string' &&
69
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- Only used by JS
70
- !isIssuedCurrency(tx.SendMax as Record<string, unknown>)
71
- ) {
67
+ if (typeof tx.SendMax !== 'string' && !isIssuedCurrencyAmount(tx.SendMax)) {
72
68
  throw new ValidationError('CheckCreate: invalid SendMax')
73
69
  }
74
70
 
@@ -1,13 +1,15 @@
1
1
  import { ValidationError } from '../../errors'
2
- import { IssuedCurrencyAmount, MPTAmount } from '../common'
2
+ import { ClawbackAmount } from '../common'
3
3
 
4
4
  import {
5
5
  BaseTransaction,
6
6
  validateBaseTransaction,
7
- isIssuedCurrency,
7
+ isIssuedCurrencyAmount,
8
8
  isMPTAmount,
9
9
  isAccount,
10
10
  validateOptionalField,
11
+ isClawbackAmount,
12
+ validateRequiredField,
11
13
  } from './common'
12
14
 
13
15
  /**
@@ -26,7 +28,7 @@ export interface Clawback extends BaseTransaction {
26
28
  * names MUST be lower-case. If the amount is IOU, the `issuer` field MUST be the holder's address,
27
29
  * whom to be clawed back.
28
30
  */
29
- Amount: IssuedCurrencyAmount | MPTAmount
31
+ Amount: ClawbackAmount
30
32
  /**
31
33
  * Indicates the AccountID that the issuer wants to clawback. This field is only valid for clawing back
32
34
  * MPTs.
@@ -42,17 +44,14 @@ export interface Clawback extends BaseTransaction {
42
44
  */
43
45
  export function validateClawback(tx: Record<string, unknown>): void {
44
46
  validateBaseTransaction(tx)
47
+ validateRequiredField(tx, 'Amount', isClawbackAmount)
45
48
  validateOptionalField(tx, 'Holder', isAccount)
46
49
 
47
- if (tx.Amount == null) {
48
- throw new ValidationError('Clawback: missing field Amount')
49
- }
50
-
51
- if (!isIssuedCurrency(tx.Amount) && !isMPTAmount(tx.Amount)) {
50
+ if (!isIssuedCurrencyAmount(tx.Amount) && !isMPTAmount(tx.Amount)) {
52
51
  throw new ValidationError('Clawback: invalid Amount')
53
52
  }
54
53
 
55
- if (isIssuedCurrency(tx.Amount) && tx.Account === tx.Amount.issuer) {
54
+ if (isIssuedCurrencyAmount(tx.Amount) && tx.Account === tx.Amount.issuer) {
56
55
  throw new ValidationError('Clawback: invalid holder Account')
57
56
  }
58
57
 
@@ -60,7 +59,7 @@ export function validateClawback(tx: Record<string, unknown>): void {
60
59
  throw new ValidationError('Clawback: invalid holder Account')
61
60
  }
62
61
 
63
- if (isIssuedCurrency(tx.Amount) && tx.Holder) {
62
+ if (isIssuedCurrencyAmount(tx.Amount) && tx.Holder) {
64
63
  throw new ValidationError('Clawback: cannot have Holder for currency')
65
64
  }
66
65