xrpl 4.0.1-mpt-beta → 4.2.0-batch.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (479) hide show
  1. package/README.md +1 -1
  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 +2986 -824
  5. package/build/xrpl-latest.js.map +1 -1
  6. package/dist/npm/Wallet/batchSigner.d.ts +8 -0
  7. package/dist/npm/Wallet/batchSigner.d.ts.map +1 -0
  8. package/dist/npm/Wallet/batchSigner.js +124 -0
  9. package/dist/npm/Wallet/batchSigner.js.map +1 -0
  10. package/dist/npm/Wallet/defaultFaucets.d.ts +2 -1
  11. package/dist/npm/Wallet/defaultFaucets.d.ts.map +1 -1
  12. package/dist/npm/Wallet/defaultFaucets.js +5 -0
  13. package/dist/npm/Wallet/defaultFaucets.js.map +1 -1
  14. package/dist/npm/Wallet/index.d.ts.map +1 -1
  15. package/dist/npm/Wallet/index.js +8 -2
  16. package/dist/npm/Wallet/index.js.map +1 -1
  17. package/dist/npm/client/RequestManager.d.ts.map +1 -1
  18. package/dist/npm/client/RequestManager.js +3 -3
  19. package/dist/npm/client/RequestManager.js.map +1 -1
  20. package/dist/npm/client/connection.d.ts.map +1 -1
  21. package/dist/npm/client/connection.js.map +1 -1
  22. package/dist/npm/client/index.d.ts +4 -0
  23. package/dist/npm/client/index.d.ts.map +1 -1
  24. package/dist/npm/client/index.js +16 -9
  25. package/dist/npm/client/index.js.map +1 -1
  26. package/dist/npm/client/partialPayment.d.ts +2 -2
  27. package/dist/npm/client/partialPayment.d.ts.map +1 -1
  28. package/dist/npm/client/partialPayment.js +4 -5
  29. package/dist/npm/client/partialPayment.js.map +1 -1
  30. package/dist/npm/models/common/index.d.ts +6 -0
  31. package/dist/npm/models/common/index.d.ts.map +1 -1
  32. package/dist/npm/models/index.d.ts +1 -1
  33. package/dist/npm/models/index.d.ts.map +1 -1
  34. package/dist/npm/models/index.js +3 -2
  35. package/dist/npm/models/index.js.map +1 -1
  36. package/dist/npm/models/ledger/Credential.d.ts +17 -0
  37. package/dist/npm/models/ledger/Credential.d.ts.map +1 -0
  38. package/dist/npm/models/ledger/Credential.js +3 -0
  39. package/dist/npm/models/ledger/Credential.js.map +1 -0
  40. package/dist/npm/models/ledger/DepositPreauth.d.ts +3 -1
  41. package/dist/npm/models/ledger/DepositPreauth.d.ts.map +1 -1
  42. package/dist/npm/models/ledger/Ledger.d.ts +1 -0
  43. package/dist/npm/models/ledger/Ledger.d.ts.map +1 -1
  44. package/dist/npm/models/ledger/LedgerEntry.d.ts +4 -2
  45. package/dist/npm/models/ledger/LedgerEntry.d.ts.map +1 -1
  46. package/dist/npm/models/ledger/MPToken.d.ts +1 -2
  47. package/dist/npm/models/ledger/MPToken.d.ts.map +1 -1
  48. package/dist/npm/models/ledger/MPTokenIssuance.d.ts +0 -1
  49. package/dist/npm/models/ledger/MPTokenIssuance.d.ts.map +1 -1
  50. package/dist/npm/models/ledger/PermissionedDomain.d.ts +11 -0
  51. package/dist/npm/models/ledger/PermissionedDomain.d.ts.map +1 -0
  52. package/dist/npm/models/ledger/PermissionedDomain.js +3 -0
  53. package/dist/npm/models/ledger/PermissionedDomain.js.map +1 -0
  54. package/dist/npm/models/ledger/RippleState.d.ts +3 -1
  55. package/dist/npm/models/ledger/RippleState.d.ts.map +1 -1
  56. package/dist/npm/models/ledger/RippleState.js +2 -0
  57. package/dist/npm/models/ledger/RippleState.js.map +1 -1
  58. package/dist/npm/models/ledger/index.d.ts +4 -3
  59. package/dist/npm/models/ledger/index.d.ts.map +1 -1
  60. package/dist/npm/models/ledger/index.js.map +1 -1
  61. package/dist/npm/models/methods/baseMethod.d.ts +1 -0
  62. package/dist/npm/models/methods/baseMethod.d.ts.map +1 -1
  63. package/dist/npm/models/methods/depositAuthorized.d.ts +2 -0
  64. package/dist/npm/models/methods/depositAuthorized.d.ts.map +1 -1
  65. package/dist/npm/models/methods/index.d.ts +6 -5
  66. package/dist/npm/models/methods/index.d.ts.map +1 -1
  67. package/dist/npm/models/methods/ledger.d.ts +2 -2
  68. package/dist/npm/models/methods/ledger.d.ts.map +1 -1
  69. package/dist/npm/models/methods/ledgerEntry.d.ts +7 -0
  70. package/dist/npm/models/methods/ledgerEntry.d.ts.map +1 -1
  71. package/dist/npm/models/methods/serverState.d.ts +1 -0
  72. package/dist/npm/models/methods/serverState.d.ts.map +1 -1
  73. package/dist/npm/models/methods/simulate.d.ts +42 -0
  74. package/dist/npm/models/methods/simulate.d.ts.map +1 -0
  75. package/dist/npm/models/methods/simulate.js +3 -0
  76. package/dist/npm/models/methods/simulate.js.map +1 -0
  77. package/dist/npm/models/methods/subscribe.d.ts +7 -3
  78. package/dist/npm/models/methods/subscribe.d.ts.map +1 -1
  79. package/dist/npm/models/transactions/AMMClawback.d.ts +17 -0
  80. package/dist/npm/models/transactions/AMMClawback.d.ts.map +1 -0
  81. package/dist/npm/models/transactions/AMMClawback.js +34 -0
  82. package/dist/npm/models/transactions/AMMClawback.js.map +1 -0
  83. package/dist/npm/models/transactions/AMMDeposit.d.ts +2 -2
  84. package/dist/npm/models/transactions/AMMDeposit.d.ts.map +1 -1
  85. package/dist/npm/models/transactions/AMMWithdraw.d.ts +2 -2
  86. package/dist/npm/models/transactions/AMMWithdraw.d.ts.map +1 -1
  87. package/dist/npm/models/transactions/CredentialAccept.d.ts +9 -0
  88. package/dist/npm/models/transactions/CredentialAccept.d.ts.map +1 -0
  89. package/dist/npm/models/transactions/CredentialAccept.js +12 -0
  90. package/dist/npm/models/transactions/CredentialAccept.js.map +1 -0
  91. package/dist/npm/models/transactions/CredentialCreate.d.ts +11 -0
  92. package/dist/npm/models/transactions/CredentialCreate.d.ts.map +1 -0
  93. package/dist/npm/models/transactions/CredentialCreate.js +34 -0
  94. package/dist/npm/models/transactions/CredentialCreate.js.map +1 -0
  95. package/dist/npm/models/transactions/CredentialDelete.d.ts +10 -0
  96. package/dist/npm/models/transactions/CredentialDelete.d.ts.map +1 -0
  97. package/dist/npm/models/transactions/CredentialDelete.js +17 -0
  98. package/dist/npm/models/transactions/CredentialDelete.js.map +1 -0
  99. package/dist/npm/models/transactions/MPTokenAuthorize.d.ts +3 -3
  100. package/dist/npm/models/transactions/MPTokenAuthorize.d.ts.map +1 -1
  101. package/dist/npm/models/transactions/MPTokenAuthorize.js +1 -1
  102. package/dist/npm/models/transactions/MPTokenAuthorize.js.map +1 -1
  103. package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts +2 -2
  104. package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -1
  105. package/dist/npm/models/transactions/MPTokenIssuanceCreate.js +28 -0
  106. package/dist/npm/models/transactions/MPTokenIssuanceCreate.js.map +1 -1
  107. package/dist/npm/models/transactions/MPTokenIssuanceSet.d.ts +3 -3
  108. package/dist/npm/models/transactions/MPTokenIssuanceSet.d.ts.map +1 -1
  109. package/dist/npm/models/transactions/MPTokenIssuanceSet.js +11 -4
  110. package/dist/npm/models/transactions/MPTokenIssuanceSet.js.map +1 -1
  111. package/dist/npm/models/transactions/NFTokenCreateOffer.d.ts +2 -2
  112. package/dist/npm/models/transactions/NFTokenCreateOffer.d.ts.map +1 -1
  113. package/dist/npm/models/transactions/NFTokenMint.d.ts +5 -3
  114. package/dist/npm/models/transactions/NFTokenMint.d.ts.map +1 -1
  115. package/dist/npm/models/transactions/NFTokenMint.js +1 -0
  116. package/dist/npm/models/transactions/NFTokenMint.js.map +1 -1
  117. package/dist/npm/models/transactions/NFTokenModify.d.ts +9 -0
  118. package/dist/npm/models/transactions/NFTokenModify.d.ts.map +1 -0
  119. package/dist/npm/models/transactions/NFTokenModify.js +22 -0
  120. package/dist/npm/models/transactions/NFTokenModify.js.map +1 -0
  121. package/dist/npm/models/transactions/XChainModifyBridge.d.ts +2 -2
  122. package/dist/npm/models/transactions/XChainModifyBridge.d.ts.map +1 -1
  123. package/dist/npm/models/transactions/accountDelete.d.ts +1 -0
  124. package/dist/npm/models/transactions/accountDelete.d.ts.map +1 -1
  125. package/dist/npm/models/transactions/accountDelete.js +1 -0
  126. package/dist/npm/models/transactions/accountDelete.js.map +1 -1
  127. package/dist/npm/models/transactions/accountSet.d.ts +2 -2
  128. package/dist/npm/models/transactions/accountSet.d.ts.map +1 -1
  129. package/dist/npm/models/transactions/accountSet.js.map +1 -1
  130. package/dist/npm/models/transactions/batch.d.ts +39 -0
  131. package/dist/npm/models/transactions/batch.d.ts.map +1 -0
  132. package/dist/npm/models/transactions/batch.js +62 -0
  133. package/dist/npm/models/transactions/batch.js.map +1 -0
  134. package/dist/npm/models/transactions/clawback.d.ts +1 -1
  135. package/dist/npm/models/transactions/clawback.d.ts.map +1 -1
  136. package/dist/npm/models/transactions/clawback.js +6 -6
  137. package/dist/npm/models/transactions/clawback.js.map +1 -1
  138. package/dist/npm/models/transactions/common.d.ts +22 -5
  139. package/dist/npm/models/transactions/common.d.ts.map +1 -1
  140. package/dist/npm/models/transactions/common.js +113 -12
  141. package/dist/npm/models/transactions/common.js.map +1 -1
  142. package/dist/npm/models/transactions/depositPreauth.d.ts +3 -0
  143. package/dist/npm/models/transactions/depositPreauth.d.ts.map +1 -1
  144. package/dist/npm/models/transactions/depositPreauth.js +20 -7
  145. package/dist/npm/models/transactions/depositPreauth.js.map +1 -1
  146. package/dist/npm/models/transactions/escrowFinish.d.ts +1 -0
  147. package/dist/npm/models/transactions/escrowFinish.d.ts.map +1 -1
  148. package/dist/npm/models/transactions/escrowFinish.js +1 -0
  149. package/dist/npm/models/transactions/escrowFinish.js.map +1 -1
  150. package/dist/npm/models/transactions/index.d.ts +9 -1
  151. package/dist/npm/models/transactions/index.d.ts.map +1 -1
  152. package/dist/npm/models/transactions/index.js +5 -1
  153. package/dist/npm/models/transactions/index.js.map +1 -1
  154. package/dist/npm/models/transactions/metadata.d.ts +2 -1
  155. package/dist/npm/models/transactions/metadata.d.ts.map +1 -1
  156. package/dist/npm/models/transactions/offerCreate.d.ts +2 -2
  157. package/dist/npm/models/transactions/offerCreate.d.ts.map +1 -1
  158. package/dist/npm/models/transactions/payment.d.ts +5 -4
  159. package/dist/npm/models/transactions/payment.d.ts.map +1 -1
  160. package/dist/npm/models/transactions/payment.js +1 -0
  161. package/dist/npm/models/transactions/payment.js.map +1 -1
  162. package/dist/npm/models/transactions/paymentChannelClaim.d.ts +3 -2
  163. package/dist/npm/models/transactions/paymentChannelClaim.d.ts.map +1 -1
  164. package/dist/npm/models/transactions/paymentChannelClaim.js +1 -0
  165. package/dist/npm/models/transactions/paymentChannelClaim.js.map +1 -1
  166. package/dist/npm/models/transactions/permissionedDomainDelete.d.ts +7 -0
  167. package/dist/npm/models/transactions/permissionedDomainDelete.d.ts.map +1 -0
  168. package/dist/npm/models/transactions/permissionedDomainDelete.js +10 -0
  169. package/dist/npm/models/transactions/permissionedDomainDelete.js.map +1 -0
  170. package/dist/npm/models/transactions/permissionedDomainSet.d.ts +9 -0
  171. package/dist/npm/models/transactions/permissionedDomainSet.d.ts.map +1 -0
  172. package/dist/npm/models/transactions/permissionedDomainSet.js +13 -0
  173. package/dist/npm/models/transactions/permissionedDomainSet.js.map +1 -0
  174. package/dist/npm/models/transactions/transaction.d.ts +13 -5
  175. package/dist/npm/models/transactions/transaction.d.ts.map +1 -1
  176. package/dist/npm/models/transactions/transaction.js +40 -5
  177. package/dist/npm/models/transactions/transaction.js.map +1 -1
  178. package/dist/npm/models/transactions/trustSet.d.ts +7 -3
  179. package/dist/npm/models/transactions/trustSet.d.ts.map +1 -1
  180. package/dist/npm/models/transactions/trustSet.js +2 -0
  181. package/dist/npm/models/transactions/trustSet.js.map +1 -1
  182. package/dist/npm/models/utils/flags.d.ts +2 -0
  183. package/dist/npm/models/utils/flags.d.ts.map +1 -1
  184. package/dist/npm/models/utils/flags.js +62 -29
  185. package/dist/npm/models/utils/flags.js.map +1 -1
  186. package/dist/npm/models/utils/index.d.ts +1 -0
  187. package/dist/npm/models/utils/index.d.ts.map +1 -1
  188. package/dist/npm/models/utils/index.js +2 -1
  189. package/dist/npm/models/utils/index.js.map +1 -1
  190. package/dist/npm/snippets/src/paths.js +5 -9
  191. package/dist/npm/snippets/src/paths.js.map +1 -1
  192. package/dist/npm/snippets/tsconfig.tsbuildinfo +1 -1
  193. package/dist/npm/src/Wallet/batchSigner.d.ts +8 -0
  194. package/dist/npm/src/Wallet/batchSigner.d.ts.map +1 -0
  195. package/dist/npm/src/Wallet/batchSigner.js +124 -0
  196. package/dist/npm/src/Wallet/batchSigner.js.map +1 -0
  197. package/dist/npm/src/Wallet/defaultFaucets.d.ts +2 -1
  198. package/dist/npm/src/Wallet/defaultFaucets.d.ts.map +1 -1
  199. package/dist/npm/src/Wallet/defaultFaucets.js +5 -0
  200. package/dist/npm/src/Wallet/defaultFaucets.js.map +1 -1
  201. package/dist/npm/src/Wallet/index.d.ts.map +1 -1
  202. package/dist/npm/src/Wallet/index.js +8 -2
  203. package/dist/npm/src/Wallet/index.js.map +1 -1
  204. package/dist/npm/src/client/RequestManager.d.ts.map +1 -1
  205. package/dist/npm/src/client/RequestManager.js +3 -3
  206. package/dist/npm/src/client/RequestManager.js.map +1 -1
  207. package/dist/npm/src/client/connection.d.ts.map +1 -1
  208. package/dist/npm/src/client/connection.js.map +1 -1
  209. package/dist/npm/src/client/index.d.ts +4 -0
  210. package/dist/npm/src/client/index.d.ts.map +1 -1
  211. package/dist/npm/src/client/index.js +16 -9
  212. package/dist/npm/src/client/index.js.map +1 -1
  213. package/dist/npm/src/client/partialPayment.d.ts +2 -2
  214. package/dist/npm/src/client/partialPayment.d.ts.map +1 -1
  215. package/dist/npm/src/client/partialPayment.js +4 -5
  216. package/dist/npm/src/client/partialPayment.js.map +1 -1
  217. package/dist/npm/src/models/common/index.d.ts +6 -0
  218. package/dist/npm/src/models/common/index.d.ts.map +1 -1
  219. package/dist/npm/src/models/index.d.ts +1 -1
  220. package/dist/npm/src/models/index.d.ts.map +1 -1
  221. package/dist/npm/src/models/index.js +3 -2
  222. package/dist/npm/src/models/index.js.map +1 -1
  223. package/dist/npm/src/models/ledger/Credential.d.ts +17 -0
  224. package/dist/npm/src/models/ledger/Credential.d.ts.map +1 -0
  225. package/dist/npm/src/models/ledger/Credential.js +3 -0
  226. package/dist/npm/src/models/ledger/Credential.js.map +1 -0
  227. package/dist/npm/src/models/ledger/DepositPreauth.d.ts +3 -1
  228. package/dist/npm/src/models/ledger/DepositPreauth.d.ts.map +1 -1
  229. package/dist/npm/src/models/ledger/Ledger.d.ts +1 -0
  230. package/dist/npm/src/models/ledger/Ledger.d.ts.map +1 -1
  231. package/dist/npm/src/models/ledger/LedgerEntry.d.ts +4 -2
  232. package/dist/npm/src/models/ledger/LedgerEntry.d.ts.map +1 -1
  233. package/dist/npm/src/models/ledger/MPToken.d.ts +1 -2
  234. package/dist/npm/src/models/ledger/MPToken.d.ts.map +1 -1
  235. package/dist/npm/src/models/ledger/MPTokenIssuance.d.ts +0 -1
  236. package/dist/npm/src/models/ledger/MPTokenIssuance.d.ts.map +1 -1
  237. package/dist/npm/src/models/ledger/PermissionedDomain.d.ts +11 -0
  238. package/dist/npm/src/models/ledger/PermissionedDomain.d.ts.map +1 -0
  239. package/dist/npm/src/models/ledger/PermissionedDomain.js +3 -0
  240. package/dist/npm/src/models/ledger/PermissionedDomain.js.map +1 -0
  241. package/dist/npm/src/models/ledger/RippleState.d.ts +3 -1
  242. package/dist/npm/src/models/ledger/RippleState.d.ts.map +1 -1
  243. package/dist/npm/src/models/ledger/RippleState.js +2 -0
  244. package/dist/npm/src/models/ledger/RippleState.js.map +1 -1
  245. package/dist/npm/src/models/ledger/index.d.ts +4 -3
  246. package/dist/npm/src/models/ledger/index.d.ts.map +1 -1
  247. package/dist/npm/src/models/ledger/index.js.map +1 -1
  248. package/dist/npm/src/models/methods/baseMethod.d.ts +1 -0
  249. package/dist/npm/src/models/methods/baseMethod.d.ts.map +1 -1
  250. package/dist/npm/src/models/methods/depositAuthorized.d.ts +2 -0
  251. package/dist/npm/src/models/methods/depositAuthorized.d.ts.map +1 -1
  252. package/dist/npm/src/models/methods/index.d.ts +6 -5
  253. package/dist/npm/src/models/methods/index.d.ts.map +1 -1
  254. package/dist/npm/src/models/methods/ledger.d.ts +2 -2
  255. package/dist/npm/src/models/methods/ledger.d.ts.map +1 -1
  256. package/dist/npm/src/models/methods/ledgerEntry.d.ts +7 -0
  257. package/dist/npm/src/models/methods/ledgerEntry.d.ts.map +1 -1
  258. package/dist/npm/src/models/methods/serverState.d.ts +1 -0
  259. package/dist/npm/src/models/methods/serverState.d.ts.map +1 -1
  260. package/dist/npm/src/models/methods/simulate.d.ts +42 -0
  261. package/dist/npm/src/models/methods/simulate.d.ts.map +1 -0
  262. package/dist/npm/src/models/methods/simulate.js +3 -0
  263. package/dist/npm/src/models/methods/simulate.js.map +1 -0
  264. package/dist/npm/src/models/methods/subscribe.d.ts +7 -3
  265. package/dist/npm/src/models/methods/subscribe.d.ts.map +1 -1
  266. package/dist/npm/src/models/transactions/AMMClawback.d.ts +17 -0
  267. package/dist/npm/src/models/transactions/AMMClawback.d.ts.map +1 -0
  268. package/dist/npm/src/models/transactions/AMMClawback.js +34 -0
  269. package/dist/npm/src/models/transactions/AMMClawback.js.map +1 -0
  270. package/dist/npm/src/models/transactions/AMMDeposit.d.ts +2 -2
  271. package/dist/npm/src/models/transactions/AMMDeposit.d.ts.map +1 -1
  272. package/dist/npm/src/models/transactions/AMMWithdraw.d.ts +2 -2
  273. package/dist/npm/src/models/transactions/AMMWithdraw.d.ts.map +1 -1
  274. package/dist/npm/src/models/transactions/CredentialAccept.d.ts +9 -0
  275. package/dist/npm/src/models/transactions/CredentialAccept.d.ts.map +1 -0
  276. package/dist/npm/src/models/transactions/CredentialAccept.js +12 -0
  277. package/dist/npm/src/models/transactions/CredentialAccept.js.map +1 -0
  278. package/dist/npm/src/models/transactions/CredentialCreate.d.ts +11 -0
  279. package/dist/npm/src/models/transactions/CredentialCreate.d.ts.map +1 -0
  280. package/dist/npm/src/models/transactions/CredentialCreate.js +34 -0
  281. package/dist/npm/src/models/transactions/CredentialCreate.js.map +1 -0
  282. package/dist/npm/src/models/transactions/CredentialDelete.d.ts +10 -0
  283. package/dist/npm/src/models/transactions/CredentialDelete.d.ts.map +1 -0
  284. package/dist/npm/src/models/transactions/CredentialDelete.js +17 -0
  285. package/dist/npm/src/models/transactions/CredentialDelete.js.map +1 -0
  286. package/dist/npm/src/models/transactions/MPTokenAuthorize.d.ts +3 -3
  287. package/dist/npm/src/models/transactions/MPTokenAuthorize.d.ts.map +1 -1
  288. package/dist/npm/src/models/transactions/MPTokenAuthorize.js +1 -1
  289. package/dist/npm/src/models/transactions/MPTokenAuthorize.js.map +1 -1
  290. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts +2 -2
  291. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -1
  292. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.js +28 -0
  293. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.js.map +1 -1
  294. package/dist/npm/src/models/transactions/MPTokenIssuanceSet.d.ts +3 -3
  295. package/dist/npm/src/models/transactions/MPTokenIssuanceSet.d.ts.map +1 -1
  296. package/dist/npm/src/models/transactions/MPTokenIssuanceSet.js +11 -4
  297. package/dist/npm/src/models/transactions/MPTokenIssuanceSet.js.map +1 -1
  298. package/dist/npm/src/models/transactions/NFTokenCreateOffer.d.ts +2 -2
  299. package/dist/npm/src/models/transactions/NFTokenCreateOffer.d.ts.map +1 -1
  300. package/dist/npm/src/models/transactions/NFTokenMint.d.ts +5 -3
  301. package/dist/npm/src/models/transactions/NFTokenMint.d.ts.map +1 -1
  302. package/dist/npm/src/models/transactions/NFTokenMint.js +1 -0
  303. package/dist/npm/src/models/transactions/NFTokenMint.js.map +1 -1
  304. package/dist/npm/src/models/transactions/NFTokenModify.d.ts +9 -0
  305. package/dist/npm/src/models/transactions/NFTokenModify.d.ts.map +1 -0
  306. package/dist/npm/src/models/transactions/NFTokenModify.js +22 -0
  307. package/dist/npm/src/models/transactions/NFTokenModify.js.map +1 -0
  308. package/dist/npm/src/models/transactions/XChainModifyBridge.d.ts +2 -2
  309. package/dist/npm/src/models/transactions/XChainModifyBridge.d.ts.map +1 -1
  310. package/dist/npm/src/models/transactions/accountDelete.d.ts +1 -0
  311. package/dist/npm/src/models/transactions/accountDelete.d.ts.map +1 -1
  312. package/dist/npm/src/models/transactions/accountDelete.js +1 -0
  313. package/dist/npm/src/models/transactions/accountDelete.js.map +1 -1
  314. package/dist/npm/src/models/transactions/accountSet.d.ts +2 -2
  315. package/dist/npm/src/models/transactions/accountSet.d.ts.map +1 -1
  316. package/dist/npm/src/models/transactions/accountSet.js.map +1 -1
  317. package/dist/npm/src/models/transactions/batch.d.ts +39 -0
  318. package/dist/npm/src/models/transactions/batch.d.ts.map +1 -0
  319. package/dist/npm/src/models/transactions/batch.js +62 -0
  320. package/dist/npm/src/models/transactions/batch.js.map +1 -0
  321. package/dist/npm/src/models/transactions/clawback.d.ts +1 -1
  322. package/dist/npm/src/models/transactions/clawback.d.ts.map +1 -1
  323. package/dist/npm/src/models/transactions/clawback.js +6 -6
  324. package/dist/npm/src/models/transactions/clawback.js.map +1 -1
  325. package/dist/npm/src/models/transactions/common.d.ts +22 -5
  326. package/dist/npm/src/models/transactions/common.d.ts.map +1 -1
  327. package/dist/npm/src/models/transactions/common.js +113 -12
  328. package/dist/npm/src/models/transactions/common.js.map +1 -1
  329. package/dist/npm/src/models/transactions/depositPreauth.d.ts +3 -0
  330. package/dist/npm/src/models/transactions/depositPreauth.d.ts.map +1 -1
  331. package/dist/npm/src/models/transactions/depositPreauth.js +20 -7
  332. package/dist/npm/src/models/transactions/depositPreauth.js.map +1 -1
  333. package/dist/npm/src/models/transactions/escrowFinish.d.ts +1 -0
  334. package/dist/npm/src/models/transactions/escrowFinish.d.ts.map +1 -1
  335. package/dist/npm/src/models/transactions/escrowFinish.js +1 -0
  336. package/dist/npm/src/models/transactions/escrowFinish.js.map +1 -1
  337. package/dist/npm/src/models/transactions/index.d.ts +9 -1
  338. package/dist/npm/src/models/transactions/index.d.ts.map +1 -1
  339. package/dist/npm/src/models/transactions/index.js +5 -1
  340. package/dist/npm/src/models/transactions/index.js.map +1 -1
  341. package/dist/npm/src/models/transactions/metadata.d.ts +2 -1
  342. package/dist/npm/src/models/transactions/metadata.d.ts.map +1 -1
  343. package/dist/npm/src/models/transactions/offerCreate.d.ts +2 -2
  344. package/dist/npm/src/models/transactions/offerCreate.d.ts.map +1 -1
  345. package/dist/npm/src/models/transactions/payment.d.ts +5 -4
  346. package/dist/npm/src/models/transactions/payment.d.ts.map +1 -1
  347. package/dist/npm/src/models/transactions/payment.js +1 -0
  348. package/dist/npm/src/models/transactions/payment.js.map +1 -1
  349. package/dist/npm/src/models/transactions/paymentChannelClaim.d.ts +3 -2
  350. package/dist/npm/src/models/transactions/paymentChannelClaim.d.ts.map +1 -1
  351. package/dist/npm/src/models/transactions/paymentChannelClaim.js +1 -0
  352. package/dist/npm/src/models/transactions/paymentChannelClaim.js.map +1 -1
  353. package/dist/npm/src/models/transactions/permissionedDomainDelete.d.ts +7 -0
  354. package/dist/npm/src/models/transactions/permissionedDomainDelete.d.ts.map +1 -0
  355. package/dist/npm/src/models/transactions/permissionedDomainDelete.js +10 -0
  356. package/dist/npm/src/models/transactions/permissionedDomainDelete.js.map +1 -0
  357. package/dist/npm/src/models/transactions/permissionedDomainSet.d.ts +9 -0
  358. package/dist/npm/src/models/transactions/permissionedDomainSet.d.ts.map +1 -0
  359. package/dist/npm/src/models/transactions/permissionedDomainSet.js +13 -0
  360. package/dist/npm/src/models/transactions/permissionedDomainSet.js.map +1 -0
  361. package/dist/npm/src/models/transactions/transaction.d.ts +13 -5
  362. package/dist/npm/src/models/transactions/transaction.d.ts.map +1 -1
  363. package/dist/npm/src/models/transactions/transaction.js +40 -5
  364. package/dist/npm/src/models/transactions/transaction.js.map +1 -1
  365. package/dist/npm/src/models/transactions/trustSet.d.ts +7 -3
  366. package/dist/npm/src/models/transactions/trustSet.d.ts.map +1 -1
  367. package/dist/npm/src/models/transactions/trustSet.js +2 -0
  368. package/dist/npm/src/models/transactions/trustSet.js.map +1 -1
  369. package/dist/npm/src/models/utils/flags.d.ts +2 -0
  370. package/dist/npm/src/models/utils/flags.d.ts.map +1 -1
  371. package/dist/npm/src/models/utils/flags.js +62 -29
  372. package/dist/npm/src/models/utils/flags.js.map +1 -1
  373. package/dist/npm/src/models/utils/index.d.ts +1 -0
  374. package/dist/npm/src/models/utils/index.d.ts.map +1 -1
  375. package/dist/npm/src/models/utils/index.js +2 -1
  376. package/dist/npm/src/models/utils/index.js.map +1 -1
  377. package/dist/npm/src/sugar/autofill.d.ts +3 -1
  378. package/dist/npm/src/sugar/autofill.d.ts.map +1 -1
  379. package/dist/npm/src/sugar/autofill.js +100 -5
  380. package/dist/npm/src/sugar/autofill.js.map +1 -1
  381. package/dist/npm/src/sugar/submit.d.ts.map +1 -1
  382. package/dist/npm/src/sugar/submit.js +7 -7
  383. package/dist/npm/src/sugar/submit.js.map +1 -1
  384. package/dist/npm/src/utils/hashes/hashLedger.d.ts.map +1 -1
  385. package/dist/npm/src/utils/hashes/hashLedger.js +4 -1
  386. package/dist/npm/src/utils/hashes/hashLedger.js.map +1 -1
  387. package/dist/npm/src/utils/index.d.ts +1 -2
  388. package/dist/npm/src/utils/index.d.ts.map +1 -1
  389. package/dist/npm/src/utils/index.js +1 -3
  390. package/dist/npm/src/utils/index.js.map +1 -1
  391. package/dist/npm/sugar/autofill.d.ts +3 -1
  392. package/dist/npm/sugar/autofill.d.ts.map +1 -1
  393. package/dist/npm/sugar/autofill.js +100 -5
  394. package/dist/npm/sugar/autofill.js.map +1 -1
  395. package/dist/npm/sugar/submit.d.ts.map +1 -1
  396. package/dist/npm/sugar/submit.js +7 -7
  397. package/dist/npm/sugar/submit.js.map +1 -1
  398. package/dist/npm/utils/hashes/hashLedger.d.ts.map +1 -1
  399. package/dist/npm/utils/hashes/hashLedger.js +4 -1
  400. package/dist/npm/utils/hashes/hashLedger.js.map +1 -1
  401. package/dist/npm/utils/index.d.ts +1 -2
  402. package/dist/npm/utils/index.d.ts.map +1 -1
  403. package/dist/npm/utils/index.js +1 -3
  404. package/dist/npm/utils/index.js.map +1 -1
  405. package/package.json +6 -6
  406. package/src/Wallet/batchSigner.ts +222 -0
  407. package/src/Wallet/defaultFaucets.ts +6 -0
  408. package/src/Wallet/index.ts +9 -3
  409. package/src/client/RequestManager.ts +4 -1
  410. package/src/client/connection.ts +0 -1
  411. package/src/client/index.ts +49 -30
  412. package/src/client/partialPayment.ts +18 -5
  413. package/src/models/common/index.ts +10 -0
  414. package/src/models/index.ts +2 -1
  415. package/src/models/ledger/Credential.ts +47 -0
  416. package/src/models/ledger/DepositPreauth.ts +6 -2
  417. package/src/models/ledger/Ledger.ts +5 -0
  418. package/src/models/ledger/LedgerEntry.ts +6 -0
  419. package/src/models/ledger/MPToken.ts +1 -2
  420. package/src/models/ledger/MPTokenIssuance.ts +0 -1
  421. package/src/models/ledger/PermissionedDomain.ts +29 -0
  422. package/src/models/ledger/RippleState.ts +4 -0
  423. package/src/models/ledger/index.ts +4 -2
  424. package/src/models/methods/baseMethod.ts +1 -0
  425. package/src/models/methods/depositAuthorized.ts +10 -0
  426. package/src/models/methods/index.ts +20 -0
  427. package/src/models/methods/ledger.ts +2 -2
  428. package/src/models/methods/ledgerEntry.ts +29 -1
  429. package/src/models/methods/serverState.ts +1 -0
  430. package/src/models/methods/simulate.ts +88 -0
  431. package/src/models/methods/subscribe.ts +34 -3
  432. package/src/models/transactions/AMMClawback.ts +120 -0
  433. package/src/models/transactions/AMMDeposit.ts +2 -2
  434. package/src/models/transactions/AMMWithdraw.ts +2 -2
  435. package/src/models/transactions/CredentialAccept.ts +44 -0
  436. package/src/models/transactions/CredentialCreate.ts +81 -0
  437. package/src/models/transactions/CredentialDelete.ts +55 -0
  438. package/src/models/transactions/MPTokenAuthorize.ts +4 -4
  439. package/src/models/transactions/MPTokenIssuanceCreate.ts +60 -12
  440. package/src/models/transactions/MPTokenIssuanceSet.ts +20 -10
  441. package/src/models/transactions/NFTokenCreateOffer.ts +2 -2
  442. package/src/models/transactions/NFTokenMint.ts +7 -2
  443. package/src/models/transactions/NFTokenModify.ts +67 -0
  444. package/src/models/transactions/XChainModifyBridge.ts +2 -2
  445. package/src/models/transactions/accountDelete.ts +16 -0
  446. package/src/models/transactions/accountSet.ts +2 -1
  447. package/src/models/transactions/batch.ts +147 -0
  448. package/src/models/transactions/clawback.ts +7 -9
  449. package/src/models/transactions/common.ts +219 -22
  450. package/src/models/transactions/depositPreauth.ts +54 -15
  451. package/src/models/transactions/escrowFinish.ts +14 -0
  452. package/src/models/transactions/index.ts +13 -1
  453. package/src/models/transactions/metadata.ts +6 -4
  454. package/src/models/transactions/offerCreate.ts +2 -2
  455. package/src/models/transactions/payment.ts +19 -4
  456. package/src/models/transactions/paymentChannelClaim.ts +22 -2
  457. package/src/models/transactions/permissionedDomainDelete.ts +28 -0
  458. package/src/models/transactions/permissionedDomainSet.ts +54 -0
  459. package/src/models/transactions/transaction.ts +78 -15
  460. package/src/models/transactions/trustSet.ts +12 -2
  461. package/src/models/utils/flags.ts +88 -33
  462. package/src/models/utils/index.ts +1 -0
  463. package/src/sugar/autofill.ts +140 -11
  464. package/src/sugar/submit.ts +3 -5
  465. package/src/utils/hashes/hashLedger.ts +5 -2
  466. package/src/utils/index.ts +0 -2
  467. package/dist/npm/snippets/src/bridgeTransfer.d.ts +0 -2
  468. package/dist/npm/snippets/src/bridgeTransfer.d.ts.map +0 -1
  469. package/dist/npm/snippets/src/bridgeTransfer.js +0 -126
  470. package/dist/npm/snippets/src/bridgeTransfer.js.map +0 -1
  471. package/dist/npm/src/utils/mptConversion.d.ts +0 -2
  472. package/dist/npm/src/utils/mptConversion.d.ts.map +0 -1
  473. package/dist/npm/src/utils/mptConversion.js +0 -31
  474. package/dist/npm/src/utils/mptConversion.js.map +0 -1
  475. package/dist/npm/utils/mptConversion.d.ts +0 -2
  476. package/dist/npm/utils/mptConversion.d.ts.map +0 -1
  477. package/dist/npm/utils/mptConversion.js +0 -31
  478. package/dist/npm/utils/mptConversion.js.map +0 -1
  479. package/src/utils/mptConversion.ts +0 -61
@@ -0,0 +1,44 @@
1
+ import {
2
+ BaseTransaction,
3
+ isString,
4
+ validateBaseTransaction,
5
+ validateCredentialType,
6
+ validateRequiredField,
7
+ } from './common'
8
+
9
+ /**
10
+ * Accepts a credential issued to the Account (i.e. the Account is the Subject of the Credential object).
11
+ * Credentials are represented in hex. Whilst they are allowed a maximum length of 64
12
+ * bytes, every byte requires 2 hex characters for representation.
13
+ * The credential is not considered valid until it has been transferred/accepted.
14
+ *
15
+ * @category Transaction Models
16
+ * */
17
+ export interface CredentialAccept extends BaseTransaction {
18
+ TransactionType: 'CredentialAccept'
19
+
20
+ /** The subject of the credential. */
21
+ Account: string
22
+
23
+ /** The issuer of the credential. */
24
+ Issuer: string
25
+
26
+ /** A hex-encoded value to identify the type of credential from the issuer. */
27
+ CredentialType: string
28
+ }
29
+
30
+ /**
31
+ * Verify the form and type of a CredentialAccept at runtime.
32
+ *
33
+ * @param tx - A CredentialAccept Transaction.
34
+ * @throws When the CredentialAccept is Malformed.
35
+ */
36
+ export function validateCredentialAccept(tx: Record<string, unknown>): void {
37
+ validateBaseTransaction(tx)
38
+
39
+ validateRequiredField(tx, 'Account', isString)
40
+
41
+ validateRequiredField(tx, 'Issuer', isString)
42
+
43
+ validateCredentialType(tx)
44
+ }
@@ -0,0 +1,81 @@
1
+ import { HEX_REGEX } from '@xrplf/isomorphic/utils'
2
+
3
+ import { ValidationError } from '../../errors'
4
+
5
+ import {
6
+ BaseTransaction,
7
+ isNumber,
8
+ isString,
9
+ validateBaseTransaction,
10
+ validateCredentialType,
11
+ validateOptionalField,
12
+ validateRequiredField,
13
+ } from './common'
14
+
15
+ const MAX_URI_LENGTH = 256
16
+
17
+ /**
18
+ * Creates a Credential object. It must be sent by the issuer.
19
+ *
20
+ * @category Transaction Models
21
+ * */
22
+ export interface CredentialCreate extends BaseTransaction {
23
+ TransactionType: 'CredentialCreate'
24
+
25
+ /** The issuer of the credential. */
26
+ Account: string
27
+
28
+ /** The subject of the credential. */
29
+ Subject: string
30
+
31
+ /** A hex-encoded value to identify the type of credential from the issuer. */
32
+ CredentialType: string
33
+
34
+ /** Credential expiration. */
35
+ Expiration?: number
36
+
37
+ /** Additional data about the credential (such as a link to the VC document). */
38
+ URI?: string
39
+ }
40
+
41
+ /**
42
+ * Verify the form and type of a CredentialCreate at runtime.
43
+ *
44
+ * @param tx - A CredentialCreate Transaction.
45
+ * @throws When the CredentialCreate is Malformed.
46
+ */
47
+ export function validateCredentialCreate(tx: Record<string, unknown>): void {
48
+ validateBaseTransaction(tx)
49
+
50
+ validateRequiredField(tx, 'Account', isString)
51
+
52
+ validateRequiredField(tx, 'Subject', isString)
53
+
54
+ validateCredentialType(tx)
55
+
56
+ validateOptionalField(tx, 'Expiration', isNumber)
57
+
58
+ validateURI(tx.URI)
59
+ }
60
+
61
+ function validateURI(URI: unknown): void {
62
+ if (URI === undefined) {
63
+ return
64
+ }
65
+
66
+ if (typeof URI !== 'string') {
67
+ throw new ValidationError('CredentialCreate: invalid field URI')
68
+ }
69
+
70
+ if (URI.length === 0) {
71
+ throw new ValidationError('CredentialCreate: URI cannot be an empty string')
72
+ } else if (URI.length > MAX_URI_LENGTH) {
73
+ throw new ValidationError(
74
+ `CredentialCreate: URI length must be <= ${MAX_URI_LENGTH}`,
75
+ )
76
+ }
77
+
78
+ if (!HEX_REGEX.test(URI)) {
79
+ throw new ValidationError('CredentialCreate: URI must be encoded in hex')
80
+ }
81
+ }
@@ -0,0 +1,55 @@
1
+ import { ValidationError } from '../../errors'
2
+
3
+ import {
4
+ BaseTransaction,
5
+ isString,
6
+ validateBaseTransaction,
7
+ validateCredentialType,
8
+ validateOptionalField,
9
+ validateRequiredField,
10
+ } from './common'
11
+
12
+ /**
13
+ * Deletes a Credential object.
14
+ *
15
+ * @category Transaction Models
16
+ * */
17
+ export interface CredentialDelete extends BaseTransaction {
18
+ TransactionType: 'CredentialDelete'
19
+
20
+ /** The transaction submitter. */
21
+ Account: string
22
+
23
+ /** A hex-encoded value to identify the type of credential from the issuer. */
24
+ CredentialType: string
25
+
26
+ /** The person that the credential is for. If omitted, Account is assumed to be the subject. */
27
+ Subject?: string
28
+
29
+ /** The issuer of the credential. If omitted, Account is assumed to be the issuer. */
30
+ Issuer?: string
31
+ }
32
+
33
+ /**
34
+ * Verify the form and type of a CredentialDelete at runtime.
35
+ *
36
+ * @param tx - A CredentialDelete Transaction.
37
+ * @throws When the CredentialDelete is Malformed.
38
+ */
39
+ export function validateCredentialDelete(tx: Record<string, unknown>): void {
40
+ validateBaseTransaction(tx)
41
+
42
+ if (!tx.Subject && !tx.Issuer) {
43
+ throw new ValidationError(
44
+ 'CredentialDelete: either `Issuer` or `Subject` must be provided',
45
+ )
46
+ }
47
+
48
+ validateRequiredField(tx, 'Account', isString)
49
+
50
+ validateCredentialType(tx)
51
+
52
+ validateOptionalField(tx, 'Subject', isString)
53
+
54
+ validateOptionalField(tx, 'Issuer', isString)
55
+ }
@@ -6,7 +6,7 @@ import {
6
6
  Account,
7
7
  validateOptionalField,
8
8
  isAccount,
9
- GlobalFlags,
9
+ GlobalFlagsInterface,
10
10
  } from './common'
11
11
 
12
12
  /**
@@ -32,7 +32,7 @@ export enum MPTokenAuthorizeFlags {
32
32
  *
33
33
  * @category Transaction Flags
34
34
  */
35
- export interface MPTokenAuthorizeFlagsInterface extends GlobalFlags {
35
+ export interface MPTokenAuthorizeFlagsInterface extends GlobalFlagsInterface {
36
36
  tfMPTUnauthorize?: boolean
37
37
  }
38
38
 
@@ -50,7 +50,7 @@ export interface MPTokenAuthorize extends BaseTransaction {
50
50
  * An optional XRPL Address of an individual token holder balance to lock/unlock.
51
51
  * If omitted, this transaction will apply to all any accounts holding MPTs.
52
52
  */
53
- MPTokenHolder?: Account
53
+ Holder?: Account
54
54
  Flags?: number | MPTokenAuthorizeFlagsInterface
55
55
  }
56
56
 
@@ -63,5 +63,5 @@ export interface MPTokenAuthorize extends BaseTransaction {
63
63
  export function validateMPTokenAuthorize(tx: Record<string, unknown>): void {
64
64
  validateBaseTransaction(tx)
65
65
  validateRequiredField(tx, 'MPTokenIssuanceID', isString)
66
- validateOptionalField(tx, 'MPTokenHolder', isAccount)
66
+ validateOptionalField(tx, 'Holder', isAccount)
67
67
  }
@@ -1,9 +1,20 @@
1
1
  import { ValidationError } from '../../errors'
2
- import { isHex } from '../utils'
2
+ import { isHex, INTEGER_SANITY_CHECK, isFlagEnabled } from '../utils'
3
3
 
4
- import { BaseTransaction, GlobalFlags, validateBaseTransaction } from './common'
4
+ import {
5
+ BaseTransaction,
6
+ GlobalFlagsInterface,
7
+ validateBaseTransaction,
8
+ validateOptionalField,
9
+ isString,
10
+ isNumber,
11
+ } from './common'
5
12
  import type { TransactionMetadataBase } from './metadata'
6
13
 
14
+ // 2^63 - 1
15
+ const MAX_AMT = '9223372036854775807'
16
+ const MAX_TRANSFER_FEE = 50000
17
+
7
18
  /**
8
19
  * Transaction Flags for an MPTokenIssuanceCreate Transaction.
9
20
  *
@@ -25,7 +36,7 @@ export enum MPTokenIssuanceCreateFlags {
25
36
  */
26
37
  tfMPTCanEscrow = 0x00000008,
27
38
  /**
28
- * If set, indicates that individual holders can trade their balances
39
+ * If set, indicates that individual holders can trade their balances
29
40
  * using the XRP Ledger DEX or AMM.
30
41
  */
31
42
  tfMPTCanTrade = 0x00000010,
@@ -47,7 +58,8 @@ export enum MPTokenIssuanceCreateFlags {
47
58
  *
48
59
  * @category Transaction Flags
49
60
  */
50
- export interface MPTokenIssuanceCreateFlagsInterface extends GlobalFlags {
61
+ export interface MPTokenIssuanceCreateFlagsInterface
62
+ extends GlobalFlagsInterface {
51
63
  tfMPTCanLock?: boolean
52
64
  tfMPTRequireAuth?: boolean
53
65
  tfMPTCanEscrow?: boolean
@@ -75,17 +87,13 @@ export interface MPTokenIssuanceCreate extends BaseTransaction {
75
87
  */
76
88
  AssetScale?: number
77
89
  /**
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.
90
+ * Specifies the maximum asset amount of this token that should ever be issued.
91
+ * It is a non-negative integer string that can store a range of up to 63 bits. If not set, the max
92
+ * amount will default to the largest unsigned 63-bit integer (0x7FFFFFFFFFFFFFFF or 9223372036854775807)
84
93
  *
85
94
  * Example:
86
95
  * ```
87
- * MaximumAmount: '3e8' // 0x3E8 in hex or 1000 in decimal
88
- * MaximumAmount: mptUint64ToHex('1000') // 1000 in decimal using helper function
96
+ * MaximumAmount: '9223372036854775807'
89
97
  * ```
90
98
  */
91
99
  MaximumAmount?: string
@@ -107,6 +115,7 @@ export interface MPTokenIssuanceCreateMetadata extends TransactionMetadataBase {
107
115
  mpt_issuance_id?: string
108
116
  }
109
117
 
118
+ /* eslint-disable max-lines-per-function -- Not needed to reduce function */
110
119
  /**
111
120
  * Verify the form and type of an MPTokenIssuanceCreate at runtime.
112
121
  *
@@ -117,6 +126,10 @@ export function validateMPTokenIssuanceCreate(
117
126
  tx: Record<string, unknown>,
118
127
  ): void {
119
128
  validateBaseTransaction(tx)
129
+ validateOptionalField(tx, 'MaximumAmount', isString)
130
+ validateOptionalField(tx, 'MPTokenMetadata', isString)
131
+ validateOptionalField(tx, 'TransferFee', isNumber)
132
+ validateOptionalField(tx, 'AssetScale', isNumber)
120
133
 
121
134
  if (typeof tx.MPTokenMetadata === 'string' && tx.MPTokenMetadata === '') {
122
135
  throw new ValidationError(
@@ -129,4 +142,39 @@ export function validateMPTokenIssuanceCreate(
129
142
  'MPTokenIssuanceCreate: MPTokenMetadata must be in hex format',
130
143
  )
131
144
  }
145
+
146
+ if (typeof tx.MaximumAmount === 'string') {
147
+ if (!INTEGER_SANITY_CHECK.exec(tx.MaximumAmount)) {
148
+ throw new ValidationError('MPTokenIssuanceCreate: Invalid MaximumAmount')
149
+ } else if (
150
+ BigInt(tx.MaximumAmount) > BigInt(MAX_AMT) ||
151
+ BigInt(tx.MaximumAmount) < BigInt(`0`)
152
+ ) {
153
+ throw new ValidationError(
154
+ 'MPTokenIssuanceCreate: MaximumAmount out of range',
155
+ )
156
+ }
157
+ }
158
+
159
+ if (typeof tx.TransferFee === 'number') {
160
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- Not necessary
161
+ const flags = tx.Flags as number | MPTokenIssuanceCreateFlagsInterface
162
+ const isTfMPTCanTransfer =
163
+ typeof flags === 'number'
164
+ ? isFlagEnabled(flags, MPTokenIssuanceCreateFlags.tfMPTCanTransfer)
165
+ : flags.tfMPTCanTransfer ?? false
166
+
167
+ if (tx.TransferFee < 0 || tx.TransferFee > MAX_TRANSFER_FEE) {
168
+ throw new ValidationError(
169
+ `MPTokenIssuanceCreate: TransferFee must be between 0 and ${MAX_TRANSFER_FEE}`,
170
+ )
171
+ }
172
+
173
+ if (tx.TransferFee && !isTfMPTCanTransfer) {
174
+ throw new ValidationError(
175
+ 'MPTokenIssuanceCreate: TransferFee cannot be provided without enabling tfMPTCanTransfer flag',
176
+ )
177
+ }
178
+ }
132
179
  }
180
+ /* eslint-enable max-lines-per-function */
@@ -1,3 +1,6 @@
1
+ import { ValidationError } from '../../errors'
2
+ import { isFlagEnabled } from '../utils'
3
+
1
4
  import {
2
5
  BaseTransaction,
3
6
  isString,
@@ -6,9 +9,8 @@ import {
6
9
  Account,
7
10
  validateOptionalField,
8
11
  isAccount,
9
- GlobalFlags,
12
+ GlobalFlagsInterface,
10
13
  } from './common'
11
- import { ValidationError } from '../../errors'
12
14
 
13
15
  /**
14
16
  * Transaction Flags for an MPTokenIssuanceSet Transaction.
@@ -32,7 +34,7 @@ export enum MPTokenIssuanceSetFlags {
32
34
  *
33
35
  * @category Transaction Flags
34
36
  */
35
- export interface MPTokenIssuanceSetFlagsInterface extends GlobalFlags {
37
+ export interface MPTokenIssuanceSetFlagsInterface extends GlobalFlagsInterface {
36
38
  tfMPTLock?: boolean
37
39
  tfMPTUnlock?: boolean
38
40
  }
@@ -51,7 +53,7 @@ export interface MPTokenIssuanceSet extends BaseTransaction {
51
53
  * An optional XRPL Address of an individual token holder balance to lock/unlock.
52
54
  * If omitted, this transaction will apply to all any accounts holding MPTs.
53
55
  */
54
- MPTokenHolder?: Account
56
+ Holder?: Account
55
57
  Flags?: number | MPTokenIssuanceSetFlagsInterface
56
58
  }
57
59
 
@@ -64,13 +66,21 @@ export interface MPTokenIssuanceSet extends BaseTransaction {
64
66
  export function validateMPTokenIssuanceSet(tx: Record<string, unknown>): void {
65
67
  validateBaseTransaction(tx)
66
68
  validateRequiredField(tx, 'MPTokenIssuanceID', isString)
67
- validateOptionalField(tx, 'MPTokenHolder', isAccount)
69
+ validateOptionalField(tx, 'Holder', isAccount)
70
+
71
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- Not necessary
72
+ const flags = tx.Flags as number | MPTokenIssuanceSetFlagsInterface
73
+ const isTfMPTLock =
74
+ typeof flags === 'number'
75
+ ? isFlagEnabled(flags, MPTokenIssuanceSetFlags.tfMPTLock)
76
+ : flags.tfMPTLock ?? false
77
+
78
+ const isTfMPTUnlock =
79
+ typeof flags === 'number'
80
+ ? isFlagEnabled(flags, MPTokenIssuanceSetFlags.tfMPTUnlock)
81
+ : flags.tfMPTUnlock ?? false
68
82
 
69
- const flags = tx.Flags as number
70
- if (
71
- BigInt(flags) & BigInt(MPTokenIssuanceSetFlags.tfMPTLock) &&
72
- BigInt(flags) & BigInt(MPTokenIssuanceSetFlags.tfMPTUnlock)
73
- ) {
83
+ if (isTfMPTLock && isTfMPTUnlock) {
74
84
  throw new ValidationError('MPTokenIssuanceSet: flag conflict')
75
85
  }
76
86
  }
@@ -4,7 +4,7 @@ import { isFlagEnabled } from '../utils'
4
4
 
5
5
  import {
6
6
  BaseTransaction,
7
- GlobalFlags,
7
+ GlobalFlagsInterface,
8
8
  validateBaseTransaction,
9
9
  isAmount,
10
10
  parseAmountValue,
@@ -33,7 +33,7 @@ export enum NFTokenCreateOfferFlags {
33
33
  *
34
34
  * @category Transaction Flags
35
35
  */
36
- export interface NFTokenCreateOfferFlagsInterface extends GlobalFlags {
36
+ export interface NFTokenCreateOfferFlagsInterface extends GlobalFlagsInterface {
37
37
  tfSellNFToken?: boolean
38
38
  }
39
39
 
@@ -4,7 +4,7 @@ import { isHex } from '../utils'
4
4
  import {
5
5
  Account,
6
6
  BaseTransaction,
7
- GlobalFlags,
7
+ GlobalFlagsInterface,
8
8
  isAccount,
9
9
  validateBaseTransaction,
10
10
  validateOptionalField,
@@ -38,6 +38,10 @@ export enum NFTokenMintFlags {
38
38
  * issuer.
39
39
  */
40
40
  tfTransferable = 0x00000008,
41
+ /**
42
+ * If set, indicates that this NFT's URI can be modified.
43
+ */
44
+ tfMutable = 0x00000010,
41
45
  }
42
46
 
43
47
  /**
@@ -46,11 +50,12 @@ export enum NFTokenMintFlags {
46
50
  *
47
51
  * @category Transaction Flags
48
52
  */
49
- export interface NFTokenMintFlagsInterface extends GlobalFlags {
53
+ export interface NFTokenMintFlagsInterface extends GlobalFlagsInterface {
50
54
  tfBurnable?: boolean
51
55
  tfOnlyXRP?: boolean
52
56
  tfTrustLine?: boolean
53
57
  tfTransferable?: boolean
58
+ tfMutable?: boolean
54
59
  }
55
60
 
56
61
  /**
@@ -0,0 +1,67 @@
1
+ import { ValidationError } from '../../errors'
2
+ import { isHex } from '../utils'
3
+
4
+ import {
5
+ BaseTransaction,
6
+ validateBaseTransaction,
7
+ isAccount,
8
+ isString,
9
+ validateOptionalField,
10
+ Account,
11
+ validateRequiredField,
12
+ } from './common'
13
+
14
+ /**
15
+ * The NFTokenModify transaction modifies an NFToken's URI
16
+ * if its tfMutable is set to true.
17
+ */
18
+ export interface NFTokenModify extends BaseTransaction {
19
+ TransactionType: 'NFTokenModify'
20
+ /**
21
+ * Identifies the NFTokenID of the NFToken object that the
22
+ * offer references.
23
+ */
24
+ NFTokenID: string
25
+ /**
26
+ * Indicates the AccountID of the account that owns the corresponding NFToken.
27
+ * Can be omitted if the owner is the account submitting this transaction
28
+ */
29
+ Owner?: Account
30
+ /**
31
+ * URI that points to the data and/or metadata associated with the NFT.
32
+ * This field need not be an HTTP or HTTPS URL; it could be an IPFS URI, a
33
+ * magnet link, immediate data encoded as an RFC2379 "data" URL, or even an
34
+ * opaque issuer-specific encoding. The URI is NOT checked for validity, but
35
+ * the field is limited to a maximum length of 256 bytes.
36
+ *
37
+ * This field must be hex-encoded. You can use `convertStringToHex` to
38
+ * convert this field to the proper encoding.
39
+ *
40
+ * This field must not be an empty string. Omit it from the transaction or
41
+ * set to `null` if you do not use it.
42
+ */
43
+ URI?: string | null
44
+ }
45
+
46
+ /**
47
+ * Verify the form and type of an NFTokenModify at runtime.
48
+ *
49
+ * @param tx - An NFTokenModify Transaction.
50
+ * @throws When the NFTokenModify is Malformed.
51
+ */
52
+ export function validateNFTokenModify(tx: Record<string, unknown>): void {
53
+ validateBaseTransaction(tx)
54
+
55
+ validateRequiredField(tx, 'NFTokenID', isString)
56
+ validateOptionalField(tx, 'Owner', isAccount)
57
+ validateOptionalField(tx, 'URI', isString)
58
+
59
+ if (tx.URI !== undefined && typeof tx.URI === 'string') {
60
+ if (tx.URI === '') {
61
+ throw new ValidationError('NFTokenModify: URI must not be empty string')
62
+ }
63
+ if (!isHex(tx.URI)) {
64
+ throw new ValidationError('NFTokenModify: URI must be in hex format')
65
+ }
66
+ }
67
+ }
@@ -2,7 +2,7 @@ import { Amount, XChainBridge } from '../common'
2
2
 
3
3
  import {
4
4
  BaseTransaction,
5
- GlobalFlags,
5
+ GlobalFlagsInterface,
6
6
  isAmount,
7
7
  isXChainBridge,
8
8
  validateBaseTransaction,
@@ -26,7 +26,7 @@ export enum XChainModifyBridgeFlags {
26
26
  *
27
27
  * @category Transaction Flags
28
28
  */
29
- export interface XChainModifyBridgeFlagsInterface extends GlobalFlags {
29
+ export interface XChainModifyBridgeFlagsInterface extends GlobalFlagsInterface {
30
30
  /** Clears the MinAccountCreateAmount of the bridge. */
31
31
  tfClearAccountCreateAmount?: boolean
32
32
  }
@@ -4,8 +4,10 @@ import {
4
4
  isAccount,
5
5
  isNumber,
6
6
  validateBaseTransaction,
7
+ validateCredentialsList,
7
8
  validateOptionalField,
8
9
  validateRequiredField,
10
+ MAX_AUTHORIZED_CREDENTIALS,
9
11
  } from './common'
10
12
 
11
13
  /**
@@ -28,6 +30,12 @@ export interface AccountDelete extends BaseTransaction {
28
30
  * information for the recipient of the deleted account's leftover XRP.
29
31
  */
30
32
  DestinationTag?: number
33
+ /**
34
+ * Credentials associated with sender of this transaction. The credentials included
35
+ * must not be expired. The list must not be empty when specified and cannot contain
36
+ * more than 8 credentials.
37
+ */
38
+ CredentialIDs?: string[]
31
39
  }
32
40
 
33
41
  /**
@@ -41,4 +49,12 @@ export function validateAccountDelete(tx: Record<string, unknown>): void {
41
49
 
42
50
  validateRequiredField(tx, 'Destination', isAccount)
43
51
  validateOptionalField(tx, 'DestinationTag', isNumber)
52
+
53
+ validateCredentialsList(
54
+ tx.CredentialIDs,
55
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- known from base check
56
+ tx.TransactionType as string,
57
+ true,
58
+ MAX_AUTHORIZED_CREDENTIALS,
59
+ )
44
60
  }
@@ -3,6 +3,7 @@ import { ValidationError } from '../../errors'
3
3
  import {
4
4
  Account,
5
5
  BaseTransaction,
6
+ GlobalFlagsInterface,
6
7
  isAccount,
7
8
  validateBaseTransaction,
8
9
  validateOptionalField,
@@ -112,7 +113,7 @@ export enum AccountSetTfFlags {
112
113
  * // }
113
114
  * ```
114
115
  */
115
- export interface AccountSetFlagsInterface {
116
+ export interface AccountSetFlagsInterface extends GlobalFlagsInterface {
116
117
  tfRequireDestTag?: boolean
117
118
  tfOptionalDestTag?: boolean
118
119
  tfRequireAuth?: boolean