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,4 +1,5 @@
1
- import { Ledger } from '../ledger'
1
+ import { APIVersion, DEFAULT_API_VERSION, RIPPLED_API_V1 } from '../common'
2
+ import { Ledger, LedgerV1, LedgerVersionMap } from '../ledger/Ledger'
2
3
  import { LedgerEntryFilter } from '../ledger/LedgerEntry'
3
4
  import { Transaction, TransactionAndMetadata } from '../transactions'
4
5
  import { TransactionMetadata } from '../transactions/metadata'
@@ -207,6 +208,12 @@ export interface LedgerBinary
207
208
  transactions?: string[]
208
209
  }
209
210
 
211
+ export interface LedgerBinaryV1
212
+ extends Omit<Omit<LedgerV1, 'transactions'>, 'accountState'> {
213
+ accountState?: string[]
214
+ transactions?: string[]
215
+ }
216
+
210
217
  interface LedgerResponseBase {
211
218
  /** Unique identifying hash of the entire ledger. */
212
219
  ledger_hash: string
@@ -231,6 +238,11 @@ interface LedgerResponseResult extends LedgerResponseBase {
231
238
  ledger: LedgerBinary
232
239
  }
233
240
 
241
+ interface LedgerV1ResponseResult extends LedgerResponseBase {
242
+ /** The complete header data of this {@link Ledger}. */
243
+ ledger: LedgerBinaryV1
244
+ }
245
+
234
246
  /**
235
247
  * Response expected from a {@link LedgerRequest}.
236
248
  * This is the default request response, triggered when `expand` and `binary` are both false.
@@ -241,9 +253,31 @@ export interface LedgerResponse extends BaseResponse {
241
253
  result: LedgerResponseResult
242
254
  }
243
255
 
244
- interface LedgerResponseExpandedResult extends LedgerResponseBase {
256
+ /**
257
+ * Response expected from a {@link LedgerRequest}.
258
+ * This is the default request response, triggered when `expand` and `binary` are both false.
259
+ * This is the response for API version 1.
260
+ *
261
+ * @category ResponsesV1
262
+ */
263
+ export interface LedgerV1Response extends BaseResponse {
264
+ result: LedgerV1ResponseResult
265
+ }
266
+
267
+ /**
268
+ * Type to map between the API version and the response type.
269
+ *
270
+ * @category Responses
271
+ */
272
+ export type LedgerVersionResponseMap<
273
+ Version extends APIVersion = typeof DEFAULT_API_VERSION,
274
+ > = Version extends typeof RIPPLED_API_V1 ? LedgerV1Response : LedgerResponse
275
+
276
+ interface LedgerResponseExpandedResult<
277
+ Version extends APIVersion = typeof DEFAULT_API_VERSION,
278
+ > extends LedgerResponseBase {
245
279
  /** The complete header data of this {@link Ledger}. */
246
- ledger: Ledger
280
+ ledger: LedgerVersionMap<Version>
247
281
  }
248
282
 
249
283
  /**
@@ -254,6 +288,8 @@ interface LedgerResponseExpandedResult extends LedgerResponseBase {
254
288
  *
255
289
  * @category Responses
256
290
  */
257
- export interface LedgerResponseExpanded extends BaseResponse {
258
- result: LedgerResponseExpandedResult
291
+ export interface LedgerResponseExpanded<
292
+ Version extends APIVersion = typeof DEFAULT_API_VERSION,
293
+ > extends BaseResponse {
294
+ result: LedgerResponseExpandedResult<Version>
259
295
  }
@@ -21,6 +21,22 @@ import { BaseRequest, BaseResponse, LookupByLedgerRequest } from './baseMethod'
21
21
  */
22
22
  export interface LedgerEntryRequest extends BaseRequest, LookupByLedgerRequest {
23
23
  command: 'ledger_entry'
24
+
25
+ /**
26
+ * Retrieve a MPTokenIssuance object from the ledger.
27
+ */
28
+ mpt_issuance?: string
29
+
30
+ /**
31
+ * Retrieve a MPToken object from the ledger.
32
+ */
33
+ mptoken?:
34
+ | {
35
+ mpt_issuance_id: string
36
+ account: string
37
+ }
38
+ | string
39
+
24
40
  /**
25
41
  * Retrieve an Automated Market Maker (AMM) object from the ledger.
26
42
  * This is similar to amm_info method, but the ledger_entry version returns only the ledger entry as stored.
@@ -0,0 +1,68 @@
1
+ import { NFToken } from '../common'
2
+
3
+ import { BaseRequest, BaseResponse, LookupByLedgerRequest } from './baseMethod'
4
+
5
+ /**
6
+ * The nfts_by_issuer method returns a list of NFTokens issued by the account.
7
+ * The order of the NFTs is not associated with the date the NFTs were minted.
8
+ * Expects a response in the form of a {@link
9
+ * NFTsByIssuerResponse}.
10
+ *
11
+ * @category Requests
12
+ */
13
+ export interface NFTsByIssuerRequest
14
+ extends BaseRequest,
15
+ LookupByLedgerRequest {
16
+ command: 'nfts_by_issuer'
17
+ /**
18
+ * A unique identifier for the account, most commonly the account's address
19
+ */
20
+ issuer: string
21
+ /**
22
+ * Value from a previous paginated response. Resume retrieving data where
23
+ * that response left off. This value is stable even if there is a change in
24
+ * the server's range of available ledgers.
25
+ */
26
+ marker?: unknown
27
+ /**
28
+ * Filter NFTs issued by this issuer that have this taxon.
29
+ */
30
+ nft_taxon?: number
31
+ /**
32
+ * Default varies. Limit the number of transactions to retrieve. The server
33
+ * is not required to honor this value.
34
+ */
35
+ limit?: number
36
+ }
37
+
38
+ /**
39
+ * Expected response from an {@link NFTsByIssuerRequest}.
40
+ *
41
+ * @category Responses
42
+ */
43
+ export interface NFTsByIssuerResponse extends BaseResponse {
44
+ result: {
45
+ /**
46
+ * The unique identifier for the account, most commonly the account's address
47
+ */
48
+ issuer: string
49
+ /**
50
+ * A list of NFTs issued by the account.
51
+ * The order of the NFTs is not associated with the date the NFTs were minted.
52
+ */
53
+ nfts: NFToken[]
54
+ /**
55
+ * Server-defined value indicating the response is paginated. Pass this
56
+ * to the next call to resume where this call left off.
57
+ */
58
+ marker?: unknown
59
+ /**
60
+ * The limit value used in the request.
61
+ */
62
+ limit?: number
63
+ /**
64
+ * Use to filter NFTs issued by this issuer that have this taxon.
65
+ */
66
+ nft_taxon?: number
67
+ }
68
+ }
@@ -1,3 +1,4 @@
1
+ import { APIVersion, DEFAULT_API_VERSION, RIPPLED_API_V1 } from '../common'
1
2
  import { Transaction } from '../transactions'
2
3
 
3
4
  import { BaseRequest, BaseResponse } from './baseMethod'
@@ -24,28 +25,59 @@ export interface SubmitMultisignedRequest extends BaseRequest {
24
25
  fail_hard?: boolean
25
26
  }
26
27
 
28
+ /**
29
+ * Common properties for multisigned transaction responses.
30
+ *
31
+ * @category Responses
32
+ */
33
+ interface BaseSubmitMultisignedResult {
34
+ /**
35
+ * Code indicating the preliminary result of the transaction, for example.
36
+ * `tesSUCCESS`.
37
+ */
38
+ engine_result: string
39
+ /**
40
+ * Numeric code indicating the preliminary result of the transaction,
41
+ * directly correlated to `engine_result`.
42
+ */
43
+ engine_result_code: number
44
+ /** Human-readable explanation of the preliminary transaction result. */
45
+ engine_result_message: string
46
+ /** The complete transaction in hex string format. */
47
+ tx_blob: string
48
+ /** The complete transaction in JSON format. */
49
+ tx_json: Transaction
50
+ }
51
+
27
52
  /**
28
53
  * Response expected from a {@link SubmitMultisignedRequest}.
29
54
  *
30
55
  * @category Responses
31
56
  */
32
57
  export interface SubmitMultisignedResponse extends BaseResponse {
33
- result: {
34
- /**
35
- * Code indicating the preliminary result of the transaction, for example.
36
- * `tesSUCCESS` .
37
- */
38
- engine_result: string
39
- /**
40
- * Numeric code indicating the preliminary result of the transaction,
41
- * directly correlated to `engine_result`.
42
- */
43
- engine_result_code: number
44
- /** Human-readable explanation of the preliminary transaction result. */
45
- engine_result_message: string
46
- /** The complete transaction in hex string format. */
47
- tx_blob: string
48
- /** The complete transaction in JSON format. */
58
+ result: BaseSubmitMultisignedResult & {
59
+ hash?: string
60
+ }
61
+ }
62
+
63
+ /**
64
+ * Response expected from a {@link SubmitMultisignedRequest} using api_version 1.
65
+ *
66
+ * @category ResponsesV1
67
+ */
68
+ export interface SubmitMultisignedV1Response extends BaseResponse {
69
+ result: BaseSubmitMultisignedResult & {
49
70
  tx_json: Transaction & { hash?: string }
50
71
  }
51
72
  }
73
+
74
+ /**
75
+ * Type to map between the API version and the response type.
76
+ *
77
+ * @category Responses
78
+ */
79
+ export type SubmitMultisignedVersionResponseMap<
80
+ Version extends APIVersion = typeof DEFAULT_API_VERSION,
81
+ > = Version extends typeof RIPPLED_API_V1
82
+ ? SubmitMultisignedV1Response
83
+ : SubmitMultisignedResponse
@@ -1,3 +1,9 @@
1
+ import {
2
+ APIVersion,
3
+ DEFAULT_API_VERSION,
4
+ RIPPLED_API_V1,
5
+ RIPPLED_API_V2,
6
+ } from '../common'
1
7
  import { Transaction, TransactionMetadata } from '../transactions'
2
8
  import { BaseTransaction } from '../transactions/common'
3
9
 
@@ -41,6 +47,47 @@ export interface TxRequest extends BaseRequest {
41
47
  max_ledger?: number
42
48
  }
43
49
 
50
+ /**
51
+ * Common properties of transaction responses.
52
+ *
53
+ * @category Responses
54
+ */
55
+ interface BaseTxResult<
56
+ Version extends APIVersion = typeof DEFAULT_API_VERSION,
57
+ T extends BaseTransaction = Transaction,
58
+ > {
59
+ /** The SHA-512 hash of the transaction. */
60
+ hash: string
61
+ /**
62
+ * The Concise Transaction Identifier of the transaction (16-byte hex string)
63
+ */
64
+ ctid?: string
65
+ /** The ledger index of the ledger that includes this transaction. */
66
+ ledger_index?: number
67
+ /** Unique hashed string Transaction metadata blob, which describes the results of the transaction.
68
+ * Can be undefined if a transaction has not been validated yet. This field is omitted if binary
69
+ * binary format is not requested. */
70
+ meta_blob?: Version extends typeof RIPPLED_API_V2
71
+ ? TransactionMetadata<T> | string
72
+ : never
73
+ /** Transaction metadata, which describes the results of the transaction.
74
+ * Can be undefined if a transaction has not been validated yet. */
75
+ meta?: TransactionMetadata<T> | string
76
+ /**
77
+ * If true, this data comes from a validated ledger version; if omitted or.
78
+ * Set to false, this data is not final.
79
+ */
80
+ validated?: boolean
81
+ /**
82
+ * The time the transaction was closed, in seconds since the Ripple Epoch.
83
+ */
84
+ close_time_iso?: string
85
+ /**
86
+ * This number measures the number of seconds since the "Ripple Epoch" of January 1, 2000 (00:00 UTC)
87
+ */
88
+ date?: number
89
+ }
90
+
44
91
  /**
45
92
  * Response expected from a {@link TxRequest}.
46
93
  *
@@ -48,28 +95,7 @@ export interface TxRequest extends BaseRequest {
48
95
  */
49
96
  export interface TxResponse<T extends BaseTransaction = Transaction>
50
97
  extends BaseResponse {
51
- result: {
52
- /** The SHA-512 hash of the transaction. */
53
- hash: string
54
- /**
55
- * The Concise Transaction Identifier of the transaction (16-byte hex string)
56
- */
57
- ctid?: string
58
- /** The ledger index of the ledger that includes this transaction. */
59
- ledger_index?: number
60
- /** Transaction metadata, which describes the results of the transaction.
61
- * Can be undefined if a transaction has not been validated yet. */
62
- meta?: TransactionMetadata<T> | string
63
- /**
64
- * If true, this data comes from a validated ledger version; if omitted or.
65
- * Set to false, this data is not final.
66
- */
67
- validated?: boolean
68
- /**
69
- * This number measures the number of seconds since the "Ripple Epoch" of January 1, 2000 (00:00 UTC)
70
- */
71
- date?: number
72
- } & T
98
+ result: BaseTxResult<typeof RIPPLED_API_V2, T> & { tx_json: T }
73
99
  /**
74
100
  * If true, the server was able to search all of the specified ledger
75
101
  * versions, and the transaction was in none of them. If false, the server did
@@ -78,3 +104,29 @@ export interface TxResponse<T extends BaseTransaction = Transaction>
78
104
  */
79
105
  searched_all?: boolean
80
106
  }
107
+
108
+ /**
109
+ * Response expected from a {@link TxRequest} using API version 1.
110
+ *
111
+ * @category ResponsesV1
112
+ */
113
+ export interface TxV1Response<T extends BaseTransaction = Transaction>
114
+ extends BaseResponse {
115
+ result: BaseTxResult<typeof RIPPLED_API_V1, T> & T
116
+ /**
117
+ * If true, the server was able to search all of the specified ledger
118
+ * versions, and the transaction was in none of them. If false, the server did
119
+ * not have all of the specified ledger versions available, so it is not sure.
120
+ * If one of them might contain the transaction.
121
+ */
122
+ searched_all?: boolean
123
+ }
124
+
125
+ /**
126
+ * Type to map between the API version and the response type.
127
+ *
128
+ * @category Responses
129
+ */
130
+ export type TxVersionResponseMap<
131
+ Version extends APIVersion = typeof DEFAULT_API_VERSION,
132
+ > = Version extends typeof RIPPLED_API_V1 ? TxV1Response : TxResponse
@@ -21,6 +21,7 @@ export enum AMMDepositFlags {
21
21
  tfTwoAsset = 0x00100000,
22
22
  tfOneAssetLPToken = 0x00200000,
23
23
  tfLimitLPToken = 0x00400000,
24
+ tfTwoAssetIfEmpty = 0x00800000,
24
25
  }
25
26
 
26
27
  export interface AMMDepositFlagsInterface extends GlobalFlags {
@@ -29,6 +30,7 @@ export interface AMMDepositFlagsInterface extends GlobalFlags {
29
30
  tfTwoAsset?: boolean
30
31
  tfOneAssetLPToken?: boolean
31
32
  tfLimitLPToken?: boolean
33
+ tfTwoAssetIfEmpty?: boolean
32
34
  }
33
35
 
34
36
  /**
@@ -0,0 +1,67 @@
1
+ import {
2
+ BaseTransaction,
3
+ isString,
4
+ validateBaseTransaction,
5
+ validateRequiredField,
6
+ Account,
7
+ validateOptionalField,
8
+ isAccount,
9
+ GlobalFlags,
10
+ } from './common'
11
+
12
+ /**
13
+ * Transaction Flags for an MPTokenAuthorize Transaction.
14
+ *
15
+ * @category Transaction Flags
16
+ */
17
+ export enum MPTokenAuthorizeFlags {
18
+ /**
19
+ * If set and transaction is submitted by a holder, it indicates that the holder no
20
+ * longer wants to hold the MPToken, which will be deleted as a result. If the the holder's
21
+ * MPToken has non-zero balance while trying to set this flag, the transaction will fail. On
22
+ * the other hand, if set and transaction is submitted by an issuer, it would mean that the
23
+ * issuer wants to unauthorize the holder (only applicable for allow-listing),
24
+ * which would unset the lsfMPTAuthorized flag on the MPToken.
25
+ */
26
+ tfMPTUnauthorize = 0x00000001,
27
+ }
28
+
29
+ /**
30
+ * Map of flags to boolean values representing {@link MPTokenAuthorize} transaction
31
+ * flags.
32
+ *
33
+ * @category Transaction Flags
34
+ */
35
+ export interface MPTokenAuthorizeFlagsInterface extends GlobalFlags {
36
+ tfMPTUnauthorize?: boolean
37
+ }
38
+
39
+ /**
40
+ * The MPTokenAuthorize transaction is used to globally lock/unlock a MPTokenIssuance,
41
+ * or lock/unlock an individual's MPToken.
42
+ */
43
+ export interface MPTokenAuthorize extends BaseTransaction {
44
+ TransactionType: 'MPTokenAuthorize'
45
+ /**
46
+ * Identifies the MPTokenIssuance
47
+ */
48
+ MPTokenIssuanceID: string
49
+ /**
50
+ * An optional XRPL Address of an individual token holder balance to lock/unlock.
51
+ * If omitted, this transaction will apply to all any accounts holding MPTs.
52
+ */
53
+ MPTokenHolder?: Account
54
+ Flags?: number | MPTokenAuthorizeFlagsInterface
55
+ }
56
+
57
+ /**
58
+ * Verify the form and type of an MPTokenAuthorize at runtime.
59
+ *
60
+ * @param tx - An MPTokenAuthorize Transaction.
61
+ * @throws When the MPTokenAuthorize is Malformed.
62
+ */
63
+ export function validateMPTokenAuthorize(tx: Record<string, unknown>): void {
64
+ validateBaseTransaction(tx)
65
+ validateRequiredField(tx, 'MPTokenIssuanceID', isString)
66
+ validateOptionalField(tx, 'MPTokenHolder', isAccount)
67
+ }
@@ -0,0 +1,132 @@
1
+ import { ValidationError } from '../../errors'
2
+ import { isHex } from '../utils'
3
+
4
+ import { BaseTransaction, GlobalFlags, validateBaseTransaction } from './common'
5
+ import type { TransactionMetadataBase } from './metadata'
6
+
7
+ /**
8
+ * Transaction Flags for an MPTokenIssuanceCreate Transaction.
9
+ *
10
+ * @category Transaction Flags
11
+ */
12
+ export enum MPTokenIssuanceCreateFlags {
13
+ /**
14
+ * If set, indicates that the MPT can be locked both individually and globally.
15
+ * If not set, the MPT cannot be locked in any way.
16
+ */
17
+ tfMPTCanLock = 0x00000002,
18
+ /**
19
+ * If set, indicates that individual holders must be authorized.
20
+ * This enables issuers to limit who can hold their assets.
21
+ */
22
+ tfMPTRequireAuth = 0x00000004,
23
+ /**
24
+ * If set, indicates that individual holders can place their balances into an escrow.
25
+ */
26
+ tfMPTCanEscrow = 0x00000008,
27
+ /**
28
+ * If set, indicates that individual holders can trade their balances
29
+ * using the XRP Ledger DEX or AMM.
30
+ */
31
+ tfMPTCanTrade = 0x00000010,
32
+ /**
33
+ * If set, indicates that tokens may be transferred to other accounts
34
+ * that are not the issuer.
35
+ */
36
+ tfMPTCanTransfer = 0x00000020,
37
+ /**
38
+ * If set, indicates that the issuer may use the Clawback transaction
39
+ * to clawback value from individual holders.
40
+ */
41
+ tfMPTCanClawback = 0x00000040,
42
+ }
43
+
44
+ /**
45
+ * Map of flags to boolean values representing {@link MPTokenIssuanceCreate} transaction
46
+ * flags.
47
+ *
48
+ * @category Transaction Flags
49
+ */
50
+ export interface MPTokenIssuanceCreateFlagsInterface extends GlobalFlags {
51
+ tfMPTCanLock?: boolean
52
+ tfMPTRequireAuth?: boolean
53
+ tfMPTCanEscrow?: boolean
54
+ tfMPTCanTrade?: boolean
55
+ tfMPTCanTransfer?: boolean
56
+ tfMPTCanClawback?: boolean
57
+ }
58
+
59
+ /**
60
+ * The MPTokenIssuanceCreate transaction creates a MPTokenIssuance object
61
+ * and adds it to the relevant directory node of the creator account.
62
+ * This transaction is the only opportunity an issuer has to specify any token fields
63
+ * that are defined as immutable (e.g., MPT Flags). If the transaction is successful,
64
+ * the newly created token will be owned by the account (the creator account) which
65
+ * executed the transaction.
66
+ */
67
+ export interface MPTokenIssuanceCreate extends BaseTransaction {
68
+ TransactionType: 'MPTokenIssuanceCreate'
69
+ /**
70
+ * An asset scale is the difference, in orders of magnitude, between a standard unit and
71
+ * a corresponding fractional unit. More formally, the asset scale is a non-negative integer
72
+ * (0, 1, 2, …) such that one standard unit equals 10^(-scale) of a corresponding
73
+ * fractional unit. If the fractional unit equals the standard unit, then the asset scale is 0.
74
+ * Note that this value is optional, and will default to 0 if not supplied.
75
+ */
76
+ AssetScale?: number
77
+ /**
78
+ * Specifies the hex-encoded maximum asset amount of this token that should ever be issued.
79
+ * It is a non-negative integer that can store a range of up to 63 bits. If not set, the max
80
+ * amount will default to the largest unsigned 63-bit integer (0x7FFFFFFFFFFFFFFF)
81
+ *
82
+ * Helper function `mptUint64ToHex` can be used to help converting from base 10 or 16 string
83
+ * to a valid value.
84
+ *
85
+ * Example:
86
+ * ```
87
+ * MaximumAmount: '3e8' // 0x3E8 in hex or 1000 in decimal
88
+ * MaximumAmount: mptUint64ToHex('1000') // 1000 in decimal using helper function
89
+ * ```
90
+ */
91
+ MaximumAmount?: string
92
+ /**
93
+ * Specifies the fee to charged by the issuer for secondary sales of the Token,
94
+ * if such sales are allowed. Valid values for this field are between 0 and 50,000 inclusive,
95
+ * allowing transfer rates of between 0.000% and 50.000% in increments of 0.001.
96
+ * The field must NOT be present if the `tfMPTCanTransfer` flag is not set.
97
+ */
98
+ TransferFee?: number
99
+ /**
100
+ * Arbitrary metadata about this issuance, in hex format.
101
+ */
102
+ MPTokenMetadata?: string | null
103
+ Flags?: number | MPTokenIssuanceCreateFlagsInterface
104
+ }
105
+
106
+ export interface MPTokenIssuanceCreateMetadata extends TransactionMetadataBase {
107
+ mpt_issuance_id?: string
108
+ }
109
+
110
+ /**
111
+ * Verify the form and type of an MPTokenIssuanceCreate at runtime.
112
+ *
113
+ * @param tx - An MPTokenIssuanceCreate Transaction.
114
+ * @throws When the MPTokenIssuanceCreate is Malformed.
115
+ */
116
+ export function validateMPTokenIssuanceCreate(
117
+ tx: Record<string, unknown>,
118
+ ): void {
119
+ validateBaseTransaction(tx)
120
+
121
+ if (typeof tx.MPTokenMetadata === 'string' && tx.MPTokenMetadata === '') {
122
+ throw new ValidationError(
123
+ 'MPTokenIssuanceCreate: MPTokenMetadata must not be empty string',
124
+ )
125
+ }
126
+
127
+ if (typeof tx.MPTokenMetadata === 'string' && !isHex(tx.MPTokenMetadata)) {
128
+ throw new ValidationError(
129
+ 'MPTokenIssuanceCreate: MPTokenMetadata must be in hex format',
130
+ )
131
+ }
132
+ }
@@ -0,0 +1,34 @@
1
+ import {
2
+ BaseTransaction,
3
+ isString,
4
+ validateBaseTransaction,
5
+ validateRequiredField,
6
+ } from './common'
7
+
8
+ /**
9
+ * The MPTokenIssuanceDestroy transaction is used to remove an MPTokenIssuance object
10
+ * from the directory node in which it is being held, effectively removing the token
11
+ * from the ledger. If this operation succeeds, the corresponding
12
+ * MPTokenIssuance is removed and the owner’s reserve requirement is reduced by one.
13
+ * This operation must fail if there are any holders who have non-zero balances.
14
+ */
15
+ export interface MPTokenIssuanceDestroy extends BaseTransaction {
16
+ TransactionType: 'MPTokenIssuanceDestroy'
17
+ /**
18
+ * Identifies the MPTokenIssuance object to be removed by the transaction.
19
+ */
20
+ MPTokenIssuanceID: string
21
+ }
22
+
23
+ /**
24
+ * Verify the form and type of an MPTokenIssuanceDestroy at runtime.
25
+ *
26
+ * @param tx - An MPTokenIssuanceDestroy Transaction.
27
+ * @throws When the MPTokenIssuanceDestroy is Malformed.
28
+ */
29
+ export function validateMPTokenIssuanceDestroy(
30
+ tx: Record<string, unknown>,
31
+ ): void {
32
+ validateBaseTransaction(tx)
33
+ validateRequiredField(tx, 'MPTokenIssuanceID', isString)
34
+ }
@@ -0,0 +1,76 @@
1
+ import {
2
+ BaseTransaction,
3
+ isString,
4
+ validateBaseTransaction,
5
+ validateRequiredField,
6
+ Account,
7
+ validateOptionalField,
8
+ isAccount,
9
+ GlobalFlags,
10
+ } from './common'
11
+ import { ValidationError } from '../../errors'
12
+
13
+ /**
14
+ * Transaction Flags for an MPTokenIssuanceSet Transaction.
15
+ *
16
+ * @category Transaction Flags
17
+ */
18
+ export enum MPTokenIssuanceSetFlags {
19
+ /**
20
+ * If set, indicates that issuer locks the MPT
21
+ */
22
+ tfMPTLock = 0x00000001,
23
+ /**
24
+ * If set, indicates that issuer unlocks the MPT
25
+ */
26
+ tfMPTUnlock = 0x00000002,
27
+ }
28
+
29
+ /**
30
+ * Map of flags to boolean values representing {@link MPTokenIssuanceSet} transaction
31
+ * flags.
32
+ *
33
+ * @category Transaction Flags
34
+ */
35
+ export interface MPTokenIssuanceSetFlagsInterface extends GlobalFlags {
36
+ tfMPTLock?: boolean
37
+ tfMPTUnlock?: boolean
38
+ }
39
+
40
+ /**
41
+ * The MPTokenIssuanceSet transaction is used to globally lock/unlock a MPTokenIssuance,
42
+ * or lock/unlock an individual's MPToken.
43
+ */
44
+ export interface MPTokenIssuanceSet extends BaseTransaction {
45
+ TransactionType: 'MPTokenIssuanceSet'
46
+ /**
47
+ * Identifies the MPTokenIssuance
48
+ */
49
+ MPTokenIssuanceID: string
50
+ /**
51
+ * An optional XRPL Address of an individual token holder balance to lock/unlock.
52
+ * If omitted, this transaction will apply to all any accounts holding MPTs.
53
+ */
54
+ MPTokenHolder?: Account
55
+ Flags?: number | MPTokenIssuanceSetFlagsInterface
56
+ }
57
+
58
+ /**
59
+ * Verify the form and type of an MPTokenIssuanceSet at runtime.
60
+ *
61
+ * @param tx - An MPTokenIssuanceSet Transaction.
62
+ * @throws When the MPTokenIssuanceSet is Malformed.
63
+ */
64
+ export function validateMPTokenIssuanceSet(tx: Record<string, unknown>): void {
65
+ validateBaseTransaction(tx)
66
+ validateRequiredField(tx, 'MPTokenIssuanceID', isString)
67
+ validateOptionalField(tx, 'MPTokenHolder', isAccount)
68
+
69
+ const flags = tx.Flags as number
70
+ if (
71
+ BigInt(flags) & BigInt(MPTokenIssuanceSetFlags.tfMPTLock) &&
72
+ BigInt(flags) & BigInt(MPTokenIssuanceSetFlags.tfMPTUnlock)
73
+ ) {
74
+ throw new ValidationError('MPTokenIssuanceSet: flag conflict')
75
+ }
76
+ }