xrpl 3.0.0 → 4.0.0-mpt-beta

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 (402) hide show
  1. package/README.md +3 -3
  2. package/build/xrpl-latest-min.js +1 -1
  3. package/build/xrpl-latest-min.js.map +1 -1
  4. package/build/xrpl-latest.js +781 -909
  5. package/build/xrpl-latest.js.map +1 -1
  6. package/dist/npm/Wallet/defaultFaucets.d.ts +1 -2
  7. package/dist/npm/Wallet/defaultFaucets.d.ts.map +1 -1
  8. package/dist/npm/Wallet/defaultFaucets.js +0 -5
  9. package/dist/npm/Wallet/defaultFaucets.js.map +1 -1
  10. package/dist/npm/Wallet/fundWallet.d.ts.map +1 -1
  11. package/dist/npm/Wallet/fundWallet.js +1 -5
  12. package/dist/npm/Wallet/fundWallet.js.map +1 -1
  13. package/dist/npm/client/RequestManager.d.ts +5 -4
  14. package/dist/npm/client/RequestManager.d.ts.map +1 -1
  15. package/dist/npm/client/RequestManager.js.map +1 -1
  16. package/dist/npm/client/connection.d.ts +2 -2
  17. package/dist/npm/client/connection.d.ts.map +1 -1
  18. package/dist/npm/client/connection.js.map +1 -1
  19. package/dist/npm/client/index.d.ts +4 -3
  20. package/dist/npm/client/index.d.ts.map +1 -1
  21. package/dist/npm/client/index.js +17 -10
  22. package/dist/npm/client/index.js.map +1 -1
  23. package/dist/npm/client/partialPayment.d.ts +2 -1
  24. package/dist/npm/client/partialPayment.d.ts.map +1 -1
  25. package/dist/npm/client/partialPayment.js +19 -3
  26. package/dist/npm/client/partialPayment.js.map +1 -1
  27. package/dist/npm/models/common/index.d.ts +17 -0
  28. package/dist/npm/models/common/index.d.ts.map +1 -1
  29. package/dist/npm/models/common/index.js +4 -0
  30. package/dist/npm/models/common/index.js.map +1 -1
  31. package/dist/npm/models/index.d.ts +1 -1
  32. package/dist/npm/models/index.d.ts.map +1 -1
  33. package/dist/npm/models/index.js +2 -1
  34. package/dist/npm/models/index.js.map +1 -1
  35. package/dist/npm/models/ledger/AMM.d.ts +2 -2
  36. package/dist/npm/models/ledger/AMM.d.ts.map +1 -1
  37. package/dist/npm/models/ledger/Amendments.d.ts +2 -2
  38. package/dist/npm/models/ledger/Amendments.d.ts.map +1 -1
  39. package/dist/npm/models/ledger/BaseLedgerEntry.d.ts +3 -3
  40. package/dist/npm/models/ledger/BaseLedgerEntry.d.ts.map +1 -1
  41. package/dist/npm/models/ledger/DirectoryNode.d.ts +2 -2
  42. package/dist/npm/models/ledger/DirectoryNode.d.ts.map +1 -1
  43. package/dist/npm/models/ledger/FeeSettings.d.ts +2 -2
  44. package/dist/npm/models/ledger/FeeSettings.d.ts.map +1 -1
  45. package/dist/npm/models/ledger/Ledger.d.ts +11 -2
  46. package/dist/npm/models/ledger/Ledger.d.ts.map +1 -1
  47. package/dist/npm/models/ledger/LedgerEntry.d.ts +3 -2
  48. package/dist/npm/models/ledger/LedgerEntry.d.ts.map +1 -1
  49. package/dist/npm/models/ledger/LedgerHashes.d.ts +2 -2
  50. package/dist/npm/models/ledger/LedgerHashes.d.ts.map +1 -1
  51. package/dist/npm/models/ledger/MPToken.d.ts +11 -0
  52. package/dist/npm/models/ledger/MPToken.d.ts.map +1 -0
  53. package/dist/npm/models/ledger/MPToken.js +3 -0
  54. package/dist/npm/models/ledger/MPToken.js.map +1 -0
  55. package/dist/npm/models/ledger/MPTokenIssuance.d.ts +14 -0
  56. package/dist/npm/models/ledger/MPTokenIssuance.d.ts.map +1 -0
  57. package/dist/npm/models/ledger/MPTokenIssuance.js +3 -0
  58. package/dist/npm/models/ledger/MPTokenIssuance.js.map +1 -0
  59. package/dist/npm/models/ledger/NegativeUNL.d.ts +2 -2
  60. package/dist/npm/models/ledger/NegativeUNL.d.ts.map +1 -1
  61. package/dist/npm/models/ledger/Oracle.d.ts +12 -0
  62. package/dist/npm/models/ledger/Oracle.d.ts.map +1 -0
  63. package/dist/npm/models/ledger/Oracle.js +3 -0
  64. package/dist/npm/models/ledger/Oracle.js.map +1 -0
  65. package/dist/npm/models/ledger/RippleState.d.ts +2 -1
  66. package/dist/npm/models/ledger/RippleState.d.ts.map +1 -1
  67. package/dist/npm/models/ledger/RippleState.js +1 -0
  68. package/dist/npm/models/ledger/RippleState.js.map +1 -1
  69. package/dist/npm/models/ledger/index.d.ts +5 -2
  70. package/dist/npm/models/ledger/index.d.ts.map +1 -1
  71. package/dist/npm/models/ledger/index.js.map +1 -1
  72. package/dist/npm/models/methods/accountChannels.d.ts +1 -1
  73. package/dist/npm/models/methods/accountChannels.d.ts.map +1 -1
  74. package/dist/npm/models/methods/accountInfo.d.ts +17 -4
  75. package/dist/npm/models/methods/accountInfo.d.ts.map +1 -1
  76. package/dist/npm/models/methods/accountTx.d.ts +11 -5
  77. package/dist/npm/models/methods/accountTx.d.ts.map +1 -1
  78. package/dist/npm/models/methods/feature.d.ts +28 -0
  79. package/dist/npm/models/methods/feature.d.ts.map +1 -0
  80. package/dist/npm/models/methods/feature.js +3 -0
  81. package/dist/npm/models/methods/feature.js.map +1 -0
  82. package/dist/npm/models/methods/getAggregatePrice.d.ts +31 -0
  83. package/dist/npm/models/methods/getAggregatePrice.d.ts.map +1 -0
  84. package/dist/npm/models/methods/getAggregatePrice.js +3 -0
  85. package/dist/npm/models/methods/getAggregatePrice.js.map +1 -0
  86. package/dist/npm/models/methods/index.d.ts +15 -11
  87. package/dist/npm/models/methods/index.d.ts.map +1 -1
  88. package/dist/npm/models/methods/ledger.d.ts +17 -5
  89. package/dist/npm/models/methods/ledger.d.ts.map +1 -1
  90. package/dist/npm/models/methods/ledgerEntry.d.ts +5 -0
  91. package/dist/npm/models/methods/ledgerEntry.d.ts.map +1 -1
  92. package/dist/npm/models/methods/nftsByIssuer.d.ts +19 -0
  93. package/dist/npm/models/methods/nftsByIssuer.d.ts.map +1 -0
  94. package/dist/npm/models/methods/nftsByIssuer.js +3 -0
  95. package/dist/npm/models/methods/nftsByIssuer.js.map +1 -0
  96. package/dist/npm/models/methods/submitMultisigned.d.ts +16 -5
  97. package/dist/npm/models/methods/submitMultisigned.d.ts.map +1 -1
  98. package/dist/npm/models/methods/tx.d.ts +20 -8
  99. package/dist/npm/models/methods/tx.d.ts.map +1 -1
  100. package/dist/npm/models/transactions/AMMDeposit.d.ts +3 -1
  101. package/dist/npm/models/transactions/AMMDeposit.d.ts.map +1 -1
  102. package/dist/npm/models/transactions/AMMDeposit.js +1 -0
  103. package/dist/npm/models/transactions/AMMDeposit.js.map +1 -1
  104. package/dist/npm/models/transactions/MPTokenAuthorize.d.ts +15 -0
  105. package/dist/npm/models/transactions/MPTokenAuthorize.d.ts.map +1 -0
  106. package/dist/npm/models/transactions/MPTokenAuthorize.js +15 -0
  107. package/dist/npm/models/transactions/MPTokenAuthorize.js.map +1 -0
  108. package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts +31 -0
  109. package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -0
  110. package/dist/npm/models/transactions/MPTokenIssuanceCreate.js +26 -0
  111. package/dist/npm/models/transactions/MPTokenIssuanceCreate.js.map +1 -0
  112. package/dist/npm/models/transactions/MPTokenIssuanceDestroy.d.ts +7 -0
  113. package/dist/npm/models/transactions/MPTokenIssuanceDestroy.d.ts.map +1 -0
  114. package/dist/npm/models/transactions/MPTokenIssuanceDestroy.js +10 -0
  115. package/dist/npm/models/transactions/MPTokenIssuanceDestroy.js.map +1 -0
  116. package/dist/npm/models/transactions/MPTokenIssuanceSet.d.ts +17 -0
  117. package/dist/npm/models/transactions/MPTokenIssuanceSet.d.ts.map +1 -0
  118. package/dist/npm/models/transactions/MPTokenIssuanceSet.js +22 -0
  119. package/dist/npm/models/transactions/MPTokenIssuanceSet.js.map +1 -0
  120. package/dist/npm/models/transactions/clawback.d.ts +3 -2
  121. package/dist/npm/models/transactions/clawback.d.ts.map +1 -1
  122. package/dist/npm/models/transactions/clawback.js +11 -1
  123. package/dist/npm/models/transactions/clawback.js.map +1 -1
  124. package/dist/npm/models/transactions/common.d.ts +2 -1
  125. package/dist/npm/models/transactions/common.d.ts.map +1 -1
  126. package/dist/npm/models/transactions/common.js +12 -2
  127. package/dist/npm/models/transactions/common.js.map +1 -1
  128. package/dist/npm/models/transactions/index.d.ts +7 -1
  129. package/dist/npm/models/transactions/index.d.ts.map +1 -1
  130. package/dist/npm/models/transactions/index.js +9 -1
  131. package/dist/npm/models/transactions/index.js.map +1 -1
  132. package/dist/npm/models/transactions/metadata.d.ts +8 -4
  133. package/dist/npm/models/transactions/metadata.d.ts.map +1 -1
  134. package/dist/npm/models/transactions/metadata.js.map +1 -1
  135. package/dist/npm/models/transactions/oracleDelete.d.ts +7 -0
  136. package/dist/npm/models/transactions/oracleDelete.d.ts.map +1 -0
  137. package/dist/npm/models/transactions/oracleDelete.js +10 -0
  138. package/dist/npm/models/transactions/oracleDelete.js.map +1 -0
  139. package/dist/npm/models/transactions/oracleSet.d.ts +13 -0
  140. package/dist/npm/models/transactions/oracleSet.d.ts.map +1 -0
  141. package/dist/npm/models/transactions/oracleSet.js +59 -0
  142. package/dist/npm/models/transactions/oracleSet.js.map +1 -0
  143. package/dist/npm/models/transactions/payment.d.ts +6 -6
  144. package/dist/npm/models/transactions/payment.d.ts.map +1 -1
  145. package/dist/npm/models/transactions/payment.js +1 -1
  146. package/dist/npm/models/transactions/transaction.d.ts +7 -1
  147. package/dist/npm/models/transactions/transaction.d.ts.map +1 -1
  148. package/dist/npm/models/transactions/transaction.js +24 -0
  149. package/dist/npm/models/transactions/transaction.js.map +1 -1
  150. package/dist/npm/models/utils/flags.d.ts +1 -0
  151. package/dist/npm/models/utils/flags.d.ts.map +1 -1
  152. package/dist/npm/models/utils/flags.js +23 -1
  153. package/dist/npm/models/utils/flags.js.map +1 -1
  154. package/dist/npm/snippets/src/claimPayChannel.js +1 -1
  155. package/dist/npm/snippets/src/claimPayChannel.js.map +1 -1
  156. package/dist/npm/snippets/src/sendEscrow.js +1 -1
  157. package/dist/npm/snippets/src/sendEscrow.js.map +1 -1
  158. package/dist/npm/snippets/tsconfig.tsbuildinfo +1 -1
  159. package/dist/npm/src/Wallet/defaultFaucets.d.ts +1 -2
  160. package/dist/npm/src/Wallet/defaultFaucets.d.ts.map +1 -1
  161. package/dist/npm/src/Wallet/defaultFaucets.js +0 -5
  162. package/dist/npm/src/Wallet/defaultFaucets.js.map +1 -1
  163. package/dist/npm/src/Wallet/fundWallet.d.ts.map +1 -1
  164. package/dist/npm/src/Wallet/fundWallet.js +1 -5
  165. package/dist/npm/src/Wallet/fundWallet.js.map +1 -1
  166. package/dist/npm/src/client/RequestManager.d.ts +5 -4
  167. package/dist/npm/src/client/RequestManager.d.ts.map +1 -1
  168. package/dist/npm/src/client/RequestManager.js.map +1 -1
  169. package/dist/npm/src/client/connection.d.ts +2 -2
  170. package/dist/npm/src/client/connection.d.ts.map +1 -1
  171. package/dist/npm/src/client/connection.js.map +1 -1
  172. package/dist/npm/src/client/index.d.ts +4 -3
  173. package/dist/npm/src/client/index.d.ts.map +1 -1
  174. package/dist/npm/src/client/index.js +17 -10
  175. package/dist/npm/src/client/index.js.map +1 -1
  176. package/dist/npm/src/client/partialPayment.d.ts +2 -1
  177. package/dist/npm/src/client/partialPayment.d.ts.map +1 -1
  178. package/dist/npm/src/client/partialPayment.js +19 -3
  179. package/dist/npm/src/client/partialPayment.js.map +1 -1
  180. package/dist/npm/src/models/common/index.d.ts +17 -0
  181. package/dist/npm/src/models/common/index.d.ts.map +1 -1
  182. package/dist/npm/src/models/common/index.js +4 -0
  183. package/dist/npm/src/models/common/index.js.map +1 -1
  184. package/dist/npm/src/models/index.d.ts +1 -1
  185. package/dist/npm/src/models/index.d.ts.map +1 -1
  186. package/dist/npm/src/models/index.js +2 -1
  187. package/dist/npm/src/models/index.js.map +1 -1
  188. package/dist/npm/src/models/ledger/AMM.d.ts +2 -2
  189. package/dist/npm/src/models/ledger/AMM.d.ts.map +1 -1
  190. package/dist/npm/src/models/ledger/Amendments.d.ts +2 -2
  191. package/dist/npm/src/models/ledger/Amendments.d.ts.map +1 -1
  192. package/dist/npm/src/models/ledger/BaseLedgerEntry.d.ts +3 -3
  193. package/dist/npm/src/models/ledger/BaseLedgerEntry.d.ts.map +1 -1
  194. package/dist/npm/src/models/ledger/DirectoryNode.d.ts +2 -2
  195. package/dist/npm/src/models/ledger/DirectoryNode.d.ts.map +1 -1
  196. package/dist/npm/src/models/ledger/FeeSettings.d.ts +2 -2
  197. package/dist/npm/src/models/ledger/FeeSettings.d.ts.map +1 -1
  198. package/dist/npm/src/models/ledger/Ledger.d.ts +11 -2
  199. package/dist/npm/src/models/ledger/Ledger.d.ts.map +1 -1
  200. package/dist/npm/src/models/ledger/LedgerEntry.d.ts +3 -2
  201. package/dist/npm/src/models/ledger/LedgerEntry.d.ts.map +1 -1
  202. package/dist/npm/src/models/ledger/LedgerHashes.d.ts +2 -2
  203. package/dist/npm/src/models/ledger/LedgerHashes.d.ts.map +1 -1
  204. package/dist/npm/src/models/ledger/MPToken.d.ts +11 -0
  205. package/dist/npm/src/models/ledger/MPToken.d.ts.map +1 -0
  206. package/dist/npm/src/models/ledger/MPToken.js +3 -0
  207. package/dist/npm/src/models/ledger/MPToken.js.map +1 -0
  208. package/dist/npm/src/models/ledger/MPTokenIssuance.d.ts +14 -0
  209. package/dist/npm/src/models/ledger/MPTokenIssuance.d.ts.map +1 -0
  210. package/dist/npm/src/models/ledger/MPTokenIssuance.js +3 -0
  211. package/dist/npm/src/models/ledger/MPTokenIssuance.js.map +1 -0
  212. package/dist/npm/src/models/ledger/NegativeUNL.d.ts +2 -2
  213. package/dist/npm/src/models/ledger/NegativeUNL.d.ts.map +1 -1
  214. package/dist/npm/src/models/ledger/Oracle.d.ts +12 -0
  215. package/dist/npm/src/models/ledger/Oracle.d.ts.map +1 -0
  216. package/dist/npm/src/models/ledger/Oracle.js +3 -0
  217. package/dist/npm/src/models/ledger/Oracle.js.map +1 -0
  218. package/dist/npm/src/models/ledger/RippleState.d.ts +2 -1
  219. package/dist/npm/src/models/ledger/RippleState.d.ts.map +1 -1
  220. package/dist/npm/src/models/ledger/RippleState.js +1 -0
  221. package/dist/npm/src/models/ledger/RippleState.js.map +1 -1
  222. package/dist/npm/src/models/ledger/index.d.ts +5 -2
  223. package/dist/npm/src/models/ledger/index.d.ts.map +1 -1
  224. package/dist/npm/src/models/ledger/index.js.map +1 -1
  225. package/dist/npm/src/models/methods/accountChannels.d.ts +1 -1
  226. package/dist/npm/src/models/methods/accountChannels.d.ts.map +1 -1
  227. package/dist/npm/src/models/methods/accountInfo.d.ts +17 -4
  228. package/dist/npm/src/models/methods/accountInfo.d.ts.map +1 -1
  229. package/dist/npm/src/models/methods/accountTx.d.ts +11 -5
  230. package/dist/npm/src/models/methods/accountTx.d.ts.map +1 -1
  231. package/dist/npm/src/models/methods/feature.d.ts +28 -0
  232. package/dist/npm/src/models/methods/feature.d.ts.map +1 -0
  233. package/dist/npm/src/models/methods/feature.js +3 -0
  234. package/dist/npm/src/models/methods/feature.js.map +1 -0
  235. package/dist/npm/src/models/methods/getAggregatePrice.d.ts +31 -0
  236. package/dist/npm/src/models/methods/getAggregatePrice.d.ts.map +1 -0
  237. package/dist/npm/src/models/methods/getAggregatePrice.js +3 -0
  238. package/dist/npm/src/models/methods/getAggregatePrice.js.map +1 -0
  239. package/dist/npm/src/models/methods/index.d.ts +15 -11
  240. package/dist/npm/src/models/methods/index.d.ts.map +1 -1
  241. package/dist/npm/src/models/methods/ledger.d.ts +17 -5
  242. package/dist/npm/src/models/methods/ledger.d.ts.map +1 -1
  243. package/dist/npm/src/models/methods/ledgerEntry.d.ts +5 -0
  244. package/dist/npm/src/models/methods/ledgerEntry.d.ts.map +1 -1
  245. package/dist/npm/src/models/methods/nftsByIssuer.d.ts +19 -0
  246. package/dist/npm/src/models/methods/nftsByIssuer.d.ts.map +1 -0
  247. package/dist/npm/src/models/methods/nftsByIssuer.js +3 -0
  248. package/dist/npm/src/models/methods/nftsByIssuer.js.map +1 -0
  249. package/dist/npm/src/models/methods/submitMultisigned.d.ts +16 -5
  250. package/dist/npm/src/models/methods/submitMultisigned.d.ts.map +1 -1
  251. package/dist/npm/src/models/methods/tx.d.ts +20 -8
  252. package/dist/npm/src/models/methods/tx.d.ts.map +1 -1
  253. package/dist/npm/src/models/transactions/AMMDeposit.d.ts +3 -1
  254. package/dist/npm/src/models/transactions/AMMDeposit.d.ts.map +1 -1
  255. package/dist/npm/src/models/transactions/AMMDeposit.js +1 -0
  256. package/dist/npm/src/models/transactions/AMMDeposit.js.map +1 -1
  257. package/dist/npm/src/models/transactions/MPTokenAuthorize.d.ts +15 -0
  258. package/dist/npm/src/models/transactions/MPTokenAuthorize.d.ts.map +1 -0
  259. package/dist/npm/src/models/transactions/MPTokenAuthorize.js +15 -0
  260. package/dist/npm/src/models/transactions/MPTokenAuthorize.js.map +1 -0
  261. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts +31 -0
  262. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -0
  263. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.js +26 -0
  264. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.js.map +1 -0
  265. package/dist/npm/src/models/transactions/MPTokenIssuanceDestroy.d.ts +7 -0
  266. package/dist/npm/src/models/transactions/MPTokenIssuanceDestroy.d.ts.map +1 -0
  267. package/dist/npm/src/models/transactions/MPTokenIssuanceDestroy.js +10 -0
  268. package/dist/npm/src/models/transactions/MPTokenIssuanceDestroy.js.map +1 -0
  269. package/dist/npm/src/models/transactions/MPTokenIssuanceSet.d.ts +17 -0
  270. package/dist/npm/src/models/transactions/MPTokenIssuanceSet.d.ts.map +1 -0
  271. package/dist/npm/src/models/transactions/MPTokenIssuanceSet.js +22 -0
  272. package/dist/npm/src/models/transactions/MPTokenIssuanceSet.js.map +1 -0
  273. package/dist/npm/src/models/transactions/clawback.d.ts +3 -2
  274. package/dist/npm/src/models/transactions/clawback.d.ts.map +1 -1
  275. package/dist/npm/src/models/transactions/clawback.js +11 -1
  276. package/dist/npm/src/models/transactions/clawback.js.map +1 -1
  277. package/dist/npm/src/models/transactions/common.d.ts +2 -1
  278. package/dist/npm/src/models/transactions/common.d.ts.map +1 -1
  279. package/dist/npm/src/models/transactions/common.js +12 -2
  280. package/dist/npm/src/models/transactions/common.js.map +1 -1
  281. package/dist/npm/src/models/transactions/index.d.ts +7 -1
  282. package/dist/npm/src/models/transactions/index.d.ts.map +1 -1
  283. package/dist/npm/src/models/transactions/index.js +9 -1
  284. package/dist/npm/src/models/transactions/index.js.map +1 -1
  285. package/dist/npm/src/models/transactions/metadata.d.ts +8 -4
  286. package/dist/npm/src/models/transactions/metadata.d.ts.map +1 -1
  287. package/dist/npm/src/models/transactions/metadata.js.map +1 -1
  288. package/dist/npm/src/models/transactions/oracleDelete.d.ts +7 -0
  289. package/dist/npm/src/models/transactions/oracleDelete.d.ts.map +1 -0
  290. package/dist/npm/src/models/transactions/oracleDelete.js +10 -0
  291. package/dist/npm/src/models/transactions/oracleDelete.js.map +1 -0
  292. package/dist/npm/src/models/transactions/oracleSet.d.ts +13 -0
  293. package/dist/npm/src/models/transactions/oracleSet.d.ts.map +1 -0
  294. package/dist/npm/src/models/transactions/oracleSet.js +59 -0
  295. package/dist/npm/src/models/transactions/oracleSet.js.map +1 -0
  296. package/dist/npm/src/models/transactions/payment.d.ts +6 -6
  297. package/dist/npm/src/models/transactions/payment.d.ts.map +1 -1
  298. package/dist/npm/src/models/transactions/payment.js +1 -1
  299. package/dist/npm/src/models/transactions/transaction.d.ts +7 -1
  300. package/dist/npm/src/models/transactions/transaction.d.ts.map +1 -1
  301. package/dist/npm/src/models/transactions/transaction.js +24 -0
  302. package/dist/npm/src/models/transactions/transaction.js.map +1 -1
  303. package/dist/npm/src/models/utils/flags.d.ts +1 -0
  304. package/dist/npm/src/models/utils/flags.d.ts.map +1 -1
  305. package/dist/npm/src/models/utils/flags.js +23 -1
  306. package/dist/npm/src/models/utils/flags.js.map +1 -1
  307. package/dist/npm/src/sugar/autofill.d.ts +1 -1
  308. package/dist/npm/src/sugar/autofill.d.ts.map +1 -1
  309. package/dist/npm/src/sugar/autofill.js +2 -4
  310. package/dist/npm/src/sugar/autofill.js.map +1 -1
  311. package/dist/npm/src/sugar/getFeeXrp.d.ts +1 -1
  312. package/dist/npm/src/sugar/getFeeXrp.d.ts.map +1 -1
  313. package/dist/npm/src/sugar/getFeeXrp.js +3 -2
  314. package/dist/npm/src/sugar/getFeeXrp.js.map +1 -1
  315. package/dist/npm/src/sugar/submit.d.ts.map +1 -1
  316. package/dist/npm/src/sugar/submit.js.map +1 -1
  317. package/dist/npm/src/utils/hashes/hashLedger.d.ts +4 -3
  318. package/dist/npm/src/utils/hashes/hashLedger.d.ts.map +1 -1
  319. package/dist/npm/src/utils/hashes/hashLedger.js.map +1 -1
  320. package/dist/npm/src/utils/index.d.ts +4 -2
  321. package/dist/npm/src/utils/index.d.ts.map +1 -1
  322. package/dist/npm/src/utils/index.js +3 -1
  323. package/dist/npm/src/utils/index.js.map +1 -1
  324. package/dist/npm/src/utils/mptConversion.d.ts +2 -0
  325. package/dist/npm/src/utils/mptConversion.d.ts.map +1 -0
  326. package/dist/npm/src/utils/mptConversion.js +31 -0
  327. package/dist/npm/src/utils/mptConversion.js.map +1 -0
  328. package/dist/npm/sugar/autofill.d.ts +1 -1
  329. package/dist/npm/sugar/autofill.d.ts.map +1 -1
  330. package/dist/npm/sugar/autofill.js +2 -4
  331. package/dist/npm/sugar/autofill.js.map +1 -1
  332. package/dist/npm/sugar/getFeeXrp.d.ts +1 -1
  333. package/dist/npm/sugar/getFeeXrp.d.ts.map +1 -1
  334. package/dist/npm/sugar/getFeeXrp.js +3 -2
  335. package/dist/npm/sugar/getFeeXrp.js.map +1 -1
  336. package/dist/npm/sugar/submit.d.ts.map +1 -1
  337. package/dist/npm/sugar/submit.js.map +1 -1
  338. package/dist/npm/utils/hashes/hashLedger.d.ts +4 -3
  339. package/dist/npm/utils/hashes/hashLedger.d.ts.map +1 -1
  340. package/dist/npm/utils/hashes/hashLedger.js.map +1 -1
  341. package/dist/npm/utils/index.d.ts +4 -2
  342. package/dist/npm/utils/index.d.ts.map +1 -1
  343. package/dist/npm/utils/index.js +3 -1
  344. package/dist/npm/utils/index.js.map +1 -1
  345. package/dist/npm/utils/mptConversion.d.ts +2 -0
  346. package/dist/npm/utils/mptConversion.d.ts.map +1 -0
  347. package/dist/npm/utils/mptConversion.js +31 -0
  348. package/dist/npm/utils/mptConversion.js.map +1 -0
  349. package/package.json +7 -8
  350. package/src/Wallet/defaultFaucets.ts +0 -6
  351. package/src/Wallet/fundWallet.ts +0 -1
  352. package/src/client/RequestManager.ts +17 -12
  353. package/src/client/connection.ts +7 -5
  354. package/src/client/index.ts +79 -21
  355. package/src/client/partialPayment.ts +55 -17
  356. package/src/models/common/index.ts +46 -0
  357. package/src/models/index.ts +1 -0
  358. package/src/models/ledger/AMM.ts +2 -2
  359. package/src/models/ledger/Amendments.ts +2 -2
  360. package/src/models/ledger/BaseLedgerEntry.ts +9 -5
  361. package/src/models/ledger/DirectoryNode.ts +2 -2
  362. package/src/models/ledger/FeeSettings.ts +4 -2
  363. package/src/models/ledger/Ledger.ts +46 -9
  364. package/src/models/ledger/LedgerEntry.ts +5 -0
  365. package/src/models/ledger/LedgerHashes.ts +2 -4
  366. package/src/models/ledger/MPToken.ts +12 -0
  367. package/src/models/ledger/MPTokenIssuance.ts +14 -0
  368. package/src/models/ledger/NegativeUNL.ts +2 -2
  369. package/src/models/ledger/Oracle.ts +43 -0
  370. package/src/models/ledger/RippleState.ts +2 -0
  371. package/src/models/ledger/index.ts +8 -1
  372. package/src/models/methods/accountChannels.ts +64 -1
  373. package/src/models/methods/accountInfo.ts +58 -12
  374. package/src/models/methods/accountTx.ts +49 -8
  375. package/src/models/methods/feature.ts +68 -0
  376. package/src/models/methods/getAggregatePrice.ts +119 -0
  377. package/src/models/methods/index.ts +79 -23
  378. package/src/models/methods/ledger.ts +41 -5
  379. package/src/models/methods/ledgerEntry.ts +16 -0
  380. package/src/models/methods/nftsByIssuer.ts +68 -0
  381. package/src/models/methods/submitMultisigned.ts +48 -16
  382. package/src/models/methods/tx.ts +74 -22
  383. package/src/models/transactions/AMMDeposit.ts +2 -0
  384. package/src/models/transactions/MPTokenAuthorize.ts +67 -0
  385. package/src/models/transactions/MPTokenIssuanceCreate.ts +132 -0
  386. package/src/models/transactions/MPTokenIssuanceDestroy.ts +34 -0
  387. package/src/models/transactions/MPTokenIssuanceSet.ts +76 -0
  388. package/src/models/transactions/clawback.ts +29 -6
  389. package/src/models/transactions/common.ts +22 -1
  390. package/src/models/transactions/index.ts +19 -1
  391. package/src/models/transactions/metadata.ts +10 -3
  392. package/src/models/transactions/oracleDelete.ts +32 -0
  393. package/src/models/transactions/oracleSet.ts +176 -0
  394. package/src/models/transactions/payment.ts +6 -6
  395. package/src/models/transactions/transaction.ts +45 -0
  396. package/src/models/utils/flags.ts +33 -1
  397. package/src/sugar/autofill.ts +4 -10
  398. package/src/sugar/getFeeXrp.ts +6 -3
  399. package/src/sugar/submit.ts +5 -3
  400. package/src/utils/hashes/hashLedger.ts +8 -5
  401. package/src/utils/index.ts +4 -1
  402. package/src/utils/mptConversion.ts +61 -0
@@ -1,5 +1,6 @@
1
1
  import { classicAddressToXAddress, decodeAccountID, decodeAccountPublic, decodeNodePublic, decodeSeed, decodeXAddress, encodeAccountID, encodeAccountPublic, encodeNodePublic, encodeSeed, encodeXAddress, isValidClassicAddress, isValidXAddress, xAddressToClassicAddress } from 'ripple-address-codec';
2
2
  import { verify as verifyKeypairSignature } from 'ripple-keypairs';
3
+ import type { APIVersion } from '../models';
3
4
  import { LedgerEntry } from '../models/ledger';
4
5
  import { Response } from '../models/methods';
5
6
  import { PaymentChannelClaim } from '../models/transactions/paymentChannelClaim';
@@ -16,6 +17,7 @@ import { convertHexToString, convertStringToHex } from './stringConversion';
16
17
  import { rippleTimeToISOTime, isoTimeToRippleTime, rippleTimeToUnixTime, unixTimeToRippleTime } from './timeConversion';
17
18
  import verifyPaymentChannelClaim from './verifyPaymentChannelClaim';
18
19
  import { xrpToDrops, dropsToXrp } from './xrpConversion';
20
+ import { mptUint64ToHex } from './mptConversion';
19
21
  declare function isValidSecret(secret: string): boolean;
20
22
  declare function encode(object: Transaction | LedgerEntry): string;
21
23
  declare function encodeForSigning(object: Transaction): string;
@@ -23,7 +25,7 @@ declare function encodeForSigningClaim(object: PaymentChannelClaim): string;
23
25
  declare function encodeForMultiSigning(object: Transaction, signer: string): string;
24
26
  declare function decode(hex: string): Record<string, unknown>;
25
27
  declare function isValidAddress(address: string): boolean;
26
- declare function hasNextPage(response: Response): boolean;
28
+ declare function hasNextPage(response: Response<APIVersion>): boolean;
27
29
  declare const hashes: {
28
30
  hashSignedTx: typeof hashSignedTx;
29
31
  hashTx: typeof hashTx;
@@ -38,5 +40,5 @@ declare const hashes: {
38
40
  hashEscrow: typeof hashEscrow;
39
41
  hashPaymentChannel: typeof hashPaymentChannel;
40
42
  };
41
- export { getBalanceChanges, dropsToXrp, xrpToDrops, hasNextPage, rippleTimeToISOTime, isoTimeToRippleTime, rippleTimeToUnixTime, unixTimeToRippleTime, percentToQuality, decimalToQuality, percentToTransferRate, decimalToTransferRate, transferRateToDecimal, qualityToDecimal, isValidSecret, isValidAddress, hashes, deriveKeypair, deriveAddress, deriveXAddress, signPaymentChannelClaim, verifyKeypairSignature, verifyPaymentChannelClaim, convertStringToHex, convertHexToString, classicAddressToXAddress, xAddressToClassicAddress, isValidXAddress, isValidClassicAddress, encodeSeed, decodeSeed, encodeAccountID, decodeAccountID, encodeNodePublic, decodeNodePublic, encodeAccountPublic, decodeAccountPublic, encodeXAddress, decodeXAddress, encode, decode, encodeForMultiSigning, encodeForSigning, encodeForSigningClaim, getNFTokenID, parseNFTokenID, getXChainClaimID, };
43
+ export { getBalanceChanges, dropsToXrp, xrpToDrops, hasNextPage, rippleTimeToISOTime, isoTimeToRippleTime, rippleTimeToUnixTime, unixTimeToRippleTime, percentToQuality, decimalToQuality, percentToTransferRate, decimalToTransferRate, transferRateToDecimal, qualityToDecimal, isValidSecret, isValidAddress, hashes, deriveKeypair, deriveAddress, deriveXAddress, signPaymentChannelClaim, verifyKeypairSignature, verifyPaymentChannelClaim, convertStringToHex, convertHexToString, classicAddressToXAddress, xAddressToClassicAddress, isValidXAddress, isValidClassicAddress, encodeSeed, decodeSeed, encodeAccountID, decodeAccountID, encodeNodePublic, decodeNodePublic, encodeAccountPublic, decodeAccountPublic, encodeXAddress, decodeXAddress, encode, decode, encodeForMultiSigning, encodeForSigning, encodeForSigningClaim, getNFTokenID, parseNFTokenID, getXChainClaimID, mptUint64ToHex, };
42
44
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,wBAAwB,EACzB,MAAM,sBAAsB,CAAA;AAQ7B,OAAO,EAAE,MAAM,IAAI,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAEhE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACvE,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AACnD,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AACjD,OAAO,EACL,YAAY,EACZ,MAAM,EACN,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,UAAU,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EACnB,MAAM,UAAU,CAAA;AACjB,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,WAAW,CAAA;AAClB,OAAO,uBAAuB,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,kBAAkB,CAAA;AACzB,OAAO,yBAAyB,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AASxD,iBAAS,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAO9C;AAQD,iBAAS,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,MAAM,CAEzD;AAQD,iBAAS,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAErD;AAQD,iBAAS,qBAAqB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAElE;AASD,iBAAS,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1E;AAQD,iBAAS,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEpD;AAUD,iBAAS,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEhD;AAcD,iBAAS,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAGhD;AAKD,QAAA,MAAM,MAAM;;;;;;;;;;;;;CAaX,CAAA;AAED,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,MAAM,EACN,aAAa,EACb,aAAa,EACb,cAAc,EACd,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,UAAU,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,MAAM,EACN,MAAM,EACN,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,gBAAgB,GACjB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,wBAAwB,EACzB,MAAM,sBAAsB,CAAA;AAQ7B,OAAO,EAAE,MAAM,IAAI,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAElE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAEhE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACvE,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AACnD,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AACjD,OAAO,EACL,YAAY,EACZ,MAAM,EACN,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,UAAU,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EACnB,MAAM,UAAU,CAAA;AACjB,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,WAAW,CAAA;AAClB,OAAO,uBAAuB,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,kBAAkB,CAAA;AACzB,OAAO,yBAAyB,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAShD,iBAAS,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAO9C;AAQD,iBAAS,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,MAAM,CAEzD;AAQD,iBAAS,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAErD;AAQD,iBAAS,qBAAqB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAElE;AASD,iBAAS,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1E;AAQD,iBAAS,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEpD;AAUD,iBAAS,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEhD;AAcD,iBAAS,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,OAAO,CAG5D;AAKD,QAAA,MAAM,MAAM;;;;;;;;;;;;;CAaX,CAAA;AAED,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,MAAM,EACN,aAAa,EACb,aAAa,EACb,cAAc,EACd,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,UAAU,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,MAAM,EACN,MAAM,EACN,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,CAAA"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getXChainClaimID = exports.parseNFTokenID = exports.getNFTokenID = exports.encodeForSigningClaim = exports.encodeForSigning = exports.encodeForMultiSigning = exports.decode = exports.encode = exports.decodeXAddress = exports.encodeXAddress = exports.decodeAccountPublic = exports.encodeAccountPublic = exports.decodeNodePublic = exports.encodeNodePublic = exports.decodeAccountID = exports.encodeAccountID = exports.decodeSeed = exports.encodeSeed = exports.isValidClassicAddress = exports.isValidXAddress = exports.xAddressToClassicAddress = exports.classicAddressToXAddress = exports.convertHexToString = exports.convertStringToHex = exports.verifyPaymentChannelClaim = exports.verifyKeypairSignature = exports.signPaymentChannelClaim = exports.deriveXAddress = exports.deriveAddress = exports.deriveKeypair = exports.hashes = exports.isValidAddress = exports.isValidSecret = exports.qualityToDecimal = exports.transferRateToDecimal = exports.decimalToTransferRate = exports.percentToTransferRate = exports.decimalToQuality = exports.percentToQuality = exports.unixTimeToRippleTime = exports.rippleTimeToUnixTime = exports.isoTimeToRippleTime = exports.rippleTimeToISOTime = exports.hasNextPage = exports.xrpToDrops = exports.dropsToXrp = exports.getBalanceChanges = void 0;
6
+ exports.mptUint64ToHex = exports.getXChainClaimID = exports.parseNFTokenID = exports.getNFTokenID = exports.encodeForSigningClaim = exports.encodeForSigning = exports.encodeForMultiSigning = exports.decode = exports.encode = exports.decodeXAddress = exports.encodeXAddress = exports.decodeAccountPublic = exports.encodeAccountPublic = exports.decodeNodePublic = exports.encodeNodePublic = exports.decodeAccountID = exports.encodeAccountID = exports.decodeSeed = exports.encodeSeed = exports.isValidClassicAddress = exports.isValidXAddress = exports.xAddressToClassicAddress = exports.classicAddressToXAddress = exports.convertHexToString = exports.convertStringToHex = exports.verifyPaymentChannelClaim = exports.verifyKeypairSignature = exports.signPaymentChannelClaim = exports.deriveXAddress = exports.deriveAddress = exports.deriveKeypair = exports.hashes = exports.isValidAddress = exports.isValidSecret = exports.qualityToDecimal = exports.transferRateToDecimal = exports.decimalToTransferRate = exports.percentToTransferRate = exports.decimalToQuality = exports.percentToQuality = exports.unixTimeToRippleTime = exports.rippleTimeToUnixTime = exports.isoTimeToRippleTime = exports.rippleTimeToISOTime = exports.hasNextPage = exports.xrpToDrops = exports.dropsToXrp = exports.getBalanceChanges = void 0;
7
7
  const ripple_address_codec_1 = require("ripple-address-codec");
8
8
  Object.defineProperty(exports, "classicAddressToXAddress", { enumerable: true, get: function () { return ripple_address_codec_1.classicAddressToXAddress; } });
9
9
  Object.defineProperty(exports, "decodeAccountID", { enumerable: true, get: function () { return ripple_address_codec_1.decodeAccountID; } });
@@ -57,6 +57,8 @@ exports.verifyPaymentChannelClaim = verifyPaymentChannelClaim_1.default;
57
57
  const xrpConversion_1 = require("./xrpConversion");
58
58
  Object.defineProperty(exports, "xrpToDrops", { enumerable: true, get: function () { return xrpConversion_1.xrpToDrops; } });
59
59
  Object.defineProperty(exports, "dropsToXrp", { enumerable: true, get: function () { return xrpConversion_1.dropsToXrp; } });
60
+ const mptConversion_1 = require("./mptConversion");
61
+ Object.defineProperty(exports, "mptUint64ToHex", { enumerable: true, get: function () { return mptConversion_1.mptUint64ToHex; } });
60
62
  function isValidSecret(secret) {
61
63
  try {
62
64
  (0, derive_1.deriveKeypair)(secret);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function mptUint64ToHex(numberToConvert: string): string;
2
+ //# sourceMappingURL=mptConversion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mptConversion.d.ts","sourceRoot":"","sources":["../../../src/utils/mptConversion.ts"],"names":[],"mappings":"AAuBA,wBAAgB,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAqC9D"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.mptUint64ToHex = void 0;
7
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
+ const errors_1 = require("../errors");
9
+ const SANITY_CHECK = /^[0-9]+$/u;
10
+ function mptUint64ToHex(numberToConvert) {
11
+ const number = new bignumber_js_1.default(numberToConvert).toString(10);
12
+ if (typeof numberToConvert === 'string' && number === 'NaN') {
13
+ throw new errors_1.ValidationError(`mptUint64ToHex: invalid value '${numberToConvert}', should be a string-encoded number.`);
14
+ }
15
+ if (number.includes('.')) {
16
+ throw new errors_1.ValidationError(`mptUint64ToHex: value '${numberToConvert}' has too many decimal places.`);
17
+ }
18
+ if (number.includes('-')) {
19
+ throw new errors_1.ValidationError(`mptUint64ToHex: value '${numberToConvert}' cannot be negative.`);
20
+ }
21
+ if (!SANITY_CHECK.exec(number)) {
22
+ throw new errors_1.ValidationError(`mptUint64ToHex: failed sanity check -` +
23
+ ` value '${numberToConvert}',` +
24
+ ` does not match (^[0-9]+$).`);
25
+ }
26
+ if (Number(BigInt(number) & BigInt('0x8000000000000000')) != 0)
27
+ throw new errors_1.ValidationError(`mptUint64ToHex: invalid value '${numberToConvert}', should be within 63-bit range.`);
28
+ return BigInt(number).toString(16);
29
+ }
30
+ exports.mptUint64ToHex = mptUint64ToHex;
31
+ //# sourceMappingURL=mptConversion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mptConversion.js","sourceRoot":"","sources":["../../../src/utils/mptConversion.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAoC;AACpC,sCAA2C;AAE3C,MAAM,YAAY,GAAG,WAAW,CAAA;AAoBhC,SAAgB,cAAc,CAAC,eAAuB;IAEpD,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAG1D,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,MAAM,KAAK,KAAK,EAAE;QAC3D,MAAM,IAAI,wBAAe,CACvB,kCAAkC,eAAe,uCAAuC,CACzF,CAAA;KACF;IAGD,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACxB,MAAM,IAAI,wBAAe,CACvB,0BAA0B,eAAe,gCAAgC,CAC1E,CAAA;KACF;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACxB,MAAM,IAAI,wBAAe,CACvB,0BAA0B,eAAe,uBAAuB,CACjE,CAAA;KACF;IAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QAC9B,MAAM,IAAI,wBAAe,CACvB,uCAAuC;YACrC,WAAW,eAAe,IAAI;YAC9B,6BAA6B,CAChC,CAAA;KACF;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC;QAC5D,MAAM,IAAI,wBAAe,CACvB,kCAAkC,eAAe,mCAAmC,CACrF,CAAA;IAEH,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;AACpC,CAAC;AArCD,wCAqCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xrpl",
3
- "version": "3.0.0",
3
+ "version": "4.0.0-mpt-beta",
4
4
  "license": "ISC",
5
5
  "description": "A TypeScript/JavaScript API for interacting with the XRP Ledger in Node.js and the browser",
6
6
  "files": [
@@ -24,17 +24,16 @@
24
24
  "dependencies": {
25
25
  "@scure/bip32": "^1.3.1",
26
26
  "@scure/bip39": "^1.2.1",
27
- "@xrplf/isomorphic": "^1.0.0",
27
+ "@xrplf/isomorphic": "^1.0.1",
28
28
  "@xrplf/secret-numbers": "^1.0.0",
29
29
  "bignumber.js": "^9.0.0",
30
- "cross-fetch": "^4.0.0",
31
30
  "eventemitter3": "^5.0.1",
32
31
  "ripple-address-codec": "^5.0.0",
33
- "ripple-binary-codec": "^2.0.0",
32
+ "ripple-binary-codec": "^4.0.0-mpt-beta",
34
33
  "ripple-keypairs": "^2.0.0"
35
34
  },
36
35
  "devDependencies": {
37
- "@types/node": "^16.18.38",
36
+ "@types/node": "^18.18.38",
38
37
  "eventemitter3": "^5.0.1",
39
38
  "https-proxy-agent": "^7.0.1",
40
39
  "karma": "^6.4.1",
@@ -44,7 +43,7 @@
44
43
  "lodash": "^4.17.4",
45
44
  "react": "^18.2.0",
46
45
  "run-s": "^0.0.0",
47
- "typedoc": "0.25.0",
46
+ "typedoc": "0.26.4",
48
47
  "ws": "^8.14.2"
49
48
  },
50
49
  "resolutions": {
@@ -87,7 +86,7 @@
87
86
  "xrpl"
88
87
  ],
89
88
  "engines": {
90
- "node": ">=16.0.0"
89
+ "node": ">=18.0.0"
91
90
  },
92
- "gitHead": "a09084289b2ba61eff2363773379573584e084d1"
91
+ "gitHead": "ef82f86f2540baef46b62aef7d1aa594d8f73591"
93
92
  }
@@ -14,13 +14,11 @@ export interface FaucetWallet {
14
14
  export enum FaucetNetwork {
15
15
  Testnet = 'faucet.altnet.rippletest.net',
16
16
  Devnet = 'faucet.devnet.rippletest.net',
17
- HooksV3Testnet = 'hooks-testnet-v3.xrpl-labs.com',
18
17
  }
19
18
 
20
19
  export const FaucetNetworkPaths: Record<string, string> = {
21
20
  [FaucetNetwork.Testnet]: '/accounts',
22
21
  [FaucetNetwork.Devnet]: '/accounts',
23
- [FaucetNetwork.HooksV3Testnet]: '/accounts',
24
22
  }
25
23
 
26
24
  /**
@@ -33,10 +31,6 @@ export const FaucetNetworkPaths: Record<string, string> = {
33
31
  export function getFaucetHost(client: Client): FaucetNetwork | undefined {
34
32
  const connectionUrl = client.url
35
33
 
36
- if (connectionUrl.includes('hooks-testnet-v3')) {
37
- return FaucetNetwork.HooksV3Testnet
38
- }
39
-
40
34
  // 'altnet' for Ripple Testnet server and 'testnet' for XRPL Labs Testnet server
41
35
  if (connectionUrl.includes('altnet') || connectionUrl.includes('testnet')) {
42
36
  return FaucetNetwork.Testnet
@@ -1,4 +1,3 @@
1
- import fetch from 'cross-fetch'
2
1
  import { isValidClassicAddress } from 'ripple-address-codec'
3
2
 
4
3
  import type { Client } from '../client'
@@ -4,6 +4,7 @@ import {
4
4
  TimeoutError,
5
5
  XrplError,
6
6
  } from '../errors'
7
+ import type { APIVersion } from '../models'
7
8
  import { Response, RequestResponseMap } from '../models/methods'
8
9
  import { BaseRequest, ErrorResponse } from '../models/methods/baseMethod'
9
10
 
@@ -35,10 +36,10 @@ export default class RequestManager {
35
36
  * @param timer - The timer associated with the promise.
36
37
  * @returns A promise that resolves to the specified generic type.
37
38
  */
38
- public async addPromise<R extends BaseRequest, T = RequestResponseMap<R>>(
39
- newId: string | number,
40
- timer: ReturnType<typeof setTimeout>,
41
- ): Promise<T> {
39
+ public async addPromise<
40
+ R extends BaseRequest,
41
+ T = RequestResponseMap<R, APIVersion>,
42
+ >(newId: string | number, timer: ReturnType<typeof setTimeout>): Promise<T> {
42
43
  return new Promise<T>((resolve, reject) => {
43
44
  this.promisesAwaitingResponse.set(newId, {
44
45
  resolve,
@@ -55,7 +56,10 @@ export default class RequestManager {
55
56
  * @param response - Response to return.
56
57
  * @throws Error if no existing promise with the given ID.
57
58
  */
58
- public resolve(id: string | number, response: Response): void {
59
+ public resolve(
60
+ id: string | number,
61
+ response: Partial<Response<APIVersion>>,
62
+ ): void {
59
63
  const promise = this.promisesAwaitingResponse.get(id)
60
64
  if (promise == null) {
61
65
  throw new XrplError(`No existing promise with id ${id}`, {
@@ -111,10 +115,10 @@ export default class RequestManager {
111
115
  * @returns Request ID, new request form, and the promise for resolving the request.
112
116
  * @throws XrplError if request with the same ID is already pending.
113
117
  */
114
- public createRequest<R extends BaseRequest, T = RequestResponseMap<R>>(
115
- request: R,
116
- timeout: number,
117
- ): [string | number, string, Promise<T>] {
118
+ public createRequest<
119
+ R extends BaseRequest,
120
+ T = RequestResponseMap<R, APIVersion>,
121
+ >(request: R, timeout: number): [string | number, string, Promise<T>] {
118
122
  let newId: string | number
119
123
  if (request.id == null) {
120
124
  newId = this.nextId
@@ -171,7 +175,9 @@ export default class RequestManager {
171
175
  * @param response - The response to handle.
172
176
  * @throws ResponseFormatError if the response format is invalid, RippledError if rippled returns an error.
173
177
  */
174
- public handleResponse(response: Partial<Response | ErrorResponse>): void {
178
+ public handleResponse(
179
+ response: Partial<Response<APIVersion> | ErrorResponse>,
180
+ ): void {
175
181
  if (
176
182
  response.id == null ||
177
183
  !(typeof response.id === 'string' || typeof response.id === 'number')
@@ -205,8 +211,7 @@ export default class RequestManager {
205
211
  }
206
212
  // status no longer needed because error is thrown if status is not "success"
207
213
  delete response.status
208
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- Must be a valid Response here
209
- this.resolve(response.id, response as unknown as Response)
214
+ this.resolve(response.id, response)
210
215
  }
211
216
 
212
217
  /**
@@ -11,7 +11,7 @@ import {
11
11
  ConnectionError,
12
12
  XrplError,
13
13
  } from '../errors'
14
- import type { RequestResponseMap } from '../models'
14
+ import type { APIVersion, RequestResponseMap } from '../models'
15
15
  import { BaseRequest } from '../models/methods/baseMethod'
16
16
 
17
17
  import ConnectionManager from './ConnectionManager'
@@ -267,6 +267,7 @@ export class Connection extends EventEmitter {
267
267
 
268
268
  /**
269
269
  * Disconnect the websocket, then connect again.
270
+ *
270
271
  */
271
272
  public async reconnect(): Promise<void> {
272
273
  /*
@@ -287,10 +288,10 @@ export class Connection extends EventEmitter {
287
288
  * @returns The response from the rippled server.
288
289
  * @throws NotConnectedError if the Connection isn't connected to a server.
289
290
  */
290
- public async request<R extends BaseRequest, T = RequestResponseMap<R>>(
291
- request: R,
292
- timeout?: number,
293
- ): Promise<T> {
291
+ public async request<
292
+ R extends BaseRequest,
293
+ T = RequestResponseMap<R, APIVersion>,
294
+ >(request: R, timeout?: number): Promise<T> {
294
295
  if (!this.shouldBeConnected || this.ws == null) {
295
296
  throw new NotConnectedError(JSON.stringify(request), request)
296
297
  }
@@ -468,6 +469,7 @@ export class Connection extends EventEmitter {
468
469
 
469
470
  /**
470
471
  * Starts a heartbeat to check the connection with the server.
472
+ *
471
473
  */
472
474
  private startHeartbeatInterval(): void {
473
475
  this.clearHeartbeatInterval()
@@ -9,7 +9,12 @@ import {
9
9
  ValidationError,
10
10
  XrplError,
11
11
  } from '../errors'
12
- import type { LedgerIndex, Balance } from '../models/common'
12
+ import {
13
+ APIVersion,
14
+ LedgerIndex,
15
+ Balance,
16
+ DEFAULT_API_VERSION,
17
+ } from '../models/common'
13
18
  import {
14
19
  Request,
15
20
  // account methods
@@ -88,8 +93,23 @@ import {
88
93
  } from './partialPayment'
89
94
 
90
95
  export interface ClientOptions extends ConnectionUserOptions {
96
+ /**
97
+ * Multiplication factor to multiply estimated fee by to provide a cushion in case the
98
+ * required fee rises during submission of a transaction. Defaults to 1.2.
99
+ *
100
+ * @category Fee
101
+ */
91
102
  feeCushion?: number
103
+ /**
104
+ * Maximum transaction cost to allow, in decimal XRP. Must be a string-encoded
105
+ * number. Defaults to '2'.
106
+ *
107
+ * @category Fee
108
+ */
92
109
  maxFeeXRP?: string
110
+ /**
111
+ * Duration to wait for a request to timeout.
112
+ */
93
113
  timeout?: number
94
114
  }
95
115
 
@@ -198,6 +218,12 @@ class Client extends EventEmitter<EventTypes> {
198
218
  */
199
219
  public buildVersion: string | undefined
200
220
 
221
+ /**
222
+ * API Version used by the server this client is connected to
223
+ *
224
+ */
225
+ public apiVersion: APIVersion = DEFAULT_API_VERSION
226
+
201
227
  /**
202
228
  * Creates a new Client with a websocket connection to a rippled server.
203
229
  *
@@ -211,7 +237,7 @@ class Client extends EventEmitter<EventTypes> {
211
237
  * const client = new Client('wss://s.altnet.rippletest.net:51233')
212
238
  * ```
213
239
  */
214
- // eslint-disable-next-line max-lines-per-function -- okay because we have to set up all the connection handlers
240
+ /* eslint-disable max-lines-per-function -- the constructor requires more lines to implement the logic */
215
241
  public constructor(server: string, options: ClientOptions = {}) {
216
242
  super()
217
243
  if (typeof server !== 'string' || !/wss?(?:\+unix)?:\/\//u.exec(server)) {
@@ -275,6 +301,7 @@ class Client extends EventEmitter<EventTypes> {
275
301
  this.emit('path_find', path)
276
302
  })
277
303
  }
304
+ /* eslint-enable max-lines-per-function */
278
305
 
279
306
  /**
280
307
  * Get the url that the client is connected to.
@@ -291,7 +318,6 @@ class Client extends EventEmitter<EventTypes> {
291
318
  * additional request body parameters.
292
319
  *
293
320
  * @category Network
294
- *
295
321
  * @param req - Request to send to the server.
296
322
  * @returns The response from the server.
297
323
  *
@@ -304,16 +330,20 @@ class Client extends EventEmitter<EventTypes> {
304
330
  * console.log(response)
305
331
  * ```
306
332
  */
307
- public async request<R extends Request, T = RequestResponseMap<R>>(
308
- req: R,
309
- ): Promise<T> {
310
- const response = await this.connection.request<R, T>({
333
+ public async request<
334
+ R extends Request,
335
+ V extends APIVersion = typeof DEFAULT_API_VERSION,
336
+ T = RequestResponseMap<R, V>,
337
+ >(req: R): Promise<T> {
338
+ const request = {
311
339
  ...req,
312
- account: req.account
313
- ? // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- Must be string
314
- ensureClassicAddress(req.account as string)
315
- : undefined,
316
- })
340
+ account:
341
+ typeof req.account === 'string'
342
+ ? ensureClassicAddress(req.account)
343
+ : undefined,
344
+ api_version: req.api_version ?? this.apiVersion,
345
+ }
346
+ const response = await this.connection.request<R, T>(request)
317
347
 
318
348
  // mutates `response` to add warnings
319
349
  handlePartialPayment(req.command, response)
@@ -422,9 +452,10 @@ class Client extends EventEmitter<EventTypes> {
422
452
  * const allResponses = await client.requestAll({ command: 'transaction_data' });
423
453
  * console.log(allResponses);
424
454
  */
455
+
425
456
  public async requestAll<
426
457
  T extends MarkerRequest,
427
- U = RequestAllResponseMap<T>,
458
+ U = RequestAllResponseMap<T, APIVersion>,
428
459
  >(request: T, collect?: string): Promise<U[]> {
429
460
  /*
430
461
  * The data under collection is keyed based on the command. Fail if command
@@ -441,7 +472,6 @@ class Client extends EventEmitter<EventTypes> {
441
472
  const countTo: number = request.limit == null ? Infinity : request.limit
442
473
  let count = 0
443
474
  let marker: unknown = request.marker
444
- let lastBatchLength: number
445
475
  const results: U[] = []
446
476
  do {
447
477
  const countRemaining = clamp(countTo - count, MIN_LIMIT, MAX_LIMIT)
@@ -453,7 +483,7 @@ class Client extends EventEmitter<EventTypes> {
453
483
  // eslint-disable-next-line no-await-in-loop -- Necessary for this, it really has to wait
454
484
  const singleResponse = await this.connection.request(repeatProps)
455
485
  // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- Should be true
456
- const singleResult = (singleResponse as MarkerResponse).result
486
+ const singleResult = (singleResponse as MarkerResponse<APIVersion>).result
457
487
  if (!(collectKey in singleResult)) {
458
488
  throw new XrplError(`${collectKey} not in result`)
459
489
  }
@@ -465,11 +495,8 @@ class Client extends EventEmitter<EventTypes> {
465
495
  // Make sure we handle when no data (not even an empty array) is returned.
466
496
  if (Array.isArray(collectedData)) {
467
497
  count += collectedData.length
468
- lastBatchLength = collectedData.length
469
- } else {
470
- lastBatchLength = 0
471
498
  }
472
- } while (Boolean(marker) && count < countTo && lastBatchLength !== 0)
499
+ } while (Boolean(marker) && count < countTo)
473
500
  return results
474
501
  }
475
502
 
@@ -627,7 +654,10 @@ class Client extends EventEmitter<EventTypes> {
627
654
  * @param signersCount - The expected number of signers for this transaction.
628
655
  * Only used for multisigned transactions.
629
656
  * @returns The autofilled transaction.
657
+ * @throws ValidationError If Amount and DeliverMax fields are not identical in a Payment Transaction
630
658
  */
659
+
660
+ // eslint-disable-next-line complexity -- handling Payment transaction API v2 requires more logic
631
661
  public async autofill<T extends SubmittableTransaction>(
632
662
  transaction: T,
633
663
  signersCount?: number,
@@ -635,7 +665,6 @@ class Client extends EventEmitter<EventTypes> {
635
665
  const tx = { ...transaction }
636
666
 
637
667
  setValidAddresses(tx)
638
-
639
668
  setTransactionFlagsToNumber(tx)
640
669
 
641
670
  const promises: Array<Promise<void>> = []
@@ -655,6 +684,34 @@ class Client extends EventEmitter<EventTypes> {
655
684
  promises.push(checkAccountDeleteBlockers(this, tx))
656
685
  }
657
686
 
687
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- ignore type-assertions on the DeliverMax property
688
+ // @ts-expect-error -- DeliverMax property exists only at the RPC level, not at the protocol level
689
+ if (tx.TransactionType === 'Payment' && tx.DeliverMax != null) {
690
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- This is a valid null check for Amount
691
+ if (tx.Amount == null) {
692
+ // If only DeliverMax is provided, use it to populate the Amount field
693
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- ignore type-assertions on the DeliverMax property
694
+ // @ts-expect-error -- DeliverMax property exists only at the RPC level, not at the protocol level
695
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- DeliverMax is a known RPC-level property
696
+ tx.Amount = tx.DeliverMax
697
+ }
698
+
699
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- ignore type-assertions on the DeliverMax property
700
+ // @ts-expect-error -- DeliverMax property exists only at the RPC level, not at the protocol level
701
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- This is a valid null check for Amount
702
+ if (tx.Amount != null && tx.Amount !== tx.DeliverMax) {
703
+ return Promise.reject(
704
+ new ValidationError(
705
+ 'PaymentTransaction: Amount and DeliverMax fields must be identical when both are provided',
706
+ ),
707
+ )
708
+ }
709
+
710
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- ignore type-assertions on the DeliverMax property
711
+ // @ts-expect-error -- DeliverMax property exists only at the RPC level, not at the protocol level
712
+ delete tx.DeliverMax
713
+ }
714
+
658
715
  return Promise.all(promises).then(() => tx)
659
716
  }
660
717
 
@@ -898,7 +955,7 @@ class Client extends EventEmitter<EventTypes> {
898
955
  * @param options.limit - Limit number of balances to return.
899
956
  * @returns An array of XRP/non-XRP balances for the given account.
900
957
  */
901
- // eslint-disable-next-line max-lines-per-function -- Longer definition is required for end users to see the definition.
958
+ /* eslint-disable max-lines-per-function -- getBalances requires more lines to implement logic */
902
959
  public async getBalances(
903
960
  address: string,
904
961
  options: {
@@ -946,6 +1003,7 @@ class Client extends EventEmitter<EventTypes> {
946
1003
  )
947
1004
  return balances.slice(0, options.limit)
948
1005
  }
1006
+ /* eslint-enable max-lines-per-function */
949
1007
 
950
1008
  /**
951
1009
  * Fetch orderbook (buy/sell orders) between two currency pairs. This checks both sides of the orderbook