xrpl 4.1.0 → 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 (333) hide show
  1. package/build/xrpl-latest-min.js +3 -0
  2. package/build/xrpl-latest-min.js.map +1 -0
  3. package/build/xrpl-latest.js +528 -83
  4. package/build/xrpl-latest.js.map +1 -1
  5. package/dist/npm/Wallet/batchSigner.d.ts +8 -0
  6. package/dist/npm/Wallet/batchSigner.d.ts.map +1 -0
  7. package/dist/npm/Wallet/batchSigner.js +124 -0
  8. package/dist/npm/Wallet/batchSigner.js.map +1 -0
  9. package/dist/npm/Wallet/defaultFaucets.d.ts +2 -1
  10. package/dist/npm/Wallet/defaultFaucets.d.ts.map +1 -1
  11. package/dist/npm/Wallet/defaultFaucets.js +5 -0
  12. package/dist/npm/Wallet/defaultFaucets.js.map +1 -1
  13. package/dist/npm/Wallet/index.d.ts.map +1 -1
  14. package/dist/npm/Wallet/index.js +8 -2
  15. package/dist/npm/Wallet/index.js.map +1 -1
  16. package/dist/npm/client/RequestManager.d.ts.map +1 -1
  17. package/dist/npm/client/RequestManager.js +3 -3
  18. package/dist/npm/client/RequestManager.js.map +1 -1
  19. package/dist/npm/client/connection.d.ts.map +1 -1
  20. package/dist/npm/client/connection.js.map +1 -1
  21. package/dist/npm/client/index.d.ts +4 -0
  22. package/dist/npm/client/index.d.ts.map +1 -1
  23. package/dist/npm/client/index.js +16 -9
  24. package/dist/npm/client/index.js.map +1 -1
  25. package/dist/npm/models/index.d.ts +1 -1
  26. package/dist/npm/models/index.d.ts.map +1 -1
  27. package/dist/npm/models/index.js +3 -2
  28. package/dist/npm/models/index.js.map +1 -1
  29. package/dist/npm/models/ledger/Credential.d.ts +2 -2
  30. package/dist/npm/models/ledger/Credential.d.ts.map +1 -1
  31. package/dist/npm/models/ledger/LedgerEntry.d.ts +3 -2
  32. package/dist/npm/models/ledger/LedgerEntry.d.ts.map +1 -1
  33. package/dist/npm/models/ledger/PermissionedDomain.d.ts +11 -0
  34. package/dist/npm/models/ledger/PermissionedDomain.d.ts.map +1 -0
  35. package/dist/npm/models/ledger/PermissionedDomain.js +3 -0
  36. package/dist/npm/models/ledger/PermissionedDomain.js.map +1 -0
  37. package/dist/npm/models/ledger/RippleState.d.ts +3 -1
  38. package/dist/npm/models/ledger/RippleState.d.ts.map +1 -1
  39. package/dist/npm/models/ledger/RippleState.js +2 -0
  40. package/dist/npm/models/ledger/RippleState.js.map +1 -1
  41. package/dist/npm/models/methods/baseMethod.d.ts +1 -0
  42. package/dist/npm/models/methods/baseMethod.d.ts.map +1 -1
  43. package/dist/npm/models/methods/index.d.ts +5 -4
  44. package/dist/npm/models/methods/index.d.ts.map +1 -1
  45. package/dist/npm/models/methods/ledger.d.ts +2 -2
  46. package/dist/npm/models/methods/ledger.d.ts.map +1 -1
  47. package/dist/npm/models/methods/serverState.d.ts +1 -0
  48. package/dist/npm/models/methods/serverState.d.ts.map +1 -1
  49. package/dist/npm/models/methods/simulate.d.ts +42 -0
  50. package/dist/npm/models/methods/simulate.d.ts.map +1 -0
  51. package/dist/npm/models/methods/simulate.js +3 -0
  52. package/dist/npm/models/methods/simulate.js.map +1 -0
  53. package/dist/npm/models/transactions/AMMClawback.d.ts +17 -0
  54. package/dist/npm/models/transactions/AMMClawback.d.ts.map +1 -0
  55. package/dist/npm/models/transactions/AMMClawback.js +34 -0
  56. package/dist/npm/models/transactions/AMMClawback.js.map +1 -0
  57. package/dist/npm/models/transactions/AMMDeposit.d.ts +2 -2
  58. package/dist/npm/models/transactions/AMMDeposit.d.ts.map +1 -1
  59. package/dist/npm/models/transactions/AMMWithdraw.d.ts +2 -2
  60. package/dist/npm/models/transactions/AMMWithdraw.d.ts.map +1 -1
  61. package/dist/npm/models/transactions/MPTokenAuthorize.d.ts +2 -2
  62. package/dist/npm/models/transactions/MPTokenAuthorize.d.ts.map +1 -1
  63. package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts +2 -2
  64. package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -1
  65. package/dist/npm/models/transactions/MPTokenIssuanceCreate.js.map +1 -1
  66. package/dist/npm/models/transactions/MPTokenIssuanceSet.d.ts +2 -2
  67. package/dist/npm/models/transactions/MPTokenIssuanceSet.d.ts.map +1 -1
  68. package/dist/npm/models/transactions/NFTokenCreateOffer.d.ts +2 -2
  69. package/dist/npm/models/transactions/NFTokenCreateOffer.d.ts.map +1 -1
  70. package/dist/npm/models/transactions/NFTokenMint.d.ts +5 -3
  71. package/dist/npm/models/transactions/NFTokenMint.d.ts.map +1 -1
  72. package/dist/npm/models/transactions/NFTokenMint.js +1 -0
  73. package/dist/npm/models/transactions/NFTokenMint.js.map +1 -1
  74. package/dist/npm/models/transactions/NFTokenModify.d.ts +9 -0
  75. package/dist/npm/models/transactions/NFTokenModify.d.ts.map +1 -0
  76. package/dist/npm/models/transactions/NFTokenModify.js +22 -0
  77. package/dist/npm/models/transactions/NFTokenModify.js.map +1 -0
  78. package/dist/npm/models/transactions/XChainModifyBridge.d.ts +2 -2
  79. package/dist/npm/models/transactions/XChainModifyBridge.d.ts.map +1 -1
  80. package/dist/npm/models/transactions/accountDelete.d.ts.map +1 -1
  81. package/dist/npm/models/transactions/accountDelete.js +1 -1
  82. package/dist/npm/models/transactions/accountDelete.js.map +1 -1
  83. package/dist/npm/models/transactions/accountSet.d.ts +2 -2
  84. package/dist/npm/models/transactions/accountSet.d.ts.map +1 -1
  85. package/dist/npm/models/transactions/accountSet.js.map +1 -1
  86. package/dist/npm/models/transactions/batch.d.ts +39 -0
  87. package/dist/npm/models/transactions/batch.d.ts.map +1 -0
  88. package/dist/npm/models/transactions/batch.js +62 -0
  89. package/dist/npm/models/transactions/batch.js.map +1 -0
  90. package/dist/npm/models/transactions/common.d.ts +21 -6
  91. package/dist/npm/models/transactions/common.d.ts.map +1 -1
  92. package/dist/npm/models/transactions/common.js +52 -16
  93. package/dist/npm/models/transactions/common.js.map +1 -1
  94. package/dist/npm/models/transactions/depositPreauth.d.ts.map +1 -1
  95. package/dist/npm/models/transactions/depositPreauth.js +2 -2
  96. package/dist/npm/models/transactions/depositPreauth.js.map +1 -1
  97. package/dist/npm/models/transactions/escrowFinish.d.ts.map +1 -1
  98. package/dist/npm/models/transactions/escrowFinish.js +1 -1
  99. package/dist/npm/models/transactions/escrowFinish.js.map +1 -1
  100. package/dist/npm/models/transactions/index.d.ts +6 -1
  101. package/dist/npm/models/transactions/index.d.ts.map +1 -1
  102. package/dist/npm/models/transactions/index.js +5 -1
  103. package/dist/npm/models/transactions/index.js.map +1 -1
  104. package/dist/npm/models/transactions/metadata.d.ts +1 -0
  105. package/dist/npm/models/transactions/metadata.d.ts.map +1 -1
  106. package/dist/npm/models/transactions/offerCreate.d.ts +2 -2
  107. package/dist/npm/models/transactions/offerCreate.d.ts.map +1 -1
  108. package/dist/npm/models/transactions/payment.d.ts +2 -2
  109. package/dist/npm/models/transactions/payment.d.ts.map +1 -1
  110. package/dist/npm/models/transactions/payment.js +1 -1
  111. package/dist/npm/models/transactions/payment.js.map +1 -1
  112. package/dist/npm/models/transactions/paymentChannelClaim.d.ts +2 -2
  113. package/dist/npm/models/transactions/paymentChannelClaim.d.ts.map +1 -1
  114. package/dist/npm/models/transactions/paymentChannelClaim.js +1 -1
  115. package/dist/npm/models/transactions/paymentChannelClaim.js.map +1 -1
  116. package/dist/npm/models/transactions/permissionedDomainDelete.d.ts +7 -0
  117. package/dist/npm/models/transactions/permissionedDomainDelete.d.ts.map +1 -0
  118. package/dist/npm/models/transactions/permissionedDomainDelete.js +10 -0
  119. package/dist/npm/models/transactions/permissionedDomainDelete.js.map +1 -0
  120. package/dist/npm/models/transactions/permissionedDomainSet.d.ts +9 -0
  121. package/dist/npm/models/transactions/permissionedDomainSet.d.ts.map +1 -0
  122. package/dist/npm/models/transactions/permissionedDomainSet.js +13 -0
  123. package/dist/npm/models/transactions/permissionedDomainSet.js.map +1 -0
  124. package/dist/npm/models/transactions/transaction.d.ts +6 -1
  125. package/dist/npm/models/transactions/transaction.d.ts.map +1 -1
  126. package/dist/npm/models/transactions/transaction.js +24 -1
  127. package/dist/npm/models/transactions/transaction.js.map +1 -1
  128. package/dist/npm/models/transactions/trustSet.d.ts +7 -3
  129. package/dist/npm/models/transactions/trustSet.d.ts.map +1 -1
  130. package/dist/npm/models/transactions/trustSet.js +2 -0
  131. package/dist/npm/models/transactions/trustSet.js.map +1 -1
  132. package/dist/npm/models/utils/flags.d.ts +2 -0
  133. package/dist/npm/models/utils/flags.d.ts.map +1 -1
  134. package/dist/npm/models/utils/flags.js +59 -26
  135. package/dist/npm/models/utils/flags.js.map +1 -1
  136. package/dist/npm/snippets/tsconfig.tsbuildinfo +1 -1
  137. package/dist/npm/src/Wallet/batchSigner.d.ts +8 -0
  138. package/dist/npm/src/Wallet/batchSigner.d.ts.map +1 -0
  139. package/dist/npm/src/Wallet/batchSigner.js +124 -0
  140. package/dist/npm/src/Wallet/batchSigner.js.map +1 -0
  141. package/dist/npm/src/Wallet/defaultFaucets.d.ts +2 -1
  142. package/dist/npm/src/Wallet/defaultFaucets.d.ts.map +1 -1
  143. package/dist/npm/src/Wallet/defaultFaucets.js +5 -0
  144. package/dist/npm/src/Wallet/defaultFaucets.js.map +1 -1
  145. package/dist/npm/src/Wallet/index.d.ts.map +1 -1
  146. package/dist/npm/src/Wallet/index.js +8 -2
  147. package/dist/npm/src/Wallet/index.js.map +1 -1
  148. package/dist/npm/src/client/RequestManager.d.ts.map +1 -1
  149. package/dist/npm/src/client/RequestManager.js +3 -3
  150. package/dist/npm/src/client/RequestManager.js.map +1 -1
  151. package/dist/npm/src/client/connection.d.ts.map +1 -1
  152. package/dist/npm/src/client/connection.js.map +1 -1
  153. package/dist/npm/src/client/index.d.ts +4 -0
  154. package/dist/npm/src/client/index.d.ts.map +1 -1
  155. package/dist/npm/src/client/index.js +16 -9
  156. package/dist/npm/src/client/index.js.map +1 -1
  157. package/dist/npm/src/models/index.d.ts +1 -1
  158. package/dist/npm/src/models/index.d.ts.map +1 -1
  159. package/dist/npm/src/models/index.js +3 -2
  160. package/dist/npm/src/models/index.js.map +1 -1
  161. package/dist/npm/src/models/ledger/Credential.d.ts +2 -2
  162. package/dist/npm/src/models/ledger/Credential.d.ts.map +1 -1
  163. package/dist/npm/src/models/ledger/LedgerEntry.d.ts +3 -2
  164. package/dist/npm/src/models/ledger/LedgerEntry.d.ts.map +1 -1
  165. package/dist/npm/src/models/ledger/PermissionedDomain.d.ts +11 -0
  166. package/dist/npm/src/models/ledger/PermissionedDomain.d.ts.map +1 -0
  167. package/dist/npm/src/models/ledger/PermissionedDomain.js +3 -0
  168. package/dist/npm/src/models/ledger/PermissionedDomain.js.map +1 -0
  169. package/dist/npm/src/models/ledger/RippleState.d.ts +3 -1
  170. package/dist/npm/src/models/ledger/RippleState.d.ts.map +1 -1
  171. package/dist/npm/src/models/ledger/RippleState.js +2 -0
  172. package/dist/npm/src/models/ledger/RippleState.js.map +1 -1
  173. package/dist/npm/src/models/methods/baseMethod.d.ts +1 -0
  174. package/dist/npm/src/models/methods/baseMethod.d.ts.map +1 -1
  175. package/dist/npm/src/models/methods/index.d.ts +5 -4
  176. package/dist/npm/src/models/methods/index.d.ts.map +1 -1
  177. package/dist/npm/src/models/methods/ledger.d.ts +2 -2
  178. package/dist/npm/src/models/methods/ledger.d.ts.map +1 -1
  179. package/dist/npm/src/models/methods/serverState.d.ts +1 -0
  180. package/dist/npm/src/models/methods/serverState.d.ts.map +1 -1
  181. package/dist/npm/src/models/methods/simulate.d.ts +42 -0
  182. package/dist/npm/src/models/methods/simulate.d.ts.map +1 -0
  183. package/dist/npm/src/models/methods/simulate.js +3 -0
  184. package/dist/npm/src/models/methods/simulate.js.map +1 -0
  185. package/dist/npm/src/models/transactions/AMMClawback.d.ts +17 -0
  186. package/dist/npm/src/models/transactions/AMMClawback.d.ts.map +1 -0
  187. package/dist/npm/src/models/transactions/AMMClawback.js +34 -0
  188. package/dist/npm/src/models/transactions/AMMClawback.js.map +1 -0
  189. package/dist/npm/src/models/transactions/AMMDeposit.d.ts +2 -2
  190. package/dist/npm/src/models/transactions/AMMDeposit.d.ts.map +1 -1
  191. package/dist/npm/src/models/transactions/AMMWithdraw.d.ts +2 -2
  192. package/dist/npm/src/models/transactions/AMMWithdraw.d.ts.map +1 -1
  193. package/dist/npm/src/models/transactions/MPTokenAuthorize.d.ts +2 -2
  194. package/dist/npm/src/models/transactions/MPTokenAuthorize.d.ts.map +1 -1
  195. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts +2 -2
  196. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -1
  197. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.js.map +1 -1
  198. package/dist/npm/src/models/transactions/MPTokenIssuanceSet.d.ts +2 -2
  199. package/dist/npm/src/models/transactions/MPTokenIssuanceSet.d.ts.map +1 -1
  200. package/dist/npm/src/models/transactions/NFTokenCreateOffer.d.ts +2 -2
  201. package/dist/npm/src/models/transactions/NFTokenCreateOffer.d.ts.map +1 -1
  202. package/dist/npm/src/models/transactions/NFTokenMint.d.ts +5 -3
  203. package/dist/npm/src/models/transactions/NFTokenMint.d.ts.map +1 -1
  204. package/dist/npm/src/models/transactions/NFTokenMint.js +1 -0
  205. package/dist/npm/src/models/transactions/NFTokenMint.js.map +1 -1
  206. package/dist/npm/src/models/transactions/NFTokenModify.d.ts +9 -0
  207. package/dist/npm/src/models/transactions/NFTokenModify.d.ts.map +1 -0
  208. package/dist/npm/src/models/transactions/NFTokenModify.js +22 -0
  209. package/dist/npm/src/models/transactions/NFTokenModify.js.map +1 -0
  210. package/dist/npm/src/models/transactions/XChainModifyBridge.d.ts +2 -2
  211. package/dist/npm/src/models/transactions/XChainModifyBridge.d.ts.map +1 -1
  212. package/dist/npm/src/models/transactions/accountDelete.d.ts.map +1 -1
  213. package/dist/npm/src/models/transactions/accountDelete.js +1 -1
  214. package/dist/npm/src/models/transactions/accountDelete.js.map +1 -1
  215. package/dist/npm/src/models/transactions/accountSet.d.ts +2 -2
  216. package/dist/npm/src/models/transactions/accountSet.d.ts.map +1 -1
  217. package/dist/npm/src/models/transactions/accountSet.js.map +1 -1
  218. package/dist/npm/src/models/transactions/batch.d.ts +39 -0
  219. package/dist/npm/src/models/transactions/batch.d.ts.map +1 -0
  220. package/dist/npm/src/models/transactions/batch.js +62 -0
  221. package/dist/npm/src/models/transactions/batch.js.map +1 -0
  222. package/dist/npm/src/models/transactions/common.d.ts +21 -6
  223. package/dist/npm/src/models/transactions/common.d.ts.map +1 -1
  224. package/dist/npm/src/models/transactions/common.js +52 -16
  225. package/dist/npm/src/models/transactions/common.js.map +1 -1
  226. package/dist/npm/src/models/transactions/depositPreauth.d.ts.map +1 -1
  227. package/dist/npm/src/models/transactions/depositPreauth.js +2 -2
  228. package/dist/npm/src/models/transactions/depositPreauth.js.map +1 -1
  229. package/dist/npm/src/models/transactions/escrowFinish.d.ts.map +1 -1
  230. package/dist/npm/src/models/transactions/escrowFinish.js +1 -1
  231. package/dist/npm/src/models/transactions/escrowFinish.js.map +1 -1
  232. package/dist/npm/src/models/transactions/index.d.ts +6 -1
  233. package/dist/npm/src/models/transactions/index.d.ts.map +1 -1
  234. package/dist/npm/src/models/transactions/index.js +5 -1
  235. package/dist/npm/src/models/transactions/index.js.map +1 -1
  236. package/dist/npm/src/models/transactions/metadata.d.ts +1 -0
  237. package/dist/npm/src/models/transactions/metadata.d.ts.map +1 -1
  238. package/dist/npm/src/models/transactions/offerCreate.d.ts +2 -2
  239. package/dist/npm/src/models/transactions/offerCreate.d.ts.map +1 -1
  240. package/dist/npm/src/models/transactions/payment.d.ts +2 -2
  241. package/dist/npm/src/models/transactions/payment.d.ts.map +1 -1
  242. package/dist/npm/src/models/transactions/payment.js +1 -1
  243. package/dist/npm/src/models/transactions/payment.js.map +1 -1
  244. package/dist/npm/src/models/transactions/paymentChannelClaim.d.ts +2 -2
  245. package/dist/npm/src/models/transactions/paymentChannelClaim.d.ts.map +1 -1
  246. package/dist/npm/src/models/transactions/paymentChannelClaim.js +1 -1
  247. package/dist/npm/src/models/transactions/paymentChannelClaim.js.map +1 -1
  248. package/dist/npm/src/models/transactions/permissionedDomainDelete.d.ts +7 -0
  249. package/dist/npm/src/models/transactions/permissionedDomainDelete.d.ts.map +1 -0
  250. package/dist/npm/src/models/transactions/permissionedDomainDelete.js +10 -0
  251. package/dist/npm/src/models/transactions/permissionedDomainDelete.js.map +1 -0
  252. package/dist/npm/src/models/transactions/permissionedDomainSet.d.ts +9 -0
  253. package/dist/npm/src/models/transactions/permissionedDomainSet.d.ts.map +1 -0
  254. package/dist/npm/src/models/transactions/permissionedDomainSet.js +13 -0
  255. package/dist/npm/src/models/transactions/permissionedDomainSet.js.map +1 -0
  256. package/dist/npm/src/models/transactions/transaction.d.ts +6 -1
  257. package/dist/npm/src/models/transactions/transaction.d.ts.map +1 -1
  258. package/dist/npm/src/models/transactions/transaction.js +24 -1
  259. package/dist/npm/src/models/transactions/transaction.js.map +1 -1
  260. package/dist/npm/src/models/transactions/trustSet.d.ts +7 -3
  261. package/dist/npm/src/models/transactions/trustSet.d.ts.map +1 -1
  262. package/dist/npm/src/models/transactions/trustSet.js +2 -0
  263. package/dist/npm/src/models/transactions/trustSet.js.map +1 -1
  264. package/dist/npm/src/models/utils/flags.d.ts +2 -0
  265. package/dist/npm/src/models/utils/flags.d.ts.map +1 -1
  266. package/dist/npm/src/models/utils/flags.js +59 -26
  267. package/dist/npm/src/models/utils/flags.js.map +1 -1
  268. package/dist/npm/src/sugar/autofill.d.ts +3 -1
  269. package/dist/npm/src/sugar/autofill.d.ts.map +1 -1
  270. package/dist/npm/src/sugar/autofill.js +100 -5
  271. package/dist/npm/src/sugar/autofill.js.map +1 -1
  272. package/dist/npm/src/sugar/submit.d.ts.map +1 -1
  273. package/dist/npm/src/sugar/submit.js +7 -7
  274. package/dist/npm/src/sugar/submit.js.map +1 -1
  275. package/dist/npm/src/utils/hashes/hashLedger.d.ts.map +1 -1
  276. package/dist/npm/src/utils/hashes/hashLedger.js +4 -1
  277. package/dist/npm/src/utils/hashes/hashLedger.js.map +1 -1
  278. package/dist/npm/sugar/autofill.d.ts +3 -1
  279. package/dist/npm/sugar/autofill.d.ts.map +1 -1
  280. package/dist/npm/sugar/autofill.js +100 -5
  281. package/dist/npm/sugar/autofill.js.map +1 -1
  282. package/dist/npm/sugar/submit.d.ts.map +1 -1
  283. package/dist/npm/sugar/submit.js +7 -7
  284. package/dist/npm/sugar/submit.js.map +1 -1
  285. package/dist/npm/utils/hashes/hashLedger.d.ts.map +1 -1
  286. package/dist/npm/utils/hashes/hashLedger.js +4 -1
  287. package/dist/npm/utils/hashes/hashLedger.js.map +1 -1
  288. package/package.json +5 -5
  289. package/src/Wallet/batchSigner.ts +222 -0
  290. package/src/Wallet/defaultFaucets.ts +6 -0
  291. package/src/Wallet/index.ts +9 -3
  292. package/src/client/RequestManager.ts +4 -1
  293. package/src/client/connection.ts +0 -1
  294. package/src/client/index.ts +49 -30
  295. package/src/models/index.ts +2 -1
  296. package/src/models/ledger/Credential.ts +2 -2
  297. package/src/models/ledger/LedgerEntry.ts +3 -0
  298. package/src/models/ledger/PermissionedDomain.ts +29 -0
  299. package/src/models/ledger/RippleState.ts +4 -0
  300. package/src/models/methods/baseMethod.ts +1 -0
  301. package/src/models/methods/index.ts +18 -0
  302. package/src/models/methods/ledger.ts +2 -2
  303. package/src/models/methods/serverState.ts +1 -0
  304. package/src/models/methods/simulate.ts +88 -0
  305. package/src/models/transactions/AMMClawback.ts +120 -0
  306. package/src/models/transactions/AMMDeposit.ts +2 -2
  307. package/src/models/transactions/AMMWithdraw.ts +2 -2
  308. package/src/models/transactions/MPTokenAuthorize.ts +2 -2
  309. package/src/models/transactions/MPTokenIssuanceCreate.ts +3 -2
  310. package/src/models/transactions/MPTokenIssuanceSet.ts +2 -2
  311. package/src/models/transactions/NFTokenCreateOffer.ts +2 -2
  312. package/src/models/transactions/NFTokenMint.ts +7 -2
  313. package/src/models/transactions/NFTokenModify.ts +67 -0
  314. package/src/models/transactions/XChainModifyBridge.ts +2 -2
  315. package/src/models/transactions/accountDelete.ts +2 -0
  316. package/src/models/transactions/accountSet.ts +2 -1
  317. package/src/models/transactions/batch.ts +147 -0
  318. package/src/models/transactions/common.ts +110 -30
  319. package/src/models/transactions/depositPreauth.ts +3 -0
  320. package/src/models/transactions/escrowFinish.ts +2 -0
  321. package/src/models/transactions/index.ts +10 -1
  322. package/src/models/transactions/metadata.ts +2 -0
  323. package/src/models/transactions/offerCreate.ts +2 -2
  324. package/src/models/transactions/payment.ts +4 -2
  325. package/src/models/transactions/paymentChannelClaim.ts +5 -2
  326. package/src/models/transactions/permissionedDomainDelete.ts +28 -0
  327. package/src/models/transactions/permissionedDomainSet.ts +54 -0
  328. package/src/models/transactions/transaction.ts +47 -2
  329. package/src/models/transactions/trustSet.ts +12 -2
  330. package/src/models/utils/flags.ts +85 -30
  331. package/src/sugar/autofill.ts +140 -11
  332. package/src/sugar/submit.ts +3 -5
  333. package/src/utils/hashes/hashLedger.ts +5 -2
@@ -31,6 +31,8 @@ const utils_1 = require("@xrplf/isomorphic/utils");
31
31
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
32
32
  const ripple_binary_codec_1 = require("ripple-binary-codec");
33
33
  const errors_1 = require("../../errors");
34
+ const common_1 = require("../../models/transactions/common");
35
+ const flags_1 = require("../../models/utils/flags");
34
36
  const HashPrefix_1 = __importDefault(require("./HashPrefix"));
35
37
  const sha512Half_1 = __importDefault(require("./sha512Half"));
36
38
  const SHAMap_1 = __importStar(require("./SHAMap"));
@@ -77,7 +79,8 @@ function hashSignedTx(tx) {
77
79
  }
78
80
  if (txObject.TxnSignature === undefined &&
79
81
  txObject.Signers === undefined &&
80
- txObject.SigningPubKey === undefined) {
82
+ txObject.SigningPubKey === undefined &&
83
+ !(0, flags_1.hasFlag)(txObject, common_1.GlobalFlags.tfInnerBatchTxn)) {
81
84
  throw new errors_1.ValidationError('The transaction must be signed to hash it.');
82
85
  }
83
86
  const prefix = HashPrefix_1.default.TRANSACTION_ID.toString(16).toUpperCase();
@@ -1 +1 @@
1
- {"version":3,"file":"hashLedger.js","sourceRoot":"","sources":["../../../../src/utils/hashes/hashLedger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hashLedger.js","sourceRoot":"","sources":["../../../../src/utils/hashes/hashLedger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,mDAAoD;AACpD,gEAAoC;AACpC,6DAAoD;AAEpD,yCAAyD;AAKzD,6DAA8D;AAC9D,oDAAkD;AAElD,8DAAqC;AACrC,8DAAqC;AACrC,mDAA2C;AAE3C,MAAM,GAAG,GAAG,EAAE,CAAA;AAMd,SAAS,QAAQ,CAAC,OAAe,EAAE,UAAkB;IACnD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;SACxB,QAAQ,CAAC,GAAG,CAAC;SACb,QAAQ,CAAC,UAAU,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;IAEhC,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,WAAW,CAClB,aAA0C,EAC1C,UAAkB;IAElB,MAAM,GAAG,GAAG,IAAI,sBAAS,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IACtD,OAAO,GAAG,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;AAC1C,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;IAC7B,IAAI,MAAM,IAAI,GAAG,EAAE;QACjB,OAAO,IAAA,kBAAU,EAAC,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAA;KAClC;IACD,IAAI,MAAM,IAAI,KAAK,EAAE;QACnB,MAAM,MAAM,GAAG,MAAM,GAAG,GAAG,CAAA;QAC3B,OAAO,IAAA,kBAAU,EAAC,CAAC,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAA;KAC/D;IACD,IAAI,MAAM,IAAI,MAAM,EAAE;QACpB,MAAM,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;QAC7B,OAAO,CACL,IAAA,kBAAU,EAAC;YACT,GAAG,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC;YACrB,CAAC,MAAM,KAAK,CAAC,CAAC,GAAG,IAAI;YACrB,MAAM,GAAG,IAAI;SACd,CAAC,GAAG,GAAG,CACT,CAAA;KACF;IACD,MAAM,IAAI,kBAAS,CAAC,4BAA4B,CAAC,CAAA;AACnD,CAAC;AAUD,SAAgB,YAAY,CAAC,EAAwB;IACnD,IAAI,MAAc,CAAA;IAClB,IAAI,QAAqB,CAAA;IACzB,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QAC1B,MAAM,GAAG,EAAE,CAAA;QAEX,QAAQ,GAAG,IAAA,4BAAM,EAAC,EAAE,CAA2B,CAAA;KAChD;SAAM;QACL,MAAM,GAAG,IAAA,4BAAM,EAAC,EAAE,CAAC,CAAA;QACnB,QAAQ,GAAG,EAAE,CAAA;KACd;IAED,IACE,QAAQ,CAAC,YAAY,KAAK,SAAS;QACnC,QAAQ,CAAC,OAAO,KAAK,SAAS;QAC9B,QAAQ,CAAC,aAAa,KAAK,SAAS;QACpC,CAAC,IAAA,eAAO,EAAC,QAAQ,EAAE,oBAAW,CAAC,eAAe,CAAC,EAC/C;QACA,MAAM,IAAI,wBAAe,CAAC,4CAA4C,CAAC,CAAA;KACxE;IAED,MAAM,MAAM,GAAG,oBAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;IACnE,OAAO,IAAA,oBAAU,EAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;AAC1C,CAAC;AAvBD,oCAuBC;AASD,SAAgB,gBAAgB,CAC9B,YAA0C;IAE1C,MAAM,MAAM,GAAG,oBAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;IAE5D,MAAM,MAAM,GACV,MAAM;QACN,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC9C,WAAW,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;QACxC,YAAY,CAAC,WAAW;QACxB,YAAY,CAAC,gBAAgB;QAC7B,YAAY,CAAC,YAAY;QACzB,QAAQ,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC3C,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;QACpC,QAAQ,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAC/C,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;IAEvC,OAAO,IAAA,oBAAU,EAAC,MAAM,CAAC,CAAA;AAC3B,CAAC;AAlBD,4CAkBC;AASD,SAAgB,UAAU,CACxB,YAAqE;;IAErE,MAAM,MAAM,GAAG,IAAI,gBAAM,EAAE,CAAA;IAC3B,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE;QACjC,MAAM,SAAS,GAAG,IAAA,4BAAM,EAAC,MAAM,CAAC,CAAA;QAChC,MAAM,OAAO,GAAG,IAAA,4BAAM,EAAC,MAAA,MAAM,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,eAAe,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;QAClE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,iBAAQ,CAAC,oBAAoB,CAAC,CAAA;KAC5D;IAED,OAAO,MAAM,CAAC,IAAI,CAAA;AACpB,CAAC;AAbD,gCAaC;AASD,SAAgB,aAAa,CAAC,OAAsB;IAClD,MAAM,MAAM,GAAG,IAAI,gBAAM,EAAE,CAAA;IAE3B,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,IAAA,4BAAM,EAAC,WAAW,CAAC,CAAA;QAChC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,iBAAQ,CAAC,aAAa,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,IAAI,CAAA;AACpB,CAAC;AATD,sCASC;AAED,SAAS,sBAAsB,CAC7B,MAAoC,EACpC,OAAgC;IAEhC,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAA;IAEnC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;QAC9B,OAAO,gBAAgB,CAAA;KACxB;IAED,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,EAAE;QAC/B,MAAM,IAAI,wBAAe,CAAC,yCAAyC,CAAC,CAAA;KACrE;IAED,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IAEvD,IAAI,gBAAgB,KAAK,eAAe,EAAE;QACxC,MAAM,IAAI,wBAAe,CACvB,2BAA2B;YACzB,+CAA+C,EACjD;YACE,uBAAuB,EAAE,gBAAgB;YACzC,0BAA0B,EAAE,eAAe;SAC5C,CACF,CAAA;KACF;IAED,OAAO,eAAe,CAAA;AACxB,CAAC;AAED,SAAS,gBAAgB,CACvB,MAAoC,EACpC,OAAgC;IAEhC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAA;IAE/B,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;QAC9B,OAAO,YAAY,CAAA;KACpB;IAED,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,EAAE;QAC/B,MAAM,IAAI,wBAAe,CAAC,yCAAyC,CAAC,CAAA;KACrE;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IAEpD,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,MAAM,IAAI,wBAAe,CACvB,2DAA2D,CAC5D,CAAA;KACF;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAWD,SAAS,UAAU,CACjB,MAAoC,EACpC,UAEI,EAAE;IAEN,MAAM,SAAS,GAAG;QAChB,gBAAgB,EAAE,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC;QACzD,YAAY,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC;KAChD,CAAA;IACD,OAAO,gBAAgB,iCAAM,MAAM,GAAK,SAAS,EAAG,CAAA;AACtD,CAAC;AAED,kBAAe,UAAU,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xrpl",
3
- "version": "4.1.0",
3
+ "version": "4.2.0-batch.0",
4
4
  "license": "ISC",
5
5
  "description": "A TypeScript/JavaScript API for interacting with the XRP Ledger in Node.js and the browser",
6
6
  "files": [
@@ -29,7 +29,7 @@
29
29
  "bignumber.js": "^9.0.0",
30
30
  "eventemitter3": "^5.0.1",
31
31
  "ripple-address-codec": "^5.0.0",
32
- "ripple-binary-codec": "^2.2.0",
32
+ "ripple-binary-codec": "^2.3.0-batch.0",
33
33
  "ripple-keypairs": "^2.0.0"
34
34
  },
35
35
  "devDependencies": {
@@ -43,7 +43,7 @@
43
43
  "lodash": "^4.17.4",
44
44
  "react": "^19.0.0",
45
45
  "run-s": "^0.0.0",
46
- "typedoc": "0.26.11",
46
+ "typedoc": "0.27.6",
47
47
  "ws": "^8.14.2"
48
48
  },
49
49
  "resolutions": {
@@ -64,7 +64,7 @@
64
64
  "test": "jest --config=jest.config.unit.js --verbose false --silent=false",
65
65
  "test:integration": "TS_NODE_PROJECT=tsconfig.build.json jest --config=jest.config.integration.js --verbose false --silent=false --runInBand",
66
66
  "test:browser": "npm run build && npm run build:browserTests && karma start ./karma.config.js",
67
- "test:watch": "jest --watch --verbose false --silent=false --runInBand ./test/**/*.test.ts --testPathIgnorePatterns=./test/integration --testPathIgnorePatterns=./test/fixtures",
67
+ "test:watch": "jest --watch --config=jest.config.unit.js --verbose false --silent=false",
68
68
  "format": "prettier --write '{src,test}/**/*.ts'",
69
69
  "lint": "eslint . --ext .ts --max-warnings 0",
70
70
  "perf": "./scripts/perf_test.sh",
@@ -88,5 +88,5 @@
88
88
  "engines": {
89
89
  "node": ">=18.0.0"
90
90
  },
91
- "gitHead": "11e724253bd87a3fcd15949e66786778adaa4640"
91
+ "gitHead": "3c563434d49d4d656f8b62933f035082733af560"
92
92
  }
@@ -0,0 +1,222 @@
1
+ import { bytesToHex } from '@xrplf/isomorphic/utils'
2
+ import BigNumber from 'bignumber.js'
3
+ import { decodeAccountID } from 'ripple-address-codec'
4
+ import { decode, encode, encodeForSigningBatch } from 'ripple-binary-codec'
5
+ import { sign } from 'ripple-keypairs'
6
+
7
+ import { ValidationError } from '../errors'
8
+ import { Batch, Transaction, validate } from '../models'
9
+ import { BatchSigner, validateBatch } from '../models/transactions/batch'
10
+ import { hashSignedTx } from '../utils/hashes'
11
+
12
+ import { Wallet } from '.'
13
+
14
+ /**
15
+ * Sign a multi-account Batch transaction.
16
+ *
17
+ * @param wallet - Wallet instance.
18
+ * @param transaction - The Batch transaction to sign.
19
+ * @param opts - Additional options for regular key and multi-signing complexity.
20
+ * @param opts.batchAccount - The account submitting the inner Batch transaction, on behalf of which is this signature.
21
+ * @param opts.multisign - Specify true/false to use multisign or actual address (classic/x-address) to make multisign tx request.
22
+ * The actual address is only needed in the case of regular key usage.
23
+ * @throws ValidationError if the transaction is malformed.
24
+ */
25
+ // eslint-disable-next-line max-lines-per-function -- TODO: refactor
26
+ export function signMultiBatch(
27
+ wallet: Wallet,
28
+ transaction: Batch,
29
+ opts: { batchAccount?: string; multisign?: boolean | string } = {},
30
+ ): void {
31
+ const batchAccount = opts.batchAccount ?? wallet.classicAddress
32
+ let multisignAddress: boolean | string = false
33
+ if (typeof opts.multisign === 'string') {
34
+ multisignAddress = opts.multisign
35
+ } else if (opts.multisign) {
36
+ multisignAddress = wallet.classicAddress
37
+ }
38
+
39
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- needed for JS
40
+ if (transaction.TransactionType !== 'Batch') {
41
+ throw new ValidationError('Must be a Batch transaction.')
42
+ }
43
+
44
+ const involvedAccounts = transaction.RawTransactions.map(
45
+ (raw) => raw.RawTransaction.Account,
46
+ )
47
+ if (!involvedAccounts.includes(batchAccount)) {
48
+ throw new ValidationError(
49
+ 'Must be signing for an address included in the Batch.',
50
+ )
51
+ }
52
+ /*
53
+ * This will throw a more clear error for JS users if the supplied transaction has incorrect formatting
54
+ */
55
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- validate does not accept Transaction type
56
+ validate(transaction as unknown as Record<string, unknown>)
57
+ const fieldsToSign = {
58
+ flags: transaction.Flags,
59
+ txIDs: transaction.RawTransactions.map((rawTx) =>
60
+ hashSignedTx(rawTx.RawTransaction),
61
+ ),
62
+ }
63
+ let batchSigner: BatchSigner
64
+ if (multisignAddress) {
65
+ batchSigner = {
66
+ BatchSigner: {
67
+ Account: batchAccount,
68
+ Signers: [
69
+ {
70
+ Signer: {
71
+ Account: multisignAddress,
72
+ SigningPubKey: wallet.publicKey,
73
+ TxnSignature: sign(
74
+ encodeForSigningBatch(fieldsToSign),
75
+ wallet.privateKey,
76
+ ),
77
+ },
78
+ },
79
+ ],
80
+ },
81
+ }
82
+ } else {
83
+ batchSigner = {
84
+ BatchSigner: {
85
+ Account: batchAccount,
86
+ SigningPubKey: wallet.publicKey,
87
+ TxnSignature: sign(
88
+ encodeForSigningBatch(fieldsToSign),
89
+ wallet.privateKey,
90
+ ),
91
+ },
92
+ }
93
+ }
94
+
95
+ // eslint-disable-next-line no-param-reassign -- okay for signing
96
+ transaction.BatchSigners = [batchSigner]
97
+ }
98
+
99
+ /**
100
+ * Takes several transactions with BatchSigners fields (in object or blob form) and creates a
101
+ * single transaction with all BatchSigners that then gets signed and returned.
102
+ *
103
+ * @param transactions The transactions to combine `BatchSigners` values on.
104
+ * @returns A single signed Transaction which has all BatchSigners from transactions within it.
105
+ * @throws ValidationError if:
106
+ * - There were no transactions given to sign
107
+ * @category Signing
108
+ */
109
+ export function combineBatchSigners(
110
+ transactions: Array<Batch | string>,
111
+ ): string {
112
+ if (transactions.length === 0) {
113
+ throw new ValidationError('There are 0 transactions to combine.')
114
+ }
115
+
116
+ const decodedTransactions: Transaction[] = transactions.map((txOrBlob) => {
117
+ return getDecodedTransaction(txOrBlob)
118
+ })
119
+
120
+ decodedTransactions.forEach((tx) => {
121
+ if (tx.TransactionType !== 'Batch') {
122
+ throw new ValidationError('TransactionType must be `Batch`.')
123
+ }
124
+ /*
125
+ * This will throw a more clear error for JS users if any of the supplied transactions has incorrect formatting
126
+ */
127
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- validate does not accept Transaction type
128
+ validateBatch(tx as unknown as Record<string, unknown>)
129
+ if (tx.BatchSigners == null || tx.BatchSigners.length === 0) {
130
+ throw new ValidationError(
131
+ 'For combining Batch transaction signatures, all transactions must include a BatchSigners field containing an array of signatures.',
132
+ )
133
+ }
134
+
135
+ if (tx.TxnSignature != null || tx.Signers != null) {
136
+ throw new ValidationError('Batch transaction must be unsigned.')
137
+ }
138
+ })
139
+
140
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- checked above
141
+ const batchTransactions = decodedTransactions as Batch[]
142
+
143
+ validateBatchTransactionEquivalence(batchTransactions)
144
+
145
+ return encode(getTransactionWithAllBatchSigners(batchTransactions))
146
+ }
147
+
148
+ /**
149
+ * The transactions should all be equal except for the 'Signers' field.
150
+ *
151
+ * @param transactions - An array of Transactions which are expected to be equal other than 'Signers'.
152
+ * @throws ValidationError if the transactions are not equal in any field other than 'Signers'.
153
+ */
154
+ function validateBatchTransactionEquivalence(transactions: Batch[]): void {
155
+ const exampleTransaction = JSON.stringify({
156
+ flags: transactions[0].Flags,
157
+ transactionIDs: transactions[0].RawTransactions.map((rawTx) =>
158
+ hashSignedTx(rawTx.RawTransaction),
159
+ ),
160
+ })
161
+ if (
162
+ transactions.slice(1).some(
163
+ (tx) =>
164
+ JSON.stringify({
165
+ flags: tx.Flags,
166
+ transactionIDs: tx.RawTransactions.map((rawTx) =>
167
+ hashSignedTx(rawTx.RawTransaction),
168
+ ),
169
+ }) !== exampleTransaction,
170
+ )
171
+ ) {
172
+ throw new ValidationError(
173
+ 'Flags and transaction hashes are not the same for all provided transactions.',
174
+ )
175
+ }
176
+ }
177
+
178
+ function getTransactionWithAllBatchSigners(transactions: Batch[]): Batch {
179
+ // Signers must be sorted in the combined transaction - See compareSigners' documentation for more details
180
+ const sortedSigners: BatchSigner[] = transactions
181
+ .flatMap((tx) => tx.BatchSigners ?? [])
182
+ .filter((signer) => signer.BatchSigner.Account !== transactions[0].Account)
183
+ .sort(compareBatchSigners)
184
+
185
+ return { ...transactions[0], BatchSigners: sortedSigners }
186
+ }
187
+
188
+ /**
189
+ * If presented in binary form, the BatchSigners array must be sorted based on
190
+ * the numeric value of the signer addresses, with the lowest value first.
191
+ * (If submitted as JSON, the submit_multisigned method handles this automatically.)
192
+ * https://xrpl.org/multi-signing.html.
193
+ *
194
+ * @param left - A BatchSigner to compare with.
195
+ * @param right - A second BatchSigner to compare with.
196
+ * @returns 1 if left \> right, 0 if left = right, -1 if left \< right, and null if left or right are NaN.
197
+ */
198
+ function compareBatchSigners(left: BatchSigner, right: BatchSigner): number {
199
+ return addressToBigNumber(left.BatchSigner.Account).comparedTo(
200
+ addressToBigNumber(right.BatchSigner.Account),
201
+ )
202
+ }
203
+
204
+ // copied from signer.ts
205
+ // TODO: refactor
206
+ const NUM_BITS_IN_HEX = 16
207
+
208
+ function addressToBigNumber(address: string): BigNumber {
209
+ const hex = bytesToHex(decodeAccountID(address))
210
+ return new BigNumber(hex, NUM_BITS_IN_HEX)
211
+ }
212
+
213
+ function getDecodedTransaction(txOrBlob: Transaction | string): Transaction {
214
+ if (typeof txOrBlob === 'object') {
215
+ // We need this to handle X-addresses in multisigning
216
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- We are casting here to get strong typing
217
+ return decode(encode(txOrBlob)) as unknown as Transaction
218
+ }
219
+
220
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- We are casting here to get strong typing
221
+ return decode(txOrBlob) as unknown as Transaction
222
+ }
@@ -14,11 +14,13 @@ export interface FaucetWallet {
14
14
  export enum FaucetNetwork {
15
15
  Testnet = 'faucet.altnet.rippletest.net',
16
16
  Devnet = 'faucet.devnet.rippletest.net',
17
+ Batchnet = 'batch.faucet.nerdnest.xyz',
17
18
  }
18
19
 
19
20
  export const FaucetNetworkPaths: Record<string, string> = {
20
21
  [FaucetNetwork.Testnet]: '/accounts',
21
22
  [FaucetNetwork.Devnet]: '/accounts',
23
+ [FaucetNetwork.Batchnet]: '/accounts',
22
24
  }
23
25
 
24
26
  /**
@@ -36,6 +38,10 @@ export function getFaucetHost(client: Client): FaucetNetwork | undefined {
36
38
  return FaucetNetwork.Testnet
37
39
  }
38
40
 
41
+ if (connectionUrl.includes('batchnet')) {
42
+ return FaucetNetwork.Batchnet
43
+ }
44
+
39
45
  if (connectionUrl.includes('sidechain-net2')) {
40
46
  throw new XRPLFaucetError(
41
47
  'Cannot fund an account on an issuing chain. Accounts must be created via the bridge.',
@@ -24,6 +24,8 @@ import {
24
24
  import ECDSA from '../ECDSA'
25
25
  import { ValidationError } from '../errors'
26
26
  import { Transaction, validate } from '../models/transactions'
27
+ import { GlobalFlags } from '../models/transactions/common'
28
+ import { hasFlag } from '../models/utils/flags'
27
29
  import { ensureClassicAddress } from '../sugar/utils'
28
30
  import { omitBy } from '../utils/collections'
29
31
  import { hashSignedTx } from '../utils/hashes/hashLedger'
@@ -367,6 +369,7 @@ export class Wallet {
367
369
  * @param this - Wallet instance.
368
370
  * @param transaction - A transaction to be signed offline.
369
371
  * @param multisign - Specify true/false to use multisign or actual address (classic/x-address) to make multisign tx request.
372
+ * The actual address is only needed in the case of regular key usage.
370
373
  * @returns A signed transaction.
371
374
  * @throws ValidationError if the transaction is already signed or does not encode/decode to same result.
372
375
  * @throws XrplError if the issued currency being signed is XRP ignoring case.
@@ -381,7 +384,7 @@ export class Wallet {
381
384
  hash: string
382
385
  } {
383
386
  let multisignAddress: boolean | string = false
384
- if (typeof multisign === 'string' && multisign.startsWith('X')) {
387
+ if (typeof multisign === 'string') {
385
388
  multisignAddress = multisign
386
389
  } else if (multisign) {
387
390
  multisignAddress = this.classicAddress
@@ -407,12 +410,14 @@ export class Wallet {
407
410
  */
408
411
  // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- validate does not accept Transaction type
409
412
  validate(tx as unknown as Record<string, unknown>)
413
+ if (hasFlag(tx, GlobalFlags.tfInnerBatchTxn)) {
414
+ throw new ValidationError('Cannot sign a Batch inner transaction.')
415
+ }
410
416
 
411
417
  const txToSignAndEncode = { ...tx }
412
418
 
413
- txToSignAndEncode.SigningPubKey = multisignAddress ? '' : this.publicKey
414
-
415
419
  if (multisignAddress) {
420
+ txToSignAndEncode.SigningPubKey = ''
416
421
  const signer = {
417
422
  Account: multisignAddress,
418
423
  SigningPubKey: this.publicKey,
@@ -424,6 +429,7 @@ export class Wallet {
424
429
  }
425
430
  txToSignAndEncode.Signers = [{ Signer: signer }]
426
431
  } else {
432
+ txToSignAndEncode.SigningPubKey = this.publicKey
427
433
  txToSignAndEncode.TxnSignature = computeSignature(
428
434
  txToSignAndEncode,
429
435
  this.privateKey,
@@ -175,6 +175,7 @@ export default class RequestManager {
175
175
  * @param response - The response to handle.
176
176
  * @throws ResponseFormatError if the response format is invalid, RippledError if rippled returns an error.
177
177
  */
178
+ // eslint-disable-next-line complexity -- handling a response is complex
178
179
  public handleResponse(
179
180
  response: Partial<Response<APIVersion> | ErrorResponse>,
180
181
  ): void {
@@ -195,7 +196,9 @@ export default class RequestManager {
195
196
  // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- We know this must be true
196
197
  const errorResponse = response as Partial<ErrorResponse>
197
198
  const error = new RippledError(
198
- errorResponse.error_message ?? errorResponse.error,
199
+ errorResponse.error_message ??
200
+ errorResponse.error_exception ??
201
+ errorResponse.error,
199
202
  errorResponse,
200
203
  )
201
204
  this.reject(response.id, error)
@@ -349,7 +349,6 @@ export class Connection extends EventEmitter {
349
349
  try {
350
350
  this.requestManager.handleResponse(data)
351
351
  } catch (error) {
352
- // eslint-disable-next-line max-depth -- okay here
353
352
  if (error instanceof Error) {
354
353
  this.emit('error', 'badMessage', error.message, message)
355
354
  } else {
@@ -40,14 +40,19 @@ import type {
40
40
  MarkerRequest,
41
41
  MarkerResponse,
42
42
  SubmitResponse,
43
+ SimulateRequest,
43
44
  } from '../models/methods'
44
45
  import type { BookOffer, BookOfferCurrency } from '../models/methods/bookOffers'
46
+ import {
47
+ SimulateBinaryResponse,
48
+ SimulateJsonResponse,
49
+ } from '../models/methods/simulate'
45
50
  import type {
46
51
  EventTypes,
47
52
  OnEventToListenerMap,
48
53
  } from '../models/methods/subscribe'
49
54
  import type { SubmittableTransaction } from '../models/transactions'
50
- import { setTransactionFlagsToNumber } from '../models/utils/flags'
55
+ import { convertTxFlagsToNumber } from '../models/utils/flags'
51
56
  import {
52
57
  ensureClassicAddress,
53
58
  submitRequest,
@@ -62,6 +67,8 @@ import {
62
67
  setLatestValidatedLedgerSequence,
63
68
  checkAccountDeleteBlockers,
64
69
  txNeedsNetworkID,
70
+ autofillBatchTxn,
71
+ handleDeliverMax,
65
72
  } from '../sugar/autofill'
66
73
  import { formatBalances } from '../sugar/balances'
67
74
  import {
@@ -657,7 +664,6 @@ class Client extends EventEmitter<EventTypes> {
657
664
  * @throws ValidationError If Amount and DeliverMax fields are not identical in a Payment Transaction
658
665
  */
659
666
 
660
- // eslint-disable-next-line complexity -- handling Payment transaction API v2 requires more logic
661
667
  public async autofill<T extends SubmittableTransaction>(
662
668
  transaction: T,
663
669
  signersCount?: number,
@@ -665,7 +671,7 @@ class Client extends EventEmitter<EventTypes> {
665
671
  const tx = { ...transaction }
666
672
 
667
673
  setValidAddresses(tx)
668
- setTransactionFlagsToNumber(tx)
674
+ tx.Flags = convertTxFlagsToNumber(tx)
669
675
 
670
676
  const promises: Array<Promise<void>> = []
671
677
  if (tx.NetworkID == null) {
@@ -683,33 +689,11 @@ class Client extends EventEmitter<EventTypes> {
683
689
  if (tx.TransactionType === 'AccountDelete') {
684
690
  promises.push(checkAccountDeleteBlockers(this, tx))
685
691
  }
686
-
687
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- ignore type-assertions on the DeliverMax property
688
- // @ts-expect-error -- DeliverMax property exists only at the RPC level, not at the protocol level
689
- if (tx.TransactionType === 'Payment' && tx.DeliverMax != null) {
690
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- This is a valid null check for Amount
691
- if (tx.Amount == null) {
692
- // If only DeliverMax is provided, use it to populate the Amount field
693
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- ignore type-assertions on the DeliverMax property
694
- // @ts-expect-error -- DeliverMax property exists only at the RPC level, not at the protocol level
695
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- DeliverMax is a known RPC-level property
696
- tx.Amount = tx.DeliverMax
697
- }
698
-
699
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- ignore type-assertions on the DeliverMax property
700
- // @ts-expect-error -- DeliverMax property exists only at the RPC level, not at the protocol level
701
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- This is a valid null check for Amount
702
- if (tx.Amount != null && tx.Amount !== tx.DeliverMax) {
703
- return Promise.reject(
704
- new ValidationError(
705
- 'PaymentTransaction: Amount and DeliverMax fields must be identical when both are provided',
706
- ),
707
- )
708
- }
709
-
710
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- ignore type-assertions on the DeliverMax property
711
- // @ts-expect-error -- DeliverMax property exists only at the RPC level, not at the protocol level
712
- delete tx.DeliverMax
692
+ if (tx.TransactionType === 'Batch') {
693
+ promises.push(autofillBatchTxn(this, tx))
694
+ }
695
+ if (tx.TransactionType === 'Payment') {
696
+ handleDeliverMax(tx)
713
697
  }
714
698
 
715
699
  return Promise.all(promises).then(() => tx)
@@ -764,6 +748,41 @@ class Client extends EventEmitter<EventTypes> {
764
748
  return submitRequest(this, signedTx, opts?.failHard)
765
749
  }
766
750
 
751
+ /**
752
+ * Simulates an unsigned transaction.
753
+ * Steps performed on a transaction:
754
+ * 1. Autofill.
755
+ * 2. Sign & Encode.
756
+ * 3. Submit.
757
+ *
758
+ * @category Core
759
+ *
760
+ * @param transaction - A transaction to autofill, sign & encode, and submit.
761
+ * @param opts - (Optional) Options used to sign and submit a transaction.
762
+ * @param opts.binary - If true, return the metadata in a binary encoding.
763
+ *
764
+ * @returns A promise that contains SimulateResponse.
765
+ * @throws RippledError if the simulate request fails.
766
+ */
767
+
768
+ public async simulate<Binary extends boolean = false>(
769
+ transaction: SubmittableTransaction | string,
770
+ opts?: {
771
+ // If true, return the binary-encoded representation of the results.
772
+ binary?: Binary
773
+ },
774
+ ): Promise<
775
+ Binary extends true ? SimulateBinaryResponse : SimulateJsonResponse
776
+ > {
777
+ // send request
778
+ const binary = opts?.binary ?? false
779
+ const request: SimulateRequest =
780
+ typeof transaction === 'string'
781
+ ? { command: 'simulate', tx_blob: transaction, binary }
782
+ : { command: 'simulate', tx_json: transaction, binary }
783
+ return this.request(request)
784
+ }
785
+
767
786
  /**
768
787
  * Asynchronously submits a transaction and verifies that it has been included in a
769
788
  * validated ledger (or has errored/will not be included for some reason).
@@ -8,8 +8,9 @@
8
8
  */
9
9
  export * as LedgerEntry from './ledger'
10
10
  export {
11
- setTransactionFlagsToNumber,
12
11
  parseAccountRootFlags,
12
+ setTransactionFlagsToNumber,
13
+ convertTxFlagsToNumber,
13
14
  parseTransactionFlags,
14
15
  } from './utils/flags'
15
16
  export * from './methods'
@@ -1,8 +1,8 @@
1
- import { GlobalFlags } from '../transactions/common'
1
+ import { GlobalFlagsInterface } from '../transactions/common'
2
2
 
3
3
  import { BaseLedgerEntry, HasPreviousTxnID } from './BaseLedgerEntry'
4
4
 
5
- export interface CredentialFlags extends GlobalFlags {
5
+ export interface CredentialFlags extends GlobalFlagsInterface {
6
6
  lsfAccepted?: boolean
7
7
  }
8
8
 
@@ -13,6 +13,7 @@ import NegativeUNL from './NegativeUNL'
13
13
  import Offer from './Offer'
14
14
  import Oracle from './Oracle'
15
15
  import PayChannel from './PayChannel'
16
+ import PermissionedDomain from './PermissionedDomain'
16
17
  import RippleState from './RippleState'
17
18
  import SignerList from './SignerList'
18
19
  import Ticket from './Ticket'
@@ -35,6 +36,7 @@ type LedgerEntry =
35
36
  | Offer
36
37
  | Oracle
37
38
  | PayChannel
39
+ | PermissionedDomain
38
40
  | RippleState
39
41
  | SignerList
40
42
  | Ticket
@@ -61,6 +63,7 @@ type LedgerEntryFilter =
61
63
  | 'offer'
62
64
  | 'oracle'
63
65
  | 'payment_channel'
66
+ | 'permissioned_domain'
64
67
  | 'signer_list'
65
68
  | 'state'
66
69
  | 'ticket'
@@ -0,0 +1,29 @@
1
+ import { AuthorizeCredential } from '../common'
2
+
3
+ import { BaseLedgerEntry, HasPreviousTxnID } from './BaseLedgerEntry'
4
+
5
+ export default interface PermissionedDomain
6
+ extends BaseLedgerEntry,
7
+ HasPreviousTxnID {
8
+ /* The ledger object's type (PermissionedDomain). */
9
+ LedgerEntryType: 'PermissionedDomain'
10
+
11
+ /* The account that controls the settings of the domain. */
12
+ Owner: string
13
+
14
+ /* The credentials that are accepted by the domain.
15
+ Ownership of one of these credentials automatically
16
+ makes you a member of the domain. */
17
+ AcceptedCredentials: AuthorizeCredential[]
18
+
19
+ /* Flag values associated with this object. */
20
+ Flags: 0
21
+
22
+ /* Owner account's directory page containing the PermissionedDomain object. */
23
+ OwnerNode: string
24
+
25
+ /* The Sequence value of the PermissionedDomainSet
26
+ transaction that created this domain. Used in combination
27
+ with the Account to identify this domain. */
28
+ Sequence: number
29
+ }
@@ -77,4 +77,8 @@ export enum RippleStateFlags {
77
77
  lsfHighFreeze = 0x00800000,
78
78
  // True, trust line to AMM. Used by client apps to identify payments via AMM.
79
79
  lsfAMMNode = 0x01000000,
80
+ // True, low side has set deep freeze flag
81
+ lsfLowDeepFreeze = 0x02000000,
82
+ // True, high side has set deep freeze flag
83
+ lsfHighDeepFreeze = 0x04000000,
80
84
  }
@@ -53,6 +53,7 @@ export interface ErrorResponse {
53
53
  error: string
54
54
  error_code?: string
55
55
  error_message?: string
56
+ error_exception?: string
56
57
  request: Request
57
58
  api_version?: number
58
59
  }