xrpl 4.3.0-smartescrow.2 → 4.3.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 (367) hide show
  1. package/README.md +2 -2
  2. package/build/xrpl-latest-min.js +3 -0
  3. package/build/xrpl-latest-min.js.map +1 -0
  4. package/build/xrpl-latest.js +494 -145
  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 +111 -0
  9. package/dist/npm/Wallet/batchSigner.js.map +1 -0
  10. package/dist/npm/Wallet/defaultFaucets.d.ts +4 -4
  11. package/dist/npm/Wallet/defaultFaucets.d.ts.map +1 -1
  12. package/dist/npm/Wallet/defaultFaucets.js +15 -17
  13. package/dist/npm/Wallet/defaultFaucets.js.map +1 -1
  14. package/dist/npm/Wallet/fundWallet.d.ts.map +1 -1
  15. package/dist/npm/Wallet/fundWallet.js +8 -16
  16. package/dist/npm/Wallet/fundWallet.js.map +1 -1
  17. package/dist/npm/Wallet/index.d.ts.map +1 -1
  18. package/dist/npm/Wallet/index.js +10 -4
  19. package/dist/npm/Wallet/index.js.map +1 -1
  20. package/dist/npm/Wallet/signer.d.ts.map +1 -1
  21. package/dist/npm/Wallet/signer.js +4 -20
  22. package/dist/npm/Wallet/signer.js.map +1 -1
  23. package/dist/npm/Wallet/utils.d.ts +9 -0
  24. package/dist/npm/Wallet/utils.d.ts.map +1 -0
  25. package/dist/npm/Wallet/utils.js +28 -0
  26. package/dist/npm/Wallet/utils.js.map +1 -0
  27. package/dist/npm/client/RequestManager.d.ts.map +1 -1
  28. package/dist/npm/client/RequestManager.js +3 -3
  29. package/dist/npm/client/RequestManager.js.map +1 -1
  30. package/dist/npm/client/connection.d.ts.map +1 -1
  31. package/dist/npm/client/connection.js.map +1 -1
  32. package/dist/npm/client/index.d.ts.map +1 -1
  33. package/dist/npm/client/index.js +6 -9
  34. package/dist/npm/client/index.js.map +1 -1
  35. package/dist/npm/client/partialPayment.d.ts.map +1 -1
  36. package/dist/npm/client/partialPayment.js.map +1 -1
  37. package/dist/npm/models/ledger/Credential.d.ts +2 -2
  38. package/dist/npm/models/ledger/Credential.d.ts.map +1 -1
  39. package/dist/npm/models/ledger/Delegate.d.ts +11 -0
  40. package/dist/npm/models/ledger/Delegate.d.ts.map +1 -0
  41. package/dist/npm/models/ledger/Delegate.js +3 -0
  42. package/dist/npm/models/ledger/Delegate.js.map +1 -0
  43. package/dist/npm/models/ledger/Escrow.d.ts +0 -2
  44. package/dist/npm/models/ledger/Escrow.d.ts.map +1 -1
  45. package/dist/npm/models/ledger/FeeSettings.d.ts +0 -2
  46. package/dist/npm/models/ledger/FeeSettings.d.ts.map +1 -1
  47. package/dist/npm/models/ledger/LedgerEntry.d.ts +3 -2
  48. package/dist/npm/models/ledger/LedgerEntry.d.ts.map +1 -1
  49. package/dist/npm/models/ledger/XChainOwnedClaimID.d.ts +1 -2
  50. package/dist/npm/models/ledger/XChainOwnedClaimID.d.ts.map +1 -1
  51. package/dist/npm/models/ledger/index.d.ts +2 -1
  52. package/dist/npm/models/ledger/index.d.ts.map +1 -1
  53. package/dist/npm/models/ledger/index.js.map +1 -1
  54. package/dist/npm/models/methods/baseMethod.d.ts +1 -0
  55. package/dist/npm/models/methods/baseMethod.d.ts.map +1 -1
  56. package/dist/npm/models/methods/ledgerEntry.d.ts +4 -0
  57. package/dist/npm/models/methods/ledgerEntry.d.ts.map +1 -1
  58. package/dist/npm/models/methods/serverInfo.d.ts +0 -6
  59. package/dist/npm/models/methods/serverInfo.d.ts.map +1 -1
  60. package/dist/npm/models/methods/serverState.d.ts +0 -6
  61. package/dist/npm/models/methods/serverState.d.ts.map +1 -1
  62. package/dist/npm/models/transactions/AMMBid.d.ts.map +1 -1
  63. package/dist/npm/models/transactions/AMMBid.js.map +1 -1
  64. package/dist/npm/models/transactions/AMMClawback.d.ts +2 -2
  65. package/dist/npm/models/transactions/AMMClawback.d.ts.map +1 -1
  66. package/dist/npm/models/transactions/AMMDeposit.d.ts +2 -2
  67. package/dist/npm/models/transactions/AMMDeposit.d.ts.map +1 -1
  68. package/dist/npm/models/transactions/AMMWithdraw.d.ts +2 -2
  69. package/dist/npm/models/transactions/AMMWithdraw.d.ts.map +1 -1
  70. package/dist/npm/models/transactions/MPTokenAuthorize.d.ts +2 -2
  71. package/dist/npm/models/transactions/MPTokenAuthorize.d.ts.map +1 -1
  72. package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts +2 -2
  73. package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -1
  74. package/dist/npm/models/transactions/MPTokenIssuanceCreate.js.map +1 -1
  75. package/dist/npm/models/transactions/MPTokenIssuanceSet.d.ts +2 -2
  76. package/dist/npm/models/transactions/MPTokenIssuanceSet.d.ts.map +1 -1
  77. package/dist/npm/models/transactions/NFTokenCreateOffer.d.ts +2 -2
  78. package/dist/npm/models/transactions/NFTokenCreateOffer.d.ts.map +1 -1
  79. package/dist/npm/models/transactions/NFTokenMint.d.ts +2 -2
  80. package/dist/npm/models/transactions/NFTokenMint.d.ts.map +1 -1
  81. package/dist/npm/models/transactions/XChainAddAccountCreateAttestation.js.map +1 -1
  82. package/dist/npm/models/transactions/XChainAddClaimAttestation.js.map +1 -1
  83. package/dist/npm/models/transactions/XChainClaim.js.map +1 -1
  84. package/dist/npm/models/transactions/XChainCommit.js.map +1 -1
  85. package/dist/npm/models/transactions/XChainModifyBridge.d.ts +2 -2
  86. package/dist/npm/models/transactions/XChainModifyBridge.d.ts.map +1 -1
  87. package/dist/npm/models/transactions/accountDelete.d.ts.map +1 -1
  88. package/dist/npm/models/transactions/accountDelete.js.map +1 -1
  89. package/dist/npm/models/transactions/accountSet.d.ts +2 -2
  90. package/dist/npm/models/transactions/accountSet.d.ts.map +1 -1
  91. package/dist/npm/models/transactions/accountSet.js.map +1 -1
  92. package/dist/npm/models/transactions/batch.d.ts +39 -0
  93. package/dist/npm/models/transactions/batch.d.ts.map +1 -0
  94. package/dist/npm/models/transactions/batch.js +64 -0
  95. package/dist/npm/models/transactions/batch.js.map +1 -0
  96. package/dist/npm/models/transactions/common.d.ts +23 -6
  97. package/dist/npm/models/transactions/common.d.ts.map +1 -1
  98. package/dist/npm/models/transactions/common.js +30 -10
  99. package/dist/npm/models/transactions/common.js.map +1 -1
  100. package/dist/npm/models/transactions/delegateSet.d.ts +13 -0
  101. package/dist/npm/models/transactions/delegateSet.d.ts.map +1 -0
  102. package/dist/npm/models/transactions/delegateSet.js +54 -0
  103. package/dist/npm/models/transactions/delegateSet.js.map +1 -0
  104. package/dist/npm/models/transactions/depositPreauth.d.ts.map +1 -1
  105. package/dist/npm/models/transactions/depositPreauth.js.map +1 -1
  106. package/dist/npm/models/transactions/escrowCreate.d.ts +0 -2
  107. package/dist/npm/models/transactions/escrowCreate.d.ts.map +1 -1
  108. package/dist/npm/models/transactions/escrowCreate.js +2 -4
  109. package/dist/npm/models/transactions/escrowCreate.js.map +1 -1
  110. package/dist/npm/models/transactions/escrowFinish.d.ts +0 -1
  111. package/dist/npm/models/transactions/escrowFinish.d.ts.map +1 -1
  112. package/dist/npm/models/transactions/escrowFinish.js.map +1 -1
  113. package/dist/npm/models/transactions/index.d.ts +4 -2
  114. package/dist/npm/models/transactions/index.d.ts.map +1 -1
  115. package/dist/npm/models/transactions/index.js.map +1 -1
  116. package/dist/npm/models/transactions/metadata.d.ts +1 -0
  117. package/dist/npm/models/transactions/metadata.d.ts.map +1 -1
  118. package/dist/npm/models/transactions/offerCreate.d.ts +2 -2
  119. package/dist/npm/models/transactions/offerCreate.d.ts.map +1 -1
  120. package/dist/npm/models/transactions/oracleSet.d.ts.map +1 -1
  121. package/dist/npm/models/transactions/oracleSet.js.map +1 -1
  122. package/dist/npm/models/transactions/payment.d.ts +2 -2
  123. package/dist/npm/models/transactions/payment.d.ts.map +1 -1
  124. package/dist/npm/models/transactions/payment.js +3 -0
  125. package/dist/npm/models/transactions/payment.js.map +1 -1
  126. package/dist/npm/models/transactions/paymentChannelClaim.d.ts +2 -2
  127. package/dist/npm/models/transactions/paymentChannelClaim.d.ts.map +1 -1
  128. package/dist/npm/models/transactions/paymentChannelClaim.js.map +1 -1
  129. package/dist/npm/models/transactions/permissionedDomainSet.d.ts.map +1 -1
  130. package/dist/npm/models/transactions/permissionedDomainSet.js +1 -1
  131. package/dist/npm/models/transactions/permissionedDomainSet.js.map +1 -1
  132. package/dist/npm/models/transactions/signerListSet.d.ts.map +1 -1
  133. package/dist/npm/models/transactions/signerListSet.js +1 -1
  134. package/dist/npm/models/transactions/signerListSet.js.map +1 -1
  135. package/dist/npm/models/transactions/transaction.d.ts +3 -1
  136. package/dist/npm/models/transactions/transaction.d.ts.map +1 -1
  137. package/dist/npm/models/transactions/transaction.js +11 -0
  138. package/dist/npm/models/transactions/transaction.js.map +1 -1
  139. package/dist/npm/models/transactions/trustSet.d.ts +2 -2
  140. package/dist/npm/models/transactions/trustSet.d.ts.map +1 -1
  141. package/dist/npm/models/utils/flags.d.ts.map +1 -1
  142. package/dist/npm/models/utils/flags.js +24 -9
  143. package/dist/npm/models/utils/flags.js.map +1 -1
  144. package/dist/npm/models/utils/index.d.ts +2 -0
  145. package/dist/npm/models/utils/index.d.ts.map +1 -1
  146. package/dist/npm/models/utils/index.js +11 -1
  147. package/dist/npm/models/utils/index.js.map +1 -1
  148. package/dist/npm/snippets/tsconfig.tsbuildinfo +1 -1
  149. package/dist/npm/src/Wallet/batchSigner.d.ts +8 -0
  150. package/dist/npm/src/Wallet/batchSigner.d.ts.map +1 -0
  151. package/dist/npm/src/Wallet/batchSigner.js +111 -0
  152. package/dist/npm/src/Wallet/batchSigner.js.map +1 -0
  153. package/dist/npm/src/Wallet/defaultFaucets.d.ts +4 -4
  154. package/dist/npm/src/Wallet/defaultFaucets.d.ts.map +1 -1
  155. package/dist/npm/src/Wallet/defaultFaucets.js +15 -17
  156. package/dist/npm/src/Wallet/defaultFaucets.js.map +1 -1
  157. package/dist/npm/src/Wallet/fundWallet.d.ts.map +1 -1
  158. package/dist/npm/src/Wallet/fundWallet.js +8 -16
  159. package/dist/npm/src/Wallet/fundWallet.js.map +1 -1
  160. package/dist/npm/src/Wallet/index.d.ts.map +1 -1
  161. package/dist/npm/src/Wallet/index.js +10 -4
  162. package/dist/npm/src/Wallet/index.js.map +1 -1
  163. package/dist/npm/src/Wallet/signer.d.ts.map +1 -1
  164. package/dist/npm/src/Wallet/signer.js +4 -20
  165. package/dist/npm/src/Wallet/signer.js.map +1 -1
  166. package/dist/npm/src/Wallet/utils.d.ts +9 -0
  167. package/dist/npm/src/Wallet/utils.d.ts.map +1 -0
  168. package/dist/npm/src/Wallet/utils.js +28 -0
  169. package/dist/npm/src/Wallet/utils.js.map +1 -0
  170. package/dist/npm/src/client/RequestManager.d.ts.map +1 -1
  171. package/dist/npm/src/client/RequestManager.js +3 -3
  172. package/dist/npm/src/client/RequestManager.js.map +1 -1
  173. package/dist/npm/src/client/connection.d.ts.map +1 -1
  174. package/dist/npm/src/client/connection.js.map +1 -1
  175. package/dist/npm/src/client/index.d.ts.map +1 -1
  176. package/dist/npm/src/client/index.js +6 -9
  177. package/dist/npm/src/client/index.js.map +1 -1
  178. package/dist/npm/src/client/partialPayment.d.ts.map +1 -1
  179. package/dist/npm/src/client/partialPayment.js.map +1 -1
  180. package/dist/npm/src/models/ledger/Credential.d.ts +2 -2
  181. package/dist/npm/src/models/ledger/Credential.d.ts.map +1 -1
  182. package/dist/npm/src/models/ledger/Delegate.d.ts +11 -0
  183. package/dist/npm/src/models/ledger/Delegate.d.ts.map +1 -0
  184. package/dist/npm/src/models/ledger/Delegate.js +3 -0
  185. package/dist/npm/src/models/ledger/Delegate.js.map +1 -0
  186. package/dist/npm/src/models/ledger/Escrow.d.ts +0 -2
  187. package/dist/npm/src/models/ledger/Escrow.d.ts.map +1 -1
  188. package/dist/npm/src/models/ledger/FeeSettings.d.ts +0 -2
  189. package/dist/npm/src/models/ledger/FeeSettings.d.ts.map +1 -1
  190. package/dist/npm/src/models/ledger/LedgerEntry.d.ts +3 -2
  191. package/dist/npm/src/models/ledger/LedgerEntry.d.ts.map +1 -1
  192. package/dist/npm/src/models/ledger/XChainOwnedClaimID.d.ts +1 -2
  193. package/dist/npm/src/models/ledger/XChainOwnedClaimID.d.ts.map +1 -1
  194. package/dist/npm/src/models/ledger/index.d.ts +2 -1
  195. package/dist/npm/src/models/ledger/index.d.ts.map +1 -1
  196. package/dist/npm/src/models/ledger/index.js.map +1 -1
  197. package/dist/npm/src/models/methods/baseMethod.d.ts +1 -0
  198. package/dist/npm/src/models/methods/baseMethod.d.ts.map +1 -1
  199. package/dist/npm/src/models/methods/ledgerEntry.d.ts +4 -0
  200. package/dist/npm/src/models/methods/ledgerEntry.d.ts.map +1 -1
  201. package/dist/npm/src/models/methods/serverInfo.d.ts +0 -6
  202. package/dist/npm/src/models/methods/serverInfo.d.ts.map +1 -1
  203. package/dist/npm/src/models/methods/serverState.d.ts +0 -6
  204. package/dist/npm/src/models/methods/serverState.d.ts.map +1 -1
  205. package/dist/npm/src/models/transactions/AMMBid.d.ts.map +1 -1
  206. package/dist/npm/src/models/transactions/AMMBid.js.map +1 -1
  207. package/dist/npm/src/models/transactions/AMMClawback.d.ts +2 -2
  208. package/dist/npm/src/models/transactions/AMMClawback.d.ts.map +1 -1
  209. package/dist/npm/src/models/transactions/AMMDeposit.d.ts +2 -2
  210. package/dist/npm/src/models/transactions/AMMDeposit.d.ts.map +1 -1
  211. package/dist/npm/src/models/transactions/AMMWithdraw.d.ts +2 -2
  212. package/dist/npm/src/models/transactions/AMMWithdraw.d.ts.map +1 -1
  213. package/dist/npm/src/models/transactions/MPTokenAuthorize.d.ts +2 -2
  214. package/dist/npm/src/models/transactions/MPTokenAuthorize.d.ts.map +1 -1
  215. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts +2 -2
  216. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -1
  217. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.js.map +1 -1
  218. package/dist/npm/src/models/transactions/MPTokenIssuanceSet.d.ts +2 -2
  219. package/dist/npm/src/models/transactions/MPTokenIssuanceSet.d.ts.map +1 -1
  220. package/dist/npm/src/models/transactions/NFTokenCreateOffer.d.ts +2 -2
  221. package/dist/npm/src/models/transactions/NFTokenCreateOffer.d.ts.map +1 -1
  222. package/dist/npm/src/models/transactions/NFTokenMint.d.ts +2 -2
  223. package/dist/npm/src/models/transactions/NFTokenMint.d.ts.map +1 -1
  224. package/dist/npm/src/models/transactions/XChainAddAccountCreateAttestation.js.map +1 -1
  225. package/dist/npm/src/models/transactions/XChainAddClaimAttestation.js.map +1 -1
  226. package/dist/npm/src/models/transactions/XChainClaim.js.map +1 -1
  227. package/dist/npm/src/models/transactions/XChainCommit.js.map +1 -1
  228. package/dist/npm/src/models/transactions/XChainModifyBridge.d.ts +2 -2
  229. package/dist/npm/src/models/transactions/XChainModifyBridge.d.ts.map +1 -1
  230. package/dist/npm/src/models/transactions/accountDelete.d.ts.map +1 -1
  231. package/dist/npm/src/models/transactions/accountDelete.js.map +1 -1
  232. package/dist/npm/src/models/transactions/accountSet.d.ts +2 -2
  233. package/dist/npm/src/models/transactions/accountSet.d.ts.map +1 -1
  234. package/dist/npm/src/models/transactions/accountSet.js.map +1 -1
  235. package/dist/npm/src/models/transactions/batch.d.ts +39 -0
  236. package/dist/npm/src/models/transactions/batch.d.ts.map +1 -0
  237. package/dist/npm/src/models/transactions/batch.js +64 -0
  238. package/dist/npm/src/models/transactions/batch.js.map +1 -0
  239. package/dist/npm/src/models/transactions/common.d.ts +23 -6
  240. package/dist/npm/src/models/transactions/common.d.ts.map +1 -1
  241. package/dist/npm/src/models/transactions/common.js +30 -10
  242. package/dist/npm/src/models/transactions/common.js.map +1 -1
  243. package/dist/npm/src/models/transactions/delegateSet.d.ts +13 -0
  244. package/dist/npm/src/models/transactions/delegateSet.d.ts.map +1 -0
  245. package/dist/npm/src/models/transactions/delegateSet.js +54 -0
  246. package/dist/npm/src/models/transactions/delegateSet.js.map +1 -0
  247. package/dist/npm/src/models/transactions/depositPreauth.d.ts.map +1 -1
  248. package/dist/npm/src/models/transactions/depositPreauth.js.map +1 -1
  249. package/dist/npm/src/models/transactions/escrowCreate.d.ts +0 -2
  250. package/dist/npm/src/models/transactions/escrowCreate.d.ts.map +1 -1
  251. package/dist/npm/src/models/transactions/escrowCreate.js +2 -4
  252. package/dist/npm/src/models/transactions/escrowCreate.js.map +1 -1
  253. package/dist/npm/src/models/transactions/escrowFinish.d.ts +0 -1
  254. package/dist/npm/src/models/transactions/escrowFinish.d.ts.map +1 -1
  255. package/dist/npm/src/models/transactions/escrowFinish.js.map +1 -1
  256. package/dist/npm/src/models/transactions/index.d.ts +4 -2
  257. package/dist/npm/src/models/transactions/index.d.ts.map +1 -1
  258. package/dist/npm/src/models/transactions/index.js.map +1 -1
  259. package/dist/npm/src/models/transactions/metadata.d.ts +1 -0
  260. package/dist/npm/src/models/transactions/metadata.d.ts.map +1 -1
  261. package/dist/npm/src/models/transactions/offerCreate.d.ts +2 -2
  262. package/dist/npm/src/models/transactions/offerCreate.d.ts.map +1 -1
  263. package/dist/npm/src/models/transactions/oracleSet.d.ts.map +1 -1
  264. package/dist/npm/src/models/transactions/oracleSet.js.map +1 -1
  265. package/dist/npm/src/models/transactions/payment.d.ts +2 -2
  266. package/dist/npm/src/models/transactions/payment.d.ts.map +1 -1
  267. package/dist/npm/src/models/transactions/payment.js +3 -0
  268. package/dist/npm/src/models/transactions/payment.js.map +1 -1
  269. package/dist/npm/src/models/transactions/paymentChannelClaim.d.ts +2 -2
  270. package/dist/npm/src/models/transactions/paymentChannelClaim.d.ts.map +1 -1
  271. package/dist/npm/src/models/transactions/paymentChannelClaim.js.map +1 -1
  272. package/dist/npm/src/models/transactions/permissionedDomainSet.d.ts.map +1 -1
  273. package/dist/npm/src/models/transactions/permissionedDomainSet.js +1 -1
  274. package/dist/npm/src/models/transactions/permissionedDomainSet.js.map +1 -1
  275. package/dist/npm/src/models/transactions/signerListSet.d.ts.map +1 -1
  276. package/dist/npm/src/models/transactions/signerListSet.js +1 -1
  277. package/dist/npm/src/models/transactions/signerListSet.js.map +1 -1
  278. package/dist/npm/src/models/transactions/transaction.d.ts +3 -1
  279. package/dist/npm/src/models/transactions/transaction.d.ts.map +1 -1
  280. package/dist/npm/src/models/transactions/transaction.js +11 -0
  281. package/dist/npm/src/models/transactions/transaction.js.map +1 -1
  282. package/dist/npm/src/models/transactions/trustSet.d.ts +2 -2
  283. package/dist/npm/src/models/transactions/trustSet.d.ts.map +1 -1
  284. package/dist/npm/src/models/utils/flags.d.ts.map +1 -1
  285. package/dist/npm/src/models/utils/flags.js +24 -9
  286. package/dist/npm/src/models/utils/flags.js.map +1 -1
  287. package/dist/npm/src/models/utils/index.d.ts +2 -0
  288. package/dist/npm/src/models/utils/index.d.ts.map +1 -1
  289. package/dist/npm/src/models/utils/index.js +11 -1
  290. package/dist/npm/src/models/utils/index.js.map +1 -1
  291. package/dist/npm/src/sugar/autofill.d.ts +4 -2
  292. package/dist/npm/src/sugar/autofill.d.ts.map +1 -1
  293. package/dist/npm/src/sugar/autofill.js +114 -42
  294. package/dist/npm/src/sugar/autofill.js.map +1 -1
  295. package/dist/npm/src/sugar/submit.d.ts.map +1 -1
  296. package/dist/npm/src/sugar/submit.js.map +1 -1
  297. package/dist/npm/src/utils/hashes/hashLedger.d.ts.map +1 -1
  298. package/dist/npm/src/utils/hashes/hashLedger.js +4 -1
  299. package/dist/npm/src/utils/hashes/hashLedger.js.map +1 -1
  300. package/dist/npm/sugar/autofill.d.ts +4 -2
  301. package/dist/npm/sugar/autofill.d.ts.map +1 -1
  302. package/dist/npm/sugar/autofill.js +114 -42
  303. package/dist/npm/sugar/autofill.js.map +1 -1
  304. package/dist/npm/sugar/submit.d.ts.map +1 -1
  305. package/dist/npm/sugar/submit.js.map +1 -1
  306. package/dist/npm/utils/hashes/hashLedger.d.ts.map +1 -1
  307. package/dist/npm/utils/hashes/hashLedger.js +4 -1
  308. package/dist/npm/utils/hashes/hashLedger.js.map +1 -1
  309. package/package.json +5 -5
  310. package/src/Wallet/batchSigner.ts +198 -0
  311. package/src/Wallet/defaultFaucets.ts +17 -20
  312. package/src/Wallet/fundWallet.ts +17 -28
  313. package/src/Wallet/index.ts +9 -3
  314. package/src/Wallet/signer.ts +4 -39
  315. package/src/Wallet/utils.ts +58 -0
  316. package/src/client/RequestManager.ts +4 -1
  317. package/src/client/connection.ts +0 -1
  318. package/src/client/index.ts +9 -30
  319. package/src/client/partialPayment.ts +3 -4
  320. package/src/models/ledger/Credential.ts +2 -2
  321. package/src/models/ledger/Delegate.ts +39 -0
  322. package/src/models/ledger/Escrow.ts +0 -4
  323. package/src/models/ledger/FeeSettings.ts +0 -4
  324. package/src/models/ledger/LedgerEntry.ts +3 -0
  325. package/src/models/ledger/XChainOwnedClaimID.ts +1 -3
  326. package/src/models/ledger/index.ts +2 -0
  327. package/src/models/methods/baseMethod.ts +1 -0
  328. package/src/models/methods/ledgerEntry.ts +5 -0
  329. package/src/models/methods/serverInfo.ts +0 -9
  330. package/src/models/methods/serverState.ts +0 -10
  331. package/src/models/transactions/AMMBid.ts +1 -2
  332. package/src/models/transactions/AMMClawback.ts +2 -2
  333. package/src/models/transactions/AMMDeposit.ts +2 -2
  334. package/src/models/transactions/AMMWithdraw.ts +2 -2
  335. package/src/models/transactions/MPTokenAuthorize.ts +2 -2
  336. package/src/models/transactions/MPTokenIssuanceCreate.ts +3 -2
  337. package/src/models/transactions/MPTokenIssuanceSet.ts +2 -2
  338. package/src/models/transactions/NFTokenCreateOffer.ts +2 -2
  339. package/src/models/transactions/NFTokenMint.ts +2 -2
  340. package/src/models/transactions/XChainAddAccountCreateAttestation.ts +2 -2
  341. package/src/models/transactions/XChainAddClaimAttestation.ts +2 -2
  342. package/src/models/transactions/XChainClaim.ts +1 -1
  343. package/src/models/transactions/XChainCommit.ts +1 -1
  344. package/src/models/transactions/XChainModifyBridge.ts +2 -2
  345. package/src/models/transactions/accountDelete.ts +1 -2
  346. package/src/models/transactions/accountSet.ts +2 -1
  347. package/src/models/transactions/batch.ts +151 -0
  348. package/src/models/transactions/common.ts +95 -29
  349. package/src/models/transactions/delegateSet.ts +112 -0
  350. package/src/models/transactions/depositPreauth.ts +2 -4
  351. package/src/models/transactions/escrowCreate.ts +2 -10
  352. package/src/models/transactions/escrowFinish.ts +1 -4
  353. package/src/models/transactions/index.ts +4 -3
  354. package/src/models/transactions/metadata.ts +2 -0
  355. package/src/models/transactions/offerCreate.ts +2 -2
  356. package/src/models/transactions/oracleSet.ts +95 -91
  357. package/src/models/transactions/payment.ts +8 -6
  358. package/src/models/transactions/paymentChannelClaim.ts +4 -4
  359. package/src/models/transactions/permissionedDomainSet.ts +3 -7
  360. package/src/models/transactions/signerListSet.ts +2 -2
  361. package/src/models/transactions/transaction.ts +21 -0
  362. package/src/models/transactions/trustSet.ts +2 -2
  363. package/src/models/utils/flags.ts +28 -10
  364. package/src/models/utils/index.ts +24 -0
  365. package/src/sugar/autofill.ts +178 -61
  366. package/src/sugar/submit.ts +1 -2
  367. package/src/utils/hashes/hashLedger.ts +5 -2
@@ -1,10 +1,11 @@
1
+ /* eslint-disable max-lines -- lots of helper functions needed for autofill */
1
2
  import BigNumber from 'bignumber.js'
2
3
  import { xAddressToClassicAddress, isValidXAddress } from 'ripple-address-codec'
3
4
 
4
5
  import { type Client } from '..'
5
6
  import { ValidationError, XrplError } from '../errors'
6
7
  import { AccountInfoRequest, AccountObjectsRequest } from '../models/methods'
7
- import { Transaction } from '../models/transactions'
8
+ import { Batch, Payment, Transaction } from '../models/transactions'
8
9
  import { xrpToDrops } from '../utils'
9
10
 
10
11
  import getFeeXrp from './getFeeXrp'
@@ -18,8 +19,6 @@ const LEDGER_OFFSET = 20
18
19
  const RESTRICTED_NETWORKS = 1024
19
20
  const REQUIRED_NETWORKID_VERSION = '1.11.0'
20
21
 
21
- const MICRO_DROPS_PER_DROP = 1_000_000
22
-
23
22
  /**
24
23
  * Determines whether the source rippled version is not later than the target rippled version.
25
24
  * Example usage: isNotLaterRippledVersion('1.10.0', '1.11.0') returns true.
@@ -148,7 +147,10 @@ function validateAccountAddress(
148
147
  tagField: string,
149
148
  ): void {
150
149
  // if X-address is given, convert it to classic address
151
- const { classicAccount, tag } = getClassicAccountAndTag(tx[accountField])
150
+ const { classicAccount, tag } = getClassicAccountAndTag(
151
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- okay here
152
+ tx[accountField] as string,
153
+ )
152
154
  // eslint-disable-next-line no-param-reassign -- param reassign is safe
153
155
  tx[accountField] = classicAccount
154
156
 
@@ -166,17 +168,17 @@ function validateAccountAddress(
166
168
  /**
167
169
  * Retrieves the classic account and tag from an account address.
168
170
  *
169
- * @param Account - The account address.
171
+ * @param account - The account address.
170
172
  * @param [expectedTag] - The expected tag for the account address.
171
173
  * @returns The classic account and tag.
172
174
  * @throws {ValidationError} If the address includes a tag that does not match the tag specified in the transaction.
173
175
  */
174
176
  function getClassicAccountAndTag(
175
- Account: string,
177
+ account: string,
176
178
  expectedTag?: number,
177
179
  ): ClassicAccountAndTag {
178
- if (isValidXAddress(Account)) {
179
- const classic = xAddressToClassicAddress(Account)
180
+ if (isValidXAddress(account)) {
181
+ const classic = xAddressToClassicAddress(account)
180
182
  if (expectedTag != null && classic.tag !== expectedTag) {
181
183
  throw new ValidationError(
182
184
  'address includes a tag that does not match the tag specified in the transaction',
@@ -188,7 +190,7 @@ function getClassicAccountAndTag(
188
190
  }
189
191
  }
190
192
  return {
191
- classicAccount: Account,
193
+ classicAccount: account,
192
194
  tag: expectedTag,
193
195
  }
194
196
  }
@@ -200,7 +202,6 @@ function getClassicAccountAndTag(
200
202
  * @param fieldName - The name of the field to convert.export
201
203
  */
202
204
  function convertToClassicAddress(tx: Transaction, fieldName: string): void {
203
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- assignment is safe
204
205
  const account = tx[fieldName]
205
206
  if (typeof account === 'string') {
206
207
  const { classicAccount } = getClassicAccountAndTag(account)
@@ -209,6 +210,20 @@ function convertToClassicAddress(tx: Transaction, fieldName: string): void {
209
210
  }
210
211
  }
211
212
 
213
+ // Helper function to get the next valid sequence number for an account.
214
+ async function getNextValidSequenceNumber(
215
+ client: Client,
216
+ account: string,
217
+ ): Promise<number> {
218
+ const request: AccountInfoRequest = {
219
+ command: 'account_info',
220
+ account,
221
+ ledger_index: 'current',
222
+ }
223
+ const data = await client.request(request)
224
+ return data.result.account_data.Sequence
225
+ }
226
+
212
227
  /**
213
228
  * Sets the next valid sequence number for a transaction.
214
229
  *
@@ -221,14 +236,8 @@ export async function setNextValidSequenceNumber(
221
236
  client: Client,
222
237
  tx: Transaction,
223
238
  ): Promise<void> {
224
- const request: AccountInfoRequest = {
225
- command: 'account_info',
226
- account: tx.Account,
227
- ledger_index: 'current',
228
- }
229
- const data = await client.request(request)
230
239
  // eslint-disable-next-line no-param-reassign, require-atomic-updates -- param reassign is safe with no race condition
231
- tx.Sequence = data.result.account_data.Sequence
240
+ tx.Sequence = await getNextValidSequenceNumber(client, tx.Account)
232
241
  }
233
242
 
234
243
  /**
@@ -249,64 +258,48 @@ async function fetchOwnerReserveFee(client: Client): Promise<BigNumber> {
249
258
  return new BigNumber(fee)
250
259
  }
251
260
 
252
- async function fetchGasPrice(client: Client): Promise<BigNumber> {
253
- const response = await client.request({ command: 'server_state' })
254
- const gasPrice = response.result.state.validated_ledger?.gas_price
255
-
256
- if (gasPrice == null) {
257
- return Promise.reject(new Error('Could not fetch Owner Reserve.'))
258
- }
259
-
260
- return new BigNumber(gasPrice)
261
- }
262
-
263
261
  /**
264
262
  * Calculates the fee per transaction type.
265
263
  *
266
264
  * @param client - The client object.
267
265
  * @param tx - The transaction object.
268
266
  * @param [signersCount=0] - The number of signers (default is 0). Only used for multisigning.
269
- * @returns A promise that resolves with void. Modifies the `tx` parameter to give it the calculated fee.
267
+ * @returns A promise that returns the fee.
270
268
  */
271
- // eslint-disable-next-line max-lines-per-function -- okay here
272
- export async function calculateFeePerTransactionType(
269
+
270
+ async function calculateFeePerTransactionType(
273
271
  client: Client,
274
272
  tx: Transaction,
275
273
  signersCount = 0,
276
- ): Promise<void> {
274
+ ): Promise<BigNumber> {
277
275
  const netFeeXRP = await getFeeXrp(client)
278
- const netFeeDrops = new BigNumber(xrpToDrops(netFeeXRP))
279
- let baseFee = netFeeDrops
280
-
281
- // EscrowFinish Transaction with Fulfillment/ComputationAllowance
282
- if (tx.TransactionType === 'EscrowFinish') {
283
- if (tx.Fulfillment != null) {
284
- const fulfillmentBytesSize: number = Math.ceil(tx.Fulfillment.length / 2)
285
- // BaseFee × (33 + (Fulfillment size in bytes / 16))
286
- baseFee = netFeeDrops.multipliedBy(
287
- // eslint-disable-next-line @typescript-eslint/no-magic-numbers -- expected use of magic numbers
288
- 33 + fulfillmentBytesSize / 16,
289
- )
290
- }
291
- if (tx.ComputationAllowance != null) {
292
- const gasPrice = await fetchGasPrice(client)
293
- const extraFee: BigNumber = gasPrice
294
- .multipliedBy(tx.ComputationAllowance)
295
- .dividedBy(MICRO_DROPS_PER_DROP)
296
- baseFee = baseFee.plus(extraFee)
297
- }
298
- }
299
- // EscrowCreate transaction with FinishFunction
300
- if (tx.TransactionType === 'EscrowCreate' && tx.FinishFunction != null) {
301
- baseFee = baseFee.plus(1000)
302
- }
276
+ const netFeeDrops = xrpToDrops(netFeeXRP)
277
+ let baseFee = new BigNumber(netFeeDrops)
303
278
 
304
279
  const isSpecialTxCost = ['AccountDelete', 'AMMCreate'].includes(
305
280
  tx.TransactionType,
306
281
  )
307
282
 
308
- if (isSpecialTxCost) {
283
+ // EscrowFinish Transaction with Fulfillment
284
+ if (tx.TransactionType === 'EscrowFinish' && tx.Fulfillment != null) {
285
+ const fulfillmentBytesSize: number = Math.ceil(tx.Fulfillment.length / 2)
286
+ // BaseFee × (33 + (Fulfillment size in bytes / 16))
287
+ baseFee = new BigNumber(
288
+ // eslint-disable-next-line @typescript-eslint/no-magic-numbers -- expected use of magic numbers
289
+ scaleValue(netFeeDrops, 33 + fulfillmentBytesSize / 16),
290
+ )
291
+ } else if (isSpecialTxCost) {
309
292
  baseFee = await fetchOwnerReserveFee(client)
293
+ } else if (tx.TransactionType === 'Batch') {
294
+ const rawTxFees = await tx.RawTransactions.reduce(async (acc, rawTxn) => {
295
+ const resolvedAcc = await acc
296
+ const fee = await calculateFeePerTransactionType(
297
+ client,
298
+ rawTxn.RawTransaction,
299
+ )
300
+ return BigNumber.sum(resolvedAcc, fee)
301
+ }, Promise.resolve(new BigNumber(0)))
302
+ baseFee = BigNumber.sum(baseFee.times(2), rawTxFees)
310
303
  }
311
304
 
312
305
  /*
@@ -314,7 +307,7 @@ export async function calculateFeePerTransactionType(
314
307
  * BaseFee × (1 + Number of Signatures Provided)
315
308
  */
316
309
  if (signersCount > 0) {
317
- baseFee = BigNumber.sum(baseFee, netFeeDrops.multipliedBy(1 + signersCount))
310
+ baseFee = BigNumber.sum(baseFee, scaleValue(netFeeDrops, signersCount))
318
311
  }
319
312
 
320
313
  const maxFeeDrops = xrpToDrops(client.maxFeeXRP)
@@ -323,8 +316,36 @@ export async function calculateFeePerTransactionType(
323
316
  : BigNumber.min(baseFee, maxFeeDrops)
324
317
 
325
318
  // Round up baseFee and return it as a string
326
- // eslint-disable-next-line no-param-reassign, @typescript-eslint/no-magic-numbers, require-atomic-updates -- safe reassignment.
327
- tx.Fee = totalFee.dp(0, BigNumber.ROUND_CEIL).toString(10)
319
+ return totalFee.dp(0, BigNumber.ROUND_CEIL)
320
+ }
321
+
322
+ /**
323
+ * Calculates the fee per transaction type and sets it in the transaction.
324
+ *
325
+ * @param client - The client object.
326
+ * @param tx - The transaction object.
327
+ * @param [signersCount=0] - The number of signers (default is 0). Only used for multisigning.
328
+ * @returns A promise that resolves with void. Modifies the `tx` parameter to give it the calculated fee.
329
+ */
330
+ export async function getTransactionFee(
331
+ client: Client,
332
+ tx: Transaction,
333
+ signersCount = 0,
334
+ ): Promise<void> {
335
+ const fee = await calculateFeePerTransactionType(client, tx, signersCount)
336
+ // eslint-disable-next-line @typescript-eslint/no-magic-numbers, require-atomic-updates, no-param-reassign -- fine here
337
+ tx.Fee = fee.toString(10)
338
+ }
339
+
340
+ /**
341
+ * Scales the given value by multiplying it with the provided multiplier.
342
+ *
343
+ * @param value - The value to be scaled.
344
+ * @param multiplier - The multiplier to scale the value.
345
+ * @returns The scaled value as a string.
346
+ */
347
+ function scaleValue(value, multiplier): string {
348
+ return new BigNumber(value).times(multiplier).toString()
328
349
  }
329
350
 
330
351
  /**
@@ -373,3 +394,99 @@ export async function checkAccountDeleteBlockers(
373
394
  resolve()
374
395
  })
375
396
  }
397
+ /**
398
+ * Replaces Amount with DeliverMax if needed.
399
+ *
400
+ * @param tx - The transaction object.
401
+ * @throws ValidationError if Amount and DeliverMax are both provided but do not match.
402
+ */
403
+ export function handleDeliverMax(tx: Payment): void {
404
+ if (tx.DeliverMax != null) {
405
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- needed here
406
+ if (tx.Amount == null) {
407
+ // If only DeliverMax is provided, use it to populate the Amount field
408
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- ignore type-assertions on the DeliverMax property
409
+ // @ts-expect-error -- DeliverMax property exists only at the RPC level, not at the protocol level
410
+ // eslint-disable-next-line no-param-reassign -- known RPC-level property
411
+ tx.Amount = tx.DeliverMax
412
+ }
413
+
414
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- needed here
415
+ if (tx.Amount != null && tx.Amount !== tx.DeliverMax) {
416
+ throw new ValidationError(
417
+ 'PaymentTransaction: Amount and DeliverMax fields must be identical when both are provided',
418
+ )
419
+ }
420
+
421
+ // eslint-disable-next-line no-param-reassign -- needed here
422
+ delete tx.DeliverMax
423
+ }
424
+ }
425
+
426
+ /**
427
+ * Autofills all the relevant `x` fields.
428
+ *
429
+ * @param client - The client object.
430
+ * @param tx - The transaction object.
431
+ * @returns A promise that resolves with void if there are no blockers, or rejects with an XrplError if there are blockers.
432
+ */
433
+ // eslint-disable-next-line complexity, max-lines-per-function -- needed here, lots to check
434
+ export async function autofillBatchTxn(
435
+ client: Client,
436
+ tx: Batch,
437
+ ): Promise<void> {
438
+ const accountSequences: Record<string, number> = {}
439
+
440
+ for await (const rawTxn of tx.RawTransactions) {
441
+ const txn = rawTxn.RawTransaction
442
+
443
+ // Sequence processing
444
+ if (txn.Sequence == null && txn.TicketSequence == null) {
445
+ if (txn.Account in accountSequences) {
446
+ txn.Sequence = accountSequences[txn.Account]
447
+ accountSequences[txn.Account] += 1
448
+ } else {
449
+ const nextSequence = await getNextValidSequenceNumber(
450
+ client,
451
+ txn.Account,
452
+ )
453
+ const sequence =
454
+ txn.Account === tx.Account ? nextSequence + 1 : nextSequence
455
+ accountSequences[txn.Account] = sequence + 1
456
+ txn.Sequence = sequence
457
+ }
458
+ }
459
+
460
+ if (txn.Fee == null) {
461
+ txn.Fee = '0'
462
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- for JS purposes
463
+ } else if (txn.Fee !== '0') {
464
+ throw new XrplError('Must have `Fee of "0" in inner Batch transaction.')
465
+ }
466
+
467
+ if (txn.SigningPubKey == null) {
468
+ txn.SigningPubKey = ''
469
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- for JS purposes
470
+ } else if (txn.SigningPubKey !== '') {
471
+ throw new XrplError(
472
+ 'Must have `SigningPubKey` of "" in inner Batch transaction.',
473
+ )
474
+ }
475
+
476
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- for JS purposes
477
+ if (txn.TxnSignature != null) {
478
+ throw new XrplError(
479
+ 'Must not have `TxnSignature` in inner Batch transaction.',
480
+ )
481
+ }
482
+
483
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- for JS purposes
484
+ if (txn.Signers != null) {
485
+ throw new XrplError('Must not have `Signers` in inner Batch transaction.')
486
+ }
487
+
488
+ if (txn.NetworkID == null && txNeedsNetworkID(client)) {
489
+ txn.NetworkID = client.networkID
490
+ }
491
+ }
492
+ }
@@ -175,7 +175,6 @@ function isSigned(transaction: SubmittableTransaction | string): boolean {
175
175
  // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- we know that tx.Signers is an array of Signers
176
176
  const signers = tx.Signers as Signer[]
177
177
  for (const signer of signers) {
178
- // eslint-disable-next-line max-depth -- necessary for checking if signer is signed
179
178
  if (
180
179
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- necessary check
181
180
  signer.Signer.SigningPubKey == null ||
@@ -283,7 +282,7 @@ export function getLastLedgerSequence(
283
282
  transaction: Transaction | string,
284
283
  ): number | null {
285
284
  const tx = typeof transaction === 'string' ? decode(transaction) : transaction
286
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- converts LastLedgSeq to number if present.
285
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- converts LastLedgerSeq to number if present.
287
286
  return tx.LastLedgerSequence as number | null
288
287
  }
289
288
 
@@ -12,6 +12,8 @@ import { APIVersion } from '../../models'
12
12
  import { LedgerEntry } from '../../models/ledger'
13
13
  import { LedgerVersionMap } from '../../models/ledger/Ledger'
14
14
  import { Transaction, TransactionMetadata } from '../../models/transactions'
15
+ import { GlobalFlags } from '../../models/transactions/common'
16
+ import { hasFlag } from '../../models/utils'
15
17
 
16
18
  import HashPrefix from './HashPrefix'
17
19
  import sha512Half from './sha512Half'
@@ -66,7 +68,7 @@ function addLengthPrefix(hex: string): string {
66
68
  *
67
69
  * @param tx - A transaction to hash. Tx may be in binary blob form. Tx must be signed.
68
70
  * @returns A hash of tx.
69
- * @throws ValidationError if the Transaction is unsigned.\
71
+ * @throws ValidationError if the Transaction is unsigned.
70
72
  * @category Utilities
71
73
  */
72
74
  export function hashSignedTx(tx: Transaction | string): string {
@@ -84,7 +86,8 @@ export function hashSignedTx(tx: Transaction | string): string {
84
86
  if (
85
87
  txObject.TxnSignature === undefined &&
86
88
  txObject.Signers === undefined &&
87
- txObject.SigningPubKey === undefined
89
+ txObject.SigningPubKey === undefined &&
90
+ !hasFlag(txObject, GlobalFlags.tfInnerBatchTxn, 'tfInnerBatchTxn')
88
91
  ) {
89
92
  throw new ValidationError('The transaction must be signed to hash it.')
90
93
  }