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
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Functional PermissionedDomainSet factory — frozen-object style.
3
+ *
4
+ * Creates or modifies a PermissionedDomain ledger entry. Validation
5
+ * happens at construction; there is no way to construct an invalid tx.
6
+ *
7
+ * import { permissionedDomainSet } from 'xrplt/fp';
8
+ * const tx = permissionedDomainSet({
9
+ * Account,
10
+ * AcceptedCredentials: [
11
+ * { Credential: { Issuer: iss, CredentialType: '6D795F63726564656E7469616C' } },
12
+ * ],
13
+ * });
14
+ * const j = tx.toJSON();
15
+ * const tx2 = tx.with({ DomainID: existingDomainId });
16
+ *
17
+ * Affected amendments:
18
+ * - `PermissionedDomains` — introduces this transaction type.
19
+ * - `Credentials` — required amendment (PermissionedDomainSet
20
+ * transactions are invalid without it).
21
+ *
22
+ * @see https://xrpl.org/docs/references/protocol/transactions/types/permissioneddomainset
23
+ * @see https://github.com/XRPLF/XRPL-Standards/tree/master/XLS-0080-permissioned-domains
24
+ *
25
+ * ## Divergences
26
+ *
27
+ * The class-based API at `src/transactions/permissioned-domain-set.ts`
28
+ * is missing several rules that the canonical sources require, AND
29
+ * exposes one field that is not in the spec at all. The factory
30
+ * corrects both:
31
+ *
32
+ * 1. `AcceptedCredentials` is REQUIRED.
33
+ * The class marks it optional (`AcceptedCredentials?: unknown[]`).
34
+ * XLS-0080 §3.1 (Field table) lists it as required; xrpl.js
35
+ * `validatePermissionedDomainSet` calls `validateRequiredField`.
36
+ * Source: XLS-0080 §3.1 table row for `AcceptedCredentials`;
37
+ * xrpl.js `permissionedDomainSet.ts` lines 40–41.
38
+ *
39
+ * 2. `AcceptedCredentials` must be a NON-EMPTY array.
40
+ * The class only checks the field is an array, so `[]` passes.
41
+ * XLS-0080 §6 invariant 2: "The `AcceptedCredentials` array must
42
+ * have length between 1 and 10, if included." XLS-0080 §3.2
43
+ * failure: "The `AcceptedCredentials` array is empty or too long."
44
+ * Source: XLS-0080 §6 invariant; XLS-0080 §3.2 failure conditions.
45
+ *
46
+ * 3. `AcceptedCredentials` must have at most 10 entries.
47
+ * The class does not check the length. XLS-0080 §3.2 + §6 invariant
48
+ * set the cap at 10. xrpl.js enforces the same cap
49
+ * (`MAX_ACCEPTED_CREDENTIALS = 10`).
50
+ * Source: XLS-0080 §3.2; xrpl.js `permissionedDomainSet.ts:13`.
51
+ *
52
+ * 4. `AcceptedCredentials` cannot contain duplicates.
53
+ * The class has no dedupe check. xrpl.js calls
54
+ * `validateCredentialsList` which calls `containsDuplicates` on
55
+ * `(Issuer, CredentialType)` pairs.
56
+ * Source: xrpl-dev-portal `permissioneddomainset.md` (field
57
+ * table: "it cannot contain duplicates"); xrpl.js
58
+ * `common.ts` `containsDuplicates`.
59
+ *
60
+ * 5. Each entry must be a valid `AuthorizeCredential` object form.
61
+ * The class types the field as `unknown[]` and accepts any array.
62
+ * xrpl.js enforces object form only — strings (credential IDs)
63
+ * are explicitly rejected for this transaction.
64
+ * Source: xrpl.js `permissionedDomainSet.ts:46` (the `false`
65
+ * isStringID argument); xrpl.js `common.ts:1129–1141`.
66
+ *
67
+ * 6. `CredentialType` must be a non-empty hex string.
68
+ * The class has no per-credential validation. XLS-0070 §2.1.3
69
+ * states: "It has a maximum length of 64 bytes, and cannot be an
70
+ * empty string." `CredentialType` is encoded as a Blob (hex) per
71
+ * XLS-0070 §2.1.
72
+ * Source: XLS-0070 §2.1 + §2.1.3; XLS-0080 §3.2 failure
73
+ * "Any credential in `AcceptedCredentials` has an empty
74
+ * `CredentialType`".
75
+ *
76
+ * 7. `CredentialType` must be at most 64 bytes (128 hex chars).
77
+ * The class has no length check. XLS-0080 §3.2 failure: "Any
78
+ * credential in `AcceptedCredentials` has a `CredentialType`
79
+ * longer than 64 bytes (as per XLS-70)." XLS-0070 §2.1.3 sets the
80
+ * 64-byte limit.
81
+ * Source: XLS-0080 §3.2; XLS-0070 §2.1.3.
82
+ *
83
+ * 8. `AcceptedAccounts` is NOT in the spec.
84
+ * The class exposes `AcceptedAccounts?: string[]` as an
85
+ * assignable field, but XLS-0080 §3.1 lists ONLY `DomainID` and
86
+ * `AcceptedCredentials`. The factory omits this field entirely —
87
+ * no spec source mandates or defines its shape.
88
+ * Source: XLS-0080 §3.1 field table; xrpl.js
89
+ * `permissionedDomainSet.ts` (no `AcceptedAccounts`).
90
+ */
91
+ import type { AuthorizeCredential } from '../../types/common.js';
92
+ export interface PermissionedDomainSetProps {
93
+ /** The account creating or modifying the permissioned domain. */
94
+ Account: string;
95
+ /**
96
+ * The ledger entry ID of an existing permissioned domain to modify.
97
+ * If omitted, a new domain is created.
98
+ * 64-character hex string. Must not be the all-zeros HASH256 value.
99
+ */
100
+ DomainID?: string | undefined;
101
+ /**
102
+ * The list of credentials that grant access to this domain.
103
+ * Required; must contain 1–10 unique `AuthorizeCredential` entries.
104
+ */
105
+ AcceptedCredentials: AuthorizeCredential[];
106
+ /** Bit-flags for this transaction. (No flags are defined for this tx.) */
107
+ Flags?: number | undefined;
108
+ Fee?: string | undefined;
109
+ Sequence?: number | undefined;
110
+ }
111
+ export interface PermissionedDomainSet extends Readonly<PermissionedDomainSetProps> {
112
+ readonly TransactionType: 'PermissionedDomainSet';
113
+ validate(): void;
114
+ toJSON(): Record<string, unknown>;
115
+ with(overrides: Partial<PermissionedDomainSetProps>): PermissionedDomainSet;
116
+ }
117
+ export declare function permissionedDomainSet(props: PermissionedDomainSetProps): PermissionedDomainSet;
118
+ //# sourceMappingURL=permissioned-domain-set.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissioned-domain-set.d.ts","sourceRoot":"","sources":["../../../src/fp/factories/permissioned-domain-set.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyFG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAgBjE,MAAM,WAAW,0BAA0B;IACzC,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B;;;OAGG;IACH,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;IAC3C,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,qBACf,SAAQ,QAAQ,CAAC,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,eAAe,EAAE,uBAAuB,CAAC;IAClD,QAAQ,IAAI,IAAI,CAAC;IACjB,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,0BAA0B,CAAC,GAAG,qBAAqB,CAAC;CAC7E;AAoCD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,0BAA0B,GAChC,qBAAqB,CAoGvB"}
@@ -0,0 +1,100 @@
1
+ import { isAuthorizeCredential, isHex, isString } from '../../validation/helpers.js';
2
+ import { ValidationError } from '../../errors.js';
3
+ import { buildFrozenTx, mergeForWith, require } from '../shape.js';
4
+ // ─── Spec constants ──────────────────────────────────────────────────
5
+ // Maximum number of accepted credentials (XLS-0080 §3.2 + §6 invariant 2).
6
+ const MAX_ACCEPTED_CREDENTIALS = 10;
7
+ // HASH256 length in hex characters.
8
+ const DOMAIN_ID_LENGTH = 64;
9
+ // CredentialType is a hex-encoded Blob capped at 64 bytes (XLS-0070 §2.1.3).
10
+ const MAX_CREDENTIAL_TYPE_BYTES = 64;
11
+ // ─── Helpers ─────────────────────────────────────────────────────────
12
+ function validateCredentialType(txType, value) {
13
+ if (!isString(value)) {
14
+ throw new ValidationError(`${txType}: Credential.CredentialType must be a hex string`);
15
+ }
16
+ if (value.length === 0) {
17
+ throw new ValidationError(`${txType}: Credential.CredentialType must not be empty`);
18
+ }
19
+ if (!isHex(value)) {
20
+ throw new ValidationError(`${txType}: Credential.CredentialType must be a hex string`);
21
+ }
22
+ if (value.length % 2 !== 0) {
23
+ throw new ValidationError(`${txType}: Credential.CredentialType must be a hex string with an even number of characters`);
24
+ }
25
+ const bytes = value.length / 2;
26
+ if (bytes > MAX_CREDENTIAL_TYPE_BYTES) {
27
+ throw new ValidationError(`${txType}: Credential.CredentialType exceeds ${MAX_CREDENTIAL_TYPE_BYTES} bytes (actual: ${bytes})`);
28
+ }
29
+ return value;
30
+ }
31
+ // ─── Factory ─────────────────────────────────────────────────────────
32
+ export function permissionedDomainSet(props) {
33
+ // ── Account ── required, must be a non-empty string.
34
+ require(props.Account, 'PermissionedDomainSet: Account is required', isString);
35
+ if (props.Account.length === 0) {
36
+ throw new ValidationError('PermissionedDomainSet: Account is required');
37
+ }
38
+ // ── DomainID ── optional, 64-char hex AND non-zero when present.
39
+ if (props.DomainID !== undefined) {
40
+ if (!isString(props.DomainID) ||
41
+ !isHex(props.DomainID) ||
42
+ props.DomainID.length !== DOMAIN_ID_LENGTH) {
43
+ throw new ValidationError('PermissionedDomainSet: DomainID must be a 64-character hex string');
44
+ }
45
+ // The all-zeros DomainID is malformed per the `isDomainID` helper
46
+ // in xrpl.js (`common.ts:1198–1204`) — although rippled itself
47
+ // currently only checks the format at the transaction boundary,
48
+ // rejecting it here matches the rest of this library's fp factories
49
+ // and avoids silently constructing an obviously-bogus tx.
50
+ if (/^0+$/u.test(props.DomainID)) {
51
+ throw new ValidationError('PermissionedDomainSet: DomainID must not be the all-zeros HASH256 value');
52
+ }
53
+ }
54
+ // ── AcceptedCredentials ── REQUIRED, 1..10 unique AuthorizeCredential entries.
55
+ if (props.AcceptedCredentials === undefined) {
56
+ throw new ValidationError('PermissionedDomainSet: AcceptedCredentials is required');
57
+ }
58
+ if (!Array.isArray(props.AcceptedCredentials)) {
59
+ throw new ValidationError('PermissionedDomainSet: AcceptedCredentials must be an array');
60
+ }
61
+ if (props.AcceptedCredentials.length === 0) {
62
+ throw new ValidationError('PermissionedDomainSet: AcceptedCredentials cannot be an empty array');
63
+ }
64
+ if (props.AcceptedCredentials.length > MAX_ACCEPTED_CREDENTIALS) {
65
+ throw new ValidationError(`PermissionedDomainSet: AcceptedCredentials length cannot exceed ${MAX_ACCEPTED_CREDENTIALS} elements`);
66
+ }
67
+ const seen = new Set();
68
+ props.AcceptedCredentials.forEach((credential, idx) => {
69
+ if (!isAuthorizeCredential(credential)) {
70
+ throw new ValidationError(`PermissionedDomainSet: AcceptedCredentials[${idx}] is not a valid AuthorizeCredential`);
71
+ }
72
+ const credObj = credential.Credential;
73
+ validateCredentialType(`PermissionedDomainSet: AcceptedCredentials[${idx}]`, credObj.CredentialType);
74
+ const key = `${credObj.Issuer}-${credObj.CredentialType}`;
75
+ if (seen.has(key)) {
76
+ throw new ValidationError('PermissionedDomainSet: AcceptedCredentials cannot contain duplicate elements');
77
+ }
78
+ seen.add(key);
79
+ });
80
+ return buildFrozenTx('PermissionedDomainSet', props, {
81
+ validate() {
82
+ // Validated at construction.
83
+ },
84
+ toJSON() {
85
+ const json = {};
86
+ for (const k of Object.keys(this)) {
87
+ if (k === 'validate' || k === 'toJSON' || k === 'with')
88
+ continue;
89
+ const v = this[k];
90
+ if (v !== undefined)
91
+ json[k] = v;
92
+ }
93
+ return json;
94
+ },
95
+ with(overrides) {
96
+ return permissionedDomainSet(mergeForWith(this, overrides));
97
+ },
98
+ });
99
+ }
100
+ //# sourceMappingURL=permissioned-domain-set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissioned-domain-set.js","sourceRoot":"","sources":["../../../src/fp/factories/permissioned-domain-set.ts"],"names":[],"mappings":"AA2FA,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEnE,wEAAwE;AAExE,2EAA2E;AAC3E,MAAM,wBAAwB,GAAG,EAAE,CAAC;AACpC,oCAAoC;AACpC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,6EAA6E;AAC7E,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAgCrC,wEAAwE;AAExE,SAAS,sBAAsB,CAAC,MAAc,EAAE,KAAc;IAC5D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,eAAe,CACvB,GAAG,MAAM,kDAAkD,CAC5D,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,eAAe,CACvB,GAAG,MAAM,+CAA+C,CACzD,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,eAAe,CACvB,GAAG,MAAM,kDAAkD,CAC5D,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,eAAe,CACvB,GAAG,MAAM,oFAAoF,CAC9F,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,GAAG,yBAAyB,EAAE,CAAC;QACtC,MAAM,IAAI,eAAe,CACvB,GAAG,MAAM,uCAAuC,yBAAyB,mBAAmB,KAAK,GAAG,CACrG,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,wEAAwE;AAExE,MAAM,UAAU,qBAAqB,CACnC,KAAiC;IAEjC,sDAAsD;IACtD,OAAO,CACL,KAAK,CAAC,OAAO,EACb,4CAA4C,EAC5C,QAAQ,CACT,CAAC;IACF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,eAAe,CAAC,4CAA4C,CAAC,CAAC;IAC1E,CAAC;IAED,kEAAkE;IAClE,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;YACzB,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;YACtB,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,gBAAgB,EAC1C,CAAC;YACD,MAAM,IAAI,eAAe,CACvB,mEAAmE,CACpE,CAAC;QACJ,CAAC;QACD,kEAAkE;QAClE,+DAA+D;QAC/D,gEAAgE;QAChE,oEAAoE;QACpE,0DAA0D;QAC1D,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,eAAe,CACvB,yEAAyE,CAC1E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,IAAI,eAAe,CACvB,wDAAwD,CACzD,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,eAAe,CACvB,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,eAAe,CACvB,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,GAAG,wBAAwB,EAAE,CAAC;QAChE,MAAM,IAAI,eAAe,CACvB,mEAAmE,wBAAwB,WAAW,CACvG,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE;QACpD,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,eAAe,CACvB,8CAA8C,GAAG,sCAAsC,CACxF,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC;QACtC,sBAAsB,CACpB,8CAA8C,GAAG,GAAG,EACpD,OAAO,CAAC,cAAc,CACvB,CAAC;QACF,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC1D,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,eAAe,CACvB,8EAA8E,CAC/E,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,OAAO,aAAa,CAClB,uBAAuB,EACvB,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,CAEF,SAA8C;YAE9C,OAAO,qBAAqB,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QAC9D,CAAC;KACF,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,30 @@
1
+ export interface SetRegularKeyProps {
2
+ /**
3
+ * The funded account whose regular key is being set/changed/removed.
4
+ * Required, must be a valid XRPL classic or X-address.
5
+ */
6
+ Account: string;
7
+ /**
8
+ * Optional. The address of the new regular key pair. Omit (or pass
9
+ * `undefined`) to remove any existing regular key pair.
10
+ *
11
+ * When present, must be a valid XRPL address AND must NOT equal
12
+ * `Account` — the master key cannot be its own regular key
13
+ * (`temBAD_REGKEY`).
14
+ */
15
+ RegularKey?: string | undefined;
16
+ /** Bit-flags for this transaction. SetRegularKey has no defined flags. */
17
+ Flags?: number | undefined;
18
+ /** Fee in drops. Base transaction field. */
19
+ Fee?: string | undefined;
20
+ /** Account sequence number. Base transaction field. */
21
+ Sequence?: number | undefined;
22
+ }
23
+ export interface SetRegularKey extends Readonly<SetRegularKeyProps> {
24
+ readonly TransactionType: 'SetRegularKey';
25
+ validate(): void;
26
+ toJSON(): Record<string, unknown>;
27
+ with(overrides: Partial<SetRegularKeyProps>): SetRegularKey;
28
+ }
29
+ export declare function setRegularKey(props: SetRegularKeyProps): SetRegularKey;
30
+ //# sourceMappingURL=set-regular-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-regular-key.d.ts","sourceRoot":"","sources":["../../../src/fp/factories/set-regular-key.ts"],"names":[],"mappings":"AA2CA,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,uDAAuD;IACvD,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,CA8CtE"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Functional SetRegularKey factory — frozen-object style.
3
+ *
4
+ * Assigns, changes, or removes the regular key pair associated with the
5
+ * sending account. Validation happens at construction; there is no way
6
+ * to construct an invalid tx.
7
+ *
8
+ * import { setRegularKey } from 'xrplt/fp';
9
+ * const tx = setRegularKey({ Account, RegularKey });
10
+ * tx.validate(); // throws if construction didn't already
11
+ * const j = tx.toJSON();
12
+ * const tx2 = tx.with({ Fee: '12', Sequence: 42 });
13
+ *
14
+ * If `RegularKey` is omitted the tx removes any existing regular key
15
+ * from the account. (Per xrpl.org, "If omitted, removes any existing
16
+ * regular key pair from the account.")
17
+ *
18
+ * @see https://xrpl.org/docs/references/protocol/transactions/types/setregularkey
19
+ *
20
+ * ## Divergences
21
+ *
22
+ * The class-based API at `src/transactions/set-regular-key.ts` is
23
+ * missing one rule that the canonical sources require. The factory
24
+ * fills it:
25
+ *
26
+ * 1. `temBAD_REGKEY` is not enforced.
27
+ * The class never compares `RegularKey` against `Account`, so a
28
+ * `SetRegularKey` whose `RegularKey` equals the sender's address
29
+ * (i.e. assigns the master key as its own regular key) passes
30
+ * class validation and only fails at the ledger with `temBAD_REGKEY`.
31
+ * The factory rejects this at construction.
32
+ * Source: rippled `src/libxrpl/tx/transactors/account/SetRegularKey.cpp`
33
+ * lines 44–47 (`SetRegularKey::preflight` returns `temBAD_REGKEY`
34
+ * when `getAccountID(sfRegularKey) == getAccountID(sfAccount)`).
35
+ * Confirmed by xrpl-dev-portal `setregularkey.md` Fields table:
36
+ * "Must not match the master key pair for the address."
37
+ */
38
+ import { isAccount } from '../../validation/helpers.js';
39
+ import { ValidationError } from '../../errors.js';
40
+ import { buildFrozenTx, mergeForWith, require } from '../shape.js';
41
+ // ─── Factory ─────────────────────────────────────────────────────────
42
+ export function setRegularKey(props) {
43
+ // ── Account ── required, must be a valid XRPL classic or X-address.
44
+ require(props.Account, 'SetRegularKey: Account is required', isAccount);
45
+ // ── RegularKey ── optional.
46
+ // xrpl.js validateSetRegularKey (packages/xrpl/src/models/transactions/
47
+ // setRegularKey.ts) only checks `typeof RegularKey === 'string'` when
48
+ // present. The class uses `isAccount` (format-only regex check). We
49
+ // layer on the rippled `temBAD_REGKEY` guard: RegularKey must not equal
50
+ // the sending Account.
51
+ if (props.RegularKey !== undefined) {
52
+ if (!isAccount(props.RegularKey)) {
53
+ throw new ValidationError('SetRegularKey: RegularKey must be a valid XRPL address');
54
+ }
55
+ // ── temBAD_REGKEY guard ─────────────────────────────────────────
56
+ // rippled SetRegularKey.cpp:44–47
57
+ if (props.RegularKey === props.Account) {
58
+ throw new ValidationError('SetRegularKey: RegularKey must not equal Account (temBAD_REGKEY)');
59
+ }
60
+ }
61
+ return buildFrozenTx('SetRegularKey', props, {
62
+ validate() {
63
+ // Validated at construction.
64
+ },
65
+ toJSON() {
66
+ const json = {};
67
+ for (const k of Object.keys(this)) {
68
+ if (k === 'validate' || k === 'toJSON' || k === 'with')
69
+ continue;
70
+ const v = this[k];
71
+ if (v !== undefined)
72
+ json[k] = v;
73
+ }
74
+ return json;
75
+ },
76
+ with(overrides) {
77
+ return setRegularKey(mergeForWith(this, overrides));
78
+ },
79
+ });
80
+ }
81
+ //# sourceMappingURL=set-regular-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-regular-key.js","sourceRoot":"","sources":["../../../src/fp/factories/set-regular-key.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAkCnE,wEAAwE;AAExE,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,qEAAqE;IACrE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,oCAAoC,EAAE,SAAS,CAAC,CAAC;IAExE,6BAA6B;IAC7B,0EAA0E;IAC1E,wEAAwE;IACxE,sEAAsE;IACtE,0EAA0E;IAC1E,yBAAyB;IACzB,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,eAAe,CACvB,wDAAwD,CACzD,CAAC;QACJ,CAAC;QACD,mEAAmE;QACnE,kCAAkC;QAClC,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,IAAI,eAAe,CACvB,kEAAkE,CACnE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAClB,eAAe,EACf,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,CAAsB,SAAsC;YAC9D,OAAO,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QACtD,CAAC;KACF,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * One entry in the `SignerEntries` array.
3
+ *
4
+ * The shape is a nested `SignerEntry` object — exactly the on-ledger
5
+ * serialization required by ripple-binary-codec. `WalletLocator` is
6
+ * optional and only meaningful after the `ExpandedSignerList`
7
+ * amendment.
8
+ *
9
+ * @see https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/signerlist#signer-entry-object
10
+ */
11
+ export interface SignerEntryData {
12
+ /** An XRPL classic or X-address whose signature contributes to the multi-signature. */
13
+ readonly SignerEntry: {
14
+ readonly Account: string;
15
+ /**
16
+ * Weight of a signature from this signer. Must be a positive
17
+ * integer (`>= 1`). rippled raises `temBAD_WEIGHT` on 0 or
18
+ * negative values.
19
+ */
20
+ readonly SignerWeight: number;
21
+ /**
22
+ * Optional 256-bit (32-byte) hex identifier (post-ExpandedSignerList).
23
+ * When present, must be exactly 64 hex characters.
24
+ */
25
+ readonly WalletLocator?: string;
26
+ };
27
+ }
28
+ export interface SignerListSetProps {
29
+ /** The unique address of the transaction sender. */
30
+ Account: string;
31
+ /**
32
+ * Target number of signer weights. A multi-signature from the list
33
+ * is valid only if the sum of the signature weights is `>=` this
34
+ * value. **To delete the signer list, set to `0` AND omit
35
+ * `SignerEntries`.** Otherwise, `1 <= SignerQuorum <=
36
+ * sum(SignerWeights)`.
37
+ */
38
+ SignerQuorum: number;
39
+ /**
40
+ * The list of signers. Required when `SignerQuorum > 0`; must be
41
+ * omitted entirely when `SignerQuorum === 0`. Each entry's `Account`
42
+ * must be a valid XRPL address, `SignerWeight` a positive integer,
43
+ * `WalletLocator` (when present) a 64-char hex string. Signer
44
+ * accounts must be unique and must not equal `Account`.
45
+ */
46
+ SignerEntries?: SignerEntryData[] | undefined;
47
+ /** Bit-flags for this transaction. SignerListSet has no defined flags. */
48
+ Flags?: number | undefined;
49
+ /** Fee in drops. */
50
+ Fee?: string | undefined;
51
+ /** Account sequence number. */
52
+ Sequence?: number | undefined;
53
+ }
54
+ export interface SignerListSet extends Readonly<SignerListSetProps> {
55
+ readonly TransactionType: 'SignerListSet';
56
+ validate(): void;
57
+ toJSON(): Record<string, unknown>;
58
+ with(overrides: Partial<SignerListSetProps>): SignerListSet;
59
+ }
60
+ export declare function signerListSet(props: SignerListSetProps): SignerListSet;
61
+ //# sourceMappingURL=signer-list-set.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer-list-set.d.ts","sourceRoot":"","sources":["../../../src/fp/factories/signer-list-set.ts"],"names":[],"mappings":"AAwIA;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC9B,uFAAuF;IACvF,QAAQ,CAAC,WAAW,EAAE;QACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB;;;;WAIG;QACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B;;;WAGG;QACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;IAC9C,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,aACf,SAAQ,QAAQ,CAAC,kBAAkB,CAAC;IACpC,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,CAwKtE"}