xrpl 2.14.1 → 2.14.2

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.

Potentially problematic release.


This version of xrpl might be problematic. Click here for more details.

Files changed (821) hide show
  1. package/README.md +3 -3
  2. package/build/xrpl-latest-min.js +24471 -3
  3. package/build/xrpl-latest-min.js.map +1 -1
  4. package/build/xrpl-latest.js +17934 -75049
  5. package/build/xrpl-latest.js.map +1 -1
  6. package/dist/npm/Wallet/authorizeChannel.d.ts +3 -0
  7. package/dist/npm/Wallet/authorizeChannel.d.ts.map +1 -0
  8. package/dist/npm/Wallet/authorizeChannel.js +14 -0
  9. package/dist/npm/Wallet/authorizeChannel.js.map +1 -0
  10. package/dist/npm/Wallet/defaultFaucets.d.ts +1 -2
  11. package/dist/npm/Wallet/defaultFaucets.d.ts.map +1 -1
  12. package/dist/npm/Wallet/defaultFaucets.js +1 -6
  13. package/dist/npm/Wallet/defaultFaucets.js.map +1 -1
  14. package/dist/npm/Wallet/fundWallet.d.ts +17 -3
  15. package/dist/npm/Wallet/fundWallet.d.ts.map +1 -1
  16. package/dist/npm/Wallet/fundWallet.js +49 -78
  17. package/dist/npm/Wallet/fundWallet.js.map +1 -1
  18. package/dist/npm/Wallet/index.d.ts.map +1 -1
  19. package/dist/npm/Wallet/index.js +32 -23
  20. package/dist/npm/Wallet/index.js.map +1 -1
  21. package/dist/npm/Wallet/rfc1751.d.ts +1 -2
  22. package/dist/npm/Wallet/rfc1751.d.ts.map +1 -1
  23. package/dist/npm/Wallet/rfc1751.js +21 -5
  24. package/dist/npm/Wallet/rfc1751.js.map +1 -1
  25. package/dist/npm/Wallet/signer.d.ts +2 -4
  26. package/dist/npm/Wallet/signer.d.ts.map +1 -1
  27. package/dist/npm/Wallet/signer.js +19 -14
  28. package/dist/npm/Wallet/signer.js.map +1 -1
  29. package/dist/npm/Wallet/walletFromSecretNumbers.js +2 -2
  30. package/dist/npm/Wallet/walletFromSecretNumbers.js.map +1 -1
  31. package/dist/npm/client/RequestManager.d.ts +6 -4
  32. package/dist/npm/client/RequestManager.d.ts.map +1 -1
  33. package/dist/npm/client/RequestManager.js +25 -1
  34. package/dist/npm/client/RequestManager.js.map +1 -1
  35. package/dist/npm/client/connection.d.ts +8 -11
  36. package/dist/npm/client/connection.d.ts.map +1 -1
  37. package/dist/npm/client/connection.js +11 -57
  38. package/dist/npm/client/connection.js.map +1 -1
  39. package/dist/npm/client/index.d.ts +61 -79
  40. package/dist/npm/client/index.d.ts.map +1 -1
  41. package/dist/npm/client/index.js +180 -50
  42. package/dist/npm/client/index.js.map +1 -1
  43. package/dist/npm/client/partialPayment.d.ts +6 -3
  44. package/dist/npm/client/partialPayment.d.ts.map +1 -1
  45. package/dist/npm/client/partialPayment.js +21 -6
  46. package/dist/npm/client/partialPayment.js.map +1 -1
  47. package/dist/npm/errors.d.ts.map +1 -1
  48. package/dist/npm/errors.js +1 -2
  49. package/dist/npm/errors.js.map +1 -1
  50. package/dist/npm/index.d.ts +2 -1
  51. package/dist/npm/index.d.ts.map +1 -1
  52. package/dist/npm/index.js +9 -3
  53. package/dist/npm/index.js.map +1 -1
  54. package/dist/npm/models/common/index.d.ts +23 -0
  55. package/dist/npm/models/common/index.d.ts.map +1 -1
  56. package/dist/npm/models/common/index.js +4 -0
  57. package/dist/npm/models/common/index.js.map +1 -1
  58. package/dist/npm/models/index.d.ts +1 -1
  59. package/dist/npm/models/index.d.ts.map +1 -1
  60. package/dist/npm/models/index.js +4 -2
  61. package/dist/npm/models/index.js.map +1 -1
  62. package/dist/npm/models/ledger/AMM.d.ts +2 -2
  63. package/dist/npm/models/ledger/AMM.d.ts.map +1 -1
  64. package/dist/npm/models/ledger/AccountRoot.js +1 -1
  65. package/dist/npm/models/ledger/AccountRoot.js.map +1 -1
  66. package/dist/npm/models/ledger/Amendments.d.ts +2 -2
  67. package/dist/npm/models/ledger/Amendments.d.ts.map +1 -1
  68. package/dist/npm/models/ledger/BaseLedgerEntry.d.ts +3 -3
  69. package/dist/npm/models/ledger/BaseLedgerEntry.d.ts.map +1 -1
  70. package/dist/npm/models/ledger/Credential.d.ts +17 -0
  71. package/dist/npm/models/ledger/Credential.d.ts.map +1 -0
  72. package/dist/npm/models/ledger/Credential.js +3 -0
  73. package/dist/npm/models/ledger/Credential.js.map +1 -0
  74. package/dist/npm/models/ledger/DepositPreauth.d.ts +3 -1
  75. package/dist/npm/models/ledger/DepositPreauth.d.ts.map +1 -1
  76. package/dist/npm/models/ledger/DirectoryNode.d.ts +2 -2
  77. package/dist/npm/models/ledger/DirectoryNode.d.ts.map +1 -1
  78. package/dist/npm/models/ledger/FeeSettings.d.ts +2 -2
  79. package/dist/npm/models/ledger/FeeSettings.d.ts.map +1 -1
  80. package/dist/npm/models/ledger/Ledger.d.ts +14 -4
  81. package/dist/npm/models/ledger/Ledger.d.ts.map +1 -1
  82. package/dist/npm/models/ledger/LedgerEntry.d.ts +5 -2
  83. package/dist/npm/models/ledger/LedgerEntry.d.ts.map +1 -1
  84. package/dist/npm/models/ledger/LedgerHashes.d.ts +2 -2
  85. package/dist/npm/models/ledger/LedgerHashes.d.ts.map +1 -1
  86. package/dist/npm/models/ledger/MPToken.d.ts +10 -0
  87. package/dist/npm/models/ledger/MPToken.d.ts.map +1 -0
  88. package/dist/npm/models/ledger/MPToken.js +3 -0
  89. package/dist/npm/models/ledger/MPToken.js.map +1 -0
  90. package/dist/npm/models/ledger/MPTokenIssuance.d.ts +13 -0
  91. package/dist/npm/models/ledger/MPTokenIssuance.d.ts.map +1 -0
  92. package/dist/npm/models/ledger/MPTokenIssuance.js +3 -0
  93. package/dist/npm/models/ledger/MPTokenIssuance.js.map +1 -0
  94. package/dist/npm/models/ledger/NegativeUNL.d.ts +2 -2
  95. package/dist/npm/models/ledger/NegativeUNL.d.ts.map +1 -1
  96. package/dist/npm/models/ledger/Offer.js +1 -1
  97. package/dist/npm/models/ledger/Offer.js.map +1 -1
  98. package/dist/npm/models/ledger/Oracle.d.ts +12 -0
  99. package/dist/npm/models/ledger/Oracle.d.ts.map +1 -0
  100. package/dist/npm/models/ledger/Oracle.js +3 -0
  101. package/dist/npm/models/ledger/Oracle.js.map +1 -0
  102. package/dist/npm/models/ledger/PermissionedDomain.d.ts +11 -0
  103. package/dist/npm/models/ledger/PermissionedDomain.d.ts.map +1 -0
  104. package/dist/npm/models/ledger/PermissionedDomain.js +3 -0
  105. package/dist/npm/models/ledger/PermissionedDomain.js.map +1 -0
  106. package/dist/npm/models/ledger/RippleState.d.ts +4 -1
  107. package/dist/npm/models/ledger/RippleState.d.ts.map +1 -1
  108. package/dist/npm/models/ledger/RippleState.js +4 -1
  109. package/dist/npm/models/ledger/RippleState.js.map +1 -1
  110. package/dist/npm/models/ledger/SignerList.js +1 -1
  111. package/dist/npm/models/ledger/SignerList.js.map +1 -1
  112. package/dist/npm/models/ledger/index.d.ts +6 -2
  113. package/dist/npm/models/ledger/index.d.ts.map +1 -1
  114. package/dist/npm/models/ledger/index.js.map +1 -1
  115. package/dist/npm/models/methods/accountChannels.d.ts +1 -1
  116. package/dist/npm/models/methods/accountChannels.d.ts.map +1 -1
  117. package/dist/npm/models/methods/accountInfo.d.ts +17 -4
  118. package/dist/npm/models/methods/accountInfo.d.ts.map +1 -1
  119. package/dist/npm/models/methods/accountTx.d.ts +11 -5
  120. package/dist/npm/models/methods/accountTx.d.ts.map +1 -1
  121. package/dist/npm/models/methods/depositAuthorized.d.ts +2 -0
  122. package/dist/npm/models/methods/depositAuthorized.d.ts.map +1 -1
  123. package/dist/npm/models/methods/feature.d.ts +28 -0
  124. package/dist/npm/models/methods/feature.d.ts.map +1 -0
  125. package/dist/npm/models/methods/feature.js +3 -0
  126. package/dist/npm/models/methods/feature.js.map +1 -0
  127. package/dist/npm/models/methods/getAggregatePrice.d.ts +31 -0
  128. package/dist/npm/models/methods/getAggregatePrice.d.ts.map +1 -0
  129. package/dist/npm/models/methods/getAggregatePrice.js +3 -0
  130. package/dist/npm/models/methods/getAggregatePrice.js.map +1 -0
  131. package/dist/npm/models/methods/index.d.ts +25 -9
  132. package/dist/npm/models/methods/index.d.ts.map +1 -1
  133. package/dist/npm/models/methods/ledger.d.ts +49 -9
  134. package/dist/npm/models/methods/ledger.d.ts.map +1 -1
  135. package/dist/npm/models/methods/ledgerEntry.d.ts +12 -0
  136. package/dist/npm/models/methods/ledgerEntry.d.ts.map +1 -1
  137. package/dist/npm/models/methods/nftsByIssuer.d.ts +19 -0
  138. package/dist/npm/models/methods/nftsByIssuer.d.ts.map +1 -0
  139. package/dist/npm/models/methods/nftsByIssuer.js +3 -0
  140. package/dist/npm/models/methods/nftsByIssuer.js.map +1 -0
  141. package/dist/npm/models/methods/serverState.d.ts +1 -0
  142. package/dist/npm/models/methods/serverState.d.ts.map +1 -1
  143. package/dist/npm/models/methods/simulate.d.ts +42 -0
  144. package/dist/npm/models/methods/simulate.d.ts.map +1 -0
  145. package/dist/npm/models/methods/simulate.js +3 -0
  146. package/dist/npm/models/methods/simulate.js.map +1 -0
  147. package/dist/npm/models/methods/submit.d.ts +2 -2
  148. package/dist/npm/models/methods/submit.d.ts.map +1 -1
  149. package/dist/npm/models/methods/submitMultisigned.d.ts +16 -5
  150. package/dist/npm/models/methods/submitMultisigned.d.ts.map +1 -1
  151. package/dist/npm/models/methods/subscribe.d.ts +10 -3
  152. package/dist/npm/models/methods/subscribe.d.ts.map +1 -1
  153. package/dist/npm/models/methods/tx.d.ts +21 -10
  154. package/dist/npm/models/methods/tx.d.ts.map +1 -1
  155. package/dist/npm/models/transactions/AMMClawback.d.ts +17 -0
  156. package/dist/npm/models/transactions/AMMClawback.d.ts.map +1 -0
  157. package/dist/npm/models/transactions/AMMClawback.js +34 -0
  158. package/dist/npm/models/transactions/AMMClawback.js.map +1 -0
  159. package/dist/npm/models/transactions/AMMDeposit.d.ts +3 -1
  160. package/dist/npm/models/transactions/AMMDeposit.d.ts.map +1 -1
  161. package/dist/npm/models/transactions/AMMDeposit.js +2 -1
  162. package/dist/npm/models/transactions/AMMDeposit.js.map +1 -1
  163. package/dist/npm/models/transactions/AMMWithdraw.js +1 -1
  164. package/dist/npm/models/transactions/AMMWithdraw.js.map +1 -1
  165. package/dist/npm/models/transactions/CredentialAccept.d.ts +9 -0
  166. package/dist/npm/models/transactions/CredentialAccept.d.ts.map +1 -0
  167. package/dist/npm/models/transactions/CredentialAccept.js +12 -0
  168. package/dist/npm/models/transactions/CredentialAccept.js.map +1 -0
  169. package/dist/npm/models/transactions/CredentialCreate.d.ts +11 -0
  170. package/dist/npm/models/transactions/CredentialCreate.d.ts.map +1 -0
  171. package/dist/npm/models/transactions/CredentialCreate.js +34 -0
  172. package/dist/npm/models/transactions/CredentialCreate.js.map +1 -0
  173. package/dist/npm/models/transactions/CredentialDelete.d.ts +10 -0
  174. package/dist/npm/models/transactions/CredentialDelete.d.ts.map +1 -0
  175. package/dist/npm/models/transactions/CredentialDelete.js +17 -0
  176. package/dist/npm/models/transactions/CredentialDelete.js.map +1 -0
  177. package/dist/npm/models/transactions/MPTokenAuthorize.d.ts +15 -0
  178. package/dist/npm/models/transactions/MPTokenAuthorize.d.ts.map +1 -0
  179. package/dist/npm/models/transactions/MPTokenAuthorize.js +15 -0
  180. package/dist/npm/models/transactions/MPTokenAuthorize.js.map +1 -0
  181. package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts +31 -0
  182. package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -0
  183. package/dist/npm/models/transactions/MPTokenIssuanceCreate.js +54 -0
  184. package/dist/npm/models/transactions/MPTokenIssuanceCreate.js.map +1 -0
  185. package/dist/npm/models/transactions/MPTokenIssuanceDestroy.d.ts +7 -0
  186. package/dist/npm/models/transactions/MPTokenIssuanceDestroy.d.ts.map +1 -0
  187. package/dist/npm/models/transactions/MPTokenIssuanceDestroy.js +10 -0
  188. package/dist/npm/models/transactions/MPTokenIssuanceDestroy.js.map +1 -0
  189. package/dist/npm/models/transactions/MPTokenIssuanceSet.d.ts +17 -0
  190. package/dist/npm/models/transactions/MPTokenIssuanceSet.d.ts.map +1 -0
  191. package/dist/npm/models/transactions/MPTokenIssuanceSet.js +29 -0
  192. package/dist/npm/models/transactions/MPTokenIssuanceSet.js.map +1 -0
  193. package/dist/npm/models/transactions/NFTokenAcceptOffer.d.ts +4 -0
  194. package/dist/npm/models/transactions/NFTokenAcceptOffer.d.ts.map +1 -1
  195. package/dist/npm/models/transactions/NFTokenAcceptOffer.js.map +1 -1
  196. package/dist/npm/models/transactions/NFTokenCancelOffer.d.ts +4 -0
  197. package/dist/npm/models/transactions/NFTokenCancelOffer.d.ts.map +1 -1
  198. package/dist/npm/models/transactions/NFTokenCancelOffer.js.map +1 -1
  199. package/dist/npm/models/transactions/NFTokenCreateOffer.d.ts +4 -0
  200. package/dist/npm/models/transactions/NFTokenCreateOffer.d.ts.map +1 -1
  201. package/dist/npm/models/transactions/NFTokenCreateOffer.js +1 -1
  202. package/dist/npm/models/transactions/NFTokenCreateOffer.js.map +1 -1
  203. package/dist/npm/models/transactions/NFTokenMint.d.ts +7 -1
  204. package/dist/npm/models/transactions/NFTokenMint.d.ts.map +1 -1
  205. package/dist/npm/models/transactions/NFTokenMint.js +2 -1
  206. package/dist/npm/models/transactions/NFTokenMint.js.map +1 -1
  207. package/dist/npm/models/transactions/NFTokenModify.d.ts +9 -0
  208. package/dist/npm/models/transactions/NFTokenModify.d.ts.map +1 -0
  209. package/dist/npm/models/transactions/NFTokenModify.js +22 -0
  210. package/dist/npm/models/transactions/NFTokenModify.js.map +1 -0
  211. package/dist/npm/models/transactions/XChainModifyBridge.js +1 -1
  212. package/dist/npm/models/transactions/XChainModifyBridge.js.map +1 -1
  213. package/dist/npm/models/transactions/accountDelete.d.ts +1 -0
  214. package/dist/npm/models/transactions/accountDelete.d.ts.map +1 -1
  215. package/dist/npm/models/transactions/accountDelete.js +1 -0
  216. package/dist/npm/models/transactions/accountDelete.js.map +1 -1
  217. package/dist/npm/models/transactions/accountSet.js +2 -2
  218. package/dist/npm/models/transactions/accountSet.js.map +1 -1
  219. package/dist/npm/models/transactions/clawback.d.ts +3 -2
  220. package/dist/npm/models/transactions/clawback.d.ts.map +1 -1
  221. package/dist/npm/models/transactions/clawback.js +11 -1
  222. package/dist/npm/models/transactions/clawback.js.map +1 -1
  223. package/dist/npm/models/transactions/common.d.ts +7 -1
  224. package/dist/npm/models/transactions/common.d.ts.map +1 -1
  225. package/dist/npm/models/transactions/common.js +97 -4
  226. package/dist/npm/models/transactions/common.js.map +1 -1
  227. package/dist/npm/models/transactions/depositPreauth.d.ts +3 -0
  228. package/dist/npm/models/transactions/depositPreauth.d.ts.map +1 -1
  229. package/dist/npm/models/transactions/depositPreauth.js +20 -7
  230. package/dist/npm/models/transactions/depositPreauth.js.map +1 -1
  231. package/dist/npm/models/transactions/enableAmendment.js +1 -1
  232. package/dist/npm/models/transactions/enableAmendment.js.map +1 -1
  233. package/dist/npm/models/transactions/escrowFinish.d.ts +1 -0
  234. package/dist/npm/models/transactions/escrowFinish.d.ts.map +1 -1
  235. package/dist/npm/models/transactions/escrowFinish.js +1 -0
  236. package/dist/npm/models/transactions/escrowFinish.js.map +1 -1
  237. package/dist/npm/models/transactions/index.d.ts +16 -3
  238. package/dist/npm/models/transactions/index.d.ts.map +1 -1
  239. package/dist/npm/models/transactions/index.js +13 -1
  240. package/dist/npm/models/transactions/index.js.map +1 -1
  241. package/dist/npm/models/transactions/metadata.d.ts +16 -4
  242. package/dist/npm/models/transactions/metadata.d.ts.map +1 -1
  243. package/dist/npm/models/transactions/metadata.js.map +1 -1
  244. package/dist/npm/models/transactions/offerCreate.js +1 -1
  245. package/dist/npm/models/transactions/offerCreate.js.map +1 -1
  246. package/dist/npm/models/transactions/oracleDelete.d.ts +7 -0
  247. package/dist/npm/models/transactions/oracleDelete.d.ts.map +1 -0
  248. package/dist/npm/models/transactions/oracleDelete.js +10 -0
  249. package/dist/npm/models/transactions/oracleDelete.js.map +1 -0
  250. package/dist/npm/models/transactions/oracleSet.d.ts +13 -0
  251. package/dist/npm/models/transactions/oracleSet.d.ts.map +1 -0
  252. package/dist/npm/models/transactions/oracleSet.js +59 -0
  253. package/dist/npm/models/transactions/oracleSet.js.map +1 -0
  254. package/dist/npm/models/transactions/payment.d.ts +12 -6
  255. package/dist/npm/models/transactions/payment.d.ts.map +1 -1
  256. package/dist/npm/models/transactions/payment.js +3 -2
  257. package/dist/npm/models/transactions/payment.js.map +1 -1
  258. package/dist/npm/models/transactions/paymentChannelClaim.d.ts +1 -0
  259. package/dist/npm/models/transactions/paymentChannelClaim.d.ts.map +1 -1
  260. package/dist/npm/models/transactions/paymentChannelClaim.js +2 -1
  261. package/dist/npm/models/transactions/paymentChannelClaim.js.map +1 -1
  262. package/dist/npm/models/transactions/permissionedDomainDelete.d.ts +7 -0
  263. package/dist/npm/models/transactions/permissionedDomainDelete.d.ts.map +1 -0
  264. package/dist/npm/models/transactions/permissionedDomainDelete.js +10 -0
  265. package/dist/npm/models/transactions/permissionedDomainDelete.js.map +1 -0
  266. package/dist/npm/models/transactions/permissionedDomainSet.d.ts +9 -0
  267. package/dist/npm/models/transactions/permissionedDomainSet.d.ts.map +1 -0
  268. package/dist/npm/models/transactions/permissionedDomainSet.js +13 -0
  269. package/dist/npm/models/transactions/permissionedDomainSet.js.map +1 -0
  270. package/dist/npm/models/transactions/transaction.d.ts +19 -4
  271. package/dist/npm/models/transactions/transaction.d.ts.map +1 -1
  272. package/dist/npm/models/transactions/transaction.js +53 -1
  273. package/dist/npm/models/transactions/transaction.js.map +1 -1
  274. package/dist/npm/models/transactions/trustSet.d.ts +5 -1
  275. package/dist/npm/models/transactions/trustSet.d.ts.map +1 -1
  276. package/dist/npm/models/transactions/trustSet.js +3 -1
  277. package/dist/npm/models/transactions/trustSet.js.map +1 -1
  278. package/dist/npm/models/utils/flags.d.ts +2 -0
  279. package/dist/npm/models/utils/flags.d.ts.map +1 -1
  280. package/dist/npm/models/utils/flags.js +51 -16
  281. package/dist/npm/models/utils/flags.js.map +1 -1
  282. package/dist/npm/models/utils/index.d.ts +1 -0
  283. package/dist/npm/models/utils/index.d.ts.map +1 -1
  284. package/dist/npm/models/utils/index.js +2 -1
  285. package/dist/npm/models/utils/index.js.map +1 -1
  286. package/dist/npm/snippets/src/claimPayChannel.js +1 -1
  287. package/dist/npm/snippets/src/claimPayChannel.js.map +1 -1
  288. package/dist/npm/snippets/src/getTransaction.js +1 -1
  289. package/dist/npm/snippets/src/getTransaction.js.map +1 -1
  290. package/dist/npm/snippets/src/paths.js +7 -12
  291. package/dist/npm/snippets/src/paths.js.map +1 -1
  292. package/dist/npm/snippets/src/sendEscrow.js +1 -1
  293. package/dist/npm/snippets/src/sendEscrow.js.map +1 -1
  294. package/dist/npm/snippets/tsconfig.tsbuildinfo +1 -1
  295. package/dist/npm/src/Wallet/authorizeChannel.d.ts +3 -0
  296. package/dist/npm/src/Wallet/authorizeChannel.d.ts.map +1 -0
  297. package/dist/npm/src/Wallet/authorizeChannel.js +14 -0
  298. package/dist/npm/src/Wallet/authorizeChannel.js.map +1 -0
  299. package/dist/npm/src/Wallet/defaultFaucets.d.ts +1 -2
  300. package/dist/npm/src/Wallet/defaultFaucets.d.ts.map +1 -1
  301. package/dist/npm/src/Wallet/defaultFaucets.js +1 -6
  302. package/dist/npm/src/Wallet/defaultFaucets.js.map +1 -1
  303. package/dist/npm/src/Wallet/fundWallet.d.ts +17 -3
  304. package/dist/npm/src/Wallet/fundWallet.d.ts.map +1 -1
  305. package/dist/npm/src/Wallet/fundWallet.js +49 -78
  306. package/dist/npm/src/Wallet/fundWallet.js.map +1 -1
  307. package/dist/npm/src/Wallet/index.d.ts.map +1 -1
  308. package/dist/npm/src/Wallet/index.js +32 -23
  309. package/dist/npm/src/Wallet/index.js.map +1 -1
  310. package/dist/npm/src/Wallet/rfc1751.d.ts +1 -2
  311. package/dist/npm/src/Wallet/rfc1751.d.ts.map +1 -1
  312. package/dist/npm/src/Wallet/rfc1751.js +21 -5
  313. package/dist/npm/src/Wallet/rfc1751.js.map +1 -1
  314. package/dist/npm/src/Wallet/signer.d.ts +2 -4
  315. package/dist/npm/src/Wallet/signer.d.ts.map +1 -1
  316. package/dist/npm/src/Wallet/signer.js +19 -14
  317. package/dist/npm/src/Wallet/signer.js.map +1 -1
  318. package/dist/npm/src/Wallet/walletFromSecretNumbers.js +2 -2
  319. package/dist/npm/src/Wallet/walletFromSecretNumbers.js.map +1 -1
  320. package/dist/npm/src/client/RequestManager.d.ts +6 -4
  321. package/dist/npm/src/client/RequestManager.d.ts.map +1 -1
  322. package/dist/npm/src/client/RequestManager.js +25 -1
  323. package/dist/npm/src/client/RequestManager.js.map +1 -1
  324. package/dist/npm/src/client/connection.d.ts +8 -11
  325. package/dist/npm/src/client/connection.d.ts.map +1 -1
  326. package/dist/npm/src/client/connection.js +11 -57
  327. package/dist/npm/src/client/connection.js.map +1 -1
  328. package/dist/npm/src/client/index.d.ts +61 -79
  329. package/dist/npm/src/client/index.d.ts.map +1 -1
  330. package/dist/npm/src/client/index.js +180 -50
  331. package/dist/npm/src/client/index.js.map +1 -1
  332. package/dist/npm/src/client/partialPayment.d.ts +6 -3
  333. package/dist/npm/src/client/partialPayment.d.ts.map +1 -1
  334. package/dist/npm/src/client/partialPayment.js +21 -6
  335. package/dist/npm/src/client/partialPayment.js.map +1 -1
  336. package/dist/npm/src/errors.d.ts.map +1 -1
  337. package/dist/npm/src/errors.js +1 -2
  338. package/dist/npm/src/errors.js.map +1 -1
  339. package/dist/npm/src/index.d.ts +2 -1
  340. package/dist/npm/src/index.d.ts.map +1 -1
  341. package/dist/npm/src/index.js +9 -3
  342. package/dist/npm/src/index.js.map +1 -1
  343. package/dist/npm/src/models/common/index.d.ts +23 -0
  344. package/dist/npm/src/models/common/index.d.ts.map +1 -1
  345. package/dist/npm/src/models/common/index.js +4 -0
  346. package/dist/npm/src/models/common/index.js.map +1 -1
  347. package/dist/npm/src/models/index.d.ts +1 -1
  348. package/dist/npm/src/models/index.d.ts.map +1 -1
  349. package/dist/npm/src/models/index.js +4 -2
  350. package/dist/npm/src/models/index.js.map +1 -1
  351. package/dist/npm/src/models/ledger/AMM.d.ts +2 -2
  352. package/dist/npm/src/models/ledger/AMM.d.ts.map +1 -1
  353. package/dist/npm/src/models/ledger/AccountRoot.js +1 -1
  354. package/dist/npm/src/models/ledger/AccountRoot.js.map +1 -1
  355. package/dist/npm/src/models/ledger/Amendments.d.ts +2 -2
  356. package/dist/npm/src/models/ledger/Amendments.d.ts.map +1 -1
  357. package/dist/npm/src/models/ledger/BaseLedgerEntry.d.ts +3 -3
  358. package/dist/npm/src/models/ledger/BaseLedgerEntry.d.ts.map +1 -1
  359. package/dist/npm/src/models/ledger/Credential.d.ts +17 -0
  360. package/dist/npm/src/models/ledger/Credential.d.ts.map +1 -0
  361. package/dist/npm/src/models/ledger/Credential.js +3 -0
  362. package/dist/npm/src/models/ledger/Credential.js.map +1 -0
  363. package/dist/npm/src/models/ledger/DepositPreauth.d.ts +3 -1
  364. package/dist/npm/src/models/ledger/DepositPreauth.d.ts.map +1 -1
  365. package/dist/npm/src/models/ledger/DirectoryNode.d.ts +2 -2
  366. package/dist/npm/src/models/ledger/DirectoryNode.d.ts.map +1 -1
  367. package/dist/npm/src/models/ledger/FeeSettings.d.ts +2 -2
  368. package/dist/npm/src/models/ledger/FeeSettings.d.ts.map +1 -1
  369. package/dist/npm/src/models/ledger/Ledger.d.ts +14 -4
  370. package/dist/npm/src/models/ledger/Ledger.d.ts.map +1 -1
  371. package/dist/npm/src/models/ledger/LedgerEntry.d.ts +5 -2
  372. package/dist/npm/src/models/ledger/LedgerEntry.d.ts.map +1 -1
  373. package/dist/npm/src/models/ledger/LedgerHashes.d.ts +2 -2
  374. package/dist/npm/src/models/ledger/LedgerHashes.d.ts.map +1 -1
  375. package/dist/npm/src/models/ledger/MPToken.d.ts +10 -0
  376. package/dist/npm/src/models/ledger/MPToken.d.ts.map +1 -0
  377. package/dist/npm/src/models/ledger/MPToken.js +3 -0
  378. package/dist/npm/src/models/ledger/MPToken.js.map +1 -0
  379. package/dist/npm/src/models/ledger/MPTokenIssuance.d.ts +13 -0
  380. package/dist/npm/src/models/ledger/MPTokenIssuance.d.ts.map +1 -0
  381. package/dist/npm/src/models/ledger/MPTokenIssuance.js +3 -0
  382. package/dist/npm/src/models/ledger/MPTokenIssuance.js.map +1 -0
  383. package/dist/npm/src/models/ledger/NegativeUNL.d.ts +2 -2
  384. package/dist/npm/src/models/ledger/NegativeUNL.d.ts.map +1 -1
  385. package/dist/npm/src/models/ledger/Offer.js +1 -1
  386. package/dist/npm/src/models/ledger/Offer.js.map +1 -1
  387. package/dist/npm/src/models/ledger/Oracle.d.ts +12 -0
  388. package/dist/npm/src/models/ledger/Oracle.d.ts.map +1 -0
  389. package/dist/npm/src/models/ledger/Oracle.js +3 -0
  390. package/dist/npm/src/models/ledger/Oracle.js.map +1 -0
  391. package/dist/npm/src/models/ledger/PermissionedDomain.d.ts +11 -0
  392. package/dist/npm/src/models/ledger/PermissionedDomain.d.ts.map +1 -0
  393. package/dist/npm/src/models/ledger/PermissionedDomain.js +3 -0
  394. package/dist/npm/src/models/ledger/PermissionedDomain.js.map +1 -0
  395. package/dist/npm/src/models/ledger/RippleState.d.ts +4 -1
  396. package/dist/npm/src/models/ledger/RippleState.d.ts.map +1 -1
  397. package/dist/npm/src/models/ledger/RippleState.js +4 -1
  398. package/dist/npm/src/models/ledger/RippleState.js.map +1 -1
  399. package/dist/npm/src/models/ledger/SignerList.js +1 -1
  400. package/dist/npm/src/models/ledger/SignerList.js.map +1 -1
  401. package/dist/npm/src/models/ledger/index.d.ts +6 -2
  402. package/dist/npm/src/models/ledger/index.d.ts.map +1 -1
  403. package/dist/npm/src/models/ledger/index.js.map +1 -1
  404. package/dist/npm/src/models/methods/accountChannels.d.ts +1 -1
  405. package/dist/npm/src/models/methods/accountChannels.d.ts.map +1 -1
  406. package/dist/npm/src/models/methods/accountInfo.d.ts +17 -4
  407. package/dist/npm/src/models/methods/accountInfo.d.ts.map +1 -1
  408. package/dist/npm/src/models/methods/accountTx.d.ts +11 -5
  409. package/dist/npm/src/models/methods/accountTx.d.ts.map +1 -1
  410. package/dist/npm/src/models/methods/depositAuthorized.d.ts +2 -0
  411. package/dist/npm/src/models/methods/depositAuthorized.d.ts.map +1 -1
  412. package/dist/npm/src/models/methods/feature.d.ts +28 -0
  413. package/dist/npm/src/models/methods/feature.d.ts.map +1 -0
  414. package/dist/npm/src/models/methods/feature.js +3 -0
  415. package/dist/npm/src/models/methods/feature.js.map +1 -0
  416. package/dist/npm/src/models/methods/getAggregatePrice.d.ts +31 -0
  417. package/dist/npm/src/models/methods/getAggregatePrice.d.ts.map +1 -0
  418. package/dist/npm/src/models/methods/getAggregatePrice.js +3 -0
  419. package/dist/npm/src/models/methods/getAggregatePrice.js.map +1 -0
  420. package/dist/npm/src/models/methods/index.d.ts +25 -9
  421. package/dist/npm/src/models/methods/index.d.ts.map +1 -1
  422. package/dist/npm/src/models/methods/ledger.d.ts +49 -9
  423. package/dist/npm/src/models/methods/ledger.d.ts.map +1 -1
  424. package/dist/npm/src/models/methods/ledgerEntry.d.ts +12 -0
  425. package/dist/npm/src/models/methods/ledgerEntry.d.ts.map +1 -1
  426. package/dist/npm/src/models/methods/nftsByIssuer.d.ts +19 -0
  427. package/dist/npm/src/models/methods/nftsByIssuer.d.ts.map +1 -0
  428. package/dist/npm/src/models/methods/nftsByIssuer.js +3 -0
  429. package/dist/npm/src/models/methods/nftsByIssuer.js.map +1 -0
  430. package/dist/npm/src/models/methods/serverState.d.ts +1 -0
  431. package/dist/npm/src/models/methods/serverState.d.ts.map +1 -1
  432. package/dist/npm/src/models/methods/simulate.d.ts +42 -0
  433. package/dist/npm/src/models/methods/simulate.d.ts.map +1 -0
  434. package/dist/npm/src/models/methods/simulate.js +3 -0
  435. package/dist/npm/src/models/methods/simulate.js.map +1 -0
  436. package/dist/npm/src/models/methods/submit.d.ts +2 -2
  437. package/dist/npm/src/models/methods/submit.d.ts.map +1 -1
  438. package/dist/npm/src/models/methods/submitMultisigned.d.ts +16 -5
  439. package/dist/npm/src/models/methods/submitMultisigned.d.ts.map +1 -1
  440. package/dist/npm/src/models/methods/subscribe.d.ts +10 -3
  441. package/dist/npm/src/models/methods/subscribe.d.ts.map +1 -1
  442. package/dist/npm/src/models/methods/tx.d.ts +21 -10
  443. package/dist/npm/src/models/methods/tx.d.ts.map +1 -1
  444. package/dist/npm/src/models/transactions/AMMClawback.d.ts +17 -0
  445. package/dist/npm/src/models/transactions/AMMClawback.d.ts.map +1 -0
  446. package/dist/npm/src/models/transactions/AMMClawback.js +34 -0
  447. package/dist/npm/src/models/transactions/AMMClawback.js.map +1 -0
  448. package/dist/npm/src/models/transactions/AMMDeposit.d.ts +3 -1
  449. package/dist/npm/src/models/transactions/AMMDeposit.d.ts.map +1 -1
  450. package/dist/npm/src/models/transactions/AMMDeposit.js +2 -1
  451. package/dist/npm/src/models/transactions/AMMDeposit.js.map +1 -1
  452. package/dist/npm/src/models/transactions/AMMWithdraw.js +1 -1
  453. package/dist/npm/src/models/transactions/AMMWithdraw.js.map +1 -1
  454. package/dist/npm/src/models/transactions/CredentialAccept.d.ts +9 -0
  455. package/dist/npm/src/models/transactions/CredentialAccept.d.ts.map +1 -0
  456. package/dist/npm/src/models/transactions/CredentialAccept.js +12 -0
  457. package/dist/npm/src/models/transactions/CredentialAccept.js.map +1 -0
  458. package/dist/npm/src/models/transactions/CredentialCreate.d.ts +11 -0
  459. package/dist/npm/src/models/transactions/CredentialCreate.d.ts.map +1 -0
  460. package/dist/npm/src/models/transactions/CredentialCreate.js +34 -0
  461. package/dist/npm/src/models/transactions/CredentialCreate.js.map +1 -0
  462. package/dist/npm/src/models/transactions/CredentialDelete.d.ts +10 -0
  463. package/dist/npm/src/models/transactions/CredentialDelete.d.ts.map +1 -0
  464. package/dist/npm/src/models/transactions/CredentialDelete.js +17 -0
  465. package/dist/npm/src/models/transactions/CredentialDelete.js.map +1 -0
  466. package/dist/npm/src/models/transactions/MPTokenAuthorize.d.ts +15 -0
  467. package/dist/npm/src/models/transactions/MPTokenAuthorize.d.ts.map +1 -0
  468. package/dist/npm/src/models/transactions/MPTokenAuthorize.js +15 -0
  469. package/dist/npm/src/models/transactions/MPTokenAuthorize.js.map +1 -0
  470. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts +31 -0
  471. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -0
  472. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.js +54 -0
  473. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.js.map +1 -0
  474. package/dist/npm/src/models/transactions/MPTokenIssuanceDestroy.d.ts +7 -0
  475. package/dist/npm/src/models/transactions/MPTokenIssuanceDestroy.d.ts.map +1 -0
  476. package/dist/npm/src/models/transactions/MPTokenIssuanceDestroy.js +10 -0
  477. package/dist/npm/src/models/transactions/MPTokenIssuanceDestroy.js.map +1 -0
  478. package/dist/npm/src/models/transactions/MPTokenIssuanceSet.d.ts +17 -0
  479. package/dist/npm/src/models/transactions/MPTokenIssuanceSet.d.ts.map +1 -0
  480. package/dist/npm/src/models/transactions/MPTokenIssuanceSet.js +29 -0
  481. package/dist/npm/src/models/transactions/MPTokenIssuanceSet.js.map +1 -0
  482. package/dist/npm/src/models/transactions/NFTokenAcceptOffer.d.ts +4 -0
  483. package/dist/npm/src/models/transactions/NFTokenAcceptOffer.d.ts.map +1 -1
  484. package/dist/npm/src/models/transactions/NFTokenAcceptOffer.js.map +1 -1
  485. package/dist/npm/src/models/transactions/NFTokenCancelOffer.d.ts +4 -0
  486. package/dist/npm/src/models/transactions/NFTokenCancelOffer.d.ts.map +1 -1
  487. package/dist/npm/src/models/transactions/NFTokenCancelOffer.js.map +1 -1
  488. package/dist/npm/src/models/transactions/NFTokenCreateOffer.d.ts +4 -0
  489. package/dist/npm/src/models/transactions/NFTokenCreateOffer.d.ts.map +1 -1
  490. package/dist/npm/src/models/transactions/NFTokenCreateOffer.js +1 -1
  491. package/dist/npm/src/models/transactions/NFTokenCreateOffer.js.map +1 -1
  492. package/dist/npm/src/models/transactions/NFTokenMint.d.ts +7 -1
  493. package/dist/npm/src/models/transactions/NFTokenMint.d.ts.map +1 -1
  494. package/dist/npm/src/models/transactions/NFTokenMint.js +2 -1
  495. package/dist/npm/src/models/transactions/NFTokenMint.js.map +1 -1
  496. package/dist/npm/src/models/transactions/NFTokenModify.d.ts +9 -0
  497. package/dist/npm/src/models/transactions/NFTokenModify.d.ts.map +1 -0
  498. package/dist/npm/src/models/transactions/NFTokenModify.js +22 -0
  499. package/dist/npm/src/models/transactions/NFTokenModify.js.map +1 -0
  500. package/dist/npm/src/models/transactions/XChainModifyBridge.js +1 -1
  501. package/dist/npm/src/models/transactions/XChainModifyBridge.js.map +1 -1
  502. package/dist/npm/src/models/transactions/accountDelete.d.ts +1 -0
  503. package/dist/npm/src/models/transactions/accountDelete.d.ts.map +1 -1
  504. package/dist/npm/src/models/transactions/accountDelete.js +1 -0
  505. package/dist/npm/src/models/transactions/accountDelete.js.map +1 -1
  506. package/dist/npm/src/models/transactions/accountSet.js +2 -2
  507. package/dist/npm/src/models/transactions/accountSet.js.map +1 -1
  508. package/dist/npm/src/models/transactions/clawback.d.ts +3 -2
  509. package/dist/npm/src/models/transactions/clawback.d.ts.map +1 -1
  510. package/dist/npm/src/models/transactions/clawback.js +11 -1
  511. package/dist/npm/src/models/transactions/clawback.js.map +1 -1
  512. package/dist/npm/src/models/transactions/common.d.ts +7 -1
  513. package/dist/npm/src/models/transactions/common.d.ts.map +1 -1
  514. package/dist/npm/src/models/transactions/common.js +97 -4
  515. package/dist/npm/src/models/transactions/common.js.map +1 -1
  516. package/dist/npm/src/models/transactions/depositPreauth.d.ts +3 -0
  517. package/dist/npm/src/models/transactions/depositPreauth.d.ts.map +1 -1
  518. package/dist/npm/src/models/transactions/depositPreauth.js +20 -7
  519. package/dist/npm/src/models/transactions/depositPreauth.js.map +1 -1
  520. package/dist/npm/src/models/transactions/enableAmendment.js +1 -1
  521. package/dist/npm/src/models/transactions/enableAmendment.js.map +1 -1
  522. package/dist/npm/src/models/transactions/escrowFinish.d.ts +1 -0
  523. package/dist/npm/src/models/transactions/escrowFinish.d.ts.map +1 -1
  524. package/dist/npm/src/models/transactions/escrowFinish.js +1 -0
  525. package/dist/npm/src/models/transactions/escrowFinish.js.map +1 -1
  526. package/dist/npm/src/models/transactions/index.d.ts +16 -3
  527. package/dist/npm/src/models/transactions/index.d.ts.map +1 -1
  528. package/dist/npm/src/models/transactions/index.js +13 -1
  529. package/dist/npm/src/models/transactions/index.js.map +1 -1
  530. package/dist/npm/src/models/transactions/metadata.d.ts +16 -4
  531. package/dist/npm/src/models/transactions/metadata.d.ts.map +1 -1
  532. package/dist/npm/src/models/transactions/metadata.js.map +1 -1
  533. package/dist/npm/src/models/transactions/offerCreate.js +1 -1
  534. package/dist/npm/src/models/transactions/offerCreate.js.map +1 -1
  535. package/dist/npm/src/models/transactions/oracleDelete.d.ts +7 -0
  536. package/dist/npm/src/models/transactions/oracleDelete.d.ts.map +1 -0
  537. package/dist/npm/src/models/transactions/oracleDelete.js +10 -0
  538. package/dist/npm/src/models/transactions/oracleDelete.js.map +1 -0
  539. package/dist/npm/src/models/transactions/oracleSet.d.ts +13 -0
  540. package/dist/npm/src/models/transactions/oracleSet.d.ts.map +1 -0
  541. package/dist/npm/src/models/transactions/oracleSet.js +59 -0
  542. package/dist/npm/src/models/transactions/oracleSet.js.map +1 -0
  543. package/dist/npm/src/models/transactions/payment.d.ts +12 -6
  544. package/dist/npm/src/models/transactions/payment.d.ts.map +1 -1
  545. package/dist/npm/src/models/transactions/payment.js +3 -2
  546. package/dist/npm/src/models/transactions/payment.js.map +1 -1
  547. package/dist/npm/src/models/transactions/paymentChannelClaim.d.ts +1 -0
  548. package/dist/npm/src/models/transactions/paymentChannelClaim.d.ts.map +1 -1
  549. package/dist/npm/src/models/transactions/paymentChannelClaim.js +2 -1
  550. package/dist/npm/src/models/transactions/paymentChannelClaim.js.map +1 -1
  551. package/dist/npm/src/models/transactions/permissionedDomainDelete.d.ts +7 -0
  552. package/dist/npm/src/models/transactions/permissionedDomainDelete.d.ts.map +1 -0
  553. package/dist/npm/src/models/transactions/permissionedDomainDelete.js +10 -0
  554. package/dist/npm/src/models/transactions/permissionedDomainDelete.js.map +1 -0
  555. package/dist/npm/src/models/transactions/permissionedDomainSet.d.ts +9 -0
  556. package/dist/npm/src/models/transactions/permissionedDomainSet.d.ts.map +1 -0
  557. package/dist/npm/src/models/transactions/permissionedDomainSet.js +13 -0
  558. package/dist/npm/src/models/transactions/permissionedDomainSet.js.map +1 -0
  559. package/dist/npm/src/models/transactions/transaction.d.ts +19 -4
  560. package/dist/npm/src/models/transactions/transaction.d.ts.map +1 -1
  561. package/dist/npm/src/models/transactions/transaction.js +53 -1
  562. package/dist/npm/src/models/transactions/transaction.js.map +1 -1
  563. package/dist/npm/src/models/transactions/trustSet.d.ts +5 -1
  564. package/dist/npm/src/models/transactions/trustSet.d.ts.map +1 -1
  565. package/dist/npm/src/models/transactions/trustSet.js +3 -1
  566. package/dist/npm/src/models/transactions/trustSet.js.map +1 -1
  567. package/dist/npm/src/models/utils/flags.d.ts +2 -0
  568. package/dist/npm/src/models/utils/flags.d.ts.map +1 -1
  569. package/dist/npm/src/models/utils/flags.js +51 -16
  570. package/dist/npm/src/models/utils/flags.js.map +1 -1
  571. package/dist/npm/src/models/utils/index.d.ts +1 -0
  572. package/dist/npm/src/models/utils/index.d.ts.map +1 -1
  573. package/dist/npm/src/models/utils/index.js +2 -1
  574. package/dist/npm/src/models/utils/index.js.map +1 -1
  575. package/dist/npm/src/sugar/autofill.d.ts +7 -3
  576. package/dist/npm/src/sugar/autofill.d.ts.map +1 -1
  577. package/dist/npm/src/sugar/autofill.js +11 -32
  578. package/dist/npm/src/sugar/autofill.js.map +1 -1
  579. package/dist/npm/src/sugar/balances.d.ts +2 -17
  580. package/dist/npm/src/sugar/balances.d.ts.map +1 -1
  581. package/dist/npm/src/sugar/balances.js +2 -60
  582. package/dist/npm/src/sugar/balances.js.map +1 -1
  583. package/dist/npm/src/sugar/getFeeXrp.d.ts +1 -1
  584. package/dist/npm/src/sugar/getFeeXrp.d.ts.map +1 -1
  585. package/dist/npm/src/sugar/getFeeXrp.js +3 -2
  586. package/dist/npm/src/sugar/getFeeXrp.js.map +1 -1
  587. package/dist/npm/src/sugar/getOrderbook.d.ts +19 -5
  588. package/dist/npm/src/sugar/getOrderbook.d.ts.map +1 -1
  589. package/dist/npm/src/sugar/getOrderbook.js +72 -53
  590. package/dist/npm/src/sugar/getOrderbook.js.map +1 -1
  591. package/dist/npm/src/sugar/index.d.ts +0 -4
  592. package/dist/npm/src/sugar/index.d.ts.map +1 -1
  593. package/dist/npm/src/sugar/index.js +0 -13
  594. package/dist/npm/src/sugar/index.js.map +1 -1
  595. package/dist/npm/src/sugar/submit.d.ts +7 -11
  596. package/dist/npm/src/sugar/submit.d.ts.map +1 -1
  597. package/dist/npm/src/sugar/submit.js +11 -28
  598. package/dist/npm/src/sugar/submit.js.map +1 -1
  599. package/dist/npm/src/utils/collections.d.ts +5 -0
  600. package/dist/npm/src/utils/collections.d.ts.map +1 -0
  601. package/dist/npm/src/utils/collections.js +24 -0
  602. package/dist/npm/src/utils/collections.js.map +1 -0
  603. package/dist/npm/src/utils/getBalanceChanges.d.ts.map +1 -1
  604. package/dist/npm/src/utils/getBalanceChanges.js +3 -4
  605. package/dist/npm/src/utils/getBalanceChanges.js.map +1 -1
  606. package/dist/npm/src/utils/getNFTokenID.d.ts.map +1 -1
  607. package/dist/npm/src/utils/getNFTokenID.js +8 -8
  608. package/dist/npm/src/utils/getNFTokenID.js.map +1 -1
  609. package/dist/npm/src/utils/hashes/SHAMap/node.js +1 -1
  610. package/dist/npm/src/utils/hashes/SHAMap/node.js.map +1 -1
  611. package/dist/npm/src/utils/hashes/hashLedger.d.ts +5 -5
  612. package/dist/npm/src/utils/hashes/hashLedger.d.ts.map +1 -1
  613. package/dist/npm/src/utils/hashes/hashLedger.js +7 -7
  614. package/dist/npm/src/utils/hashes/hashLedger.js.map +1 -1
  615. package/dist/npm/src/utils/hashes/index.d.ts.map +1 -1
  616. package/dist/npm/src/utils/hashes/index.js +3 -2
  617. package/dist/npm/src/utils/hashes/index.js.map +1 -1
  618. package/dist/npm/src/utils/hashes/sha512Half.d.ts.map +1 -1
  619. package/dist/npm/src/utils/hashes/sha512Half.js +4 -7
  620. package/dist/npm/src/utils/hashes/sha512Half.js.map +1 -1
  621. package/dist/npm/src/utils/index.d.ts +2 -1
  622. package/dist/npm/src/utils/index.d.ts.map +1 -1
  623. package/dist/npm/src/utils/index.js +6 -29
  624. package/dist/npm/src/utils/index.js.map +1 -1
  625. package/dist/npm/src/utils/parseNFTokenID.d.ts.map +1 -1
  626. package/dist/npm/src/utils/parseNFTokenID.js +2 -1
  627. package/dist/npm/src/utils/parseNFTokenID.js.map +1 -1
  628. package/dist/npm/src/utils/stringConversion.d.ts +1 -2
  629. package/dist/npm/src/utils/stringConversion.d.ts.map +1 -1
  630. package/dist/npm/src/utils/stringConversion.js +3 -2
  631. package/dist/npm/src/utils/stringConversion.js.map +1 -1
  632. package/dist/npm/src/utils/xrpConversion.d.ts +1 -1
  633. package/dist/npm/src/utils/xrpConversion.js +1 -1
  634. package/dist/npm/src/utils/xrpConversion.js.map +1 -1
  635. package/dist/npm/sugar/autofill.d.ts +7 -3
  636. package/dist/npm/sugar/autofill.d.ts.map +1 -1
  637. package/dist/npm/sugar/autofill.js +11 -32
  638. package/dist/npm/sugar/autofill.js.map +1 -1
  639. package/dist/npm/sugar/balances.d.ts +2 -17
  640. package/dist/npm/sugar/balances.d.ts.map +1 -1
  641. package/dist/npm/sugar/balances.js +2 -60
  642. package/dist/npm/sugar/balances.js.map +1 -1
  643. package/dist/npm/sugar/getFeeXrp.d.ts +1 -1
  644. package/dist/npm/sugar/getFeeXrp.d.ts.map +1 -1
  645. package/dist/npm/sugar/getFeeXrp.js +3 -2
  646. package/dist/npm/sugar/getFeeXrp.js.map +1 -1
  647. package/dist/npm/sugar/getOrderbook.d.ts +19 -5
  648. package/dist/npm/sugar/getOrderbook.d.ts.map +1 -1
  649. package/dist/npm/sugar/getOrderbook.js +72 -53
  650. package/dist/npm/sugar/getOrderbook.js.map +1 -1
  651. package/dist/npm/sugar/index.d.ts +0 -4
  652. package/dist/npm/sugar/index.d.ts.map +1 -1
  653. package/dist/npm/sugar/index.js +0 -13
  654. package/dist/npm/sugar/index.js.map +1 -1
  655. package/dist/npm/sugar/submit.d.ts +7 -11
  656. package/dist/npm/sugar/submit.d.ts.map +1 -1
  657. package/dist/npm/sugar/submit.js +11 -28
  658. package/dist/npm/sugar/submit.js.map +1 -1
  659. package/dist/npm/utils/collections.d.ts +5 -0
  660. package/dist/npm/utils/collections.d.ts.map +1 -0
  661. package/dist/npm/utils/collections.js +24 -0
  662. package/dist/npm/utils/collections.js.map +1 -0
  663. package/dist/npm/utils/getBalanceChanges.d.ts.map +1 -1
  664. package/dist/npm/utils/getBalanceChanges.js +3 -4
  665. package/dist/npm/utils/getBalanceChanges.js.map +1 -1
  666. package/dist/npm/utils/getNFTokenID.d.ts.map +1 -1
  667. package/dist/npm/utils/getNFTokenID.js +8 -8
  668. package/dist/npm/utils/getNFTokenID.js.map +1 -1
  669. package/dist/npm/utils/hashes/SHAMap/node.js +1 -1
  670. package/dist/npm/utils/hashes/SHAMap/node.js.map +1 -1
  671. package/dist/npm/utils/hashes/hashLedger.d.ts +5 -5
  672. package/dist/npm/utils/hashes/hashLedger.d.ts.map +1 -1
  673. package/dist/npm/utils/hashes/hashLedger.js +7 -7
  674. package/dist/npm/utils/hashes/hashLedger.js.map +1 -1
  675. package/dist/npm/utils/hashes/index.d.ts.map +1 -1
  676. package/dist/npm/utils/hashes/index.js +3 -2
  677. package/dist/npm/utils/hashes/index.js.map +1 -1
  678. package/dist/npm/utils/hashes/sha512Half.d.ts.map +1 -1
  679. package/dist/npm/utils/hashes/sha512Half.js +4 -7
  680. package/dist/npm/utils/hashes/sha512Half.js.map +1 -1
  681. package/dist/npm/utils/index.d.ts +2 -1
  682. package/dist/npm/utils/index.d.ts.map +1 -1
  683. package/dist/npm/utils/index.js +6 -29
  684. package/dist/npm/utils/index.js.map +1 -1
  685. package/dist/npm/utils/parseNFTokenID.d.ts.map +1 -1
  686. package/dist/npm/utils/parseNFTokenID.js +2 -1
  687. package/dist/npm/utils/parseNFTokenID.js.map +1 -1
  688. package/dist/npm/utils/stringConversion.d.ts +1 -2
  689. package/dist/npm/utils/stringConversion.d.ts.map +1 -1
  690. package/dist/npm/utils/stringConversion.js +3 -2
  691. package/dist/npm/utils/stringConversion.js.map +1 -1
  692. package/dist/npm/utils/xrpConversion.d.ts +1 -1
  693. package/dist/npm/utils/xrpConversion.js +1 -1
  694. package/dist/npm/utils/xrpConversion.js.map +1 -1
  695. package/package.json +20 -47
  696. package/src/Wallet/authorizeChannel.ts +26 -0
  697. package/src/Wallet/defaultFaucets.ts +0 -6
  698. package/src/Wallet/fundWallet.ts +152 -214
  699. package/src/Wallet/index.ts +38 -25
  700. package/src/Wallet/rfc1751.ts +45 -16
  701. package/src/Wallet/signer.ts +34 -44
  702. package/src/Wallet/walletFromSecretNumbers.ts +1 -1
  703. package/src/client/RequestManager.ts +50 -19
  704. package/src/client/connection.ts +29 -94
  705. package/src/client/index.ts +816 -286
  706. package/src/client/partialPayment.ts +79 -26
  707. package/src/errors.ts +1 -3
  708. package/src/index.ts +8 -3
  709. package/src/models/common/index.ts +56 -0
  710. package/src/models/index.ts +3 -1
  711. package/src/models/ledger/AMM.ts +2 -2
  712. package/src/models/ledger/Amendments.ts +2 -2
  713. package/src/models/ledger/BaseLedgerEntry.ts +9 -5
  714. package/src/models/ledger/Credential.ts +47 -0
  715. package/src/models/ledger/DepositPreauth.ts +6 -2
  716. package/src/models/ledger/DirectoryNode.ts +2 -2
  717. package/src/models/ledger/FeeSettings.ts +4 -2
  718. package/src/models/ledger/Ledger.ts +51 -15
  719. package/src/models/ledger/LedgerEntry.ts +11 -0
  720. package/src/models/ledger/LedgerHashes.ts +2 -4
  721. package/src/models/ledger/MPToken.ts +11 -0
  722. package/src/models/ledger/MPTokenIssuance.ts +13 -0
  723. package/src/models/ledger/NegativeUNL.ts +2 -2
  724. package/src/models/ledger/Oracle.ts +43 -0
  725. package/src/models/ledger/PermissionedDomain.ts +29 -0
  726. package/src/models/ledger/RippleState.ts +6 -0
  727. package/src/models/ledger/index.ts +10 -1
  728. package/src/models/methods/accountChannels.ts +64 -1
  729. package/src/models/methods/accountInfo.ts +58 -12
  730. package/src/models/methods/accountTx.ts +49 -8
  731. package/src/models/methods/depositAuthorized.ts +10 -0
  732. package/src/models/methods/feature.ts +68 -0
  733. package/src/models/methods/getAggregatePrice.ts +119 -0
  734. package/src/models/methods/index.ts +259 -6
  735. package/src/models/methods/ledger.ts +187 -22
  736. package/src/models/methods/ledgerEntry.ts +45 -1
  737. package/src/models/methods/nftsByIssuer.ts +68 -0
  738. package/src/models/methods/serverState.ts +1 -0
  739. package/src/models/methods/simulate.ts +88 -0
  740. package/src/models/methods/submit.ts +2 -2
  741. package/src/models/methods/submitMultisigned.ts +48 -16
  742. package/src/models/methods/subscribe.ts +70 -3
  743. package/src/models/methods/tx.ts +76 -26
  744. package/src/models/transactions/AMMClawback.ts +120 -0
  745. package/src/models/transactions/AMMDeposit.ts +2 -0
  746. package/src/models/transactions/CredentialAccept.ts +44 -0
  747. package/src/models/transactions/CredentialCreate.ts +81 -0
  748. package/src/models/transactions/CredentialDelete.ts +55 -0
  749. package/src/models/transactions/MPTokenAuthorize.ts +67 -0
  750. package/src/models/transactions/MPTokenIssuanceCreate.ts +179 -0
  751. package/src/models/transactions/MPTokenIssuanceDestroy.ts +34 -0
  752. package/src/models/transactions/MPTokenIssuanceSet.ts +86 -0
  753. package/src/models/transactions/NFTokenAcceptOffer.ts +6 -0
  754. package/src/models/transactions/NFTokenCancelOffer.ts +6 -0
  755. package/src/models/transactions/NFTokenCreateOffer.ts +6 -0
  756. package/src/models/transactions/NFTokenMint.ts +11 -0
  757. package/src/models/transactions/NFTokenModify.ts +67 -0
  758. package/src/models/transactions/accountDelete.ts +16 -0
  759. package/src/models/transactions/clawback.ts +27 -6
  760. package/src/models/transactions/common.ts +179 -1
  761. package/src/models/transactions/depositPreauth.ts +54 -15
  762. package/src/models/transactions/escrowFinish.ts +14 -0
  763. package/src/models/transactions/index.ts +33 -2
  764. package/src/models/transactions/metadata.ts +41 -4
  765. package/src/models/transactions/oracleDelete.ts +32 -0
  766. package/src/models/transactions/oracleSet.ts +176 -0
  767. package/src/models/transactions/payment.ts +27 -6
  768. package/src/models/transactions/paymentChannelClaim.ts +20 -1
  769. package/src/models/transactions/permissionedDomainDelete.ts +28 -0
  770. package/src/models/transactions/permissionedDomainSet.ts +54 -0
  771. package/src/models/transactions/transaction.ts +116 -7
  772. package/src/models/transactions/trustSet.ts +10 -0
  773. package/src/models/utils/flags.ts +80 -22
  774. package/src/models/utils/index.ts +1 -0
  775. package/src/sugar/autofill.ts +88 -98
  776. package/src/sugar/balances.ts +8 -116
  777. package/src/sugar/getFeeXrp.ts +6 -3
  778. package/src/sugar/getOrderbook.ts +138 -61
  779. package/src/sugar/index.ts +0 -8
  780. package/src/sugar/submit.ts +135 -146
  781. package/src/utils/collections.ts +57 -0
  782. package/src/utils/getBalanceChanges.ts +2 -3
  783. package/src/utils/getNFTokenID.ts +18 -16
  784. package/src/utils/hashes/hashLedger.ts +15 -14
  785. package/src/utils/hashes/index.ts +3 -2
  786. package/src/utils/hashes/sha512Half.ts +4 -7
  787. package/src/utils/index.ts +14 -7
  788. package/src/utils/parseNFTokenID.ts +2 -1
  789. package/src/utils/stringConversion.ts +11 -6
  790. package/src/utils/xrpConversion.ts +2 -2
  791. package/dist/npm/client/BroadcastClient.d.ts +0 -7
  792. package/dist/npm/client/BroadcastClient.d.ts.map +0 -1
  793. package/dist/npm/client/BroadcastClient.js +0 -49
  794. package/dist/npm/client/BroadcastClient.js.map +0 -1
  795. package/dist/npm/client/WSWrapper.d.ts +0 -25
  796. package/dist/npm/client/WSWrapper.d.ts.map +0 -1
  797. package/dist/npm/client/WSWrapper.js +0 -44
  798. package/dist/npm/client/WSWrapper.js.map +0 -1
  799. package/dist/npm/snippets/src/bridgeTransfer.d.ts +0 -2
  800. package/dist/npm/snippets/src/bridgeTransfer.d.ts.map +0 -1
  801. package/dist/npm/snippets/src/bridgeTransfer.js +0 -126
  802. package/dist/npm/snippets/src/bridgeTransfer.js.map +0 -1
  803. package/dist/npm/src/client/BroadcastClient.d.ts +0 -7
  804. package/dist/npm/src/client/BroadcastClient.d.ts.map +0 -1
  805. package/dist/npm/src/client/BroadcastClient.js +0 -49
  806. package/dist/npm/src/client/BroadcastClient.js.map +0 -1
  807. package/dist/npm/src/client/WSWrapper.d.ts +0 -25
  808. package/dist/npm/src/client/WSWrapper.d.ts.map +0 -1
  809. package/dist/npm/src/client/WSWrapper.js +0 -44
  810. package/dist/npm/src/client/WSWrapper.js.map +0 -1
  811. package/dist/npm/src/sugar/getLedgerIndex.d.ts +0 -3
  812. package/dist/npm/src/sugar/getLedgerIndex.d.ts.map +0 -1
  813. package/dist/npm/src/sugar/getLedgerIndex.js +0 -22
  814. package/dist/npm/src/sugar/getLedgerIndex.js.map +0 -1
  815. package/dist/npm/sugar/getLedgerIndex.d.ts +0 -3
  816. package/dist/npm/sugar/getLedgerIndex.d.ts.map +0 -1
  817. package/dist/npm/sugar/getLedgerIndex.js +0 -22
  818. package/dist/npm/sugar/getLedgerIndex.js.map +0 -1
  819. package/src/client/BroadcastClient.ts +0 -84
  820. package/src/client/WSWrapper.ts +0 -106
  821. package/src/sugar/getLedgerIndex.ts +0 -15
@@ -1,6 +1,4 @@
1
- /* eslint-disable max-lines-per-function -- Needs to process orderbooks. */
2
1
  import BigNumber from 'bignumber.js'
3
- import flatMap from 'lodash/flatMap'
4
2
 
5
3
  import type { Client } from '../client'
6
4
  import { ValidationError } from '../errors'
@@ -31,43 +29,40 @@ const getOrderbookOptionsSet = new Set([
31
29
  ])
32
30
 
33
31
  /**
34
- * Fetch orderbook (buy/sell orders) between two currency pairs. This checks both sides of the orderbook
35
- * by making two `order_book` requests (with the second reversing takerPays and takerGets). Returned offers are
36
- * not normalized in this function, so either currency could be takerGets or takerPays.
32
+ * Represents the options for retrieving the order book.
33
+ */
34
+ export interface GetOrderBookOptions {
35
+ /**
36
+ * The limit on the number of offers to return.
37
+ */
38
+ limit?: number
39
+ /**
40
+ * The ledger index of the ledger to use.
41
+ */
42
+ ledger_index?: LedgerIndex
43
+ /**
44
+ * The ledger hash of the ledger to use.
45
+ */
46
+ ledger_hash?: string | null
47
+ /**
48
+ * The account that takes the offers.
49
+ */
50
+ taker?: string | null
51
+ }
52
+
53
+ /**
54
+ * Validates the options for retrieving the order book.
37
55
  *
38
- * @param this - Client.
39
- * @param currency1 - Specification of one currency involved. (With a currency code and optionally an issuer)
40
- * @param currency2 - Specification of a second currency involved. (With a currency code and optionally an issuer)
41
- * @param options - Options allowing the client to specify ledger_index,
42
- * ledger_hash, filter by taker, and/or limit number of orders.
43
- * @param options.ledger_index - Retrieve the orderbook at a given ledger_index.
44
- * @param options.ledger_hash - Retrieve the orderbook at the ledger with a
45
- * given ledger_hash.
46
- * @param options.taker - Filter orders by taker.
47
- * @param options.limit - The limit passed into each book_offers request.
48
- * Can return more than this due to two calls being made. Defaults to 20.
49
- * @returns An object containing buy and sell objects.
56
+ * @param options - The options to validate.
57
+ * @throws {ValidationError} If any validation errors occur.
50
58
  */
51
- // eslint-disable-next-line max-params, complexity -- Once bound to Client, getOrderbook only has 3 parameters.
52
- async function getOrderbook(
53
- this: Client,
54
- currency1: BookOfferCurrency,
55
- currency2: BookOfferCurrency,
56
- options: {
57
- limit?: number
58
- ledger_index?: LedgerIndex
59
- ledger_hash?: string | null
60
- taker?: string | null
61
- } = {},
62
- ): Promise<{
63
- buy: BookOffer[]
64
- sell: BookOffer[]
65
- }> {
66
- Object.keys(options).forEach((key) => {
59
+ // eslint-disable-next-line complexity -- Necessary for validation.
60
+ export function validateOrderbookOptions(options: GetOrderBookOptions): void {
61
+ for (const key of Object.keys(options)) {
67
62
  if (!getOrderbookOptionsSet.has(key)) {
68
63
  throw new ValidationError(`Unexpected option: ${key}`, options)
69
64
  }
70
- })
65
+ }
71
66
 
72
67
  if (options.limit && typeof options.limit !== 'number') {
73
68
  throw new ValidationError('limit must be a number', options.limit)
@@ -101,7 +96,30 @@ async function getOrderbook(
101
96
  if (options.taker !== undefined && typeof options.taker !== 'string') {
102
97
  throw new ValidationError('taker must be a string', options.taker)
103
98
  }
99
+ }
104
100
 
101
+ /**
102
+ * Creates a request object for retrieving book offers.
103
+ *
104
+ * @param currency1 - The first currency in the pair.
105
+ * @param currency2 - The second currency in the pair.
106
+ * @param options - Additional options for the request.
107
+ * @param [options.limit] - The maximum number of offers to retrieve.
108
+ * @param [options.ledger_index] - The ledger index to use for retrieval.
109
+ * @param [options.ledger_hash] - The ledger hash to use for retrieval.
110
+ * @param [options.taker] - The taker address for retrieval.
111
+ * @returns The created request object.
112
+ */
113
+ export function createBookOffersRequest(
114
+ currency1: BookOfferCurrency,
115
+ currency2: BookOfferCurrency,
116
+ options: {
117
+ limit?: number
118
+ ledger_index?: LedgerIndex
119
+ ledger_hash?: string | null
120
+ taker?: string | null
121
+ },
122
+ ): BookOffersRequest {
105
123
  const request: BookOffersRequest = {
106
124
  command: 'book_offers',
107
125
  taker_pays: currency1,
@@ -111,25 +129,78 @@ async function getOrderbook(
111
129
  limit: options.limit ?? DEFAULT_LIMIT,
112
130
  taker: options.taker ? options.taker : undefined,
113
131
  }
114
- // 2. Make Request
115
- const directOfferResults = await this.requestAll(request)
116
- request.taker_gets = currency1
117
- request.taker_pays = currency2
118
- const reverseOfferResults = await this.requestAll(request)
119
- // 3. Return Formatted Response
120
- const directOffers = flatMap(
121
- directOfferResults,
122
- (directOfferResult) => directOfferResult.result.offers,
123
- )
124
- const reverseOffers = flatMap(
125
- reverseOfferResults,
126
- (reverseOfferResult) => reverseOfferResult.result.offers,
127
- )
128
-
129
- const orders = [...directOffers, ...reverseOffers]
130
- // separate out the buy and sell orders
132
+
133
+ return request
134
+ }
135
+
136
+ type BookOfferResult = BookOffer[]
137
+
138
+ /**
139
+ * Retrieves all book offer results using the given request.
140
+ *
141
+ * @param client - The Ripple client.
142
+ * @param request - The request object.
143
+ * @returns The array of book offer results.
144
+ */
145
+ export async function requestAllOffers(
146
+ client: Client,
147
+ request: BookOffersRequest,
148
+ ): Promise<BookOfferResult[]> {
149
+ const results = await client.requestAll(request)
150
+ return results.map((result) => result.result.offers)
151
+ }
152
+
153
+ /**
154
+ * Creates a reverse request object by swapping the taker pays and taker gets amounts.
155
+ *
156
+ * @param request - The original request object.
157
+ * @returns The reverse request object.
158
+ */
159
+ export function reverseRequest(request: BookOffersRequest): BookOffersRequest {
160
+ return {
161
+ ...request,
162
+ taker_pays: request.taker_gets,
163
+ taker_gets: request.taker_pays,
164
+ }
165
+ }
166
+
167
+ /**
168
+ * Extracts the offers from the book offer results.
169
+ *
170
+ * @param offerResults - The array of book offer results.
171
+ * @returns The extracted offers.
172
+ */
173
+ export function extractOffers(offerResults: BookOfferResult[]): BookOffer[] {
174
+ return offerResults.flatMap((offerResult) => offerResult)
175
+ }
176
+
177
+ /**
178
+ * Combines the direct and reverse offers into a single array.
179
+ *
180
+ * @param directOffers - The direct offers.
181
+ * @param reverseOffers - The reverse offers.
182
+ * @returns The combined array of offers.
183
+ */
184
+ export function combineOrders(
185
+ directOffers: BookOffer[],
186
+ reverseOffers: BookOffer[],
187
+ ): BookOffer[] {
188
+ return [...directOffers, ...reverseOffers]
189
+ }
190
+
191
+ /**
192
+ * Separates the buy and sell orders from the given array of orders.
193
+ *
194
+ * @param orders - The array of orders.
195
+ * @returns The separated buy and sell orders.
196
+ */
197
+ export function separateBuySellOrders(orders: BookOffer[]): {
198
+ buy: BookOffer[]
199
+ sell: BookOffer[]
200
+ } {
131
201
  const buy: BookOffer[] = []
132
202
  const sell: BookOffer[] = []
203
+
133
204
  orders.forEach((order) => {
134
205
  // eslint-disable-next-line no-bitwise -- necessary for flags check
135
206
  if ((order.Flags & OfferFlags.lsfSell) === 0) {
@@ -138,15 +209,21 @@ async function getOrderbook(
138
209
  sell.push(order)
139
210
  }
140
211
  })
141
- /*
142
- * Sort the orders
143
- * for both buys and sells, lowest quality is closest to mid-market
144
- * we sort the orders so that earlier orders are closer to mid-market
145
- */
146
- return {
147
- buy: sortOffers(buy).slice(0, options.limit),
148
- sell: sortOffers(sell).slice(0, options.limit),
149
- }
212
+
213
+ return { buy, sell }
150
214
  }
151
215
 
152
- export default getOrderbook
216
+ /**
217
+ * Sorts and limits the given array of offers.
218
+ *
219
+ * @param offers - The array of offers to sort and limit.
220
+ * @param [limit] - The maximum number of offers to include.
221
+ * @returns The sorted and limited array of offers.
222
+ */
223
+ export function sortAndLimitOffers(
224
+ offers: BookOffer[],
225
+ limit?: number,
226
+ ): BookOffer[] {
227
+ const sortedOffers = sortOffers(offers)
228
+ return sortedOffers.slice(0, limit)
229
+ }
@@ -1,11 +1,3 @@
1
- export { default as autofill } from './autofill'
2
-
3
- export { getBalances, getXrpBalance } from './balances'
4
-
5
- export { default as getLedgerIndex } from './getLedgerIndex'
6
-
7
- export { default as getOrderbook } from './getOrderbook'
8
-
9
1
  export * from './submit'
10
2
 
11
3
  export * from './utils'
@@ -1,12 +1,16 @@
1
- import { decode, encode } from 'ripple-binary-codec'
2
-
3
- import type { Client, SubmitRequest, SubmitResponse, Wallet } from '..'
1
+ import type {
2
+ Client,
3
+ SubmitRequest,
4
+ SubmitResponse,
5
+ SubmittableTransaction,
6
+ Transaction,
7
+ Wallet,
8
+ } from '..'
4
9
  import { ValidationError, XrplError } from '../errors'
5
10
  import { Signer } from '../models/common'
6
- import { TxRequest, TxResponse } from '../models/methods'
7
- import { Transaction } from '../models/transactions'
11
+ import { TxResponse } from '../models/methods'
8
12
  import { BaseTransaction } from '../models/transactions/common'
9
- import { hashes } from '../utils'
13
+ import { decode, encode } from '../utils'
10
14
 
11
15
  /** Approximate time for a ledger to close, in milliseconds */
12
16
  const LEDGER_CLOSE_TIME = 1000
@@ -17,136 +21,37 @@ async function sleep(ms: number): Promise<void> {
17
21
  })
18
22
  }
19
23
 
20
- /**
21
- * Submits a signed/unsigned transaction.
22
- * Steps performed on a transaction:
23
- * 1. Autofill.
24
- * 2. Sign & Encode.
25
- * 3. Submit.
26
- *
27
- * @param this - A Client.
28
- * @param transaction - A transaction to autofill, sign & encode, and submit.
29
- * @param opts - (Optional) Options used to sign and submit a transaction.
30
- * @param opts.autofill - If true, autofill a transaction.
31
- * @param opts.failHard - If true, and the transaction fails locally, do not retry or relay the transaction to other servers.
32
- * @param opts.wallet - A wallet to sign a transaction. It must be provided when submitting an unsigned transaction.
33
- * @returns A promise that contains SubmitResponse.
34
- * @throws RippledError if submit request fails.
35
- */
36
- async function submit(
37
- this: Client,
38
- transaction: Transaction | string,
39
- opts?: {
40
- // If true, autofill a transaction.
41
- autofill?: boolean
42
- // If true, and the transaction fails locally, do not retry or relay the transaction to other servers.
43
- failHard?: boolean
44
- // A wallet to sign a transaction. It must be provided when submitting an unsigned transaction.
45
- wallet?: Wallet
46
- },
47
- ): Promise<SubmitResponse> {
48
- const signedTx = await getSignedTx(this, transaction, opts)
49
- return submitRequest(this, signedTx, opts?.failHard)
50
- }
24
+ // Helper functions
51
25
 
52
26
  /**
53
- * Asynchronously submits a transaction and verifies that it has been included in a
54
- * validated ledger (or has errored/will not be included for some reason).
55
- * See [Reliable Transaction Submission](https://xrpl.org/reliable-transaction-submission.html).
56
- *
57
- * @example
27
+ * Submits a request to the client with a signed transaction.
58
28
  *
59
- * ```ts
60
- * const { Client, Wallet } = require('xrpl')
61
- * const client = new Client('wss://s.altnet.rippletest.net:51233')
62
- *
63
- * async function submitTransaction() {
64
- * const senderWallet = client.fundWallet()
65
- * const recipientWallet = client.fundWallet()
66
- *
67
- * const transaction = {
68
- * TransactionType: 'Payment',
69
- * Account: senderWallet.address,
70
- * Destination: recipientWallet.address,
71
- * Amount: '10'
72
- * }
73
- *
74
- * try {
75
- * await client.submit(signedTransaction, { wallet: senderWallet })
76
- * console.log(result)
77
- * } catch (error) {
78
- * console.error(`Failed to submit transaction: ${error}`)
79
- * }
80
- * }
29
+ * @param client - The client to submit the request to.
30
+ * @param signedTransaction - The signed transaction to submit. It can be either a Transaction object or a
31
+ * string (encode from ripple-binary-codec) representation of the transaction.
32
+ * @param [failHard=false] - Optional. Determines whether the submission should fail hard (true) or not (false). Default is false.
33
+ * @returns A promise that resolves with the response from the client.
34
+ * @throws {ValidationError} If the signed transaction is not valid (not signed).
81
35
  *
82
- * submitTransaction()
83
- * ```
84
- *
85
- * In this example we submit a payment transaction between two newly created testnet accounts.
86
- *
87
- * Under the hood, `submit` will call `client.autofill` by default, and because we've passed in a `Wallet` it
88
- * Will also sign the transaction for us before submitting the signed transaction binary blob to the ledger.
36
+ * @example
37
+ * import { Client } from "xrpl"
38
+ * const client = new Client("wss://s.altnet.rippletest.net:51233");
39
+ * await client.connect();
40
+ * const signedTransaction = createSignedTransaction();
41
+ * // Example 1: Submitting a Transaction object
42
+ * const response1 = await submitRequest(client, signedTransaction);
89
43
  *
90
- * This is similar to `submitAndWait` which does all of the above, but also waits to see if the transaction has been validated.
91
- * @param this - A Client.
92
- * @param transaction - A transaction to autofill, sign & encode, and submit.
93
- * @param opts - (Optional) Options used to sign and submit a transaction.
94
- * @param opts.autofill - If true, autofill a transaction.
95
- * @param opts.failHard - If true, and the transaction fails locally, do not retry or relay the transaction to other servers.
96
- * @param opts.wallet - A wallet to sign a transaction. It must be provided when submitting an unsigned transaction.
97
- * @throws Connection errors: If the `Client` object is unable to establish a connection to the specified WebSocket endpoint,
98
- * an error will be thrown.
99
- * @throws Transaction errors: If the submitted transaction is invalid or cannot be included in a validated ledger for any
100
- * reason, the promise returned by `submitAndWait()` will be rejected with an error. This could include issues with insufficient
101
- * balance, invalid transaction fields, or other issues specific to the transaction being submitted.
102
- * @throws Ledger errors: If the ledger being used to submit the transaction is undergoing maintenance or otherwise unavailable,
103
- * an error will be thrown.
104
- * @throws Timeout errors: If the transaction takes longer than the specified timeout period to be included in a validated
105
- * ledger, the promise returned by `submitAndWait()` will be rejected with an error.
106
- * @returns A promise that contains TxResponse, that will return when the transaction has been validated.
44
+ * // Example 2: Submitting a string representation of the transaction
45
+ * const signedTransactionString = encode(signedTransaction);
46
+ * const response2 = await submitRequest(client, signedTransactionString, true);
107
47
  */
108
- async function submitAndWait<T extends Transaction = Transaction>(
109
- this: Client,
110
- transaction: T | string,
111
- opts?: {
112
- // If true, autofill a transaction.
113
- autofill?: boolean
114
- // If true, and the transaction fails locally, do not retry or relay the transaction to other servers.
115
- failHard?: boolean
116
- // A wallet to sign a transaction. It must be provided when submitting an unsigned transaction.
117
- wallet?: Wallet
118
- },
119
- ): Promise<TxResponse<T>> {
120
- const signedTx = await getSignedTx(this, transaction, opts)
121
-
122
- const lastLedger = getLastLedgerSequence(signedTx)
123
- if (lastLedger == null) {
124
- throw new ValidationError(
125
- 'Transaction must contain a LastLedgerSequence value for reliable submission.',
126
- )
127
- }
128
-
129
- const response = await submitRequest(this, signedTx, opts?.failHard)
130
-
131
- const txHash = hashes.hashSignedTx(signedTx)
132
- return waitForFinalTransactionOutcome(
133
- this,
134
- txHash,
135
- lastLedger,
136
- response.result.engine_result,
137
- )
138
- }
139
-
140
- // Helper functions
141
-
142
- // Encodes and submits a signed transaction.
143
- async function submitRequest(
48
+ export async function submitRequest(
144
49
  client: Client,
145
- signedTransaction: Transaction | string,
50
+ signedTransaction: SubmittableTransaction | string,
146
51
  failHard = false,
147
52
  ): Promise<SubmitResponse> {
148
53
  if (!isSigned(signedTransaction)) {
149
- throw new ValidationError('Transaction must be signed')
54
+ throw new ValidationError('Transaction must be signed.')
150
55
  }
151
56
 
152
57
  const signedTxEncoded =
@@ -161,15 +66,50 @@ async function submitRequest(
161
66
  return client.request(request)
162
67
  }
163
68
 
164
- /*
165
- * The core logic of reliable submission. This polls the ledger until the result of the
166
- * transaction can be considered final, meaning it has either been included in a
167
- * validated ledger, or the transaction's lastLedgerSequence has been surpassed by the
168
- * latest ledger sequence (meaning it will never be included in a validated ledger).
69
+ /**
70
+ * Waits for the final outcome of a transaction by polling the ledger until the result can be considered final,
71
+ * meaning it has either been included in a validated ledger, or the transaction's lastLedgerSequence has been
72
+ * surpassed by the latest ledger sequence (meaning it will never be included in a validated ledger).
73
+ *
74
+ * @template T - The type of the transaction. Defaults to `Transaction`.
75
+ * @param client - The client to use for requesting transaction information.
76
+ * @param txHash - The hash of the transaction to wait for.
77
+ * @param lastLedger - The last ledger sequence of the transaction.
78
+ * @param submissionResult - The preliminary result of the transaction.
79
+ * @returns A promise that resolves with the final transaction response.
80
+ *
81
+ * @throws {XrplError} If the latest ledger sequence surpasses the transaction's lastLedgerSequence.
82
+ *
83
+ * @example
84
+ * import { hashes, Client } from "xrpl"
85
+ * const client = new Client("wss://s.altnet.rippletest.net:51233")
86
+ * await client.connect()
87
+ *
88
+ * const transaction = createTransaction() // your transaction function
89
+ *
90
+ * const signedTx = await getSignedTx(this, transaction)
91
+ *
92
+ * const lastLedger = getLastLedgerSequence(signedTx)
93
+ *
94
+ * if (lastLedger == null) {
95
+ * throw new ValidationError(
96
+ * 'Transaction must contain a LastLedgerSequence value for reliable submission.',
97
+ * )
98
+ * }
99
+ *
100
+ * const response = await submitRequest(this, signedTx, opts?.failHard)
101
+ *
102
+ * const txHash = hashes.hashSignedTx(signedTx)
103
+ * return waitForFinalTransactionOutcome(
104
+ * this,
105
+ * txHash,
106
+ * lastLedger,
107
+ * response.result.engine_result,
108
+ * )
169
109
  */
170
110
  // eslint-disable-next-line max-params, max-lines-per-function -- this function needs to display and do with more information.
171
- async function waitForFinalTransactionOutcome<
172
- T extends BaseTransaction = Transaction,
111
+ export async function waitForFinalTransactionOutcome<
112
+ T extends BaseTransaction = SubmittableTransaction,
173
113
  >(
174
114
  client: Client,
175
115
  txHash: string,
@@ -188,7 +128,7 @@ async function waitForFinalTransactionOutcome<
188
128
  }
189
129
 
190
130
  const txResponse = await client
191
- .request<TxRequest, TxResponse<T>>({
131
+ .request({
192
132
  command: 'tx',
193
133
  transaction: txHash,
194
134
  })
@@ -212,7 +152,9 @@ async function waitForFinalTransactionOutcome<
212
152
  })
213
153
 
214
154
  if (txResponse.result.validated) {
215
- return txResponse
155
+ // TODO: resolve the type assertion below
156
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- we know that txResponse is of type TxResponse
157
+ return txResponse as TxResponse<T>
216
158
  }
217
159
 
218
160
  return waitForFinalTransactionOutcome<T>(
@@ -224,7 +166,7 @@ async function waitForFinalTransactionOutcome<
224
166
  }
225
167
 
226
168
  // checks if the transaction has been signed
227
- function isSigned(transaction: Transaction | string): boolean {
169
+ function isSigned(transaction: SubmittableTransaction | string): boolean {
228
170
  const tx = typeof transaction === 'string' ? decode(transaction) : transaction
229
171
  if (typeof tx === 'string') {
230
172
  return false
@@ -248,22 +190,52 @@ function isSigned(transaction: Transaction | string): boolean {
248
190
  return tx.SigningPubKey != null && tx.TxnSignature != null
249
191
  }
250
192
 
251
- // initializes a transaction for a submit request
252
- async function getSignedTx(
193
+ /**
194
+ * Updates a transaction with `autofill` then signs it if it is unsigned.
195
+ *
196
+ * @param client - The client from which to retrieve the signed transaction.
197
+ * @param transaction - The transaction to retrieve. It can be either a Transaction object or
198
+ * a string (encode from ripple-binary-codec) representation of the transaction.
199
+ * @param [options={}] - Optional. Additional options for retrieving the signed transaction.
200
+ * @param [options.autofill=true] - Optional. Determines whether the transaction should be autofilled (true)
201
+ * or not (false). Default is true.
202
+ * @param [options.wallet] - Optional. A wallet to sign the transaction. It must be provided when submitting
203
+ * an unsigned transaction. Default is undefined.
204
+ * @returns A promise that resolves with the signed transaction.
205
+ *
206
+ * @throws {ValidationError} If the transaction is not signed and no wallet is provided.
207
+ *
208
+ * @example
209
+ * import { Client } from "xrpl"
210
+ * import { encode } from "ripple-binary-codec"
211
+ *
212
+ * const client = new Client("wss://s.altnet.rippletest.net:51233");
213
+ * await client.connect():
214
+ * const transaction = createTransaction(); // createTransaction is your function to create a transaction
215
+ * const options = {
216
+ * autofill: true,
217
+ * wallet: myWallet,
218
+ * };
219
+ *
220
+ * // Example 1: Retrieving a signed Transaction object
221
+ * const signedTx1 = await getSignedTx(client, transaction, options);
222
+ *
223
+ * // Example 2: Retrieving a string representation of the signed transaction
224
+ * const signedTxString = await getSignedTx(client, encode(transaction), options);
225
+ */
226
+ export async function getSignedTx(
253
227
  client: Client,
254
- transaction: Transaction | string,
228
+ transaction: SubmittableTransaction | string,
255
229
  {
256
230
  autofill = true,
257
231
  wallet,
258
232
  }: {
259
233
  // If true, autofill a transaction.
260
234
  autofill?: boolean
261
- // If true, and the transaction fails locally, do not retry or relay the transaction to other servers.
262
- failHard?: boolean
263
235
  // A wallet to sign a transaction. It must be provided when submitting an unsigned transaction.
264
236
  wallet?: Wallet
265
237
  } = {},
266
- ): Promise<Transaction | string> {
238
+ ): Promise<SubmittableTransaction | string> {
267
239
  if (isSigned(transaction)) {
268
240
  return transaction
269
241
  }
@@ -277,7 +249,7 @@ async function getSignedTx(
277
249
  let tx =
278
250
  typeof transaction === 'string'
279
251
  ? // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- converts JsonObject to correct Transaction type
280
- (decode(transaction) as unknown as Transaction)
252
+ (decode(transaction) as unknown as SubmittableTransaction)
281
253
  : transaction
282
254
 
283
255
  if (autofill) {
@@ -288,7 +260,26 @@ async function getSignedTx(
288
260
  }
289
261
 
290
262
  // checks if there is a LastLedgerSequence as a part of the transaction
291
- function getLastLedgerSequence(
263
+ /**
264
+ * Retrieves the last ledger sequence from a transaction.
265
+ *
266
+ * @param transaction - The transaction to retrieve the last ledger sequence from. It can be either a Transaction object or
267
+ * a string (encode from ripple-binary-codec) representation of the transaction.
268
+ * @returns The last ledger sequence of the transaction, or null if not available.
269
+ *
270
+ * @example
271
+ * const transaction = createTransaction(); // your function to create a transaction
272
+ *
273
+ * // Example 1: Retrieving the last ledger sequence from a Transaction object
274
+ * const lastLedgerSequence1 = getLastLedgerSequence(transaction);
275
+ * console.log(lastLedgerSequence1); // Output: 12345
276
+ *
277
+ * // Example 2: Retrieving the last ledger sequence from a string representation of the transaction
278
+ * const transactionString = encode(transaction);
279
+ * const lastLedgerSequence2 = getLastLedgerSequence(transactionString);
280
+ * console.log(lastLedgerSequence2); // Output: 67890
281
+ */
282
+ export function getLastLedgerSequence(
292
283
  transaction: Transaction | string,
293
284
  ): number | null {
294
285
  const tx = typeof transaction === 'string' ? decode(transaction) : transaction
@@ -301,5 +292,3 @@ function isAccountDelete(transaction: Transaction | string): boolean {
301
292
  const tx = typeof transaction === 'string' ? decode(transaction) : transaction
302
293
  return tx.TransactionType === 'AccountDelete'
303
294
  }
304
-
305
- export { submit, submitAndWait }
@@ -0,0 +1,57 @@
1
+ type ValueOf<T> = T[keyof T]
2
+
3
+ /**
4
+ * Creates an object composed of keys generated from the results of running each element of collection thru iteratee.
5
+ * The order of grouped values is determined by the order they occur in collection.
6
+ * The corresponding value of each key is an array of elements responsible for generating the key.
7
+ *
8
+ * Similar to lodash's groupBy
9
+ *
10
+ * @param array - array to iterate over
11
+ * @param iteratee - function that returns key of the group to place the item
12
+ *
13
+ * @returns a map of arrays
14
+ */
15
+ export function groupBy<T>(
16
+ array: T[],
17
+ iteratee: (value: T, index: number, array: T[]) => string | number,
18
+ ): Record<string | number, T[]> {
19
+ // eslint-disable-next-line max-params -- need all the params for the fallback
20
+ function predicate(
21
+ acc: Record<string | number, T[]>,
22
+ value: T,
23
+ index: number,
24
+ arrayReference: T[],
25
+ ): Record<string | number, T[]> {
26
+ const key = iteratee(value, index, arrayReference) || 0
27
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Find existing group or create a new one
28
+ const group = acc[key] || []
29
+ group.push(value)
30
+ acc[key] = group
31
+ return acc
32
+ }
33
+
34
+ return array.reduce(predicate, {})
35
+ }
36
+
37
+ /**
38
+ * Creates an object composed of the own and inherited enumerable string keyed properties of object that
39
+ * predicate doesn't return truthy for.
40
+ *
41
+ * @param obj - Object to have properties removed.
42
+ * @param predicate - function that returns whether the property should be removed from the obj.
43
+ *
44
+ * @returns object
45
+ */
46
+ export function omitBy<T extends object>(
47
+ obj: T,
48
+ predicate: (objElement: ValueOf<T>, k: string | number | symbol) => boolean,
49
+ ): Partial<T> {
50
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- We know the keys are properties of T
51
+ const keys: Array<keyof T> = Object.keys(obj) as Array<keyof T>
52
+ const keysToKeep = keys.filter((kb) => !predicate(obj[kb], kb))
53
+ return keysToKeep.reduce((acc: Partial<T>, key: keyof T) => {
54
+ acc[key] = obj[key]
55
+ return acc
56
+ }, {})
57
+ }