xrpjson 0.1.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/LICENSE +21 -0
  2. package/README.md +183 -0
  3. package/dist/errors.d.ts +20 -0
  4. package/dist/errors.d.ts.map +1 -0
  5. package/dist/errors.js +27 -0
  6. package/dist/errors.js.map +1 -0
  7. package/dist/fp/factories/account-delete.d.ts +33 -0
  8. package/dist/fp/factories/account-delete.d.ts.map +1 -0
  9. package/dist/fp/factories/account-delete.js +138 -0
  10. package/dist/fp/factories/account-delete.js.map +1 -0
  11. package/dist/fp/factories/account-set.d.ts +31 -0
  12. package/dist/fp/factories/account-set.d.ts.map +1 -0
  13. package/dist/fp/factories/account-set.js +44 -0
  14. package/dist/fp/factories/account-set.js.map +1 -0
  15. package/dist/fp/factories/amm-bid.d.ts +134 -0
  16. package/dist/fp/factories/amm-bid.d.ts.map +1 -0
  17. package/dist/fp/factories/amm-bid.js +82 -0
  18. package/dist/fp/factories/amm-bid.js.map +1 -0
  19. package/dist/fp/factories/amm-clawback.d.ts +166 -0
  20. package/dist/fp/factories/amm-clawback.d.ts.map +1 -0
  21. package/dist/fp/factories/amm-clawback.js +143 -0
  22. package/dist/fp/factories/amm-clawback.js.map +1 -0
  23. package/dist/fp/factories/amm-create.d.ts +91 -0
  24. package/dist/fp/factories/amm-create.d.ts.map +1 -0
  25. package/dist/fp/factories/amm-create.js +140 -0
  26. package/dist/fp/factories/amm-create.js.map +1 -0
  27. package/dist/fp/factories/amm-delete.d.ts +84 -0
  28. package/dist/fp/factories/amm-delete.d.ts.map +1 -0
  29. package/dist/fp/factories/amm-delete.js +36 -0
  30. package/dist/fp/factories/amm-delete.js.map +1 -0
  31. package/dist/fp/factories/amm-deposit.d.ts +109 -0
  32. package/dist/fp/factories/amm-deposit.d.ts.map +1 -0
  33. package/dist/fp/factories/amm-deposit.js +68 -0
  34. package/dist/fp/factories/amm-deposit.js.map +1 -0
  35. package/dist/fp/factories/amm-vote.d.ts +87 -0
  36. package/dist/fp/factories/amm-vote.d.ts.map +1 -0
  37. package/dist/fp/factories/amm-vote.js +53 -0
  38. package/dist/fp/factories/amm-vote.js.map +1 -0
  39. package/dist/fp/factories/amm-withdraw.d.ts +131 -0
  40. package/dist/fp/factories/amm-withdraw.d.ts.map +1 -0
  41. package/dist/fp/factories/amm-withdraw.js +147 -0
  42. package/dist/fp/factories/amm-withdraw.js.map +1 -0
  43. package/dist/fp/factories/batch.d.ts +133 -0
  44. package/dist/fp/factories/batch.d.ts.map +1 -0
  45. package/dist/fp/factories/batch.js +264 -0
  46. package/dist/fp/factories/batch.js.map +1 -0
  47. package/dist/fp/factories/check-cancel.d.ts +22 -0
  48. package/dist/fp/factories/check-cancel.d.ts.map +1 -0
  49. package/dist/fp/factories/check-cancel.js +119 -0
  50. package/dist/fp/factories/check-cancel.js.map +1 -0
  51. package/dist/fp/factories/check-cash.d.ts +84 -0
  52. package/dist/fp/factories/check-cash.d.ts.map +1 -0
  53. package/dist/fp/factories/check-cash.js +95 -0
  54. package/dist/fp/factories/check-cash.js.map +1 -0
  55. package/dist/fp/factories/check-create.d.ts +82 -0
  56. package/dist/fp/factories/check-create.d.ts.map +1 -0
  57. package/dist/fp/factories/check-create.js +101 -0
  58. package/dist/fp/factories/check-create.js.map +1 -0
  59. package/dist/fp/factories/clawback.d.ts +160 -0
  60. package/dist/fp/factories/clawback.d.ts.map +1 -0
  61. package/dist/fp/factories/clawback.js +111 -0
  62. package/dist/fp/factories/clawback.js.map +1 -0
  63. package/dist/fp/factories/confidential-mpt-clawback.d.ts +24 -0
  64. package/dist/fp/factories/confidential-mpt-clawback.d.ts.map +1 -0
  65. package/dist/fp/factories/confidential-mpt-clawback.js +200 -0
  66. package/dist/fp/factories/confidential-mpt-clawback.js.map +1 -0
  67. package/dist/fp/factories/confidential-mpt-convert-back.d.ts +32 -0
  68. package/dist/fp/factories/confidential-mpt-convert-back.d.ts.map +1 -0
  69. package/dist/fp/factories/confidential-mpt-convert-back.js +203 -0
  70. package/dist/fp/factories/confidential-mpt-convert-back.js.map +1 -0
  71. package/dist/fp/factories/confidential-mpt-convert.d.ts +32 -0
  72. package/dist/fp/factories/confidential-mpt-convert.d.ts.map +1 -0
  73. package/dist/fp/factories/confidential-mpt-convert.js +209 -0
  74. package/dist/fp/factories/confidential-mpt-convert.js.map +1 -0
  75. package/dist/fp/factories/confidential-mpt-merge-inbox.d.ts +18 -0
  76. package/dist/fp/factories/confidential-mpt-merge-inbox.d.ts.map +1 -0
  77. package/dist/fp/factories/confidential-mpt-merge-inbox.js +130 -0
  78. package/dist/fp/factories/confidential-mpt-merge-inbox.js.map +1 -0
  79. package/dist/fp/factories/confidential-mpt-send.d.ts +38 -0
  80. package/dist/fp/factories/confidential-mpt-send.d.ts.map +1 -0
  81. package/dist/fp/factories/confidential-mpt-send.js +254 -0
  82. package/dist/fp/factories/confidential-mpt-send.js.map +1 -0
  83. package/dist/fp/factories/credential-accept.d.ts +23 -0
  84. package/dist/fp/factories/credential-accept.d.ts.map +1 -0
  85. package/dist/fp/factories/credential-accept.js +135 -0
  86. package/dist/fp/factories/credential-accept.js.map +1 -0
  87. package/dist/fp/factories/credential-create.d.ts +24 -0
  88. package/dist/fp/factories/credential-create.d.ts.map +1 -0
  89. package/dist/fp/factories/credential-create.js +204 -0
  90. package/dist/fp/factories/credential-create.js.map +1 -0
  91. package/dist/fp/factories/credential-delete.d.ts +33 -0
  92. package/dist/fp/factories/credential-delete.d.ts.map +1 -0
  93. package/dist/fp/factories/credential-delete.js +167 -0
  94. package/dist/fp/factories/credential-delete.js.map +1 -0
  95. package/dist/fp/factories/delegate-set.d.ts +52 -0
  96. package/dist/fp/factories/delegate-set.d.ts.map +1 -0
  97. package/dist/fp/factories/delegate-set.js +190 -0
  98. package/dist/fp/factories/delegate-set.js.map +1 -0
  99. package/dist/fp/factories/deposit-preauth.d.ts +183 -0
  100. package/dist/fp/factories/deposit-preauth.d.ts.map +1 -0
  101. package/dist/fp/factories/deposit-preauth.js +159 -0
  102. package/dist/fp/factories/deposit-preauth.js.map +1 -0
  103. package/dist/fp/factories/did-delete.d.ts +22 -0
  104. package/dist/fp/factories/did-delete.d.ts.map +1 -0
  105. package/dist/fp/factories/did-delete.js +126 -0
  106. package/dist/fp/factories/did-delete.js.map +1 -0
  107. package/dist/fp/factories/did-set.d.ts +68 -0
  108. package/dist/fp/factories/did-set.d.ts.map +1 -0
  109. package/dist/fp/factories/did-set.js +178 -0
  110. package/dist/fp/factories/did-set.js.map +1 -0
  111. package/dist/fp/factories/escrow-cancel.d.ts +28 -0
  112. package/dist/fp/factories/escrow-cancel.d.ts.map +1 -0
  113. package/dist/fp/factories/escrow-cancel.js +127 -0
  114. package/dist/fp/factories/escrow-cancel.js.map +1 -0
  115. package/dist/fp/factories/escrow-create.d.ts +103 -0
  116. package/dist/fp/factories/escrow-create.d.ts.map +1 -0
  117. package/dist/fp/factories/escrow-create.js +133 -0
  118. package/dist/fp/factories/escrow-create.js.map +1 -0
  119. package/dist/fp/factories/escrow-finish.d.ts +39 -0
  120. package/dist/fp/factories/escrow-finish.d.ts.map +1 -0
  121. package/dist/fp/factories/escrow-finish.js +173 -0
  122. package/dist/fp/factories/escrow-finish.js.map +1 -0
  123. package/dist/fp/factories/ledger-state-fix.d.ts +31 -0
  124. package/dist/fp/factories/ledger-state-fix.d.ts.map +1 -0
  125. package/dist/fp/factories/ledger-state-fix.js +163 -0
  126. package/dist/fp/factories/ledger-state-fix.js.map +1 -0
  127. package/dist/fp/factories/loan-broker-cover-clawback.d.ts +106 -0
  128. package/dist/fp/factories/loan-broker-cover-clawback.d.ts.map +1 -0
  129. package/dist/fp/factories/loan-broker-cover-clawback.js +122 -0
  130. package/dist/fp/factories/loan-broker-cover-clawback.js.map +1 -0
  131. package/dist/fp/factories/loan-broker-cover-deposit.d.ts +65 -0
  132. package/dist/fp/factories/loan-broker-cover-deposit.d.ts.map +1 -0
  133. package/dist/fp/factories/loan-broker-cover-deposit.js +81 -0
  134. package/dist/fp/factories/loan-broker-cover-deposit.js.map +1 -0
  135. package/dist/fp/factories/loan-broker-cover-withdraw.d.ts +96 -0
  136. package/dist/fp/factories/loan-broker-cover-withdraw.d.ts.map +1 -0
  137. package/dist/fp/factories/loan-broker-cover-withdraw.js +116 -0
  138. package/dist/fp/factories/loan-broker-cover-withdraw.js.map +1 -0
  139. package/dist/fp/factories/loan-broker-delete.d.ts +20 -0
  140. package/dist/fp/factories/loan-broker-delete.d.ts.map +1 -0
  141. package/dist/fp/factories/loan-broker-delete.js +94 -0
  142. package/dist/fp/factories/loan-broker-delete.js.map +1 -0
  143. package/dist/fp/factories/loan-broker-set.d.ts +108 -0
  144. package/dist/fp/factories/loan-broker-set.d.ts.map +1 -0
  145. package/dist/fp/factories/loan-broker-set.js +133 -0
  146. package/dist/fp/factories/loan-broker-set.js.map +1 -0
  147. package/dist/fp/factories/loan-delete.d.ts +18 -0
  148. package/dist/fp/factories/loan-delete.d.ts.map +1 -0
  149. package/dist/fp/factories/loan-delete.js +95 -0
  150. package/dist/fp/factories/loan-delete.js.map +1 -0
  151. package/dist/fp/factories/loan-manage.d.ts +72 -0
  152. package/dist/fp/factories/loan-manage.d.ts.map +1 -0
  153. package/dist/fp/factories/loan-manage.js +79 -0
  154. package/dist/fp/factories/loan-manage.js.map +1 -0
  155. package/dist/fp/factories/loan-pay.d.ts +70 -0
  156. package/dist/fp/factories/loan-pay.d.ts.map +1 -0
  157. package/dist/fp/factories/loan-pay.js +115 -0
  158. package/dist/fp/factories/loan-pay.js.map +1 -0
  159. package/dist/fp/factories/loan-set.d.ts +67 -0
  160. package/dist/fp/factories/loan-set.d.ts.map +1 -0
  161. package/dist/fp/factories/loan-set.js +102 -0
  162. package/dist/fp/factories/loan-set.js.map +1 -0
  163. package/dist/fp/factories/mptoken-authorize.d.ts +83 -0
  164. package/dist/fp/factories/mptoken-authorize.d.ts.map +1 -0
  165. package/dist/fp/factories/mptoken-authorize.js +63 -0
  166. package/dist/fp/factories/mptoken-authorize.js.map +1 -0
  167. package/dist/fp/factories/mptoken-issuance-create.d.ts +71 -0
  168. package/dist/fp/factories/mptoken-issuance-create.d.ts.map +1 -0
  169. package/dist/fp/factories/mptoken-issuance-create.js +135 -0
  170. package/dist/fp/factories/mptoken-issuance-create.js.map +1 -0
  171. package/dist/fp/factories/mptoken-issuance-destroy.d.ts +32 -0
  172. package/dist/fp/factories/mptoken-issuance-destroy.d.ts.map +1 -0
  173. package/dist/fp/factories/mptoken-issuance-destroy.js +105 -0
  174. package/dist/fp/factories/mptoken-issuance-destroy.js.map +1 -0
  175. package/dist/fp/factories/mptoken-issuance-set.d.ts +196 -0
  176. package/dist/fp/factories/mptoken-issuance-set.d.ts.map +1 -0
  177. package/dist/fp/factories/mptoken-issuance-set.js +333 -0
  178. package/dist/fp/factories/mptoken-issuance-set.js.map +1 -0
  179. package/dist/fp/factories/nftoken-accept-offer.d.ts +108 -0
  180. package/dist/fp/factories/nftoken-accept-offer.d.ts.map +1 -0
  181. package/dist/fp/factories/nftoken-accept-offer.js +105 -0
  182. package/dist/fp/factories/nftoken-accept-offer.js.map +1 -0
  183. package/dist/fp/factories/nftoken-burn.d.ts +27 -0
  184. package/dist/fp/factories/nftoken-burn.d.ts.map +1 -0
  185. package/dist/fp/factories/nftoken-burn.js +125 -0
  186. package/dist/fp/factories/nftoken-burn.js.map +1 -0
  187. package/dist/fp/factories/nftoken-cancel-offer.d.ts +19 -0
  188. package/dist/fp/factories/nftoken-cancel-offer.d.ts.map +1 -0
  189. package/dist/fp/factories/nftoken-cancel-offer.js +143 -0
  190. package/dist/fp/factories/nftoken-cancel-offer.js.map +1 -0
  191. package/dist/fp/factories/nftoken-create-offer.d.ts +159 -0
  192. package/dist/fp/factories/nftoken-create-offer.d.ts.map +1 -0
  193. package/dist/fp/factories/nftoken-create-offer.js +212 -0
  194. package/dist/fp/factories/nftoken-create-offer.js.map +1 -0
  195. package/dist/fp/factories/nftoken-mint.d.ts +155 -0
  196. package/dist/fp/factories/nftoken-mint.d.ts.map +1 -0
  197. package/dist/fp/factories/nftoken-mint.js +165 -0
  198. package/dist/fp/factories/nftoken-mint.js.map +1 -0
  199. package/dist/fp/factories/nftoken-modify.d.ts +28 -0
  200. package/dist/fp/factories/nftoken-modify.d.ts.map +1 -0
  201. package/dist/fp/factories/nftoken-modify.js +209 -0
  202. package/dist/fp/factories/nftoken-modify.js.map +1 -0
  203. package/dist/fp/factories/offer-cancel.d.ts +21 -0
  204. package/dist/fp/factories/offer-cancel.d.ts.map +1 -0
  205. package/dist/fp/factories/offer-cancel.js +99 -0
  206. package/dist/fp/factories/offer-cancel.js.map +1 -0
  207. package/dist/fp/factories/offer-create.d.ts +125 -0
  208. package/dist/fp/factories/offer-create.d.ts.map +1 -0
  209. package/dist/fp/factories/offer-create.js +230 -0
  210. package/dist/fp/factories/offer-create.js.map +1 -0
  211. package/dist/fp/factories/oracle-delete.d.ts +21 -0
  212. package/dist/fp/factories/oracle-delete.d.ts.map +1 -0
  213. package/dist/fp/factories/oracle-delete.js +101 -0
  214. package/dist/fp/factories/oracle-delete.js.map +1 -0
  215. package/dist/fp/factories/oracle-set.d.ts +40 -0
  216. package/dist/fp/factories/oracle-set.d.ts.map +1 -0
  217. package/dist/fp/factories/oracle-set.js +257 -0
  218. package/dist/fp/factories/oracle-set.js.map +1 -0
  219. package/dist/fp/factories/payment-channel-claim.d.ts +153 -0
  220. package/dist/fp/factories/payment-channel-claim.d.ts.map +1 -0
  221. package/dist/fp/factories/payment-channel-claim.js +118 -0
  222. package/dist/fp/factories/payment-channel-claim.js.map +1 -0
  223. package/dist/fp/factories/payment-channel-create.d.ts +30 -0
  224. package/dist/fp/factories/payment-channel-create.d.ts.map +1 -0
  225. package/dist/fp/factories/payment-channel-create.js +172 -0
  226. package/dist/fp/factories/payment-channel-create.js.map +1 -0
  227. package/dist/fp/factories/payment-channel-fund.d.ts +25 -0
  228. package/dist/fp/factories/payment-channel-fund.d.ts.map +1 -0
  229. package/dist/fp/factories/payment-channel-fund.js +142 -0
  230. package/dist/fp/factories/payment-channel-fund.js.map +1 -0
  231. package/dist/fp/factories/payment.d.ts +65 -0
  232. package/dist/fp/factories/payment.d.ts.map +1 -0
  233. package/dist/fp/factories/payment.js +48 -0
  234. package/dist/fp/factories/payment.js.map +1 -0
  235. package/dist/fp/factories/permissioned-domain-delete.d.ts +18 -0
  236. package/dist/fp/factories/permissioned-domain-delete.d.ts.map +1 -0
  237. package/dist/fp/factories/permissioned-domain-delete.js +88 -0
  238. package/dist/fp/factories/permissioned-domain-delete.js.map +1 -0
  239. package/dist/fp/factories/permissioned-domain-set.d.ts +118 -0
  240. package/dist/fp/factories/permissioned-domain-set.d.ts.map +1 -0
  241. package/dist/fp/factories/permissioned-domain-set.js +100 -0
  242. package/dist/fp/factories/permissioned-domain-set.js.map +1 -0
  243. package/dist/fp/factories/set-regular-key.d.ts +30 -0
  244. package/dist/fp/factories/set-regular-key.d.ts.map +1 -0
  245. package/dist/fp/factories/set-regular-key.js +81 -0
  246. package/dist/fp/factories/set-regular-key.js.map +1 -0
  247. package/dist/fp/factories/signer-list-set.d.ts +61 -0
  248. package/dist/fp/factories/signer-list-set.d.ts.map +1 -0
  249. package/dist/fp/factories/signer-list-set.js +250 -0
  250. package/dist/fp/factories/signer-list-set.js.map +1 -0
  251. package/dist/fp/factories/sponsorship-set.d.ts +148 -0
  252. package/dist/fp/factories/sponsorship-set.d.ts.map +1 -0
  253. package/dist/fp/factories/sponsorship-set.js +201 -0
  254. package/dist/fp/factories/sponsorship-set.js.map +1 -0
  255. package/dist/fp/factories/sponsorship-transfer.d.ts +173 -0
  256. package/dist/fp/factories/sponsorship-transfer.d.ts.map +1 -0
  257. package/dist/fp/factories/sponsorship-transfer.js +195 -0
  258. package/dist/fp/factories/sponsorship-transfer.js.map +1 -0
  259. package/dist/fp/factories/ticket-create.d.ts +20 -0
  260. package/dist/fp/factories/ticket-create.d.ts.map +1 -0
  261. package/dist/fp/factories/ticket-create.js +120 -0
  262. package/dist/fp/factories/ticket-create.js.map +1 -0
  263. package/dist/fp/factories/trust-set.d.ts +100 -0
  264. package/dist/fp/factories/trust-set.d.ts.map +1 -0
  265. package/dist/fp/factories/trust-set.js +111 -0
  266. package/dist/fp/factories/trust-set.js.map +1 -0
  267. package/dist/fp/factories/vault-clawback.d.ts +83 -0
  268. package/dist/fp/factories/vault-clawback.d.ts.map +1 -0
  269. package/dist/fp/factories/vault-clawback.js +91 -0
  270. package/dist/fp/factories/vault-clawback.js.map +1 -0
  271. package/dist/fp/factories/vault-create.d.ts +51 -0
  272. package/dist/fp/factories/vault-create.d.ts.map +1 -0
  273. package/dist/fp/factories/vault-create.js +141 -0
  274. package/dist/fp/factories/vault-create.js.map +1 -0
  275. package/dist/fp/factories/vault-delete.d.ts +20 -0
  276. package/dist/fp/factories/vault-delete.d.ts.map +1 -0
  277. package/dist/fp/factories/vault-delete.js +103 -0
  278. package/dist/fp/factories/vault-delete.js.map +1 -0
  279. package/dist/fp/factories/vault-deposit.d.ts +56 -0
  280. package/dist/fp/factories/vault-deposit.d.ts.map +1 -0
  281. package/dist/fp/factories/vault-deposit.js +85 -0
  282. package/dist/fp/factories/vault-deposit.js.map +1 -0
  283. package/dist/fp/factories/vault-set.d.ts +32 -0
  284. package/dist/fp/factories/vault-set.d.ts.map +1 -0
  285. package/dist/fp/factories/vault-set.js +135 -0
  286. package/dist/fp/factories/vault-set.js.map +1 -0
  287. package/dist/fp/factories/vault-withdraw.d.ts +82 -0
  288. package/dist/fp/factories/vault-withdraw.d.ts.map +1 -0
  289. package/dist/fp/factories/vault-withdraw.js +122 -0
  290. package/dist/fp/factories/vault-withdraw.js.map +1 -0
  291. package/dist/fp/factories/xchain-account-create-commit.d.ts +180 -0
  292. package/dist/fp/factories/xchain-account-create-commit.d.ts.map +1 -0
  293. package/dist/fp/factories/xchain-account-create-commit.js +99 -0
  294. package/dist/fp/factories/xchain-account-create-commit.js.map +1 -0
  295. package/dist/fp/factories/xchain-add-account-create-attestation.d.ts +213 -0
  296. package/dist/fp/factories/xchain-add-account-create-attestation.d.ts.map +1 -0
  297. package/dist/fp/factories/xchain-add-account-create-attestation.js +95 -0
  298. package/dist/fp/factories/xchain-add-account-create-attestation.js.map +1 -0
  299. package/dist/fp/factories/xchain-add-claim-attestation.d.ts +206 -0
  300. package/dist/fp/factories/xchain-add-claim-attestation.d.ts.map +1 -0
  301. package/dist/fp/factories/xchain-add-claim-attestation.js +97 -0
  302. package/dist/fp/factories/xchain-add-claim-attestation.js.map +1 -0
  303. package/dist/fp/factories/xchain-claim.d.ts +187 -0
  304. package/dist/fp/factories/xchain-claim.d.ts.map +1 -0
  305. package/dist/fp/factories/xchain-claim.js +140 -0
  306. package/dist/fp/factories/xchain-claim.js.map +1 -0
  307. package/dist/fp/factories/xchain-commit.d.ts +168 -0
  308. package/dist/fp/factories/xchain-commit.d.ts.map +1 -0
  309. package/dist/fp/factories/xchain-commit.js +137 -0
  310. package/dist/fp/factories/xchain-commit.js.map +1 -0
  311. package/dist/fp/factories/xchain-create-bridge.d.ts +206 -0
  312. package/dist/fp/factories/xchain-create-bridge.d.ts.map +1 -0
  313. package/dist/fp/factories/xchain-create-bridge.js +100 -0
  314. package/dist/fp/factories/xchain-create-bridge.js.map +1 -0
  315. package/dist/fp/factories/xchain-create-claim-id.d.ts +199 -0
  316. package/dist/fp/factories/xchain-create-claim-id.d.ts.map +1 -0
  317. package/dist/fp/factories/xchain-create-claim-id.js +78 -0
  318. package/dist/fp/factories/xchain-create-claim-id.js.map +1 -0
  319. package/dist/fp/factories/xchain-modify-bridge.d.ts +198 -0
  320. package/dist/fp/factories/xchain-modify-bridge.d.ts.map +1 -0
  321. package/dist/fp/factories/xchain-modify-bridge.js +102 -0
  322. package/dist/fp/factories/xchain-modify-bridge.js.map +1 -0
  323. package/dist/fp/index.d.ts +124 -0
  324. package/dist/fp/index.d.ts.map +1 -0
  325. package/dist/fp/index.js +152 -0
  326. package/dist/fp/index.js.map +1 -0
  327. package/dist/fp/shape.d.ts +34 -0
  328. package/dist/fp/shape.d.ts.map +1 -0
  329. package/dist/fp/shape.js +80 -0
  330. package/dist/fp/shape.js.map +1 -0
  331. package/dist/types/amounts.d.ts +49 -0
  332. package/dist/types/amounts.d.ts.map +1 -0
  333. package/dist/types/amounts.js +8 -0
  334. package/dist/types/amounts.js.map +1 -0
  335. package/dist/types/base.d.ts +103 -0
  336. package/dist/types/base.d.ts.map +1 -0
  337. package/dist/types/base.js +2 -0
  338. package/dist/types/base.js.map +1 -0
  339. package/dist/types/common.d.ts +163 -0
  340. package/dist/types/common.d.ts.map +1 -0
  341. package/dist/types/common.js +5 -0
  342. package/dist/types/common.js.map +1 -0
  343. package/dist/types/flags.d.ts +317 -0
  344. package/dist/types/flags.d.ts.map +1 -0
  345. package/dist/types/flags.js +253 -0
  346. package/dist/types/flags.js.map +1 -0
  347. package/dist/types/index.d.ts +10 -0
  348. package/dist/types/index.d.ts.map +1 -0
  349. package/dist/types/index.js +2 -0
  350. package/dist/types/index.js.map +1 -0
  351. package/dist/types/transaction-types.d.ts +7 -0
  352. package/dist/types/transaction-types.d.ts.map +1 -0
  353. package/dist/types/transaction-types.js +2 -0
  354. package/dist/types/transaction-types.js.map +1 -0
  355. package/dist/validation/base.d.ts +8 -0
  356. package/dist/validation/base.d.ts.map +1 -0
  357. package/dist/validation/base.js +79 -0
  358. package/dist/validation/base.js.map +1 -0
  359. package/dist/validation/helpers.d.ts +42 -0
  360. package/dist/validation/helpers.d.ts.map +1 -0
  361. package/dist/validation/helpers.js +154 -0
  362. package/dist/validation/helpers.js.map +1 -0
  363. package/dist/validation/index.d.ts +3 -0
  364. package/dist/validation/index.d.ts.map +1 -0
  365. package/dist/validation/index.js +3 -0
  366. package/dist/validation/index.js.map +1 -0
  367. package/package.json +67 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Jonathan Dobson
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,183 @@
1
+ # xrpjs
2
+
3
+ Functional transaction factories for the XRP Ledger — 79 frozen-shape
4
+ builders verified against [xrpl.js](https://github.com/XRPLF/xrpl.js),
5
+ [xrpl.org](https://xrpl.org/), and [XLS specs](https://github.com/XRPLF/XRPL-Standards).
6
+
7
+ ```ts
8
+ import { payment, accountSet, vaultCreate } from 'xrpjs';
9
+
10
+ const tx = payment({
11
+ Account: 'rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh',
12
+ Destination: 'rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe',
13
+ Amount: '1000000', // 1 XRP in drops
14
+ });
15
+
16
+ // tx is frozen — every field is validated at construction time.
17
+ // toJSON() produces a wire-format object ready for xrpl.encode().
18
+ const wire = tx.toJSON();
19
+ ```
20
+
21
+ ## What it is
22
+
23
+ `xrpjs` is the functional-programming API for building XRPL transactions.
24
+ Every factory returns a **frozen** transaction object with **eager validation**
25
+ at construction. If a required field is missing, malformed, or violates a
26
+ ledger rule the factory knows about, the call throws — no separate
27
+ `.validate()` step, no silent preclaim failures at submit time.
28
+
29
+ Each transaction family (`payment`, `vaultCreate`, `ammDeposit`, ...) has
30
+ its own factory. Importing one pulls in only that factory's code (full
31
+ tree-shaking).
32
+
33
+ ## What it covers
34
+
35
+ **79 transaction types** (every class in v0.7.1's `src/transactions/`,
36
+ including the XLS-38d Sidechain family):
37
+
38
+ - **Account:** `accountDelete`, `accountSet`
39
+ - **AMM** (7): XLS-0030
40
+ - **Batch:** `batch` (BatchV1_1)
41
+ - **Check** (3): `checkCancel`, `checkCash`, `checkCreate`
42
+ - **Clawback:** `clawback`
43
+ - **ConfidentialMPT** (5): ConfidentialTransfer amendment
44
+ - **Credential** (3): XLS-0070
45
+ - **Delegate:** `delegateSet` (XLS-0085d)
46
+ - **DepositPreauth:** 4-way field rule (XLS-0070)
47
+ - **DID** (2): XLS-0040
48
+ - **Escrow** (3)
49
+ - **LedgerStateFix**
50
+ - **Loan** (4) + **LoanBroker** (5): LendingProtocol amendment
51
+ - **MPT** (4): XLS-0033
52
+ - **NFToken** (6): XLS-0020
53
+ - **Offer** (2)
54
+ - **Oracle** (2)
55
+ - **Payment**
56
+ - **PaymentChannel** (3)
57
+ - **PermissionedDomain** (2)
58
+ - **SetRegularKey**
59
+ - **SignerListSet**
60
+ - **Sponsorship** (2): Sponsor amendment
61
+ - **TicketCreate**
62
+ - **TrustSet**
63
+ - **Vault** (6): SingleAssetVault amendment
64
+ - **XChain** (8): XLS-0038d Sidechain amendment
65
+
66
+ ## What it adds over the class API
67
+
68
+ Every factory file ships a `## Divergences` header listing the guards it
69
+ adds beyond `src/transactions/<TxName>.ts`. Examples:
70
+
71
+ - **`vaultCreate`**: rejects `VaultID === '00…00'` (64-char all-zero
72
+ hex would fail at the ledger with `temMALFORMED`); `Amount` must be
73
+ strictly positive across all 3 forms (XRP drops / IOU object / MPT
74
+ object).
75
+ - **`ammDeposit` / `ammWithdraw`**: validates `Asset` and `Asset2` as
76
+ `Currency` (no MPT), enforces the "Amount2 requires Amount" and
77
+ "EPrice requires Amount" cross-field rules, plus exactly-one
78
+ AMM-withdraw mode flag.
79
+ - **`batch`**: validates `RawTransactions` 2..8, exclusive `Flags` on
80
+ the outer tx, inner-tx `Sequence XOR TicketSequence`, `BatchSigners`
81
+ ≤ 24 + sorted + no duplicates, outer `Account` not in `BatchSigners`.
82
+ - **`nftokenCreateOffer`**: rejects `Owner` on sell offers, requires
83
+ `Owner` on buy offers, rejects `Owner === Account`, 64-char hex
84
+ `NFTokenID`.
85
+ - **`nftokenCancelOffer`**: rejects duplicate offer IDs, max 500
86
+ entries per rippled `kMaxTokenOfferCancelCount`.
87
+ - **`signerListSet`**: ≤ 32 entries, positive `SignerWeight`, no
88
+ self-listing, 64-char hex `WalletLocator`.
89
+ - **`xchainCreateBridge` / `xchainModifyBridge`**: enforces 4-key
90
+ bridge shape (`LockingChainDoor`, `LockingChainIssue`,
91
+ `IssuingChainDoor`, `IssuingChainIssue`), bridge doors as valid
92
+ XRPL accounts, `SignatureReward` / `MinAccountCreateAmount` as
93
+ strictly positive XRP drops strings (XLS-38 §2.1.1.1.3/1.4),
94
+ `Account === LockingChainDoor` equality.
95
+
96
+ Every divergence is cited: file path + line number in
97
+ [xrpl.js](https://github.com/XRPLF/xrpl.js),
98
+ [xrpl.org docs](https://xrpl.org/), and the relevant XLS spec.
99
+
100
+ ## Usage
101
+
102
+ ```ts
103
+ import { payment, vaultCreate, nftokenCreateOffer } from 'xrpjs';
104
+
105
+ // 1. Build a frozen, validated tx.
106
+ const tx = payment({
107
+ Account: 'rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh',
108
+ Destination: 'rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe',
109
+ Amount: '1000000',
110
+ });
111
+
112
+ // 2. (optional) derive a new tx with overrides — re-validates.
113
+ const withHigherFee = tx.with({ Fee: '20' });
114
+
115
+ // 3. Serialize for the wire format.
116
+ const wire = tx.toJSON();
117
+ // wire is a plain object matching the canonical XRPL JSON shape.
118
+
119
+ // 4. Encode + sign + submit via xrpl.js (or your own client).
120
+ import { encode, sign, submit } from 'xrpl';
121
+ const encoded = encode(wire);
122
+ const signed = sign(wallet, encoded);
123
+ await submit(signed);
124
+ ```
125
+
126
+ The factory is pure — no global state, no I/O, no side effects. You can
127
+ construct thousands of transactions per second.
128
+
129
+ ## Verification discipline
130
+
131
+ Every factory is verified against **three canonical sources** before
132
+ landing:
133
+
134
+ 1. **xrpl.js 5.3.0** at `~/.mavis/docs.local/xrpl.js/` — the canonical
135
+ JavaScript validator. We check what `validate<Transaction>` does and
136
+ *what it skips*.
137
+ 2. **xrpl.org docs** at `~/.mavis/docs.local/xrpl-dev-portal/` — the
138
+ human-readable reference. We extract the field tables, internal
139
+ types, and error code catalog.
140
+ 3. **XLS specs** at `~/.mavis/docs.local/xrpl-standards/` — the
141
+ authoritative spec text. We read the amendment's field table,
142
+ preclaim rules, and cross-field invariants.
143
+
144
+ When the three sources disagree, the XLS spec wins. The factory
145
+ documents the divergence with citation.
146
+
147
+ ## Out of scope (vs. the class-based `xrplt` package)
148
+
149
+ - Pseudo-transactions: `EnableAmendment`, `LedgerEntry` (state query)
150
+ - Deprecated: `UNLModify`
151
+ - Future amendments not enabled in v0.7.1: `SetFee` (XRPL hook amendment)
152
+
153
+ If you need these, use the class-based [`xrplt`](https://github.com/Jonathan-Dobson/xrplt) package.
154
+
155
+ ## Development
156
+
157
+ ```bash
158
+ git clone https://github.com/Jonathan-Dobson/xrpjs.git
159
+ cd xrpjs
160
+ npm ci
161
+ npm test # run the 79 test files (2829 tests)
162
+ npm run lint # ESLint 9 flat config + typescript-eslint strict
163
+ npm run build # tsc → dist/
164
+ ```
165
+
166
+ Tests use `vitest`. The factories are pure ESM with TypeScript strict
167
+ mode (`noUncheckedIndexedAccess`, `exactOptionalPropertyTypes`, etc.).
168
+ No runtime dependencies.
169
+
170
+ ## License
171
+
172
+ MIT
173
+
174
+ ## Related projects
175
+
176
+ - [`xrplt`](https://github.com/Jonathan-Dobson/xrplt) — class-based
177
+ transaction builder, full v0.7.1 transaction coverage. `xrpjs` is the
178
+ fp refactor of `xrplt`'s functional subpath (`xrplt/fp`).
179
+ - [xrpl.js](https://github.com/XRPLF/xrpl.js) — the canonical JavaScript
180
+ library; `xrpjs` uses xrpl.js as a devDep for test round-tripping
181
+ (encode/decode).
182
+ - [XRPL Standards](https://github.com/XRPLF/XRPL-Standards) — the
183
+ amendment specs `xrpjs` verifies against.
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Custom error types for the xrplt package.
3
+ *
4
+ * These are standalone — no dependency on xrpl's error hierarchy.
5
+ */
6
+ /**
7
+ * Thrown when a transaction fails runtime validation.
8
+ */
9
+ export declare class ValidationError extends Error {
10
+ readonly name = "ValidationError";
11
+ constructor(message: string);
12
+ }
13
+ /**
14
+ * Thrown when a transaction operation fails (e.g. unknown type in registry).
15
+ */
16
+ export declare class TransactionError extends Error {
17
+ readonly name = "TransactionError";
18
+ constructor(message: string);
19
+ }
20
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,SAAkB,IAAI,qBAAqB;gBAE/B,OAAO,EAAE,MAAM;CAK5B;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAkB,IAAI,sBAAsB;gBAEhC,OAAO,EAAE,MAAM;CAI5B"}
package/dist/errors.js ADDED
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Custom error types for the xrplt package.
3
+ *
4
+ * These are standalone — no dependency on xrpl's error hierarchy.
5
+ */
6
+ /**
7
+ * Thrown when a transaction fails runtime validation.
8
+ */
9
+ export class ValidationError extends Error {
10
+ name = 'ValidationError';
11
+ constructor(message) {
12
+ super(message);
13
+ // Ensure proper prototype chain for instanceof checks
14
+ Object.setPrototypeOf(this, ValidationError.prototype);
15
+ }
16
+ }
17
+ /**
18
+ * Thrown when a transaction operation fails (e.g. unknown type in registry).
19
+ */
20
+ export class TransactionError extends Error {
21
+ name = 'TransactionError';
22
+ constructor(message) {
23
+ super(message);
24
+ Object.setPrototypeOf(this, TransactionError.prototype);
25
+ }
26
+ }
27
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACtB,IAAI,GAAG,iBAAiB,CAAC;IAE3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,sDAAsD;QACtD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACvB,IAAI,GAAG,kBAAkB,CAAC;IAE5C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;CACF"}
@@ -0,0 +1,33 @@
1
+ export interface AccountDeleteProps {
2
+ Account: string;
3
+ /**
4
+ * The address of an account to receive any leftover XRP after deleting
5
+ * the sending account. Must be a funded account in the ledger, and must
6
+ * NOT be the sending account (`temDST_IS_SRC`).
7
+ */
8
+ Destination: string;
9
+ /**
10
+ * Arbitrary destination tag for the recipient. UInt32:
11
+ * 0 ≤ value ≤ 0xFFFFFFFF.
12
+ */
13
+ DestinationTag?: number | undefined;
14
+ /**
15
+ * (Credentials amendment) Optional set of credential IDs authorizing
16
+ * the deletion when the destination requires deposit authorization.
17
+ * When present: array must be non-empty, length ≤ 8, each entry a
18
+ * 64-character hex string, no duplicates.
19
+ */
20
+ CredentialIDs?: string[] | undefined;
21
+ /** Bit-flags for this transaction. AccountDelete has no defined flags. */
22
+ Flags?: number | undefined;
23
+ Fee?: string | undefined;
24
+ Sequence?: number | undefined;
25
+ }
26
+ export interface AccountDelete extends Readonly<AccountDeleteProps> {
27
+ readonly TransactionType: 'AccountDelete';
28
+ validate(): void;
29
+ toJSON(): Record<string, unknown>;
30
+ with(overrides: Partial<AccountDeleteProps>): AccountDelete;
31
+ }
32
+ export declare function accountDelete(props: AccountDeleteProps): AccountDelete;
33
+ //# sourceMappingURL=account-delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-delete.d.ts","sourceRoot":"","sources":["../../../src/fp/factories/account-delete.ts"],"names":[],"mappings":"AAwEA,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACrC,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,aAAc,SAAQ,QAAQ,CAAC,kBAAkB,CAAC;IACjE,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,IAAI,IAAI,CAAC;IACjB,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,aAAa,CAAC;CAC7D;AAID,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,CA8FtE"}
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Functional AccountDelete factory — frozen-object style.
3
+ *
4
+ * Deletes an account and any objects it owns in the XRP Ledger, sending
5
+ * the leftover XRP to a specified destination account. Validation happens
6
+ * at construction; there is no way to construct an invalid tx.
7
+ *
8
+ * import { accountDelete } from 'xrplt/fp';
9
+ * const tx = accountDelete({ Account, Destination });
10
+ * tx.validate(); // throws if construction didn't already
11
+ * const j = tx.toJSON();
12
+ * const tx2 = tx.with({ DestinationTag: 42 });
13
+ *
14
+ * Affected amendments:
15
+ * - `DeletableAccounts` — base AccountDelete.
16
+ * - `Credentials` — introduces the optional `CredentialIDs` field
17
+ * for deposit-authorized deletions.
18
+ * - `Sponsor` — `tecNO_SPONSOR_PERMISSION` runtime guard
19
+ * (not locally checkable).
20
+ *
21
+ * @see https://xrpl.org/docs/references/protocol/transactions/types/accountdelete
22
+ *
23
+ * ## Divergences
24
+ *
25
+ * The class-based API at `src/transactions/account-delete.ts` is missing
26
+ * three rules that the canonical sources require. The factory fills them:
27
+ *
28
+ * 1. `CredentialIDs` is not declared by the class.
29
+ * The class has no `CredentialIDs` field at all, so callers using the
30
+ * class API cannot authorize a deletion with deposit credentials. The
31
+ * factory adds the field with full xrpl.js validation: when present
32
+ * the array must be non-empty, length ≤ `MAX_AUTHORIZED_CREDENTIALS`
33
+ * (8), each entry a 64-char hex string, and contain no duplicates.
34
+ * Source: xrpl.js `packages/xrpl/src/models/transactions/accountDelete.ts`
35
+ * `validateAccountDelete` calls `validateCredentialsList(..., true, 8)`;
36
+ * `packages/xrpl/src/models/transactions/common.ts:28`
37
+ * `MAX_AUTHORIZED_CREDENTIALS = 8`;
38
+ * `validateCredentialsList` (`common.ts:1106`).
39
+ * xrpl-dev-portal `accountdelete.md` Fields table
40
+ * (`CredentialIDs` is listed as a field).
41
+ *
42
+ * 2. `temDST_IS_SRC` is not enforced.
43
+ * The class never compares `Destination` against `Account`, so an
44
+ * AccountDelete that names itself as the destination passes class
45
+ * validation and only fails at the ledger with `temDST_IS_SRC`.
46
+ * Source: xrpl-dev-portal `accountdelete.md` Error Cases table
47
+ * (`temDST_IS_SRC` — "Destination matches the sender").
48
+ *
49
+ * 3. `DestinationTag` UInt32 bounds are not enforced.
50
+ * The class only checks `isNumber`, so non-integer, negative, or
51
+ * out-of-UInt32-range values pass. The spec defines the field as
52
+ * `UInt32` (0 ≤ value ≤ 2^32 − 1).
53
+ * Source: xrpl-dev-portal `accountdelete.md` Fields table
54
+ * (`DestinationTag` Internal Type: `UInt32`).
55
+ */
56
+ import { isAccount, isArray, isHex, isNumber, isString } from '../../validation/helpers.js';
57
+ import { ValidationError } from '../../errors.js';
58
+ import { buildFrozenTx, mergeForWith, require } from '../shape.js';
59
+ // ─── Spec constants ──────────────────────────────────────────────────
60
+ // XRPL UInt32 max (per rippled STUInt32).
61
+ const UINT32_MAX = 0xffffffff;
62
+ // Credential IDs are 64-char hex (HASH256 — same as ledger entry IDs).
63
+ // xrpl.js caps non-DomainSet credential arrays at 8 entries.
64
+ // packages/xrpl/src/models/transactions/common.ts: MAX_AUTHORIZED_CREDENTIALS = 8
65
+ const CREDENTIAL_ID_LENGTH = 64;
66
+ const MAX_CREDENTIAL_IDS = 8;
67
+ // ─── Factory ─────────────────────────────────────────────────────────
68
+ export function accountDelete(props) {
69
+ // ── Account ── required, must be a valid XRPL classic or X-address.
70
+ require(props.Account, 'AccountDelete: Account is required', isAccount);
71
+ // ── Destination ── required, must be a valid XRPL address.
72
+ require(props.Destination, 'AccountDelete: Destination is required', isAccount);
73
+ // ── temDST_IS_SRC ── Destination must not equal the sender.
74
+ // xrpl-dev-portal accountdelete.md Error Cases table.
75
+ if (props.Destination === props.Account) {
76
+ throw new ValidationError('AccountDelete: Destination must not equal Account (temDST_IS_SRC)');
77
+ }
78
+ // ── DestinationTag ── UInt32 (0 ≤ value ≤ 0xFFFFFFFF, integer).
79
+ if (props.DestinationTag !== undefined) {
80
+ if (!isNumber(props.DestinationTag) ||
81
+ !Number.isInteger(props.DestinationTag) ||
82
+ props.DestinationTag < 0 ||
83
+ props.DestinationTag > UINT32_MAX) {
84
+ throw new ValidationError(`AccountDelete: DestinationTag must be an integer in [0, ${UINT32_MAX}]`);
85
+ }
86
+ }
87
+ // ── CredentialIDs ── optional array; bounds + entry-shape + uniqueness
88
+ // enforced when present. Per xrpl.js validateAccountDelete, which calls
89
+ // validateCredentialsList with maxCredentials = MAX_AUTHORIZED_CREDENTIALS = 8.
90
+ if (props.CredentialIDs !== undefined) {
91
+ if (!isArray(props.CredentialIDs)) {
92
+ throw new ValidationError('AccountDelete: CredentialIDs must be an array of credential ID strings');
93
+ }
94
+ if (props.CredentialIDs.length === 0) {
95
+ throw new ValidationError('AccountDelete: CredentialIDs must not be an empty array');
96
+ }
97
+ if (props.CredentialIDs.length > MAX_CREDENTIAL_IDS) {
98
+ throw new ValidationError(`AccountDelete: CredentialIDs length cannot exceed ${MAX_CREDENTIAL_IDS} elements (actual: ${props.CredentialIDs.length})`);
99
+ }
100
+ for (let i = 0; i < props.CredentialIDs.length; i++) {
101
+ const cid = props.CredentialIDs[i];
102
+ if (!isString(cid) ||
103
+ !isHex(cid) ||
104
+ cid.length !== CREDENTIAL_ID_LENGTH) {
105
+ throw new ValidationError(`AccountDelete: CredentialIDs[${i}] must be a ${CREDENTIAL_ID_LENGTH}-character hex string`);
106
+ }
107
+ }
108
+ // xrpl.js validateCredentialsList rejects duplicates; mirror that
109
+ // (xrpl.js common.ts: containsDuplicates check).
110
+ const seen = new Set();
111
+ for (const cid of props.CredentialIDs) {
112
+ if (seen.has(cid)) {
113
+ throw new ValidationError('AccountDelete: CredentialIDs cannot contain duplicate elements');
114
+ }
115
+ seen.add(cid);
116
+ }
117
+ }
118
+ return buildFrozenTx('AccountDelete', props, {
119
+ validate() {
120
+ // Validated at construction.
121
+ },
122
+ toJSON() {
123
+ const json = {};
124
+ for (const k of Object.keys(this)) {
125
+ if (k === 'validate' || k === 'toJSON' || k === 'with')
126
+ continue;
127
+ const v = this[k];
128
+ if (v !== undefined)
129
+ json[k] = v;
130
+ }
131
+ return json;
132
+ },
133
+ with(overrides) {
134
+ return accountDelete(mergeForWith(this, overrides));
135
+ },
136
+ });
137
+ }
138
+ //# sourceMappingURL=account-delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-delete.js","sourceRoot":"","sources":["../../../src/fp/factories/account-delete.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ export interface AccountSetProps {
2
+ Account: string;
3
+ /** Flag to clear on the account. */
4
+ ClearFlag?: number | undefined;
5
+ /** Domain name associated with this account (hex encoded). */
6
+ Domain?: string | undefined;
7
+ /** Email hash (e.g. for Gravatar). */
8
+ EmailHash?: string | undefined;
9
+ /** Message key for encrypted messaging. */
10
+ MessageKey?: string | undefined;
11
+ /** NFT collection fee (0-50,000). */
12
+ NFTokenBrokerFee?: number | undefined;
13
+ /** Flag to enable on the account. */
14
+ SetFlag?: number | undefined;
15
+ /** Transfer rate for issued currencies (drops per billion). */
16
+ TransferRate?: number | undefined;
17
+ /** Tick size for offer matching (3-15 or 0 to disable). */
18
+ TickSize?: number | undefined;
19
+ /** Bit-flags for this transaction. */
20
+ Flags?: number | undefined;
21
+ Fee?: string | undefined;
22
+ Sequence?: number | undefined;
23
+ }
24
+ export interface AccountSet extends Readonly<AccountSetProps> {
25
+ readonly TransactionType: 'AccountSet';
26
+ validate(): void;
27
+ toJSON(): Record<string, unknown>;
28
+ with(overrides: Partial<AccountSetProps>): AccountSet;
29
+ }
30
+ export declare function accountSet(props: AccountSetProps): AccountSet;
31
+ //# sourceMappingURL=account-set.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-set.d.ts","sourceRoot":"","sources":["../../../src/fp/factories/account-set.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,qCAAqC;IACrC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,UACf,SAAQ,QAAQ,CAAC,eAAe,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC;IACvC,QAAQ,IAAI,IAAI,CAAC;IACjB,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC;CACvD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,UAAU,CAmD7D"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Functional AccountSet factory — frozen-object style.
3
+ *
4
+ * Companion prototype to payment.ts. Validates at construction, returns
5
+ * a frozen object with bound validate/toJSON/with methods.
6
+ */
7
+ import { isNumber, isString } from '../../validation/helpers.js';
8
+ import { buildFrozenTx, mergeForWith, require } from '../shape.js';
9
+ export function accountSet(props) {
10
+ // Validate optional fields when present
11
+ if (props.TransferRate !== undefined) {
12
+ require(props.TransferRate, 'AccountSet: TransferRate must be a number', isNumber);
13
+ }
14
+ if (props.TickSize !== undefined) {
15
+ require(props.TickSize, 'AccountSet: TickSize must be a number', isNumber);
16
+ if (props.TickSize !== 0 &&
17
+ (props.TickSize < 3 || props.TickSize > 15)) {
18
+ throw new Error('AccountSet: TickSize must be 3-15 or 0');
19
+ }
20
+ }
21
+ if (props.Domain !== undefined) {
22
+ require(props.Domain, 'AccountSet: Domain must be a string', isString);
23
+ }
24
+ return buildFrozenTx('AccountSet', props, {
25
+ validate() {
26
+ // Validated at construction.
27
+ },
28
+ toJSON() {
29
+ const json = {};
30
+ for (const k of Object.keys(this)) {
31
+ if (k === 'validate' || k === 'toJSON' || k === 'with')
32
+ continue;
33
+ const v = this[k];
34
+ if (v !== undefined)
35
+ json[k] = v;
36
+ }
37
+ return json;
38
+ },
39
+ with(overrides) {
40
+ return accountSet(mergeForWith(this, overrides));
41
+ },
42
+ });
43
+ }
44
+ //# sourceMappingURL=account-set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-set.js","sourceRoot":"","sources":["../../../src/fp/factories/account-set.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAkCnE,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,wCAAwC;IACxC,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,CACL,KAAK,CAAC,YAAY,EAClB,2CAA2C,EAC3C,QAAQ,CACT,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,CACL,KAAK,CAAC,QAAQ,EACd,uCAAuC,EACvC,QAAQ,CACT,CAAC;QACF,IACE,KAAK,CAAC,QAAQ,KAAK,CAAC;YACpB,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,EAC3C,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,CACL,KAAK,CAAC,MAAM,EACZ,qCAAqC,EACrC,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAClB,YAAY,EACZ,KAAK,EACL;QACE,QAAQ;YACN,6BAA6B;QAC/B,CAAC;QACD,MAAM;YACJ,MAAM,IAAI,GAA4B,EAAE,CAAC;YACzC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,MAAM;oBAAE,SAAS;gBACjE,MAAM,CAAC,GAAI,IAA2C,CAAC,CAAC,CAAC,CAAC;gBAC1D,IAAI,CAAC,KAAK,SAAS;oBAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAmB,SAAmC;YACxD,OAAO,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QACnD,CAAC;KACF,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Functional AMMBid factory — frozen-object style.
3
+ *
4
+ * Bids on an Automated Market Maker's (AMM's) auction slot. If the
5
+ * bid wins, the sender can trade against the AMM at a discounted
6
+ * fee for up to 24 hours. Validation happens at construction;
7
+ * there is no way to construct an invalid tx.
8
+ *
9
+ * import { ammBid } from 'xrplt/fp';
10
+ * const tx = ammBid({
11
+ * Account,
12
+ * Asset: { currency: 'XRP' },
13
+ * Asset2: { currency: 'TST', issuer: 'r…' },
14
+ * BidMax: { currency: '039C99…', issuer: 'r…', value: '100' },
15
+ * AuthAccounts: [
16
+ * { AuthAccount: { Account: 'r…' } },
17
+ * ],
18
+ * });
19
+ * const j = tx.toJSON();
20
+ * const tx2 = tx.with({ BidMax: { …, value: '200' } });
21
+ *
22
+ * Affected amendments:
23
+ * - `AMM` (base AMMBid)
24
+ * - `fixCleanup3_4_0` (minimum-bid floor when trading fee is 0;
25
+ * runtime, not locally checkable)
26
+ *
27
+ * @see https://xrpl.org/docs/references/protocol/transactions/types/ammbid
28
+ * @see https://github.com/XRPLF/XRPL-Standards/tree/master/XLS-0030-automated-market-maker
29
+ *
30
+ * ## Divergences
31
+ * The factory enforces seven preclaim checks that the class API
32
+ * (`src/transactions/amm-bid.ts`) skips:
33
+ *
34
+ * 1. `Asset` must be a valid `Currency` (XRP / IOU / MPT), not
35
+ * merely a record. The class API uses `isRecord(this.Asset)`,
36
+ * which accepts any object — including an MPT, an arbitrary
37
+ * object, or an incomplete IOU object.
38
+ * Source: xrpl.js `validateAMMBid` lines 66–72 — throws
39
+ * `'AMMBid: missing field Asset'` (undefined/null) and
40
+ * `'AMMBid: Asset must be a Currency'`.
41
+ * Note: xrpl.js's `validateAMMBid` uses `isIssuedCurrency`
42
+ * (XRP-form OR IOU-form, NOT MPT), which is narrower than
43
+ * the xrpl.org `ammbid.md` Fields table — "the asset can be
44
+ * XRP, a token, or an MPT". The factory uses `isCurrency`
45
+ * (XRP / IOU / MPT) to honor the broader spec.
46
+ *
47
+ * 2. `Asset2` must be a valid `Currency` (XRP / IOU / MPT).
48
+ * Same source as #1, but applied to Asset2 (xrpl.js lines 74–80).
49
+ *
50
+ * 3. `BidMin`, when present, must be an `IssuedCurrencyAmount`.
51
+ * LP tokens are always issued currencies — never XRP and never
52
+ * an MPT — so this guards against malformed bid amounts that
53
+ * would be rejected at submit time as `temBAD_AMM_TOKENS`
54
+ * (xrpl.org `ammbid.md` Error Cases: "The specified `BidMin`
55
+ * or `BidMax` were not specified as the correct LP Tokens for
56
+ * this AMM").
57
+ * Source: xrpl.js `validateAMMBid` lines 82–84 — throws
58
+ * `'AMMBid: BidMin must be an Amount'`. The class API does
59
+ * not validate `BidMin` at all.
60
+ * (Note: xrpl.js uses `isAmount` here, which allows XRP/MPT
61
+ * forms. The factory tightens this to `IssuedCurrencyAmount`
62
+ * to match the LP-token semantics and the typed
63
+ * `AMMBid.BidMin?: IssuedCurrencyAmount` declaration.)
64
+ *
65
+ * 4. `BidMax`, when present, must be an `IssuedCurrencyAmount`.
66
+ * Same rationale as #3, applied to `BidMax` (xrpl.js lines
67
+ * 86–88). The class API does not validate `BidMax`.
68
+ *
69
+ * 5. `AuthAccounts`, when present, must be an array. The class
70
+ * API types it as `Record<string, string>[]` but performs no
71
+ * runtime array check.
72
+ * Source: xrpl.js `validateAMMBid` lines 90–95 — throws
73
+ * `'AMMBid: AuthAccounts must be an AuthAccount array'`.
74
+ *
75
+ * 6. `AuthAccounts.length` must not exceed 4.
76
+ * Source: xrpl.js `validateAMMBid` lines 96–100 — throws
77
+ * `'AMMBid: AuthAccounts length must not be greater than 4'`;
78
+ * xrpl.org `ammbid.md` Fields table — "A list of up to 4
79
+ * additional accounts" — and Error Cases: `temMALFORMED`
80
+ * "such as a list of `AuthAccounts` that is too long".
81
+ *
82
+ * 7. Each element of `AuthAccounts` must have the inner shape
83
+ * `{ AuthAccount: { Account: <string> } }`, AND `AuthAccounts`
84
+ * must NOT include the sender's address.
85
+ * Source: xrpl.js `validateAuthAccounts` lines 105–129 — throws
86
+ * `'AMMBid: invalid AuthAccounts'` for malformed inner records
87
+ * and `'AMMBid: AuthAccounts must not include sender's address'`
88
+ * when the sender is in the list.
89
+ * xrpl.org `ammbid.md` Fields table — "This cannot include the
90
+ * address of the transaction sender." The class API does no
91
+ * inner-shape check and does not check for the sender address.
92
+ */
93
+ import type { Currency, IssuedCurrencyAmount } from '../../types/amounts.js';
94
+ export interface AmmBidProps {
95
+ /** The unique address of the transaction sender (the bidder). */
96
+ Account: string;
97
+ /** One of the two assets in the AMM's pool (XRP / IOU / MPT). */
98
+ Asset: Currency;
99
+ /** The other asset in the AMM's pool (XRP / IOU / MPT). */
100
+ Asset2: Currency;
101
+ /**
102
+ * Pay at least this LP-token amount for the auction slot. Always an
103
+ * `IssuedCurrencyAmount` — LP tokens are issued currencies, never
104
+ * XRP and never an MPT.
105
+ */
106
+ BidMin?: IssuedCurrencyAmount | undefined;
107
+ /**
108
+ * Pay at most this LP-token amount for the auction slot. Always an
109
+ * `IssuedCurrencyAmount` — LP tokens are issued currencies, never
110
+ * XRP and never an MPT.
111
+ */
112
+ BidMax?: IssuedCurrencyAmount | undefined;
113
+ /**
114
+ * Up to 4 additional accounts allowed to trade at the discounted
115
+ * fee. Must NOT include the sender's address.
116
+ */
117
+ AuthAccounts?: ReadonlyArray<{
118
+ readonly AuthAccount: {
119
+ readonly Account: string;
120
+ };
121
+ }> | undefined;
122
+ /** Bit-flags for this transaction. */
123
+ Flags?: number | undefined;
124
+ Fee?: string | undefined;
125
+ Sequence?: number | undefined;
126
+ }
127
+ export interface AmmBid extends Readonly<AmmBidProps> {
128
+ readonly TransactionType: 'AMMBid';
129
+ validate(): void;
130
+ toJSON(): Record<string, unknown>;
131
+ with(overrides: Partial<AmmBidProps>): AmmBid;
132
+ }
133
+ export declare function ammBid(props: AmmBidProps): AmmBid;
134
+ //# sourceMappingURL=amm-bid.d.ts.map