xrp-tx 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 (229) hide show
  1. package/dist/errors.d.ts +20 -0
  2. package/dist/errors.d.ts.map +1 -0
  3. package/dist/errors.js +27 -0
  4. package/dist/errors.js.map +1 -0
  5. package/dist/groups/account.d.ts +15 -0
  6. package/dist/groups/account.d.ts.map +1 -0
  7. package/dist/groups/account.js +17 -0
  8. package/dist/groups/account.js.map +1 -0
  9. package/dist/groups/amm.d.ts +7 -0
  10. package/dist/groups/amm.d.ts.map +1 -0
  11. package/dist/groups/amm.js +7 -0
  12. package/dist/groups/amm.js.map +1 -0
  13. package/dist/groups/credential.d.ts +7 -0
  14. package/dist/groups/credential.d.ts.map +1 -0
  15. package/dist/groups/credential.js +7 -0
  16. package/dist/groups/credential.js.map +1 -0
  17. package/dist/groups/loan.d.ts +7 -0
  18. package/dist/groups/loan.d.ts.map +1 -0
  19. package/dist/groups/loan.js +7 -0
  20. package/dist/groups/loan.js.map +1 -0
  21. package/dist/groups/offer.d.ts +9 -0
  22. package/dist/groups/offer.d.ts.map +1 -0
  23. package/dist/groups/offer.js +9 -0
  24. package/dist/groups/offer.js.map +1 -0
  25. package/dist/groups/oracle.d.ts +7 -0
  26. package/dist/groups/oracle.d.ts.map +1 -0
  27. package/dist/groups/oracle.js +7 -0
  28. package/dist/groups/oracle.js.map +1 -0
  29. package/dist/groups/payment.d.ts +27 -0
  30. package/dist/groups/payment.d.ts.map +1 -0
  31. package/dist/groups/payment.js +23 -0
  32. package/dist/groups/payment.js.map +1 -0
  33. package/dist/groups/permissioned-domain.d.ts +7 -0
  34. package/dist/groups/permissioned-domain.d.ts.map +1 -0
  35. package/dist/groups/permissioned-domain.js +7 -0
  36. package/dist/groups/permissioned-domain.js.map +1 -0
  37. package/dist/groups/token.d.ts +15 -0
  38. package/dist/groups/token.d.ts.map +1 -0
  39. package/dist/groups/token.js +10 -0
  40. package/dist/groups/token.js.map +1 -0
  41. package/dist/groups/vault.d.ts +7 -0
  42. package/dist/groups/vault.d.ts.map +1 -0
  43. package/dist/groups/vault.js +7 -0
  44. package/dist/groups/vault.js.map +1 -0
  45. package/dist/groups/xchain.d.ts +7 -0
  46. package/dist/groups/xchain.d.ts.map +1 -0
  47. package/dist/groups/xchain.js +7 -0
  48. package/dist/groups/xchain.js.map +1 -0
  49. package/dist/index.d.ts +86 -0
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +63 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/registry.d.ts +17 -0
  54. package/dist/registry.d.ts.map +1 -0
  55. package/dist/registry.js +95 -0
  56. package/dist/registry.js.map +1 -0
  57. package/dist/transaction.d.ts +179 -0
  58. package/dist/transaction.d.ts.map +1 -0
  59. package/dist/transaction.js +205 -0
  60. package/dist/transaction.js.map +1 -0
  61. package/dist/transactions/account-delete.d.ts +20 -0
  62. package/dist/transactions/account-delete.d.ts.map +1 -0
  63. package/dist/transactions/account-delete.js +24 -0
  64. package/dist/transactions/account-delete.js.map +1 -0
  65. package/dist/transactions/account-set.d.ts +34 -0
  66. package/dist/transactions/account-set.d.ts.map +1 -0
  67. package/dist/transactions/account-set.js +59 -0
  68. package/dist/transactions/account-set.js.map +1 -0
  69. package/dist/transactions/check-cancel.d.ts +16 -0
  70. package/dist/transactions/check-cancel.d.ts.map +1 -0
  71. package/dist/transactions/check-cancel.js +18 -0
  72. package/dist/transactions/check-cancel.js.map +1 -0
  73. package/dist/transactions/check-cash.d.ts +21 -0
  74. package/dist/transactions/check-cash.d.ts.map +1 -0
  75. package/dist/transactions/check-cash.js +29 -0
  76. package/dist/transactions/check-cash.js.map +1 -0
  77. package/dist/transactions/check-create.d.ts +27 -0
  78. package/dist/transactions/check-create.d.ts.map +1 -0
  79. package/dist/transactions/check-create.js +35 -0
  80. package/dist/transactions/check-create.js.map +1 -0
  81. package/dist/transactions/clawback.d.ts +20 -0
  82. package/dist/transactions/clawback.d.ts.map +1 -0
  83. package/dist/transactions/clawback.js +20 -0
  84. package/dist/transactions/clawback.js.map +1 -0
  85. package/dist/transactions/delegate-set.d.ts +18 -0
  86. package/dist/transactions/delegate-set.d.ts.map +1 -0
  87. package/dist/transactions/delegate-set.js +22 -0
  88. package/dist/transactions/delegate-set.js.map +1 -0
  89. package/dist/transactions/deposit-preauth.d.ts +18 -0
  90. package/dist/transactions/deposit-preauth.d.ts.map +1 -0
  91. package/dist/transactions/deposit-preauth.js +26 -0
  92. package/dist/transactions/deposit-preauth.js.map +1 -0
  93. package/dist/transactions/did-delete.d.ts +13 -0
  94. package/dist/transactions/did-delete.d.ts.map +1 -0
  95. package/dist/transactions/did-delete.js +9 -0
  96. package/dist/transactions/did-delete.js.map +1 -0
  97. package/dist/transactions/did-set.d.ts +20 -0
  98. package/dist/transactions/did-set.d.ts.map +1 -0
  99. package/dist/transactions/did-set.js +24 -0
  100. package/dist/transactions/did-set.js.map +1 -0
  101. package/dist/transactions/escrow-cancel.d.ts +18 -0
  102. package/dist/transactions/escrow-cancel.d.ts.map +1 -0
  103. package/dist/transactions/escrow-cancel.js +22 -0
  104. package/dist/transactions/escrow-cancel.js.map +1 -0
  105. package/dist/transactions/escrow-create.d.ts +29 -0
  106. package/dist/transactions/escrow-create.d.ts.map +1 -0
  107. package/dist/transactions/escrow-create.js +40 -0
  108. package/dist/transactions/escrow-create.js.map +1 -0
  109. package/dist/transactions/escrow-finish.d.ts +22 -0
  110. package/dist/transactions/escrow-finish.d.ts.map +1 -0
  111. package/dist/transactions/escrow-finish.js +29 -0
  112. package/dist/transactions/escrow-finish.js.map +1 -0
  113. package/dist/transactions/mptoken-authorize.d.ts +22 -0
  114. package/dist/transactions/mptoken-authorize.d.ts.map +1 -0
  115. package/dist/transactions/mptoken-authorize.js +24 -0
  116. package/dist/transactions/mptoken-authorize.js.map +1 -0
  117. package/dist/transactions/mptoken-issuance-create.d.ts +23 -0
  118. package/dist/transactions/mptoken-issuance-create.d.ts.map +1 -0
  119. package/dist/transactions/mptoken-issuance-create.js +29 -0
  120. package/dist/transactions/mptoken-issuance-create.js.map +1 -0
  121. package/dist/transactions/mptoken-issuance-destroy.d.ts +17 -0
  122. package/dist/transactions/mptoken-issuance-destroy.d.ts.map +1 -0
  123. package/dist/transactions/mptoken-issuance-destroy.js +19 -0
  124. package/dist/transactions/mptoken-issuance-destroy.js.map +1 -0
  125. package/dist/transactions/mptoken-issuance-set.d.ts +19 -0
  126. package/dist/transactions/mptoken-issuance-set.d.ts.map +1 -0
  127. package/dist/transactions/mptoken-issuance-set.js +24 -0
  128. package/dist/transactions/mptoken-issuance-set.js.map +1 -0
  129. package/dist/transactions/nftoken-accept-offer.d.ts +22 -0
  130. package/dist/transactions/nftoken-accept-offer.d.ts.map +1 -0
  131. package/dist/transactions/nftoken-accept-offer.js +28 -0
  132. package/dist/transactions/nftoken-accept-offer.js.map +1 -0
  133. package/dist/transactions/nftoken-burn.d.ts +19 -0
  134. package/dist/transactions/nftoken-burn.d.ts.map +1 -0
  135. package/dist/transactions/nftoken-burn.js +24 -0
  136. package/dist/transactions/nftoken-burn.js.map +1 -0
  137. package/dist/transactions/nftoken-cancel-offer.d.ts +17 -0
  138. package/dist/transactions/nftoken-cancel-offer.d.ts.map +1 -0
  139. package/dist/transactions/nftoken-cancel-offer.js +21 -0
  140. package/dist/transactions/nftoken-cancel-offer.js.map +1 -0
  141. package/dist/transactions/nftoken-create-offer.d.ts +29 -0
  142. package/dist/transactions/nftoken-create-offer.d.ts.map +1 -0
  143. package/dist/transactions/nftoken-create-offer.js +34 -0
  144. package/dist/transactions/nftoken-create-offer.js.map +1 -0
  145. package/dist/transactions/nftoken-mint.d.ts +26 -0
  146. package/dist/transactions/nftoken-mint.d.ts.map +1 -0
  147. package/dist/transactions/nftoken-mint.js +34 -0
  148. package/dist/transactions/nftoken-mint.js.map +1 -0
  149. package/dist/transactions/nftoken-modify.d.ts +21 -0
  150. package/dist/transactions/nftoken-modify.d.ts.map +1 -0
  151. package/dist/transactions/nftoken-modify.js +27 -0
  152. package/dist/transactions/nftoken-modify.js.map +1 -0
  153. package/dist/transactions/offer-cancel.d.ts +16 -0
  154. package/dist/transactions/offer-cancel.d.ts.map +1 -0
  155. package/dist/transactions/offer-cancel.js +19 -0
  156. package/dist/transactions/offer-cancel.js.map +1 -0
  157. package/dist/transactions/offer-create.d.ts +29 -0
  158. package/dist/transactions/offer-create.d.ts.map +1 -0
  159. package/dist/transactions/offer-create.js +47 -0
  160. package/dist/transactions/offer-create.js.map +1 -0
  161. package/dist/transactions/payment-channel-claim.d.ts +28 -0
  162. package/dist/transactions/payment-channel-claim.d.ts.map +1 -0
  163. package/dist/transactions/payment-channel-claim.js +31 -0
  164. package/dist/transactions/payment-channel-claim.js.map +1 -0
  165. package/dist/transactions/payment-channel-create.d.ts +29 -0
  166. package/dist/transactions/payment-channel-create.d.ts.map +1 -0
  167. package/dist/transactions/payment-channel-create.js +40 -0
  168. package/dist/transactions/payment-channel-create.js.map +1 -0
  169. package/dist/transactions/payment-channel-fund.d.ts +21 -0
  170. package/dist/transactions/payment-channel-fund.d.ts.map +1 -0
  171. package/dist/transactions/payment-channel-fund.js +26 -0
  172. package/dist/transactions/payment-channel-fund.js.map +1 -0
  173. package/dist/transactions/payment.d.ts +42 -0
  174. package/dist/transactions/payment.d.ts.map +1 -0
  175. package/dist/transactions/payment.js +66 -0
  176. package/dist/transactions/payment.js.map +1 -0
  177. package/dist/transactions/set-regular-key.d.ts +16 -0
  178. package/dist/transactions/set-regular-key.d.ts.map +1 -0
  179. package/dist/transactions/set-regular-key.js +19 -0
  180. package/dist/transactions/set-regular-key.js.map +1 -0
  181. package/dist/transactions/signer-list-set.d.ts +19 -0
  182. package/dist/transactions/signer-list-set.d.ts.map +1 -0
  183. package/dist/transactions/signer-list-set.js +35 -0
  184. package/dist/transactions/signer-list-set.js.map +1 -0
  185. package/dist/transactions/ticket-create.d.ts +16 -0
  186. package/dist/transactions/ticket-create.d.ts.map +1 -0
  187. package/dist/transactions/ticket-create.js +18 -0
  188. package/dist/transactions/ticket-create.js.map +1 -0
  189. package/dist/transactions/trust-set.d.ts +25 -0
  190. package/dist/transactions/trust-set.d.ts.map +1 -0
  191. package/dist/transactions/trust-set.js +29 -0
  192. package/dist/transactions/trust-set.js.map +1 -0
  193. package/dist/types/amounts.d.ts +49 -0
  194. package/dist/types/amounts.d.ts.map +1 -0
  195. package/dist/types/amounts.js +8 -0
  196. package/dist/types/amounts.js.map +1 -0
  197. package/dist/types/base.d.ts +96 -0
  198. package/dist/types/base.d.ts.map +1 -0
  199. package/dist/types/base.js +2 -0
  200. package/dist/types/base.js.map +1 -0
  201. package/dist/types/common.d.ts +81 -0
  202. package/dist/types/common.d.ts.map +1 -0
  203. package/dist/types/common.js +5 -0
  204. package/dist/types/common.js.map +1 -0
  205. package/dist/types/flags.d.ts +180 -0
  206. package/dist/types/flags.d.ts.map +1 -0
  207. package/dist/types/flags.js +132 -0
  208. package/dist/types/flags.js.map +1 -0
  209. package/dist/types/index.d.ts +10 -0
  210. package/dist/types/index.d.ts.map +1 -0
  211. package/dist/types/index.js +2 -0
  212. package/dist/types/index.js.map +1 -0
  213. package/dist/types/transaction-types.d.ts +7 -0
  214. package/dist/types/transaction-types.d.ts.map +1 -0
  215. package/dist/types/transaction-types.js +2 -0
  216. package/dist/types/transaction-types.js.map +1 -0
  217. package/dist/validation/base.d.ts +8 -0
  218. package/dist/validation/base.d.ts.map +1 -0
  219. package/dist/validation/base.js +79 -0
  220. package/dist/validation/base.js.map +1 -0
  221. package/dist/validation/helpers.d.ts +42 -0
  222. package/dist/validation/helpers.d.ts.map +1 -0
  223. package/dist/validation/helpers.js +154 -0
  224. package/dist/validation/helpers.js.map +1 -0
  225. package/dist/validation/index.d.ts +3 -0
  226. package/dist/validation/index.d.ts.map +1 -0
  227. package/dist/validation/index.js +3 -0
  228. package/dist/validation/index.js.map +1 -0
  229. package/package.json +54 -0
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Flag enums and interfaces for all XRPL transaction types.
3
+ *
4
+ * Each transaction type that supports flags gets:
5
+ * 1. A numeric enum for bitwise flag values
6
+ * 2. A boolean-map interface for developer-friendly usage
7
+ */
8
+ // ─── Global ──────────────────────────────────────────────────────────
9
+ export var GlobalFlags;
10
+ (function (GlobalFlags) {
11
+ GlobalFlags[GlobalFlags["tfInnerBatchTxn"] = 1073741824] = "tfInnerBatchTxn";
12
+ })(GlobalFlags || (GlobalFlags = {}));
13
+ // ─── Payment ─────────────────────────────────────────────────────────
14
+ export var PaymentFlags;
15
+ (function (PaymentFlags) {
16
+ PaymentFlags[PaymentFlags["tfNoRippleDirect"] = 65536] = "tfNoRippleDirect";
17
+ PaymentFlags[PaymentFlags["tfPartialPayment"] = 131072] = "tfPartialPayment";
18
+ PaymentFlags[PaymentFlags["tfLimitQuality"] = 262144] = "tfLimitQuality";
19
+ })(PaymentFlags || (PaymentFlags = {}));
20
+ // ─── AccountSet ──────────────────────────────────────────────────────
21
+ export var AccountSetAsfFlags;
22
+ (function (AccountSetAsfFlags) {
23
+ AccountSetAsfFlags[AccountSetAsfFlags["asfRequireDest"] = 1] = "asfRequireDest";
24
+ AccountSetAsfFlags[AccountSetAsfFlags["asfRequireAuth"] = 2] = "asfRequireAuth";
25
+ AccountSetAsfFlags[AccountSetAsfFlags["asfDisallowXRP"] = 3] = "asfDisallowXRP";
26
+ AccountSetAsfFlags[AccountSetAsfFlags["asfDisableMaster"] = 4] = "asfDisableMaster";
27
+ AccountSetAsfFlags[AccountSetAsfFlags["asfAccountTxnID"] = 5] = "asfAccountTxnID";
28
+ AccountSetAsfFlags[AccountSetAsfFlags["asfNoFreeze"] = 6] = "asfNoFreeze";
29
+ AccountSetAsfFlags[AccountSetAsfFlags["asfGlobalFreeze"] = 7] = "asfGlobalFreeze";
30
+ AccountSetAsfFlags[AccountSetAsfFlags["asfDefaultRipple"] = 8] = "asfDefaultRipple";
31
+ AccountSetAsfFlags[AccountSetAsfFlags["asfDepositAuth"] = 9] = "asfDepositAuth";
32
+ AccountSetAsfFlags[AccountSetAsfFlags["asfAuthorizedNFTokenMinter"] = 10] = "asfAuthorizedNFTokenMinter";
33
+ AccountSetAsfFlags[AccountSetAsfFlags["asfDisallowIncomingNFTokenOffer"] = 12] = "asfDisallowIncomingNFTokenOffer";
34
+ AccountSetAsfFlags[AccountSetAsfFlags["asfDisallowIncomingCheck"] = 13] = "asfDisallowIncomingCheck";
35
+ AccountSetAsfFlags[AccountSetAsfFlags["asfDisallowIncomingPayChan"] = 14] = "asfDisallowIncomingPayChan";
36
+ AccountSetAsfFlags[AccountSetAsfFlags["asfDisallowIncomingTrustline"] = 15] = "asfDisallowIncomingTrustline";
37
+ AccountSetAsfFlags[AccountSetAsfFlags["asfAllowTrustLineClawback"] = 16] = "asfAllowTrustLineClawback";
38
+ AccountSetAsfFlags[AccountSetAsfFlags["asfAllowTrustLineLocking"] = 17] = "asfAllowTrustLineLocking";
39
+ })(AccountSetAsfFlags || (AccountSetAsfFlags = {}));
40
+ export var AccountSetTfFlags;
41
+ (function (AccountSetTfFlags) {
42
+ AccountSetTfFlags[AccountSetTfFlags["tfRequireDestTag"] = 65536] = "tfRequireDestTag";
43
+ AccountSetTfFlags[AccountSetTfFlags["tfOptionalDestTag"] = 131072] = "tfOptionalDestTag";
44
+ AccountSetTfFlags[AccountSetTfFlags["tfRequireAuth"] = 262144] = "tfRequireAuth";
45
+ AccountSetTfFlags[AccountSetTfFlags["tfOptionalAuth"] = 524288] = "tfOptionalAuth";
46
+ AccountSetTfFlags[AccountSetTfFlags["tfDisallowXRP"] = 1048576] = "tfDisallowXRP";
47
+ AccountSetTfFlags[AccountSetTfFlags["tfAllowXRP"] = 2097152] = "tfAllowXRP";
48
+ })(AccountSetTfFlags || (AccountSetTfFlags = {}));
49
+ // ─── TrustSet ────────────────────────────────────────────────────────
50
+ export var TrustSetFlags;
51
+ (function (TrustSetFlags) {
52
+ TrustSetFlags[TrustSetFlags["tfSetfAuth"] = 65536] = "tfSetfAuth";
53
+ TrustSetFlags[TrustSetFlags["tfSetNoRipple"] = 131072] = "tfSetNoRipple";
54
+ TrustSetFlags[TrustSetFlags["tfClearNoRipple"] = 262144] = "tfClearNoRipple";
55
+ TrustSetFlags[TrustSetFlags["tfSetFreeze"] = 1048576] = "tfSetFreeze";
56
+ TrustSetFlags[TrustSetFlags["tfClearFreeze"] = 2097152] = "tfClearFreeze";
57
+ TrustSetFlags[TrustSetFlags["tfSetDeepFreeze"] = 4194304] = "tfSetDeepFreeze";
58
+ TrustSetFlags[TrustSetFlags["tfClearDeepFreeze"] = 8388608] = "tfClearDeepFreeze";
59
+ })(TrustSetFlags || (TrustSetFlags = {}));
60
+ // ─── OfferCreate ─────────────────────────────────────────────────────
61
+ export var OfferCreateFlags;
62
+ (function (OfferCreateFlags) {
63
+ OfferCreateFlags[OfferCreateFlags["tfPassive"] = 65536] = "tfPassive";
64
+ OfferCreateFlags[OfferCreateFlags["tfImmediateOrCancel"] = 131072] = "tfImmediateOrCancel";
65
+ OfferCreateFlags[OfferCreateFlags["tfFillOrKill"] = 262144] = "tfFillOrKill";
66
+ OfferCreateFlags[OfferCreateFlags["tfSell"] = 524288] = "tfSell";
67
+ OfferCreateFlags[OfferCreateFlags["tfHybrid"] = 1048576] = "tfHybrid";
68
+ })(OfferCreateFlags || (OfferCreateFlags = {}));
69
+ // ─── NFTokenMint ─────────────────────────────────────────────────────
70
+ export var NFTokenMintFlags;
71
+ (function (NFTokenMintFlags) {
72
+ NFTokenMintFlags[NFTokenMintFlags["tfBurnable"] = 1] = "tfBurnable";
73
+ NFTokenMintFlags[NFTokenMintFlags["tfOnlyXRP"] = 2] = "tfOnlyXRP";
74
+ NFTokenMintFlags[NFTokenMintFlags["tfTrustLine"] = 4] = "tfTrustLine";
75
+ NFTokenMintFlags[NFTokenMintFlags["tfTransferable"] = 8] = "tfTransferable";
76
+ })(NFTokenMintFlags || (NFTokenMintFlags = {}));
77
+ // ─── NFTokenCreateOffer ──────────────────────────────────────────────
78
+ export var NFTokenCreateOfferFlags;
79
+ (function (NFTokenCreateOfferFlags) {
80
+ NFTokenCreateOfferFlags[NFTokenCreateOfferFlags["tfSellNFToken"] = 1] = "tfSellNFToken";
81
+ })(NFTokenCreateOfferFlags || (NFTokenCreateOfferFlags = {}));
82
+ // ─── PaymentChannelClaim ─────────────────────────────────────────────
83
+ export var PaymentChannelClaimFlags;
84
+ (function (PaymentChannelClaimFlags) {
85
+ PaymentChannelClaimFlags[PaymentChannelClaimFlags["tfRenew"] = 65536] = "tfRenew";
86
+ PaymentChannelClaimFlags[PaymentChannelClaimFlags["tfClose"] = 131072] = "tfClose";
87
+ })(PaymentChannelClaimFlags || (PaymentChannelClaimFlags = {}));
88
+ // ─── AMMDeposit ──────────────────────────────────────────────────────
89
+ export var AMMDepositFlags;
90
+ (function (AMMDepositFlags) {
91
+ AMMDepositFlags[AMMDepositFlags["tfLPToken"] = 65536] = "tfLPToken";
92
+ AMMDepositFlags[AMMDepositFlags["tfSingleAsset"] = 524288] = "tfSingleAsset";
93
+ AMMDepositFlags[AMMDepositFlags["tfTwoAsset"] = 1048576] = "tfTwoAsset";
94
+ AMMDepositFlags[AMMDepositFlags["tfOneAssetLPToken"] = 2097152] = "tfOneAssetLPToken";
95
+ AMMDepositFlags[AMMDepositFlags["tfLimitLPToken"] = 4194304] = "tfLimitLPToken";
96
+ AMMDepositFlags[AMMDepositFlags["tfTwoAssetIfEmpty"] = 8388608] = "tfTwoAssetIfEmpty";
97
+ })(AMMDepositFlags || (AMMDepositFlags = {}));
98
+ // ─── AMMWithdraw ─────────────────────────────────────────────────────
99
+ export var AMMWithdrawFlags;
100
+ (function (AMMWithdrawFlags) {
101
+ AMMWithdrawFlags[AMMWithdrawFlags["tfLPToken"] = 65536] = "tfLPToken";
102
+ AMMWithdrawFlags[AMMWithdrawFlags["tfWithdrawAll"] = 131072] = "tfWithdrawAll";
103
+ AMMWithdrawFlags[AMMWithdrawFlags["tfOneAssetWithdrawAll"] = 262144] = "tfOneAssetWithdrawAll";
104
+ AMMWithdrawFlags[AMMWithdrawFlags["tfSingleAsset"] = 524288] = "tfSingleAsset";
105
+ AMMWithdrawFlags[AMMWithdrawFlags["tfTwoAsset"] = 1048576] = "tfTwoAsset";
106
+ AMMWithdrawFlags[AMMWithdrawFlags["tfOneAssetLPToken"] = 2097152] = "tfOneAssetLPToken";
107
+ AMMWithdrawFlags[AMMWithdrawFlags["tfLimitLPToken"] = 4194304] = "tfLimitLPToken";
108
+ })(AMMWithdrawFlags || (AMMWithdrawFlags = {}));
109
+ // ─── MPTokenAuthorize ────────────────────────────────────────────────
110
+ export var MPTokenAuthorizeFlags;
111
+ (function (MPTokenAuthorizeFlags) {
112
+ MPTokenAuthorizeFlags[MPTokenAuthorizeFlags["tfMPTUnauthorize"] = 1] = "tfMPTUnauthorize";
113
+ })(MPTokenAuthorizeFlags || (MPTokenAuthorizeFlags = {}));
114
+ // ─── Clawback ────────────────────────────────────────────────────────
115
+ export var ClawbackFlags;
116
+ (function (ClawbackFlags) {
117
+ ClawbackFlags[ClawbackFlags["tfClawTwoAssets"] = 1] = "tfClawTwoAssets";
118
+ })(ClawbackFlags || (ClawbackFlags = {}));
119
+ // ─── XChainModifyBridge ──────────────────────────────────────────────
120
+ export var XChainModifyBridgeFlags;
121
+ (function (XChainModifyBridgeFlags) {
122
+ XChainModifyBridgeFlags[XChainModifyBridgeFlags["tfClearAccountCreateAmount"] = 65536] = "tfClearAccountCreateAmount";
123
+ })(XChainModifyBridgeFlags || (XChainModifyBridgeFlags = {}));
124
+ // ─── Batch ───────────────────────────────────────────────────────────
125
+ export var BatchFlags;
126
+ (function (BatchFlags) {
127
+ BatchFlags[BatchFlags["tfAllOrNothing"] = 1] = "tfAllOrNothing";
128
+ BatchFlags[BatchFlags["tfOnlyOne"] = 2] = "tfOnlyOne";
129
+ BatchFlags[BatchFlags["tfUntilFailure"] = 4] = "tfUntilFailure";
130
+ BatchFlags[BatchFlags["tfIndependent"] = 8] = "tfIndependent";
131
+ })(BatchFlags || (BatchFlags = {}));
132
+ //# sourceMappingURL=flags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flags.js","sourceRoot":"","sources":["../../src/types/flags.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Type barrel — re-exports all type definitions.
3
+ */
4
+ export type { Amount, IssuedCurrencyAmount, MPTAmount, ClawbackAmount, IssuedCurrency, Currency, } from './amounts.js';
5
+ export type { Memo, Signer, PathStep, Path, XChainBridge, AuthorizeCredential, SignerEntry, OracleDataSeries, } from './common.js';
6
+ export type { BaseTransactionFields, PreparedTransactionFields, SignedTransactionFields, } from './base.js';
7
+ export type { TransactionType } from './transaction-types.js';
8
+ export { GlobalFlags, PaymentFlags, AccountSetAsfFlags, AccountSetTfFlags, TrustSetFlags, OfferCreateFlags, NFTokenMintFlags, NFTokenCreateOfferFlags, PaymentChannelClaimFlags, AMMDepositFlags, AMMWithdrawFlags, MPTokenAuthorizeFlags, ClawbackFlags, XChainModifyBridgeFlags, BatchFlags, } from './flags.js';
9
+ export type { GlobalFlagsInterface, PaymentFlagsInterface, AccountSetFlagsInterface, TrustSetFlagsInterface, OfferCreateFlagsInterface, NFTokenMintFlagsInterface, NFTokenCreateOfferFlagsInterface, PaymentChannelClaimFlagsInterface, AMMDepositFlagsInterface, AMMWithdrawFlagsInterface, MPTokenAuthorizeFlagsInterface, ClawbackFlagsInterface, XChainModifyBridgeFlagsInterface, BatchFlagsInterface, } from './flags.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,YAAY,EACV,MAAM,EACN,oBAAoB,EACpB,SAAS,EACT,cAAc,EACd,cAAc,EACd,QAAQ,GACT,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,WAAW,CAAC;AAEnB,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EACL,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,EACxB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,uBAAuB,EACvB,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,gCAAgC,EAChC,iCAAiC,EACjC,wBAAwB,EACxB,yBAAyB,EACzB,8BAA8B,EAC9B,sBAAsB,EACtB,gCAAgC,EAChC,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { GlobalFlags, PaymentFlags, AccountSetAsfFlags, AccountSetTfFlags, TrustSetFlags, OfferCreateFlags, NFTokenMintFlags, NFTokenCreateOfferFlags, PaymentChannelClaimFlags, AMMDepositFlags, AMMWithdrawFlags, MPTokenAuthorizeFlags, ClawbackFlags, XChainModifyBridgeFlags, BatchFlags, } from './flags.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AA+BA,OAAO,EACL,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,EACxB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,uBAAuB,EACvB,UAAU,GACX,MAAM,YAAY,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * All XRPL transaction type strings as a discriminated union.
3
+ *
4
+ * This is the single source of truth for valid TransactionType values.
5
+ */
6
+ export type TransactionType = 'AccountDelete' | 'AccountSet' | 'SetRegularKey' | 'SignerListSet' | 'DelegateSet' | 'DepositPreauth' | 'TicketCreate' | 'Clawback' | 'Payment' | 'CheckCreate' | 'CheckCash' | 'CheckCancel' | 'EscrowCreate' | 'EscrowFinish' | 'EscrowCancel' | 'PaymentChannelCreate' | 'PaymentChannelFund' | 'PaymentChannelClaim' | 'OfferCreate' | 'OfferCancel' | 'TrustSet' | 'NFTokenMint' | 'NFTokenBurn' | 'NFTokenCreateOffer' | 'NFTokenCancelOffer' | 'NFTokenAcceptOffer' | 'NFTokenModify' | 'MPTokenAuthorize' | 'MPTokenIssuanceCreate' | 'MPTokenIssuanceDestroy' | 'MPTokenIssuanceSet' | 'AMMCreate' | 'AMMDeposit' | 'AMMWithdraw' | 'AMMVote' | 'AMMBid' | 'AMMClawback' | 'AMMDelete' | 'XChainCreateBridge' | 'XChainModifyBridge' | 'XChainCommit' | 'XChainClaim' | 'XChainAccountCreateCommit' | 'XChainCreateClaimID' | 'XChainAddClaimAttestation' | 'XChainAddAccountCreateAttestation' | 'VaultCreate' | 'VaultDeposit' | 'VaultWithdraw' | 'VaultSet' | 'VaultDelete' | 'VaultClawback' | 'LoanSet' | 'LoanDelete' | 'LoanManage' | 'LoanPay' | 'LoanBrokerSet' | 'LoanBrokerDelete' | 'LoanBrokerCoverClawback' | 'LoanBrokerCoverDeposit' | 'LoanBrokerCoverWithdraw' | 'CredentialCreate' | 'CredentialAccept' | 'CredentialDelete' | 'OracleSet' | 'OracleDelete' | 'DIDSet' | 'DIDDelete' | 'PermissionedDomainSet' | 'PermissionedDomainDelete' | 'Batch';
7
+ //# sourceMappingURL=transaction-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-types.d.ts","sourceRoot":"","sources":["../../src/types/transaction-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAEvB,eAAe,GACf,YAAY,GACZ,eAAe,GACf,eAAe,GACf,aAAa,GACb,gBAAgB,GAChB,cAAc,GACd,UAAU,GAGV,SAAS,GACT,aAAa,GACb,WAAW,GACX,aAAa,GACb,cAAc,GACd,cAAc,GACd,cAAc,GACd,sBAAsB,GACtB,oBAAoB,GACpB,qBAAqB,GAGrB,aAAa,GACb,aAAa,GAGb,UAAU,GAGV,aAAa,GACb,aAAa,GACb,oBAAoB,GACpB,oBAAoB,GACpB,oBAAoB,GACpB,eAAe,GAGf,kBAAkB,GAClB,uBAAuB,GACvB,wBAAwB,GACxB,oBAAoB,GAGpB,WAAW,GACX,YAAY,GACZ,aAAa,GACb,SAAS,GACT,QAAQ,GACR,aAAa,GACb,WAAW,GAGX,oBAAoB,GACpB,oBAAoB,GACpB,cAAc,GACd,aAAa,GACb,2BAA2B,GAC3B,qBAAqB,GACrB,2BAA2B,GAC3B,mCAAmC,GAGnC,aAAa,GACb,cAAc,GACd,eAAe,GACf,UAAU,GACV,aAAa,GACb,eAAe,GAGf,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,eAAe,GACf,kBAAkB,GAClB,yBAAyB,GACzB,wBAAwB,GACxB,yBAAyB,GAGzB,kBAAkB,GAClB,kBAAkB,GAClB,kBAAkB,GAGlB,WAAW,GACX,cAAc,GAGd,QAAQ,GACR,WAAW,GAGX,uBAAuB,GACvB,0BAA0B,GAG1B,OAAO,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=transaction-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-types.js","sourceRoot":"","sources":["../../src/types/transaction-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Validate the common fields of a transaction object.
3
+ *
4
+ * @param tx - A record to validate as a base transaction.
5
+ * @throws ValidationError when required fields are missing or invalid.
6
+ */
7
+ export declare function validateBaseTransaction(tx: Record<string, unknown>): void;
8
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/validation/base.ts"],"names":[],"mappings":"AAgBA;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAkFzE"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Base transaction validation.
3
+ *
4
+ * Validates the common fields present on every XRPL transaction.
5
+ */
6
+ import { ValidationError } from '../errors.js';
7
+ import { isRecord, isString, isNumber, isArray, isAccount, isMemo, isSigner, } from './helpers.js';
8
+ /**
9
+ * Validate the common fields of a transaction object.
10
+ *
11
+ * @param tx - A record to validate as a base transaction.
12
+ * @throws ValidationError when required fields are missing or invalid.
13
+ */
14
+ export function validateBaseTransaction(tx) {
15
+ if (!isRecord(tx)) {
16
+ throw new ValidationError('Transaction: expected a valid object');
17
+ }
18
+ if (tx['TransactionType'] === undefined) {
19
+ throw new ValidationError('Transaction: missing field TransactionType');
20
+ }
21
+ if (!isString(tx['TransactionType'])) {
22
+ throw new ValidationError('Transaction: TransactionType must be a string');
23
+ }
24
+ if (tx['Account'] === undefined) {
25
+ throw new ValidationError('Transaction: missing field Account');
26
+ }
27
+ if (!isString(tx['Account'])) {
28
+ throw new ValidationError('Transaction: Account must be a string');
29
+ }
30
+ // Optional field validations
31
+ if (tx['Fee'] !== undefined && !isString(tx['Fee'])) {
32
+ throw new ValidationError('Transaction: Fee must be a string');
33
+ }
34
+ if (tx['Sequence'] !== undefined && !isNumber(tx['Sequence'])) {
35
+ throw new ValidationError('Transaction: Sequence must be a number');
36
+ }
37
+ if (tx['AccountTxnID'] !== undefined && !isString(tx['AccountTxnID'])) {
38
+ throw new ValidationError('Transaction: AccountTxnID must be a string');
39
+ }
40
+ if (tx['LastLedgerSequence'] !== undefined && !isNumber(tx['LastLedgerSequence'])) {
41
+ throw new ValidationError('Transaction: LastLedgerSequence must be a number');
42
+ }
43
+ if (tx['Memos'] !== undefined) {
44
+ const memos = tx['Memos'];
45
+ if (!isArray(memos) || !memos.every(isMemo)) {
46
+ throw new ValidationError('Transaction: invalid Memos');
47
+ }
48
+ }
49
+ if (tx['Signers'] !== undefined) {
50
+ const signers = tx['Signers'];
51
+ if (!isArray(signers) || signers.length === 0 || !signers.every(isSigner)) {
52
+ throw new ValidationError('Transaction: invalid Signers');
53
+ }
54
+ }
55
+ if (tx['SourceTag'] !== undefined && !isNumber(tx['SourceTag'])) {
56
+ throw new ValidationError('Transaction: SourceTag must be a number');
57
+ }
58
+ if (tx['SigningPubKey'] !== undefined && !isString(tx['SigningPubKey'])) {
59
+ throw new ValidationError('Transaction: SigningPubKey must be a string');
60
+ }
61
+ if (tx['TicketSequence'] !== undefined && !isNumber(tx['TicketSequence'])) {
62
+ throw new ValidationError('Transaction: TicketSequence must be a number');
63
+ }
64
+ if (tx['TxnSignature'] !== undefined && !isString(tx['TxnSignature'])) {
65
+ throw new ValidationError('Transaction: TxnSignature must be a string');
66
+ }
67
+ if (tx['NetworkID'] !== undefined && !isNumber(tx['NetworkID'])) {
68
+ throw new ValidationError('Transaction: NetworkID must be a number');
69
+ }
70
+ if (tx['Delegate'] !== undefined) {
71
+ if (!isAccount(tx['Delegate'])) {
72
+ throw new ValidationError('Transaction: invalid Delegate');
73
+ }
74
+ if (tx['Delegate'] === tx['Account']) {
75
+ throw new ValidationError('Transaction: Account and Delegate addresses cannot be the same');
76
+ }
77
+ }
78
+ }
79
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/validation/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Zero-dependency runtime validation helpers.
3
+ *
4
+ * These replace the validators from xrpl.js that depend on
5
+ * ripple-address-codec and ripple-binary-codec.
6
+ */
7
+ import type { Amount, IssuedCurrencyAmount, MPTAmount, Currency, IssuedCurrency, ClawbackAmount } from '../types/amounts.js';
8
+ import type { Memo, Signer, Path, XChainBridge, AuthorizeCredential } from '../types/common.js';
9
+ export declare function isRecord(value: unknown): value is Record<string, unknown>;
10
+ export declare function isString(value: unknown): value is string;
11
+ export declare function isNumber(value: unknown): value is number;
12
+ export declare function isArray<T = unknown>(value: unknown): value is T[];
13
+ export declare function isHex(value: string): boolean;
14
+ /**
15
+ * Check if a string looks like a valid XRPL classic or X-address.
16
+ * This is a format-only check (no base58 checksum verification).
17
+ */
18
+ export declare function isAccount(value: unknown): value is string;
19
+ export declare function isIssuedCurrencyAmount(value: unknown): value is IssuedCurrencyAmount;
20
+ export declare function isMPTAmount(value: unknown): value is MPTAmount;
21
+ export declare function isAmount(value: unknown): value is Amount;
22
+ export declare function isClawbackAmount(value: unknown): value is ClawbackAmount;
23
+ export declare function isIssuedCurrency(value: unknown): value is IssuedCurrency;
24
+ export declare function isCurrency(value: unknown): value is Currency;
25
+ export declare function isMemo(value: unknown): value is Memo;
26
+ export declare function isSigner(value: unknown): value is Signer;
27
+ export declare function isPathStep(value: unknown): value is {
28
+ account?: string;
29
+ currency?: string;
30
+ issuer?: string;
31
+ };
32
+ export declare function isPath(value: unknown): value is Path;
33
+ export declare function isPaths(value: unknown): value is Path[];
34
+ export declare function isXChainBridge(value: unknown): value is XChainBridge;
35
+ export declare function isAuthorizeCredential(value: unknown): value is AuthorizeCredential;
36
+ export declare function isDomainID(value: unknown): value is string;
37
+ export declare function isLedgerEntryId(value: unknown): value is string;
38
+ /**
39
+ * Check if a specific bit flag is enabled in a numeric flags value.
40
+ */
41
+ export declare function isFlagEnabled(flags: number, flag: number): boolean;
42
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/validation/helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EACV,MAAM,EACN,oBAAoB,EACpB,SAAS,EACT,QAAQ,EACR,cAAc,EACd,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAIhG,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED,wBAAgB,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,CAAC,EAAE,CAEjE;AAMD,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE5C;AAUD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAKzD;AAID,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,oBAAoB,CAQ/B;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAO9D;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAQxE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAO5D;AAID,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAepD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAUxD;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,OAAO,GACb,KAAK,IAAI;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAWnE;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAGpD;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,EAAE,CAGvD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CASpE;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,mBAAmB,CAU9B;AAMD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE1D;AAMD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAI/D;AAID;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAElE"}
@@ -0,0 +1,154 @@
1
+ // ─── Primitives ──────────────────────────────────────────────────────
2
+ export function isRecord(value) {
3
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
4
+ }
5
+ export function isString(value) {
6
+ return typeof value === 'string';
7
+ }
8
+ export function isNumber(value) {
9
+ return typeof value === 'number';
10
+ }
11
+ export function isArray(value) {
12
+ return value != null && Array.isArray(value);
13
+ }
14
+ // ─── Hex ─────────────────────────────────────────────────────────────
15
+ const HEX_REGEX = /^[0-9A-Fa-f]+$/u;
16
+ export function isHex(value) {
17
+ return HEX_REGEX.test(value);
18
+ }
19
+ // ─── Account address ─────────────────────────────────────────────────
20
+ // Lightweight check — validates format without full base58 checksum.
21
+ // For a zero-dependency package this is the pragmatic trade-off.
22
+ // Full address validation can be done via the xrpl integration layer.
23
+ const CLASSIC_ADDRESS_REGEX = /^r[1-9A-HJ-NP-Za-km-z]{24,34}$/u;
24
+ const X_ADDRESS_REGEX = /^X[1-9A-HJ-NP-Za-km-z]{46}$/u;
25
+ /**
26
+ * Check if a string looks like a valid XRPL classic or X-address.
27
+ * This is a format-only check (no base58 checksum verification).
28
+ */
29
+ export function isAccount(value) {
30
+ return (isString(value) &&
31
+ (CLASSIC_ADDRESS_REGEX.test(value) || X_ADDRESS_REGEX.test(value)));
32
+ }
33
+ // ─── Amount types ────────────────────────────────────────────────────
34
+ export function isIssuedCurrencyAmount(value) {
35
+ return (isRecord(value) &&
36
+ Object.keys(value).length === 3 &&
37
+ isString(value['currency']) &&
38
+ isString(value['issuer']) &&
39
+ isString(value['value']));
40
+ }
41
+ export function isMPTAmount(value) {
42
+ return (isRecord(value) &&
43
+ Object.keys(value).length === 2 &&
44
+ isString(value['mpt_issuance_id']) &&
45
+ isString(value['value']));
46
+ }
47
+ export function isAmount(value) {
48
+ return isString(value) || isIssuedCurrencyAmount(value) || isMPTAmount(value);
49
+ }
50
+ export function isClawbackAmount(value) {
51
+ return isIssuedCurrencyAmount(value) || isMPTAmount(value);
52
+ }
53
+ export function isIssuedCurrency(value) {
54
+ return (isRecord(value) &&
55
+ ((Object.keys(value).length === 2 &&
56
+ isString(value['currency']) &&
57
+ isString(value['issuer'])) ||
58
+ (Object.keys(value).length === 1 && value['currency'] === 'XRP')));
59
+ }
60
+ export function isCurrency(value) {
61
+ return (isRecord(value) &&
62
+ (isIssuedCurrency(value) ||
63
+ (Object.keys(value).length === 1 && value['currency'] === 'XRP') ||
64
+ (Object.keys(value).length === 1 && isString(value['mpt_issuance_id']))));
65
+ }
66
+ // ─── Supporting types ────────────────────────────────────────────────
67
+ export function isMemo(value) {
68
+ if (!isRecord(value))
69
+ return false;
70
+ const memo = value['Memo'];
71
+ if (!isRecord(memo))
72
+ return false;
73
+ const keys = Object.keys(memo);
74
+ if (keys.length < 1 || keys.length > 3)
75
+ return false;
76
+ const validKeys = ['MemoData', 'MemoType', 'MemoFormat'];
77
+ if (!keys.every((k) => validKeys.includes(k)))
78
+ return false;
79
+ if (memo['MemoData'] != null && !(isString(memo['MemoData']) && isHex(memo['MemoData'])))
80
+ return false;
81
+ if (memo['MemoType'] != null && !(isString(memo['MemoType']) && isHex(memo['MemoType'])))
82
+ return false;
83
+ if (memo['MemoFormat'] != null && !(isString(memo['MemoFormat']) && isHex(memo['MemoFormat'])))
84
+ return false;
85
+ return true;
86
+ }
87
+ export function isSigner(value) {
88
+ if (!isRecord(value))
89
+ return false;
90
+ const signer = value['Signer'];
91
+ if (!isRecord(signer))
92
+ return false;
93
+ return (Object.keys(signer).length === 3 &&
94
+ isString(signer['Account']) &&
95
+ isString(signer['TxnSignature']) &&
96
+ isString(signer['SigningPubKey']));
97
+ }
98
+ export function isPathStep(value) {
99
+ if (!isRecord(value))
100
+ return false;
101
+ if (value['account'] !== undefined && !isString(value['account']))
102
+ return false;
103
+ if (value['currency'] !== undefined && !isString(value['currency']))
104
+ return false;
105
+ if (value['issuer'] !== undefined && !isString(value['issuer']))
106
+ return false;
107
+ // At least one field must be present
108
+ return (value['account'] !== undefined ||
109
+ value['currency'] !== undefined ||
110
+ value['issuer'] !== undefined);
111
+ }
112
+ export function isPath(value) {
113
+ if (!isArray(value) || value.length === 0)
114
+ return false;
115
+ return value.every(isPathStep);
116
+ }
117
+ export function isPaths(value) {
118
+ if (!isArray(value) || value.length === 0)
119
+ return false;
120
+ return value.every(isPath);
121
+ }
122
+ export function isXChainBridge(value) {
123
+ return (isRecord(value) &&
124
+ Object.keys(value).length === 4 &&
125
+ isString(value['LockingChainDoor']) &&
126
+ isIssuedCurrency(value['LockingChainIssue']) &&
127
+ isString(value['IssuingChainDoor']) &&
128
+ isIssuedCurrency(value['IssuingChainIssue']));
129
+ }
130
+ export function isAuthorizeCredential(value) {
131
+ return (isRecord(value) &&
132
+ isRecord(value['Credential']) &&
133
+ Object.keys(value).length === 1 &&
134
+ isString(value['Credential']['Issuer']) &&
135
+ isString(value['Credential']['CredentialType']));
136
+ }
137
+ // ─── Domain ID ───────────────────────────────────────────────────────
138
+ const DOMAIN_ID_LENGTH = 64;
139
+ export function isDomainID(value) {
140
+ return isString(value) && value.length === DOMAIN_ID_LENGTH && isHex(value);
141
+ }
142
+ // ─── Ledger entry ID ─────────────────────────────────────────────────
143
+ const LEDGER_ENTRY_ID_LENGTH = 64;
144
+ export function isLedgerEntryId(value) {
145
+ return (isString(value) && isHex(value) && value.length === LEDGER_ENTRY_ID_LENGTH);
146
+ }
147
+ // ─── Flag helpers ────────────────────────────────────────────────────
148
+ /**
149
+ * Check if a specific bit flag is enabled in a numeric flags value.
150
+ */
151
+ export function isFlagEnabled(flags, flag) {
152
+ return (flags & flag) === flag;
153
+ }
154
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/validation/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { validateBaseTransaction } from './base.js';
2
+ export { isRecord, isString, isNumber, isArray, isHex, isAccount, isAmount, isIssuedCurrencyAmount, isMPTAmount, isClawbackAmount, isIssuedCurrency, isCurrency, isMemo, isSigner, isPathStep, isPath, isPaths, isXChainBridge, isAuthorizeCredential, isDomainID, isLedgerEntryId, isFlagEnabled, } from './helpers.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,KAAK,EACL,SAAS,EACT,QAAQ,EACR,sBAAsB,EACtB,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,MAAM,EACN,QAAQ,EACR,UAAU,EACV,MAAM,EACN,OAAO,EACP,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,eAAe,EACf,aAAa,GACd,MAAM,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { validateBaseTransaction } from './base.js';
2
+ export { isRecord, isString, isNumber, isArray, isHex, isAccount, isAmount, isIssuedCurrencyAmount, isMPTAmount, isClawbackAmount, isIssuedCurrency, isCurrency, isMemo, isSigner, isPathStep, isPath, isPaths, isXChainBridge, isAuthorizeCredential, isDomainID, isLedgerEntryId, isFlagEnabled, } from './helpers.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,KAAK,EACL,SAAS,EACT,QAAQ,EACR,sBAAsB,EACtB,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,MAAM,EACN,QAAQ,EACR,UAAU,EACV,MAAM,EACN,OAAO,EACP,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,eAAe,EACf,aAAa,GACd,MAAM,cAAc,CAAC"}
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "xrp-tx",
3
+ "version": "0.1.0",
4
+ "description": "A standalone, zero-dependency transaction builder for the XRP Ledger",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist",
16
+ "README.md",
17
+ "LICENSE"
18
+ ],
19
+ "scripts": {
20
+ "build": "tsc",
21
+ "test": "node --experimental-vm-modules node_modules/.bin/vitest run",
22
+ "test:watch": "node --experimental-vm-modules node_modules/.bin/vitest",
23
+ "clean": "rm -rf dist",
24
+ "prepublishOnly": "npm run clean && npm run build"
25
+ },
26
+ "keywords": [
27
+ "xrp",
28
+ "xrpl",
29
+ "transaction",
30
+ "builder",
31
+ "ripple",
32
+ "ledger",
33
+ "blockchain",
34
+ "crypto"
35
+ ],
36
+ "author": "Jonathan Dobson",
37
+ "license": "MIT",
38
+ "devDependencies": {
39
+ "typescript": "^6.0.3",
40
+ "vitest": "^3.2.1"
41
+ },
42
+ "engines": {
43
+ "node": ">=20.0.0"
44
+ },
45
+ "repository": {
46
+ "type": "git",
47
+ "url": "git+https://github.com/Jonathan-Dobson/xrp-tx.git"
48
+ },
49
+ "bugs": {
50
+ "url": "https://github.com/Jonathan-Dobson/xrp-tx/issues"
51
+ },
52
+ "homepage": "https://github.com/Jonathan-Dobson/xrp-tx#readme"
53
+
54
+ }