xrpl 3.1.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 (341) 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 +394 -710
  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 +16 -4
  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 +9 -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 +1 -1
  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/index.d.ts +4 -2
  62. package/dist/npm/models/ledger/index.d.ts.map +1 -1
  63. package/dist/npm/models/ledger/index.js.map +1 -1
  64. package/dist/npm/models/methods/accountInfo.d.ts +17 -4
  65. package/dist/npm/models/methods/accountInfo.d.ts.map +1 -1
  66. package/dist/npm/models/methods/accountTx.d.ts +11 -5
  67. package/dist/npm/models/methods/accountTx.d.ts.map +1 -1
  68. package/dist/npm/models/methods/feature.d.ts +28 -0
  69. package/dist/npm/models/methods/feature.d.ts.map +1 -0
  70. package/dist/npm/models/methods/feature.js +3 -0
  71. package/dist/npm/models/methods/feature.js.map +1 -0
  72. package/dist/npm/models/methods/index.d.ts +14 -11
  73. package/dist/npm/models/methods/index.d.ts.map +1 -1
  74. package/dist/npm/models/methods/ledger.d.ts +17 -5
  75. package/dist/npm/models/methods/ledger.d.ts.map +1 -1
  76. package/dist/npm/models/methods/ledgerEntry.d.ts +5 -0
  77. package/dist/npm/models/methods/ledgerEntry.d.ts.map +1 -1
  78. package/dist/npm/models/methods/nftsByIssuer.d.ts +19 -0
  79. package/dist/npm/models/methods/nftsByIssuer.d.ts.map +1 -0
  80. package/dist/npm/models/methods/nftsByIssuer.js +3 -0
  81. package/dist/npm/models/methods/nftsByIssuer.js.map +1 -0
  82. package/dist/npm/models/methods/submitMultisigned.d.ts +16 -5
  83. package/dist/npm/models/methods/submitMultisigned.d.ts.map +1 -1
  84. package/dist/npm/models/methods/tx.d.ts +20 -8
  85. package/dist/npm/models/methods/tx.d.ts.map +1 -1
  86. package/dist/npm/models/transactions/MPTokenAuthorize.d.ts +15 -0
  87. package/dist/npm/models/transactions/MPTokenAuthorize.d.ts.map +1 -0
  88. package/dist/npm/models/transactions/MPTokenAuthorize.js +15 -0
  89. package/dist/npm/models/transactions/MPTokenAuthorize.js.map +1 -0
  90. package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts +31 -0
  91. package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -0
  92. package/dist/npm/models/transactions/MPTokenIssuanceCreate.js +26 -0
  93. package/dist/npm/models/transactions/MPTokenIssuanceCreate.js.map +1 -0
  94. package/dist/npm/models/transactions/MPTokenIssuanceDestroy.d.ts +7 -0
  95. package/dist/npm/models/transactions/MPTokenIssuanceDestroy.d.ts.map +1 -0
  96. package/dist/npm/models/transactions/MPTokenIssuanceDestroy.js +10 -0
  97. package/dist/npm/models/transactions/MPTokenIssuanceDestroy.js.map +1 -0
  98. package/dist/npm/models/transactions/MPTokenIssuanceSet.d.ts +17 -0
  99. package/dist/npm/models/transactions/MPTokenIssuanceSet.d.ts.map +1 -0
  100. package/dist/npm/models/transactions/MPTokenIssuanceSet.js +22 -0
  101. package/dist/npm/models/transactions/MPTokenIssuanceSet.js.map +1 -0
  102. package/dist/npm/models/transactions/clawback.d.ts +3 -2
  103. package/dist/npm/models/transactions/clawback.d.ts.map +1 -1
  104. package/dist/npm/models/transactions/clawback.js +11 -1
  105. package/dist/npm/models/transactions/clawback.js.map +1 -1
  106. package/dist/npm/models/transactions/common.d.ts +2 -1
  107. package/dist/npm/models/transactions/common.d.ts.map +1 -1
  108. package/dist/npm/models/transactions/common.js +12 -2
  109. package/dist/npm/models/transactions/common.js.map +1 -1
  110. package/dist/npm/models/transactions/index.d.ts +5 -1
  111. package/dist/npm/models/transactions/index.d.ts.map +1 -1
  112. package/dist/npm/models/transactions/index.js +9 -1
  113. package/dist/npm/models/transactions/index.js.map +1 -1
  114. package/dist/npm/models/transactions/metadata.d.ts +5 -4
  115. package/dist/npm/models/transactions/metadata.d.ts.map +1 -1
  116. package/dist/npm/models/transactions/metadata.js.map +1 -1
  117. package/dist/npm/models/transactions/payment.d.ts +4 -4
  118. package/dist/npm/models/transactions/payment.d.ts.map +1 -1
  119. package/dist/npm/models/transactions/transaction.d.ts +5 -1
  120. package/dist/npm/models/transactions/transaction.d.ts.map +1 -1
  121. package/dist/npm/models/transactions/transaction.js +16 -0
  122. package/dist/npm/models/transactions/transaction.js.map +1 -1
  123. package/dist/npm/models/utils/flags.d.ts +1 -0
  124. package/dist/npm/models/utils/flags.d.ts.map +1 -1
  125. package/dist/npm/models/utils/flags.js +23 -1
  126. package/dist/npm/models/utils/flags.js.map +1 -1
  127. package/dist/npm/snippets/src/claimPayChannel.js +1 -1
  128. package/dist/npm/snippets/src/claimPayChannel.js.map +1 -1
  129. package/dist/npm/snippets/src/sendEscrow.js +1 -1
  130. package/dist/npm/snippets/src/sendEscrow.js.map +1 -1
  131. package/dist/npm/snippets/tsconfig.tsbuildinfo +1 -1
  132. package/dist/npm/src/Wallet/defaultFaucets.d.ts +1 -2
  133. package/dist/npm/src/Wallet/defaultFaucets.d.ts.map +1 -1
  134. package/dist/npm/src/Wallet/defaultFaucets.js +0 -5
  135. package/dist/npm/src/Wallet/defaultFaucets.js.map +1 -1
  136. package/dist/npm/src/Wallet/fundWallet.d.ts.map +1 -1
  137. package/dist/npm/src/Wallet/fundWallet.js +1 -5
  138. package/dist/npm/src/Wallet/fundWallet.js.map +1 -1
  139. package/dist/npm/src/client/RequestManager.d.ts +5 -4
  140. package/dist/npm/src/client/RequestManager.d.ts.map +1 -1
  141. package/dist/npm/src/client/RequestManager.js.map +1 -1
  142. package/dist/npm/src/client/connection.d.ts +2 -2
  143. package/dist/npm/src/client/connection.d.ts.map +1 -1
  144. package/dist/npm/src/client/connection.js.map +1 -1
  145. package/dist/npm/src/client/index.d.ts +4 -3
  146. package/dist/npm/src/client/index.d.ts.map +1 -1
  147. package/dist/npm/src/client/index.js +16 -4
  148. package/dist/npm/src/client/index.js.map +1 -1
  149. package/dist/npm/src/client/partialPayment.d.ts +2 -1
  150. package/dist/npm/src/client/partialPayment.d.ts.map +1 -1
  151. package/dist/npm/src/client/partialPayment.js +19 -3
  152. package/dist/npm/src/client/partialPayment.js.map +1 -1
  153. package/dist/npm/src/models/common/index.d.ts +9 -0
  154. package/dist/npm/src/models/common/index.d.ts.map +1 -1
  155. package/dist/npm/src/models/common/index.js +4 -0
  156. package/dist/npm/src/models/common/index.js.map +1 -1
  157. package/dist/npm/src/models/index.d.ts +1 -1
  158. package/dist/npm/src/models/index.d.ts.map +1 -1
  159. package/dist/npm/src/models/index.js +2 -1
  160. package/dist/npm/src/models/index.js.map +1 -1
  161. package/dist/npm/src/models/ledger/AMM.d.ts +2 -2
  162. package/dist/npm/src/models/ledger/AMM.d.ts.map +1 -1
  163. package/dist/npm/src/models/ledger/Amendments.d.ts +2 -2
  164. package/dist/npm/src/models/ledger/Amendments.d.ts.map +1 -1
  165. package/dist/npm/src/models/ledger/BaseLedgerEntry.d.ts +3 -3
  166. package/dist/npm/src/models/ledger/BaseLedgerEntry.d.ts.map +1 -1
  167. package/dist/npm/src/models/ledger/DirectoryNode.d.ts +2 -2
  168. package/dist/npm/src/models/ledger/DirectoryNode.d.ts.map +1 -1
  169. package/dist/npm/src/models/ledger/FeeSettings.d.ts +2 -2
  170. package/dist/npm/src/models/ledger/FeeSettings.d.ts.map +1 -1
  171. package/dist/npm/src/models/ledger/Ledger.d.ts +11 -2
  172. package/dist/npm/src/models/ledger/Ledger.d.ts.map +1 -1
  173. package/dist/npm/src/models/ledger/LedgerEntry.d.ts +1 -1
  174. package/dist/npm/src/models/ledger/LedgerEntry.d.ts.map +1 -1
  175. package/dist/npm/src/models/ledger/LedgerHashes.d.ts +2 -2
  176. package/dist/npm/src/models/ledger/LedgerHashes.d.ts.map +1 -1
  177. package/dist/npm/src/models/ledger/MPToken.d.ts +11 -0
  178. package/dist/npm/src/models/ledger/MPToken.d.ts.map +1 -0
  179. package/dist/npm/src/models/ledger/MPToken.js +3 -0
  180. package/dist/npm/src/models/ledger/MPToken.js.map +1 -0
  181. package/dist/npm/src/models/ledger/MPTokenIssuance.d.ts +14 -0
  182. package/dist/npm/src/models/ledger/MPTokenIssuance.d.ts.map +1 -0
  183. package/dist/npm/src/models/ledger/MPTokenIssuance.js +3 -0
  184. package/dist/npm/src/models/ledger/MPTokenIssuance.js.map +1 -0
  185. package/dist/npm/src/models/ledger/NegativeUNL.d.ts +2 -2
  186. package/dist/npm/src/models/ledger/NegativeUNL.d.ts.map +1 -1
  187. package/dist/npm/src/models/ledger/index.d.ts +4 -2
  188. package/dist/npm/src/models/ledger/index.d.ts.map +1 -1
  189. package/dist/npm/src/models/ledger/index.js.map +1 -1
  190. package/dist/npm/src/models/methods/accountInfo.d.ts +17 -4
  191. package/dist/npm/src/models/methods/accountInfo.d.ts.map +1 -1
  192. package/dist/npm/src/models/methods/accountTx.d.ts +11 -5
  193. package/dist/npm/src/models/methods/accountTx.d.ts.map +1 -1
  194. package/dist/npm/src/models/methods/feature.d.ts +28 -0
  195. package/dist/npm/src/models/methods/feature.d.ts.map +1 -0
  196. package/dist/npm/src/models/methods/feature.js +3 -0
  197. package/dist/npm/src/models/methods/feature.js.map +1 -0
  198. package/dist/npm/src/models/methods/index.d.ts +14 -11
  199. package/dist/npm/src/models/methods/index.d.ts.map +1 -1
  200. package/dist/npm/src/models/methods/ledger.d.ts +17 -5
  201. package/dist/npm/src/models/methods/ledger.d.ts.map +1 -1
  202. package/dist/npm/src/models/methods/ledgerEntry.d.ts +5 -0
  203. package/dist/npm/src/models/methods/ledgerEntry.d.ts.map +1 -1
  204. package/dist/npm/src/models/methods/nftsByIssuer.d.ts +19 -0
  205. package/dist/npm/src/models/methods/nftsByIssuer.d.ts.map +1 -0
  206. package/dist/npm/src/models/methods/nftsByIssuer.js +3 -0
  207. package/dist/npm/src/models/methods/nftsByIssuer.js.map +1 -0
  208. package/dist/npm/src/models/methods/submitMultisigned.d.ts +16 -5
  209. package/dist/npm/src/models/methods/submitMultisigned.d.ts.map +1 -1
  210. package/dist/npm/src/models/methods/tx.d.ts +20 -8
  211. package/dist/npm/src/models/methods/tx.d.ts.map +1 -1
  212. package/dist/npm/src/models/transactions/MPTokenAuthorize.d.ts +15 -0
  213. package/dist/npm/src/models/transactions/MPTokenAuthorize.d.ts.map +1 -0
  214. package/dist/npm/src/models/transactions/MPTokenAuthorize.js +15 -0
  215. package/dist/npm/src/models/transactions/MPTokenAuthorize.js.map +1 -0
  216. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts +31 -0
  217. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -0
  218. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.js +26 -0
  219. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.js.map +1 -0
  220. package/dist/npm/src/models/transactions/MPTokenIssuanceDestroy.d.ts +7 -0
  221. package/dist/npm/src/models/transactions/MPTokenIssuanceDestroy.d.ts.map +1 -0
  222. package/dist/npm/src/models/transactions/MPTokenIssuanceDestroy.js +10 -0
  223. package/dist/npm/src/models/transactions/MPTokenIssuanceDestroy.js.map +1 -0
  224. package/dist/npm/src/models/transactions/MPTokenIssuanceSet.d.ts +17 -0
  225. package/dist/npm/src/models/transactions/MPTokenIssuanceSet.d.ts.map +1 -0
  226. package/dist/npm/src/models/transactions/MPTokenIssuanceSet.js +22 -0
  227. package/dist/npm/src/models/transactions/MPTokenIssuanceSet.js.map +1 -0
  228. package/dist/npm/src/models/transactions/clawback.d.ts +3 -2
  229. package/dist/npm/src/models/transactions/clawback.d.ts.map +1 -1
  230. package/dist/npm/src/models/transactions/clawback.js +11 -1
  231. package/dist/npm/src/models/transactions/clawback.js.map +1 -1
  232. package/dist/npm/src/models/transactions/common.d.ts +2 -1
  233. package/dist/npm/src/models/transactions/common.d.ts.map +1 -1
  234. package/dist/npm/src/models/transactions/common.js +12 -2
  235. package/dist/npm/src/models/transactions/common.js.map +1 -1
  236. package/dist/npm/src/models/transactions/index.d.ts +5 -1
  237. package/dist/npm/src/models/transactions/index.d.ts.map +1 -1
  238. package/dist/npm/src/models/transactions/index.js +9 -1
  239. package/dist/npm/src/models/transactions/index.js.map +1 -1
  240. package/dist/npm/src/models/transactions/metadata.d.ts +5 -4
  241. package/dist/npm/src/models/transactions/metadata.d.ts.map +1 -1
  242. package/dist/npm/src/models/transactions/metadata.js.map +1 -1
  243. package/dist/npm/src/models/transactions/payment.d.ts +4 -4
  244. package/dist/npm/src/models/transactions/payment.d.ts.map +1 -1
  245. package/dist/npm/src/models/transactions/transaction.d.ts +5 -1
  246. package/dist/npm/src/models/transactions/transaction.d.ts.map +1 -1
  247. package/dist/npm/src/models/transactions/transaction.js +16 -0
  248. package/dist/npm/src/models/transactions/transaction.js.map +1 -1
  249. package/dist/npm/src/models/utils/flags.d.ts +1 -0
  250. package/dist/npm/src/models/utils/flags.d.ts.map +1 -1
  251. package/dist/npm/src/models/utils/flags.js +23 -1
  252. package/dist/npm/src/models/utils/flags.js.map +1 -1
  253. package/dist/npm/src/sugar/autofill.d.ts +1 -1
  254. package/dist/npm/src/sugar/autofill.d.ts.map +1 -1
  255. package/dist/npm/src/sugar/autofill.js +2 -4
  256. package/dist/npm/src/sugar/autofill.js.map +1 -1
  257. package/dist/npm/src/sugar/getFeeXrp.d.ts +1 -1
  258. package/dist/npm/src/sugar/getFeeXrp.d.ts.map +1 -1
  259. package/dist/npm/src/sugar/getFeeXrp.js +3 -2
  260. package/dist/npm/src/sugar/getFeeXrp.js.map +1 -1
  261. package/dist/npm/src/sugar/submit.d.ts.map +1 -1
  262. package/dist/npm/src/sugar/submit.js.map +1 -1
  263. package/dist/npm/src/utils/hashes/hashLedger.d.ts +4 -3
  264. package/dist/npm/src/utils/hashes/hashLedger.d.ts.map +1 -1
  265. package/dist/npm/src/utils/hashes/hashLedger.js.map +1 -1
  266. package/dist/npm/src/utils/index.d.ts +4 -2
  267. package/dist/npm/src/utils/index.d.ts.map +1 -1
  268. package/dist/npm/src/utils/index.js +3 -1
  269. package/dist/npm/src/utils/index.js.map +1 -1
  270. package/dist/npm/src/utils/mptConversion.d.ts +2 -0
  271. package/dist/npm/src/utils/mptConversion.d.ts.map +1 -0
  272. package/dist/npm/src/utils/mptConversion.js +31 -0
  273. package/dist/npm/src/utils/mptConversion.js.map +1 -0
  274. package/dist/npm/sugar/autofill.d.ts +1 -1
  275. package/dist/npm/sugar/autofill.d.ts.map +1 -1
  276. package/dist/npm/sugar/autofill.js +2 -4
  277. package/dist/npm/sugar/autofill.js.map +1 -1
  278. package/dist/npm/sugar/getFeeXrp.d.ts +1 -1
  279. package/dist/npm/sugar/getFeeXrp.d.ts.map +1 -1
  280. package/dist/npm/sugar/getFeeXrp.js +3 -2
  281. package/dist/npm/sugar/getFeeXrp.js.map +1 -1
  282. package/dist/npm/sugar/submit.d.ts.map +1 -1
  283. package/dist/npm/sugar/submit.js.map +1 -1
  284. package/dist/npm/utils/hashes/hashLedger.d.ts +4 -3
  285. package/dist/npm/utils/hashes/hashLedger.d.ts.map +1 -1
  286. package/dist/npm/utils/hashes/hashLedger.js.map +1 -1
  287. package/dist/npm/utils/index.d.ts +4 -2
  288. package/dist/npm/utils/index.d.ts.map +1 -1
  289. package/dist/npm/utils/index.js +3 -1
  290. package/dist/npm/utils/index.js.map +1 -1
  291. package/dist/npm/utils/mptConversion.d.ts +2 -0
  292. package/dist/npm/utils/mptConversion.d.ts.map +1 -0
  293. package/dist/npm/utils/mptConversion.js +31 -0
  294. package/dist/npm/utils/mptConversion.js.map +1 -0
  295. package/package.json +6 -7
  296. package/src/Wallet/defaultFaucets.ts +0 -6
  297. package/src/Wallet/fundWallet.ts +0 -1
  298. package/src/client/RequestManager.ts +17 -12
  299. package/src/client/connection.ts +7 -5
  300. package/src/client/index.ts +63 -16
  301. package/src/client/partialPayment.ts +55 -17
  302. package/src/models/common/index.ts +13 -0
  303. package/src/models/index.ts +1 -0
  304. package/src/models/ledger/AMM.ts +2 -2
  305. package/src/models/ledger/Amendments.ts +2 -2
  306. package/src/models/ledger/BaseLedgerEntry.ts +9 -5
  307. package/src/models/ledger/DirectoryNode.ts +2 -2
  308. package/src/models/ledger/FeeSettings.ts +4 -2
  309. package/src/models/ledger/Ledger.ts +46 -9
  310. package/src/models/ledger/LedgerEntry.ts +2 -0
  311. package/src/models/ledger/LedgerHashes.ts +2 -4
  312. package/src/models/ledger/MPToken.ts +12 -0
  313. package/src/models/ledger/MPTokenIssuance.ts +14 -0
  314. package/src/models/ledger/NegativeUNL.ts +2 -2
  315. package/src/models/ledger/index.ts +6 -1
  316. package/src/models/methods/accountInfo.ts +58 -12
  317. package/src/models/methods/accountTx.ts +49 -8
  318. package/src/models/methods/feature.ts +68 -0
  319. package/src/models/methods/index.ts +67 -23
  320. package/src/models/methods/ledger.ts +41 -5
  321. package/src/models/methods/ledgerEntry.ts +16 -0
  322. package/src/models/methods/nftsByIssuer.ts +68 -0
  323. package/src/models/methods/submitMultisigned.ts +48 -16
  324. package/src/models/methods/tx.ts +74 -22
  325. package/src/models/transactions/MPTokenAuthorize.ts +67 -0
  326. package/src/models/transactions/MPTokenIssuanceCreate.ts +132 -0
  327. package/src/models/transactions/MPTokenIssuanceDestroy.ts +34 -0
  328. package/src/models/transactions/MPTokenIssuanceSet.ts +76 -0
  329. package/src/models/transactions/clawback.ts +29 -6
  330. package/src/models/transactions/common.ts +22 -1
  331. package/src/models/transactions/index.ts +17 -1
  332. package/src/models/transactions/metadata.ts +9 -3
  333. package/src/models/transactions/payment.ts +4 -4
  334. package/src/models/transactions/transaction.ts +33 -0
  335. package/src/models/utils/flags.ts +33 -1
  336. package/src/sugar/autofill.ts +4 -10
  337. package/src/sugar/getFeeXrp.ts +6 -3
  338. package/src/sugar/submit.ts +5 -3
  339. package/src/utils/hashes/hashLedger.ts +8 -5
  340. package/src/utils/index.ts +4 -1
  341. package/src/utils/mptConversion.ts +61 -0
@@ -1,6 +1,5 @@
1
1
  /* eslint-disable no-param-reassign -- param reassign is safe */
2
2
  /* eslint-disable no-bitwise -- flags require bitwise operations */
3
-
4
3
  import { ValidationError } from '../../errors'
5
4
  import {
6
5
  AccountRootFlagsInterface,
@@ -18,6 +17,9 @@ import { PaymentChannelClaimFlags } from '../transactions/paymentChannelClaim'
18
17
  import type { Transaction } from '../transactions/transaction'
19
18
  import { TrustSetFlags } from '../transactions/trustSet'
20
19
  import { XChainModifyBridgeFlags } from '../transactions/XChainModifyBridge'
20
+ import { MPTokenAuthorizeFlags } from '../transactions/MPTokenAuthorize'
21
+ import { MPTokenIssuanceCreateFlags } from '../transactions/MPTokenIssuanceCreate'
22
+ import { MPTokenIssuanceSetFlags } from '../transactions/MPTokenIssuanceSet'
21
23
 
22
24
  import { isFlagEnabled } from '.'
23
25
 
@@ -49,6 +51,9 @@ const txToFlag = {
49
51
  AccountSet: AccountSetTfFlags,
50
52
  AMMDeposit: AMMDepositFlags,
51
53
  AMMWithdraw: AMMWithdrawFlags,
54
+ MPTokenAuthorize: MPTokenAuthorizeFlags,
55
+ MPTokenIssuanceCreate: MPTokenIssuanceCreateFlags,
56
+ MPTokenIssuanceSet: MPTokenIssuanceSetFlags,
52
57
  NFTokenCreateOffer: NFTokenCreateOfferFlags,
53
58
  NFTokenMint: NFTokenMintFlags,
54
59
  OfferCreate: OfferCreateFlags,
@@ -90,3 +95,30 @@ function convertFlagsToNumber(flags: GlobalFlags, flagEnum: any): number {
90
95
  return flags[flag] ? resultFlags | flagEnum[flag] : resultFlags
91
96
  }, 0)
92
97
  }
98
+
99
+ /**
100
+ * Convert a Transaction flags property into a map for easy interpretation.
101
+ *
102
+ * @param tx - A transaction to parse flags for.
103
+ * @returns A map with all flags as booleans.
104
+ */
105
+ export function parseTransactionFlags(tx: Transaction): object {
106
+ setTransactionFlagsToNumber(tx)
107
+ if (typeof tx.Flags !== 'number' || !tx.Flags || tx.Flags === 0) {
108
+ return {}
109
+ }
110
+
111
+ const flags = tx.Flags
112
+ const flagsMap = {}
113
+
114
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe member access
115
+ const flagEnum = txToFlag[tx.TransactionType]
116
+ Object.values(flagEnum).forEach((flag) => {
117
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- safe member access
118
+ if (typeof flag === 'string' && isFlagEnabled(flags, flagEnum[flag])) {
119
+ flagsMap[flag] = true
120
+ }
121
+ })
122
+
123
+ return flagsMap
124
+ }
@@ -1,7 +1,7 @@
1
1
  import BigNumber from 'bignumber.js'
2
2
  import { xAddressToClassicAddress, isValidXAddress } from 'ripple-address-codec'
3
3
 
4
- import type { Client } from '..'
4
+ import { type Client } from '..'
5
5
  import { ValidationError, XrplError } from '../errors'
6
6
  import { AccountInfoRequest, AccountObjectsRequest } from '../models/methods'
7
7
  import { Transaction } from '../models/transactions'
@@ -17,7 +17,6 @@ const LEDGER_OFFSET = 20
17
17
  // Mainnet and testnet are exceptions. More context: https://github.com/XRPLF/rippled/pull/4370
18
18
  const RESTRICTED_NETWORKS = 1024
19
19
  const REQUIRED_NETWORKID_VERSION = '1.11.0'
20
- const HOOKS_TESTNET_ID = 21338
21
20
 
22
21
  /**
23
22
  * Determines whether the source rippled version is not later than the target rippled version.
@@ -87,8 +86,7 @@ function isNotLaterRippledVersion(source: string, target: string): boolean {
87
86
 
88
87
  /**
89
88
  * Determine if the transaction required a networkID to be valid.
90
- * Transaction needs networkID if later than restricted ID and either the network is hooks testnet
91
- * or build version is >= 1.11.0
89
+ * Transaction needs networkID if later than restricted ID and build version is >= 1.11.0
92
90
  *
93
91
  * @param client -- The connected client.
94
92
  * @returns True if required networkID, false otherwise.
@@ -99,12 +97,8 @@ export function txNeedsNetworkID(client: Client): boolean {
99
97
  client.networkID > RESTRICTED_NETWORKS
100
98
  ) {
101
99
  if (
102
- (client.buildVersion &&
103
- isNotLaterRippledVersion(
104
- REQUIRED_NETWORKID_VERSION,
105
- client.buildVersion,
106
- )) ||
107
- client.networkID === HOOKS_TESTNET_ID
100
+ client.buildVersion &&
101
+ isNotLaterRippledVersion(REQUIRED_NETWORKID_VERSION, client.buildVersion)
108
102
  ) {
109
103
  return true
110
104
  }
@@ -1,6 +1,6 @@
1
1
  import BigNumber from 'bignumber.js'
2
2
 
3
- import type { Client } from '..'
3
+ import { type Client } from '..'
4
4
  import { XrplError } from '../errors'
5
5
 
6
6
  const NUM_DECIMAL_PLACES = 6
@@ -20,8 +20,11 @@ export default async function getFeeXrp(
20
20
  ): Promise<string> {
21
21
  const feeCushion = cushion ?? client.feeCushion
22
22
 
23
- const serverInfo = (await client.request({ command: 'server_info' })).result
24
- .info
23
+ const serverInfo = (
24
+ await client.request({
25
+ command: 'server_info',
26
+ })
27
+ ).result.info
25
28
 
26
29
  const baseFee = serverInfo.validated_ledger?.base_fee_xrp
27
30
 
@@ -10,7 +10,7 @@ import type {
10
10
  } from '..'
11
11
  import { ValidationError, XrplError } from '../errors'
12
12
  import { Signer } from '../models/common'
13
- import { TxRequest, TxResponse } from '../models/methods'
13
+ import { TxResponse } from '../models/methods'
14
14
  import { BaseTransaction } from '../models/transactions/common'
15
15
 
16
16
  /** Approximate time for a ledger to close, in milliseconds */
@@ -129,7 +129,7 @@ export async function waitForFinalTransactionOutcome<
129
129
  }
130
130
 
131
131
  const txResponse = await client
132
- .request<TxRequest, TxResponse<T>>({
132
+ .request({
133
133
  command: 'tx',
134
134
  transaction: txHash,
135
135
  })
@@ -153,7 +153,9 @@ export async function waitForFinalTransactionOutcome<
153
153
  })
154
154
 
155
155
  if (txResponse.result.validated) {
156
- return txResponse
156
+ // TODO: resolve the type assertion below
157
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- we know that txResponse is of type TxResponse
158
+ return txResponse as TxResponse<T>
157
159
  }
158
160
 
159
161
  return waitForFinalTransactionOutcome<T>(
@@ -8,8 +8,9 @@ import BigNumber from 'bignumber.js'
8
8
  import { decode, encode } from 'ripple-binary-codec'
9
9
 
10
10
  import { ValidationError, XrplError } from '../../errors'
11
- import type { Ledger } from '../../models/ledger'
11
+ import { APIVersion } from '../../models'
12
12
  import { LedgerEntry } from '../../models/ledger'
13
+ import { LedgerVersionMap } from '../../models/ledger/Ledger'
13
14
  import { Transaction, TransactionMetadata } from '../../models/transactions'
14
15
 
15
16
  import HashPrefix from './HashPrefix'
@@ -99,7 +100,9 @@ export function hashSignedTx(tx: Transaction | string): string {
99
100
  * @returns The hash of the ledger.
100
101
  * @category Utilities
101
102
  */
102
- export function hashLedgerHeader(ledgerHeader: Ledger): string {
103
+ export function hashLedgerHeader(
104
+ ledgerHeader: LedgerVersionMap<APIVersion>,
105
+ ): string {
103
106
  const prefix = HashPrefix.LEDGER.toString(HEX).toUpperCase()
104
107
 
105
108
  const ledger =
@@ -158,7 +161,7 @@ export function hashStateTree(entries: LedgerEntry[]): string {
158
161
  }
159
162
 
160
163
  function computeTransactionHash(
161
- ledger: Ledger,
164
+ ledger: LedgerVersionMap<APIVersion>,
162
165
  options: HashLedgerHeaderOptions,
163
166
  ): string {
164
167
  const { transaction_hash } = ledger
@@ -188,7 +191,7 @@ function computeTransactionHash(
188
191
  }
189
192
 
190
193
  function computeStateHash(
191
- ledger: Ledger,
194
+ ledger: LedgerVersionMap<APIVersion>,
192
195
  options: HashLedgerHeaderOptions,
193
196
  ): string {
194
197
  const { account_hash } = ledger
@@ -222,7 +225,7 @@ function computeStateHash(
222
225
  * @category Utilities
223
226
  */
224
227
  function hashLedger(
225
- ledger: Ledger,
228
+ ledger: LedgerVersionMap<APIVersion>,
226
229
  options: {
227
230
  computeTreeHashes?: boolean
228
231
  } = {},
@@ -23,6 +23,7 @@ import {
23
23
  } from 'ripple-binary-codec'
24
24
  import { verify as verifyKeypairSignature } from 'ripple-keypairs'
25
25
 
26
+ import type { APIVersion } from '../models'
26
27
  import { LedgerEntry } from '../models/ledger'
27
28
  import { Response } from '../models/methods'
28
29
  import { PaymentChannelClaim } from '../models/transactions/paymentChannelClaim'
@@ -65,6 +66,7 @@ import {
65
66
  } from './timeConversion'
66
67
  import verifyPaymentChannelClaim from './verifyPaymentChannelClaim'
67
68
  import { xrpToDrops, dropsToXrp } from './xrpConversion'
69
+ import { mptUint64ToHex } from './mptConversion'
68
70
 
69
71
  /**
70
72
  * Check if a secret is valid.
@@ -157,7 +159,7 @@ function isValidAddress(address: string): boolean {
157
159
  * @returns Whether the response has more pages of data.
158
160
  * @category Utilities
159
161
  */
160
- function hasNextPage(response: Response): boolean {
162
+ function hasNextPage(response: Response<APIVersion>): boolean {
161
163
  // eslint-disable-next-line @typescript-eslint/dot-notation -- only checking if it exists
162
164
  return Boolean(response.result['marker'])
163
165
  }
@@ -228,4 +230,5 @@ export {
228
230
  getNFTokenID,
229
231
  parseNFTokenID,
230
232
  getXChainClaimID,
233
+ mptUint64ToHex,
231
234
  }
@@ -0,0 +1,61 @@
1
+ import BigNumber from 'bignumber.js'
2
+ import { ValidationError } from '../errors'
3
+
4
+ const SANITY_CHECK = /^[0-9]+$/u
5
+
6
+ /**
7
+ * Convert an unsigned 64-bit decimal string to hex string. Mostly used for the MaximumAmount field
8
+ * in MPTokenIssuanceCreate.
9
+ *
10
+ * @param numberToConvert - Non-negative number string.
11
+ * @returns Amount in hex string.
12
+ * @throws When amount is invalid.
13
+ * @category Utilities
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const decimalString = mptUint64ToHex("1000");
18
+ * console.log(decimalString); // Output: "3e8"
19
+ *
20
+ * const hexString = mptUint64ToHex("0x3e8");
21
+ * console.log(hexString); // Output: "3e8"
22
+ * ```
23
+ */
24
+ export function mptUint64ToHex(numberToConvert: string): string {
25
+ // convert to base 10 string first for inputs like scientific notation
26
+ const number = new BigNumber(numberToConvert).toString(10)
27
+
28
+ // check that the value is valid and actually a number
29
+ if (typeof numberToConvert === 'string' && number === 'NaN') {
30
+ throw new ValidationError(
31
+ `mptUint64ToHex: invalid value '${numberToConvert}', should be a string-encoded number.`,
32
+ )
33
+ }
34
+
35
+ // mpts are only whole units
36
+ if (number.includes('.')) {
37
+ throw new ValidationError(
38
+ `mptUint64ToHex: value '${numberToConvert}' has too many decimal places.`,
39
+ )
40
+ }
41
+ if (number.includes('-')) {
42
+ throw new ValidationError(
43
+ `mptUint64ToHex: value '${numberToConvert}' cannot be negative.`,
44
+ )
45
+ }
46
+
47
+ if (!SANITY_CHECK.exec(number)) {
48
+ throw new ValidationError(
49
+ `mptUint64ToHex: failed sanity check -` +
50
+ ` value '${numberToConvert}',` +
51
+ ` does not match (^[0-9]+$).`,
52
+ )
53
+ }
54
+
55
+ if (Number(BigInt(number) & BigInt('0x8000000000000000')) != 0)
56
+ throw new ValidationError(
57
+ `mptUint64ToHex: invalid value '${numberToConvert}', should be within 63-bit range.`,
58
+ )
59
+
60
+ return BigInt(number).toString(16)
61
+ }