xrp-tx 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +101 -0
  3. package/dist/transaction.d.ts.map +1 -1
  4. package/dist/transaction.js +20 -2
  5. package/dist/transaction.js.map +1 -1
  6. package/dist/transactions/account-delete.d.ts +7 -3
  7. package/dist/transactions/account-delete.d.ts.map +1 -1
  8. package/dist/transactions/account-delete.js +10 -8
  9. package/dist/transactions/account-delete.js.map +1 -1
  10. package/dist/transactions/account-set.d.ts +16 -6
  11. package/dist/transactions/account-set.d.ts.map +1 -1
  12. package/dist/transactions/account-set.js +23 -41
  13. package/dist/transactions/account-set.js.map +1 -1
  14. package/dist/transactions/amm-bid.d.ts +14 -22
  15. package/dist/transactions/amm-bid.d.ts.map +1 -1
  16. package/dist/transactions/amm-bid.js +12 -27
  17. package/dist/transactions/amm-bid.js.map +1 -1
  18. package/dist/transactions/amm-create.d.ts +10 -2
  19. package/dist/transactions/amm-create.d.ts.map +1 -1
  20. package/dist/transactions/amm-create.js +11 -9
  21. package/dist/transactions/amm-create.js.map +1 -1
  22. package/dist/transactions/amm-delete.d.ts +7 -17
  23. package/dist/transactions/amm-delete.d.ts.map +1 -1
  24. package/dist/transactions/amm-delete.js +7 -6
  25. package/dist/transactions/amm-delete.js.map +1 -1
  26. package/dist/transactions/amm-deposit.d.ts +10 -23
  27. package/dist/transactions/amm-deposit.d.ts.map +1 -1
  28. package/dist/transactions/amm-deposit.js +12 -20
  29. package/dist/transactions/amm-deposit.js.map +1 -1
  30. package/dist/transactions/amm-vote.d.ts +8 -17
  31. package/dist/transactions/amm-vote.d.ts.map +1 -1
  32. package/dist/transactions/amm-vote.js +11 -12
  33. package/dist/transactions/amm-vote.js.map +1 -1
  34. package/dist/transactions/amm-withdraw.d.ts +10 -23
  35. package/dist/transactions/amm-withdraw.d.ts.map +1 -1
  36. package/dist/transactions/amm-withdraw.js +12 -20
  37. package/dist/transactions/amm-withdraw.js.map +1 -1
  38. package/dist/transactions/batch.d.ts +7 -10
  39. package/dist/transactions/batch.d.ts.map +1 -1
  40. package/dist/transactions/batch.js +7 -8
  41. package/dist/transactions/batch.js.map +1 -1
  42. package/dist/transactions/check-cancel.d.ts +5 -1
  43. package/dist/transactions/check-cancel.d.ts.map +1 -1
  44. package/dist/transactions/check-cancel.js +3 -2
  45. package/dist/transactions/check-cancel.js.map +1 -1
  46. package/dist/transactions/check-cash.d.ts +7 -1
  47. package/dist/transactions/check-cash.d.ts.map +1 -1
  48. package/dist/transactions/check-cash.js +11 -12
  49. package/dist/transactions/check-cash.js.map +1 -1
  50. package/dist/transactions/check-create.d.ts +12 -5
  51. package/dist/transactions/check-create.d.ts.map +1 -1
  52. package/dist/transactions/check-create.js +12 -15
  53. package/dist/transactions/check-create.js.map +1 -1
  54. package/dist/transactions/clawback.d.ts +11 -9
  55. package/dist/transactions/clawback.d.ts.map +1 -1
  56. package/dist/transactions/clawback.js +11 -8
  57. package/dist/transactions/clawback.js.map +1 -1
  58. package/dist/transactions/credential-accept.d.ts +5 -3
  59. package/dist/transactions/credential-accept.d.ts.map +1 -1
  60. package/dist/transactions/credential-accept.js +6 -6
  61. package/dist/transactions/credential-accept.js.map +1 -1
  62. package/dist/transactions/credential-create.d.ts +12 -3
  63. package/dist/transactions/credential-create.d.ts.map +1 -1
  64. package/dist/transactions/credential-create.js +13 -10
  65. package/dist/transactions/credential-create.js.map +1 -1
  66. package/dist/transactions/credential-delete.d.ts +10 -7
  67. package/dist/transactions/credential-delete.d.ts.map +1 -1
  68. package/dist/transactions/credential-delete.js +12 -12
  69. package/dist/transactions/credential-delete.js.map +1 -1
  70. package/dist/transactions/delegate-set.d.ts +7 -7
  71. package/dist/transactions/delegate-set.d.ts.map +1 -1
  72. package/dist/transactions/delegate-set.js +7 -10
  73. package/dist/transactions/delegate-set.js.map +1 -1
  74. package/dist/transactions/deposit-preauth.d.ts +5 -1
  75. package/dist/transactions/deposit-preauth.d.ts.map +1 -1
  76. package/dist/transactions/deposit-preauth.js +13 -9
  77. package/dist/transactions/deposit-preauth.js.map +1 -1
  78. package/dist/transactions/did-delete.d.ts +2 -1
  79. package/dist/transactions/did-delete.d.ts.map +1 -1
  80. package/dist/transactions/did-delete.js +3 -0
  81. package/dist/transactions/did-delete.js.map +1 -1
  82. package/dist/transactions/did-set.d.ts +6 -1
  83. package/dist/transactions/did-set.d.ts.map +1 -1
  84. package/dist/transactions/did-set.js +6 -10
  85. package/dist/transactions/did-set.js.map +1 -1
  86. package/dist/transactions/escrow-cancel.d.ts +7 -1
  87. package/dist/transactions/escrow-cancel.d.ts.map +1 -1
  88. package/dist/transactions/escrow-cancel.js +6 -4
  89. package/dist/transactions/escrow-cancel.js.map +1 -1
  90. package/dist/transactions/escrow-create.d.ts +16 -6
  91. package/dist/transactions/escrow-create.d.ts.map +1 -1
  92. package/dist/transactions/escrow-create.js +17 -19
  93. package/dist/transactions/escrow-create.js.map +1 -1
  94. package/dist/transactions/escrow-finish.d.ts +11 -3
  95. package/dist/transactions/escrow-finish.d.ts.map +1 -1
  96. package/dist/transactions/escrow-finish.js +10 -12
  97. package/dist/transactions/escrow-finish.js.map +1 -1
  98. package/dist/transactions/loan-broker-cover-clawback.d.ts +7 -8
  99. package/dist/transactions/loan-broker-cover-clawback.d.ts.map +1 -1
  100. package/dist/transactions/loan-broker-cover-clawback.js +7 -12
  101. package/dist/transactions/loan-broker-cover-clawback.js.map +1 -1
  102. package/dist/transactions/loan-broker-cover-deposit.d.ts +5 -6
  103. package/dist/transactions/loan-broker-cover-deposit.d.ts.map +1 -1
  104. package/dist/transactions/loan-broker-cover-deposit.js +5 -9
  105. package/dist/transactions/loan-broker-cover-deposit.js.map +1 -1
  106. package/dist/transactions/loan-broker-cover-withdraw.d.ts +5 -6
  107. package/dist/transactions/loan-broker-cover-withdraw.d.ts.map +1 -1
  108. package/dist/transactions/loan-broker-cover-withdraw.js +5 -9
  109. package/dist/transactions/loan-broker-cover-withdraw.js.map +1 -1
  110. package/dist/transactions/loan-broker-delete.d.ts +4 -3
  111. package/dist/transactions/loan-broker-delete.d.ts.map +1 -1
  112. package/dist/transactions/loan-broker-delete.js +5 -2
  113. package/dist/transactions/loan-broker-delete.js.map +1 -1
  114. package/dist/transactions/loan-broker-set.d.ts +3 -5
  115. package/dist/transactions/loan-broker-set.d.ts.map +1 -1
  116. package/dist/transactions/loan-broker-set.js +2 -8
  117. package/dist/transactions/loan-broker-set.js.map +1 -1
  118. package/dist/transactions/loan-delete.d.ts +6 -5
  119. package/dist/transactions/loan-delete.d.ts.map +1 -1
  120. package/dist/transactions/loan-delete.js +7 -6
  121. package/dist/transactions/loan-delete.js.map +1 -1
  122. package/dist/transactions/loan-manage.d.ts +6 -7
  123. package/dist/transactions/loan-manage.d.ts.map +1 -1
  124. package/dist/transactions/loan-manage.js +7 -10
  125. package/dist/transactions/loan-manage.js.map +1 -1
  126. package/dist/transactions/loan-pay.d.ts +5 -6
  127. package/dist/transactions/loan-pay.d.ts.map +1 -1
  128. package/dist/transactions/loan-pay.js +4 -8
  129. package/dist/transactions/loan-pay.js.map +1 -1
  130. package/dist/transactions/loan-set.d.ts +10 -7
  131. package/dist/transactions/loan-set.d.ts.map +1 -1
  132. package/dist/transactions/loan-set.js +10 -16
  133. package/dist/transactions/loan-set.js.map +1 -1
  134. package/dist/transactions/mptoken-authorize.d.ts +8 -1
  135. package/dist/transactions/mptoken-authorize.d.ts.map +1 -1
  136. package/dist/transactions/mptoken-authorize.js +4 -2
  137. package/dist/transactions/mptoken-authorize.js.map +1 -1
  138. package/dist/transactions/mptoken-issuance-create.d.ts +7 -1
  139. package/dist/transactions/mptoken-issuance-create.d.ts.map +1 -1
  140. package/dist/transactions/mptoken-issuance-create.js +4 -4
  141. package/dist/transactions/mptoken-issuance-create.js.map +1 -1
  142. package/dist/transactions/mptoken-issuance-destroy.d.ts +3 -1
  143. package/dist/transactions/mptoken-issuance-destroy.d.ts.map +1 -1
  144. package/dist/transactions/mptoken-issuance-destroy.js +6 -4
  145. package/dist/transactions/mptoken-issuance-destroy.js.map +1 -1
  146. package/dist/transactions/mptoken-issuance-set.d.ts +5 -1
  147. package/dist/transactions/mptoken-issuance-set.d.ts.map +1 -1
  148. package/dist/transactions/mptoken-issuance-set.js +8 -7
  149. package/dist/transactions/mptoken-issuance-set.js.map +1 -1
  150. package/dist/transactions/nftoken-accept-offer.d.ts +5 -0
  151. package/dist/transactions/nftoken-accept-offer.d.ts.map +1 -1
  152. package/dist/transactions/nftoken-accept-offer.js +3 -3
  153. package/dist/transactions/nftoken-accept-offer.js.map +1 -1
  154. package/dist/transactions/nftoken-burn.d.ts +7 -1
  155. package/dist/transactions/nftoken-burn.d.ts.map +1 -1
  156. package/dist/transactions/nftoken-burn.js +9 -5
  157. package/dist/transactions/nftoken-burn.js.map +1 -1
  158. package/dist/transactions/nftoken-cancel-offer.d.ts +5 -1
  159. package/dist/transactions/nftoken-cancel-offer.d.ts.map +1 -1
  160. package/dist/transactions/nftoken-cancel-offer.js +6 -6
  161. package/dist/transactions/nftoken-cancel-offer.js.map +1 -1
  162. package/dist/transactions/nftoken-create-offer.d.ts +10 -0
  163. package/dist/transactions/nftoken-create-offer.d.ts.map +1 -1
  164. package/dist/transactions/nftoken-create-offer.js +7 -5
  165. package/dist/transactions/nftoken-create-offer.js.map +1 -1
  166. package/dist/transactions/nftoken-mint.d.ts +9 -1
  167. package/dist/transactions/nftoken-mint.d.ts.map +1 -1
  168. package/dist/transactions/nftoken-mint.js +5 -4
  169. package/dist/transactions/nftoken-mint.js.map +1 -1
  170. package/dist/transactions/nftoken-modify.d.ts +9 -3
  171. package/dist/transactions/nftoken-modify.d.ts.map +1 -1
  172. package/dist/transactions/nftoken-modify.js +12 -9
  173. package/dist/transactions/nftoken-modify.js.map +1 -1
  174. package/dist/transactions/offer-cancel.d.ts.map +1 -1
  175. package/dist/transactions/offer-cancel.js +1 -1
  176. package/dist/transactions/offer-cancel.js.map +1 -1
  177. package/dist/transactions/offer-create.d.ts +12 -3
  178. package/dist/transactions/offer-create.d.ts.map +1 -1
  179. package/dist/transactions/offer-create.js +19 -28
  180. package/dist/transactions/offer-create.js.map +1 -1
  181. package/dist/transactions/oracle-delete.d.ts +4 -3
  182. package/dist/transactions/oracle-delete.d.ts.map +1 -1
  183. package/dist/transactions/oracle-delete.js +4 -4
  184. package/dist/transactions/oracle-delete.js.map +1 -1
  185. package/dist/transactions/oracle-set.d.ts +18 -8
  186. package/dist/transactions/oracle-set.d.ts.map +1 -1
  187. package/dist/transactions/oracle-set.js +15 -23
  188. package/dist/transactions/oracle-set.js.map +1 -1
  189. package/dist/transactions/payment-channel-claim.d.ts +13 -8
  190. package/dist/transactions/payment-channel-claim.d.ts.map +1 -1
  191. package/dist/transactions/payment-channel-claim.js +9 -16
  192. package/dist/transactions/payment-channel-claim.js.map +1 -1
  193. package/dist/transactions/payment-channel-create.d.ts +17 -8
  194. package/dist/transactions/payment-channel-create.d.ts.map +1 -1
  195. package/dist/transactions/payment-channel-create.js +16 -21
  196. package/dist/transactions/payment-channel-create.js.map +1 -1
  197. package/dist/transactions/payment-channel-fund.d.ts +9 -2
  198. package/dist/transactions/payment-channel-fund.d.ts.map +1 -1
  199. package/dist/transactions/payment-channel-fund.js +8 -8
  200. package/dist/transactions/payment-channel-fund.js.map +1 -1
  201. package/dist/transactions/payment.d.ts +19 -14
  202. package/dist/transactions/payment.d.ts.map +1 -1
  203. package/dist/transactions/payment.js +22 -47
  204. package/dist/transactions/payment.js.map +1 -1
  205. package/dist/transactions/permissioned-domain-delete.d.ts +3 -2
  206. package/dist/transactions/permissioned-domain-delete.d.ts.map +1 -1
  207. package/dist/transactions/permissioned-domain-delete.js +5 -2
  208. package/dist/transactions/permissioned-domain-delete.js.map +1 -1
  209. package/dist/transactions/permissioned-domain-set.d.ts +11 -15
  210. package/dist/transactions/permissioned-domain-set.d.ts.map +1 -1
  211. package/dist/transactions/permissioned-domain-set.js +8 -7
  212. package/dist/transactions/permissioned-domain-set.js.map +1 -1
  213. package/dist/transactions/set-regular-key.d.ts +5 -1
  214. package/dist/transactions/set-regular-key.d.ts.map +1 -1
  215. package/dist/transactions/set-regular-key.js +4 -2
  216. package/dist/transactions/set-regular-key.js.map +1 -1
  217. package/dist/transactions/signer-list-set.d.ts +7 -1
  218. package/dist/transactions/signer-list-set.d.ts.map +1 -1
  219. package/dist/transactions/signer-list-set.js +4 -2
  220. package/dist/transactions/signer-list-set.js.map +1 -1
  221. package/dist/transactions/ticket-create.d.ts +7 -3
  222. package/dist/transactions/ticket-create.d.ts.map +1 -1
  223. package/dist/transactions/ticket-create.js +7 -5
  224. package/dist/transactions/ticket-create.js.map +1 -1
  225. package/dist/transactions/trust-set.d.ts +9 -2
  226. package/dist/transactions/trust-set.d.ts.map +1 -1
  227. package/dist/transactions/trust-set.js +9 -13
  228. package/dist/transactions/trust-set.js.map +1 -1
  229. package/dist/transactions/vault-clawback.d.ts +8 -10
  230. package/dist/transactions/vault-clawback.d.ts.map +1 -1
  231. package/dist/transactions/vault-clawback.js +8 -16
  232. package/dist/transactions/vault-clawback.js.map +1 -1
  233. package/dist/transactions/vault-create.d.ts +3 -7
  234. package/dist/transactions/vault-create.d.ts.map +1 -1
  235. package/dist/transactions/vault-create.js +2 -13
  236. package/dist/transactions/vault-create.js.map +1 -1
  237. package/dist/transactions/vault-delete.d.ts +3 -5
  238. package/dist/transactions/vault-delete.d.ts.map +1 -1
  239. package/dist/transactions/vault-delete.js +2 -7
  240. package/dist/transactions/vault-delete.js.map +1 -1
  241. package/dist/transactions/vault-deposit.d.ts +6 -6
  242. package/dist/transactions/vault-deposit.d.ts.map +1 -1
  243. package/dist/transactions/vault-deposit.js +5 -8
  244. package/dist/transactions/vault-deposit.js.map +1 -1
  245. package/dist/transactions/vault-set.d.ts +3 -7
  246. package/dist/transactions/vault-set.d.ts.map +1 -1
  247. package/dist/transactions/vault-set.js +2 -13
  248. package/dist/transactions/vault-set.js.map +1 -1
  249. package/dist/transactions/vault-withdraw.d.ts +6 -10
  250. package/dist/transactions/vault-withdraw.d.ts.map +1 -1
  251. package/dist/transactions/vault-withdraw.js +5 -12
  252. package/dist/transactions/vault-withdraw.js.map +1 -1
  253. package/dist/transactions/xchain-account-create-commit.d.ts +13 -6
  254. package/dist/transactions/xchain-account-create-commit.d.ts.map +1 -1
  255. package/dist/transactions/xchain-account-create-commit.js +14 -14
  256. package/dist/transactions/xchain-account-create-commit.js.map +1 -1
  257. package/dist/transactions/xchain-add-account-create-attestation.d.ts +17 -17
  258. package/dist/transactions/xchain-add-account-create-attestation.d.ts.map +1 -1
  259. package/dist/transactions/xchain-add-account-create-attestation.js +19 -25
  260. package/dist/transactions/xchain-add-account-create-attestation.js.map +1 -1
  261. package/dist/transactions/xchain-add-claim-attestation.d.ts +25 -19
  262. package/dist/transactions/xchain-add-claim-attestation.d.ts.map +1 -1
  263. package/dist/transactions/xchain-add-claim-attestation.js +20 -26
  264. package/dist/transactions/xchain-add-claim-attestation.js.map +1 -1
  265. package/dist/transactions/xchain-claim.d.ts +18 -11
  266. package/dist/transactions/xchain-claim.d.ts.map +1 -1
  267. package/dist/transactions/xchain-claim.js +15 -14
  268. package/dist/transactions/xchain-claim.js.map +1 -1
  269. package/dist/transactions/xchain-commit.d.ts +16 -7
  270. package/dist/transactions/xchain-commit.d.ts.map +1 -1
  271. package/dist/transactions/xchain-commit.js +14 -10
  272. package/dist/transactions/xchain-commit.js.map +1 -1
  273. package/dist/transactions/xchain-create-bridge.d.ts +12 -6
  274. package/dist/transactions/xchain-create-bridge.d.ts.map +1 -1
  275. package/dist/transactions/xchain-create-bridge.js +11 -10
  276. package/dist/transactions/xchain-create-bridge.js.map +1 -1
  277. package/dist/transactions/xchain-create-claim-id.d.ts +9 -4
  278. package/dist/transactions/xchain-create-claim-id.d.ts.map +1 -1
  279. package/dist/transactions/xchain-create-claim-id.js +11 -10
  280. package/dist/transactions/xchain-create-claim-id.js.map +1 -1
  281. package/dist/transactions/xchain-modify-bridge.d.ts +9 -9
  282. package/dist/transactions/xchain-modify-bridge.d.ts.map +1 -1
  283. package/dist/transactions/xchain-modify-bridge.js +9 -8
  284. package/dist/transactions/xchain-modify-bridge.js.map +1 -1
  285. package/package.json +9 -4
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Jonathan Dobson
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,101 @@
1
+ # xrp-tx
2
+
3
+ A standalone, zero-dependency, class-based transaction builder for the XRP Ledger.
4
+
5
+ `xrp-tx` is designed to provide a premium developer experience for constructing, validating, and manipulating XRPL transactions. It replaces the legacy union-of-interfaces pattern with a robust class hierarchy, enabling inherited properties, logical grouping, and strict runtime validation.
6
+
7
+ [![NPM Version](https://img.shields.io/npm/v/xrp-tx.svg)](https://www.npmjs.com/package/xrp-tx)
8
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
9
+
10
+ ## Documentation
11
+
12
+ For a comprehensive guide to all 70+ transaction types and advanced usage patterns, see the [API Documentation](API_DOCUMENTATION.md).
13
+
14
+ ## Features
15
+
16
+ - **🚀 Zero Dependencies:** No reliance on `xrpl.js`, `ripple-binary-codec`, or any other runtime libraries.
17
+ - **🏗️ Class-Based API:** 71+ transaction types implemented as concrete classes.
18
+ - **🛡️ Strict Type Safety:** Built from the ground up for TypeScript, supporting `exactOptionalPropertyTypes`.
19
+ - **🧪 Built-in Validation:** Every transaction class includes a `validate()` method for ledger-compliant checks.
20
+ - **💎 Immutable Updates:** Use the `.with()` pattern to create modified copies of transactions without side effects.
21
+ - **🔌 Registry Pattern:** Easily instantiate transactions from JSON using the central registry or factory methods.
22
+ - **🤝 XRPL.js Compatible:** `toJSON()` output matches the exact shape required by `xrpl.js` and the XRPL ledger.
23
+ - **🎯 Reliability Gold Standard:** 100% property discovery through explicit initialization, ensuring safe serialization in any environment (Node, Browser, Cloudflare Workers).
24
+
25
+ ## Installation
26
+
27
+ ```bash
28
+ npm install xrp-tx
29
+ ```
30
+
31
+ ## Quick Start
32
+
33
+ ### Creating a Transaction
34
+
35
+ ```typescript
36
+ import { Transaction, PaymentTx } from 'xrp-tx';
37
+
38
+ // Option 1: Using the convenience factory
39
+ const tx = Transaction.payment({
40
+ Account: 'rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh',
41
+ Destination: 'rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe',
42
+ Amount: '1000000', // 1 XRP in drops
43
+ });
44
+
45
+ // Option 2: Using the concrete class
46
+ const payment = new PaymentTx({
47
+ Account: 'rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh',
48
+ Destination: 'rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe',
49
+ Amount: '1000000',
50
+ });
51
+
52
+ // Validation
53
+ payment.validate(); // Throws ValidationError if invalid
54
+
55
+ // Serialization
56
+ const json = payment.toJSON();
57
+ console.log(json);
58
+ ```
59
+
60
+ ### Immutable Updates with `.with()`
61
+
62
+ ```typescript
63
+ const tx1 = Transaction.payment({
64
+ Account: 'rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh',
65
+ Destination: 'rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe',
66
+ Amount: '1000000',
67
+ });
68
+
69
+ // Create a new transaction with a Fee and Sequence
70
+ const tx2 = tx1.with({
71
+ Fee: '12',
72
+ Sequence: 42,
73
+ });
74
+
75
+ console.log(tx2.Fee); // '12'
76
+ console.log(tx1.Fee); // undefined (tx1 remains unchanged)
77
+ ```
78
+
79
+ ## Supported Transaction Types (71)
80
+
81
+ `xrp-tx` provides 100% coverage for standard and experimental XRPL transaction types, including:
82
+
83
+ - **Core:** `Payment`, `AccountSet`, `TrustSet`, `OfferCreate`, `OfferCancel`, `Check*`, `Escrow*`, `SignerListSet`, etc.
84
+ - **NFTs:** `NFTokenMint`, `NFTokenBurn`, `NFTokenCreateOffer`, `NFTokenAcceptOffer`, etc.
85
+ - **AMM:** `AMMCreate`, `AMMDeposit`, `AMMWithdraw`, `AMMVote`, `AMMBid`, etc.
86
+ - **MPT:** `MPTokenIssuanceCreate`, `MPTokenAuthorize`, etc.
87
+ - **Sidechains:** `XChainCreateBridge`, `XChainCommit`, `XChainClaim`, etc.
88
+ - **Niche:** `Vault*`, `Loan*`, `Oracle*`, `Credential*`, `DID*`, `Batch`, etc.
89
+
90
+ ## Why use xrp-tx?
91
+
92
+ Modern XRPL development often requires high-fidelity transaction construction without the overhead of a full ledger library. `xrp-tx` is ideal for:
93
+
94
+ 1. **Lightweight Clients:** Perfect for mobile apps or edge functions where bundle size matters.
95
+ 2. **Transaction Builders:** Provides a clean UI-to-JSON mapping with instant validation.
96
+ 3. **Backend Services:** Robust, typed transaction generation for high-throughput environments.
97
+ 4. **Tooling:** A solid foundation for explorers, wallets, and signing tools.
98
+
99
+ ## License
100
+
101
+ MIT
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAM7D,KAAK,WAAW,GAAG;IACjB,GAAG,CAAC,IAAI,EAAE,eAAe,GAAG,CAAC,KAAK,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,WAAW,CAAC,GAAG,SAAS,CAAC;CAC/F,CAAC;AAIF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAExD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAC5C,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,EAAE,MAAM,EAAE,GACb,IAAI,CAMN;AASD;;;;;;;;;;;;;;GAcG;AACH,8BAAsB,WAAW;IAC/B,oDAAoD;IACpD,QAAQ,CAAC,OAAO,EAAG,MAAM,CAAC;IAE1B,+BAA+B;IAC/B,QAAQ,CAAC,eAAe,EAAG,eAAe,CAAC;IAE3C,gDAAgD;IAChD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEtB,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B,mDAAmD;IACnD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B,sCAAsC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAAC;IAE/C,iDAAiD;IACjD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAErC,sCAAsC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IAExB,+BAA+B;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,gCAAgC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEhC,wDAAwD;IACxD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC,6BAA6B;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B,kBAAkB;IAClB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,wBAAwB;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,SAAS,aAAa,KAAK,EAAE,qBAAqB;IASlD;;;;;OAKG;IACH,QAAQ,IAAI,IAAI;IAMhB;;;;;OAKG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA+BjC;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,IAAI;IASrD;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,MAAM,CACX,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC,GACtD,WAAW;IAiBd;;OAEG;IACH,MAAM,CAAC,OAAO,CACZ,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC,GAAG;QACxD,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;KACrB,GACA,WAAW;IAId;;OAEG;IACH,MAAM,CAAC,UAAU,CACf,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC,GAAG;QACxD,OAAO,EAAE,MAAM,CAAC;KACjB,GACA,WAAW;IAId;;OAEG;IACH,MAAM,CAAC,QAAQ,CACb,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC,GAAG;QACxD,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,OAAO,CAAC;KACtB,GACA,WAAW;IAId;;OAEG;IACH,MAAM,CAAC,WAAW,CAChB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC,GAAG;QACxD,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;KACpB,GACA,WAAW;IAId;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC,GAAG;QACxD,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;KACrB,GACA,WAAW;IAId;;OAEG;IACH,MAAM,CAAC,WAAW,CAChB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC,GAAG;QACxD,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,OAAO,CAAC;KAClB,GACA,WAAW;IAId;;OAEG;IACH,MAAM,CAAC,WAAW,CAChB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC,GAAG;QACxD,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;KACtB,GACA,WAAW;CAGf"}
@@ -101,12 +101,30 @@ export class Transaction {
101
101
  */
102
102
  toJSON() {
103
103
  const json = {};
104
- for (const key of Object.keys(this)) {
104
+ // 1. Start with the properties found via Object.keys (enumerable own properties)
105
+ const keys = new Set(Object.keys(this));
106
+ // 2. Add properties found via Object.getOwnPropertyNames (all own properties)
107
+ Object.getOwnPropertyNames(this).forEach(k => keys.add(k));
108
+ for (const key of keys) {
109
+ // Skip internal properties starting with _
110
+ if (key.startsWith('_'))
111
+ continue;
105
112
  const value = this[key];
106
- if (value !== undefined) {
113
+ if (value !== undefined && typeof value !== 'function') {
107
114
  json[key] = value;
108
115
  }
109
116
  }
117
+ // 3. Guarantee core fields from the base class
118
+ if (this.Account)
119
+ json.Account = this.Account;
120
+ if (this.TransactionType)
121
+ json.TransactionType = this.TransactionType;
122
+ if (this.Fee)
123
+ json.Fee = this.Fee;
124
+ if (this.Sequence !== undefined)
125
+ json.Sequence = this.Sequence;
126
+ if (this.Flags !== undefined)
127
+ json.Flags = this.Flags;
110
128
  return json;
111
129
  }
112
130
  // ─── Immutable updates ───────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,23 @@
1
1
  /**
2
- * AccountDelete transaction — delete an account from the XRP Ledger.
2
+ * AccountDelete transaction — remove an account from the XRP Ledger and recover its reserve.
3
+ *
4
+ * @see https://xrpl.org/accountdelete.html
3
5
  */
4
6
  import type { BaseTransactionFields } from '../types/base.js';
5
7
  import { AccountTransaction } from '../groups/account.js';
6
8
  export interface AccountDeleteTxFields extends BaseTransactionFields {
7
9
  readonly TransactionType: 'AccountDelete';
10
+ /** The address to receive any remaining XRP from the deleted account. */
8
11
  readonly Destination: string;
12
+ /** Arbitrary destination tag for the recipient. */
9
13
  readonly DestinationTag?: number;
10
- readonly CredentialIDs?: string[];
11
14
  }
12
15
  export declare class AccountDeleteTx extends AccountTransaction {
13
16
  readonly TransactionType: "AccountDelete";
17
+ /** The address to receive any remaining XRP from the deleted account. */
14
18
  readonly Destination: string;
19
+ /** Arbitrary destination tag for the recipient. */
15
20
  readonly DestinationTag?: number;
16
- readonly CredentialIDs?: string[];
17
21
  constructor(props: AccountDeleteTxFields | Record<string, unknown>);
18
22
  validate(): void;
19
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"account-delete.d.ts","sourceRoot":"","sources":["../../src/transactions/account-delete.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAK1D,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CACnC;AAED,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,SAAkB,eAAe,EAAG,eAAe,CAAU;IAC7D,QAAQ,CAAC,WAAW,EAAG,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;gBAEtB,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOzD,QAAQ,IAAI,IAAI;CAO1B"}
1
+ {"version":3,"file":"account-delete.d.ts","sourceRoot":"","sources":["../../src/transactions/account-delete.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,yEAAyE;IACzE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,mDAAmD;IACnD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,SAAkB,eAAe,EAAG,eAAe,CAAU;IAE7D,yEAAyE;IACzE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAoB;IAEhD,mDAAmD;IACnD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAa;gBAEjC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOzD,QAAQ,IAAI,IAAI;CAS1B"}
@@ -1,24 +1,26 @@
1
1
  import { AccountTransaction } from '../groups/account.js';
2
- import { assignDefined } from '../transaction.js';
3
2
  import { ValidationError } from '../errors.js';
4
3
  import { isAccount, isNumber } from '../validation/helpers.js';
5
4
  export class AccountDeleteTx extends AccountTransaction {
6
5
  TransactionType = 'AccountDelete';
7
- Destination;
8
- DestinationTag;
9
- CredentialIDs;
6
+ /** The address to receive any remaining XRP from the deleted account. */
7
+ Destination = undefined;
8
+ /** Arbitrary destination tag for the recipient. */
9
+ DestinationTag = undefined;
10
10
  constructor(props) {
11
11
  const p = props;
12
12
  super({ ...p, TransactionType: 'AccountDelete' });
13
13
  this.Destination = p['Destination'];
14
- assignDefined(this, p, ['DestinationTag', 'CredentialIDs']);
14
+ this.DestinationTag = p['DestinationTag'];
15
15
  }
16
16
  validate() {
17
17
  super.validate();
18
- if (!isAccount(this.Destination))
19
- throw new ValidationError('AccountDelete: invalid Destination');
20
- if (this.DestinationTag !== undefined && !isNumber(this.DestinationTag))
18
+ if (!isAccount(this.Destination)) {
19
+ throw new ValidationError('AccountDelete: missing or invalid Destination');
20
+ }
21
+ if (this.DestinationTag !== undefined && !isNumber(this.DestinationTag)) {
21
22
  throw new ValidationError('AccountDelete: DestinationTag must be a number');
23
+ }
22
24
  }
23
25
  }
24
26
  //# sourceMappingURL=account-delete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"account-delete.js","sourceRoot":"","sources":["../../src/transactions/account-delete.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAS/D,MAAM,OAAO,eAAgB,SAAQ,kBAAkB;IACnC,eAAe,GAAG,eAAwB,CAAC;IACpD,WAAW,CAAU;IACrB,cAAc,CAAU;IACxB,aAAa,CAAY;IAElC,YAAY,KAAsD;QAChE,MAAM,CAAC,GAAG,KAAgC,CAAC;QAC3C,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,eAAe,EAAE,eAAe,EAA2B,CAAC,CAAC;QAC3E,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,aAAa,CAAW,CAAC;QAC9C,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC;IAC9D,CAAC;IAEQ,QAAQ;QACf,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;YAC9B,MAAM,IAAI,eAAe,CAAC,oCAAoC,CAAC,CAAC;QAClE,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;YACrE,MAAM,IAAI,eAAe,CAAC,gDAAgD,CAAC,CAAC;IAChF,CAAC;CACF"}
1
+ {"version":3,"file":"account-delete.js","sourceRoot":"","sources":["../../src/transactions/account-delete.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAU/D,MAAM,OAAO,eAAgB,SAAQ,kBAAkB;IACnC,eAAe,GAAG,eAAwB,CAAC;IAE7D,yEAAyE;IAChE,WAAW,GAAW,SAAgB,CAAC;IAEhD,mDAAmD;IAC1C,cAAc,GAAY,SAAS,CAAC;IAE7C,YAAY,KAAsD;QAChE,MAAM,CAAC,GAAG,KAAgC,CAAC;QAC3C,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,eAAe,EAAE,eAAe,EAA2B,CAAC,CAAC;QAC3E,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,aAAa,CAAW,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,gBAAgB,CAAW,CAAC;IACtD,CAAC;IAEQ,QAAQ;QACf,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,eAAe,CAAC,+CAA+C,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,eAAe,CAAC,gDAAgD,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;CACF"}
@@ -1,20 +1,30 @@
1
1
  /**
2
- * AccountSet transaction — modify properties of an account.
2
+ * AccountSet transaction — modify account-specific settings or flags.
3
+ *
4
+ * @see https://xrpl.org/accountset.html
3
5
  */
4
6
  import type { BaseTransactionFields } from '../types/base.js';
5
7
  import type { AccountSetFlagsInterface } from '../types/flags.js';
6
- import { AccountSetAsfFlags } from '../types/flags.js';
7
8
  import { AccountTransaction } from '../groups/account.js';
8
9
  export interface AccountSetTxFields extends BaseTransactionFields {
9
10
  readonly TransactionType: 'AccountSet';
11
+ /** Hash of a certificate to use for some external validation. */
10
12
  readonly ClearFlag?: number;
13
+ /** Domain name associated with this account (hex encoded). */
11
14
  readonly Domain?: string;
15
+ /** Email hash (e.g. for Gravatar). */
12
16
  readonly EmailHash?: string;
17
+ /** Message key for encrypted messaging. */
13
18
  readonly MessageKey?: string;
14
- readonly SetFlag?: AccountSetAsfFlags;
19
+ /** NFT collection fee (0-50,000). */
20
+ readonly NFTokenBrokerFee?: number;
21
+ /** Flag to enable on the account. */
22
+ readonly SetFlag?: number;
23
+ /** Transfer rate for issued currencies (drops per billion). */
15
24
  readonly TransferRate?: number;
25
+ /** Tick size for offer matching (3-15 or 0 to disable). */
16
26
  readonly TickSize?: number;
17
- readonly NFTokenMinter?: string;
27
+ /** Bit-flags for this transaction. */
18
28
  readonly Flags?: number | AccountSetFlagsInterface;
19
29
  }
20
30
  export declare class AccountSetTx extends AccountTransaction {
@@ -23,10 +33,10 @@ export declare class AccountSetTx extends AccountTransaction {
23
33
  readonly Domain?: string;
24
34
  readonly EmailHash?: string;
25
35
  readonly MessageKey?: string;
26
- readonly SetFlag?: AccountSetAsfFlags;
36
+ readonly NFTokenBrokerFee?: number;
37
+ readonly SetFlag?: number;
27
38
  readonly TransferRate?: number;
28
39
  readonly TickSize?: number;
29
- readonly NFTokenMinter?: string;
30
40
  readonly Flags?: number | AccountSetFlagsInterface;
31
41
  constructor(props: AccountSetTxFields | Record<string, unknown>);
32
42
  validate(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"account-set.d.ts","sourceRoot":"","sources":["../../src/transactions/account-set.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAQ1D,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,wBAAwB,CAAC;CACpD;AAOD,qBAAa,YAAa,SAAQ,kBAAkB;IAClD,SAAkB,eAAe,EAAG,YAAY,CAAU;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,SAAiB,KAAK,CAAC,EAAE,MAAM,GAAG,wBAAwB,CAAC;gBAE/C,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAMtD,QAAQ,IAAI,IAAI;CA4B1B"}
1
+ {"version":3,"file":"account-set.d.ts","sourceRoot":"","sources":["../../src/transactions/account-set.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAK1D,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC;IACvC,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,sCAAsC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,2CAA2C;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,qCAAqC;IACrC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,qCAAqC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,sCAAsC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,wBAAwB,CAAC;CACpD;AAED,qBAAa,YAAa,SAAQ,kBAAkB;IAClD,SAAkB,eAAe,EAAG,YAAY,CAAU;IAE1D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAa;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAa;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAa;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAa;IACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAa;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAa;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAa;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAa;IACvC,SAAiB,KAAK,CAAC,EAAE,MAAM,GAAG,wBAAwB,CAAC;gBAE/C,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAStD,QAAQ,IAAI,IAAI;CAe1B"}
@@ -1,58 +1,40 @@
1
- import { AccountSetAsfFlags } from '../types/flags.js';
2
1
  import { AccountTransaction } from '../groups/account.js';
3
2
  import { assignDefined } from '../transaction.js';
4
3
  import { ValidationError } from '../errors.js';
5
- import { isAccount, isString, isNumber } from '../validation/helpers.js';
6
- const MIN_TICK_SIZE = 3;
7
- const MAX_TICK_SIZE = 15;
8
- const ACCTSET_OPTIONAL = [
9
- 'ClearFlag', 'Domain', 'EmailHash', 'MessageKey',
10
- 'SetFlag', 'TransferRate', 'TickSize', 'NFTokenMinter', 'Flags',
11
- ];
4
+ import { isNumber, isString } from '../validation/helpers.js';
12
5
  export class AccountSetTx extends AccountTransaction {
13
6
  TransactionType = 'AccountSet';
14
- ClearFlag;
15
- Domain;
16
- EmailHash;
17
- MessageKey;
18
- SetFlag;
19
- TransferRate;
20
- TickSize;
21
- NFTokenMinter;
7
+ ClearFlag = undefined;
8
+ Domain = undefined;
9
+ EmailHash = undefined;
10
+ MessageKey = undefined;
11
+ NFTokenBrokerFee = undefined;
12
+ SetFlag = undefined;
13
+ TransferRate = undefined;
14
+ TickSize = undefined;
22
15
  constructor(props) {
23
16
  const p = props;
24
17
  super({ ...p, TransactionType: 'AccountSet' });
25
- assignDefined(this, p, ACCTSET_OPTIONAL);
18
+ assignDefined(this, p, [
19
+ 'ClearFlag', 'Domain', 'EmailHash', 'MessageKey',
20
+ 'NFTokenBrokerFee', 'SetFlag', 'TransferRate', 'TickSize', 'Flags',
21
+ ]);
26
22
  }
27
23
  validate() {
28
24
  super.validate();
29
- if (this.NFTokenMinter !== undefined && !isAccount(this.NFTokenMinter))
30
- throw new ValidationError('AccountSet: invalid NFTokenMinter');
31
- if (this.ClearFlag !== undefined) {
32
- if (!isNumber(this.ClearFlag))
33
- throw new ValidationError('AccountSet: invalid ClearFlag');
34
- if (!Object.values(AccountSetAsfFlags).includes(this.ClearFlag))
35
- throw new ValidationError('AccountSet: invalid ClearFlag');
25
+ if (this.TransferRate !== undefined) {
26
+ if (!isNumber(this.TransferRate))
27
+ throw new ValidationError('AccountSet: TransferRate must be a number');
36
28
  }
37
- if (this.Domain !== undefined && !isString(this.Domain))
38
- throw new ValidationError('AccountSet: invalid Domain');
39
- if (this.EmailHash !== undefined && !isString(this.EmailHash))
40
- throw new ValidationError('AccountSet: invalid EmailHash');
41
- if (this.MessageKey !== undefined && !isString(this.MessageKey))
42
- throw new ValidationError('AccountSet: invalid MessageKey');
43
- if (this.SetFlag !== undefined) {
44
- if (!isNumber(this.SetFlag))
45
- throw new ValidationError('AccountSet: invalid SetFlag');
46
- if (!Object.values(AccountSetAsfFlags).includes(this.SetFlag))
47
- throw new ValidationError('AccountSet: invalid SetFlag');
48
- }
49
- if (this.TransferRate !== undefined && !isNumber(this.TransferRate))
50
- throw new ValidationError('AccountSet: invalid TransferRate');
51
29
  if (this.TickSize !== undefined) {
52
30
  if (!isNumber(this.TickSize))
53
- throw new ValidationError('AccountSet: invalid TickSize');
54
- if (this.TickSize !== 0 && (this.TickSize < MIN_TICK_SIZE || this.TickSize > MAX_TICK_SIZE))
55
- throw new ValidationError('AccountSet: invalid TickSize');
31
+ throw new ValidationError('AccountSet: TickSize must be a number');
32
+ if (this.TickSize !== 0 && (this.TickSize < 3 || this.TickSize > 15)) {
33
+ throw new ValidationError('AccountSet: TickSize must be 3-15 or 0');
34
+ }
35
+ }
36
+ if (this.Domain !== undefined && !isString(this.Domain)) {
37
+ throw new ValidationError('AccountSet: Domain must be a string');
56
38
  }
57
39
  }
58
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"account-set.js","sourceRoot":"","sources":["../../src/transactions/account-set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account-set.js","sourceRoot":"","sources":["../../src/transactions/account-set.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAwB9D,MAAM,OAAO,YAAa,SAAQ,kBAAkB;IAChC,eAAe,GAAG,YAAqB,CAAC;IAEjD,SAAS,GAAY,SAAS,CAAC;IAC/B,MAAM,GAAY,SAAS,CAAC;IAC5B,SAAS,GAAY,SAAS,CAAC;IAC/B,UAAU,GAAY,SAAS,CAAC;IAChC,gBAAgB,GAAY,SAAS,CAAC;IACtC,OAAO,GAAY,SAAS,CAAC;IAC7B,YAAY,GAAY,SAAS,CAAC;IAClC,QAAQ,GAAY,SAAS,CAAC;IAGvC,YAAY,KAAmD;QAC7D,MAAM,CAAC,GAAG,KAAgC,CAAC;QAC3C,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,eAAe,EAAE,YAAY,EAA2B,CAAC,CAAC;QACxE,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE;YACrB,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY;YAChD,kBAAkB,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO;SACnE,CAAC,CAAC;IACL,CAAC;IAEQ,QAAQ;QACf,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;gBAAE,MAAM,IAAI,eAAe,CAAC,2CAA2C,CAAC,CAAC;QAC3G,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAAE,MAAM,IAAI,eAAe,CAAC,uCAAuC,CAAC,CAAC;YACjG,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC;gBACrE,MAAM,IAAI,eAAe,CAAC,wCAAwC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,eAAe,CAAC,qCAAqC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;CACF"}
@@ -1,37 +1,29 @@
1
1
  /**
2
- * AMMBid transaction — bid on an Automated Market Maker's auction slot.
2
+ * AMMBid transaction — bid on an auction for an AMM instance's trading fee.
3
+ *
4
+ * @see https://xrpl.org/ammbid.html
3
5
  */
4
6
  import type { BaseTransactionFields } from '../types/base.js';
5
7
  import type { IssuedCurrencyAmount } from '../types/amounts.js';
6
- import type { AuthAccount } from '../types/common.js';
7
8
  import { AMMTransaction } from '../groups/amm.js';
8
9
  export interface AMMBidTxFields extends BaseTransactionFields {
9
10
  readonly TransactionType: 'AMMBid';
10
- readonly Asset: {
11
- currency: string;
12
- issuer?: string;
13
- };
14
- readonly Asset2: {
15
- currency: string;
16
- issuer?: string;
17
- };
18
- readonly BidMin?: IssuedCurrencyAmount;
11
+ readonly Asset: Record<string, unknown>;
12
+ readonly Asset2: Record<string, unknown>;
13
+ /** Max amount of LP tokens to spend. */
19
14
  readonly BidMax?: IssuedCurrencyAmount;
20
- readonly AuthAccounts?: AuthAccount[];
15
+ /** Fixed amount of LP tokens to spend. */
16
+ readonly BidMin?: IssuedCurrencyAmount;
17
+ /** Accounts allowed to use the fee discount. */
18
+ readonly AuthAccounts?: Record<string, string>[];
21
19
  }
22
20
  export declare class AMMBidTx extends AMMTransaction {
23
21
  readonly TransactionType: "AMMBid";
24
- readonly Asset: {
25
- currency: string;
26
- issuer?: string;
27
- };
28
- readonly Asset2: {
29
- currency: string;
30
- issuer?: string;
31
- };
32
- readonly BidMin?: IssuedCurrencyAmount;
22
+ readonly Asset: Record<string, unknown>;
23
+ readonly Asset2: Record<string, unknown>;
33
24
  readonly BidMax?: IssuedCurrencyAmount;
34
- readonly AuthAccounts?: AuthAccount[];
25
+ readonly BidMin?: IssuedCurrencyAmount;
26
+ readonly AuthAccounts?: Record<string, string>[];
35
27
  constructor(props: AMMBidTxFields | Record<string, unknown>);
36
28
  validate(): void;
37
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"amm-bid.d.ts","sourceRoot":"","sources":["../../src/transactions/amm-bid.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKlD,MAAM,WAAW,cAAe,SAAQ,qBAAqB;IAC3D,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CACvC;AASD,qBAAa,QAAS,SAAQ,cAAc;IAC1C,SAAkB,eAAe,EAAG,QAAQ,CAAU;IACtD,QAAQ,CAAC,KAAK,EAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,QAAQ,CAAC,MAAM,EAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;gBAE1B,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQlD,QAAQ,IAAI,IAAI;CAa1B"}
1
+ {"version":3,"file":"amm-bid.d.ts","sourceRoot":"","sources":["../../src/transactions/amm-bid.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKlD,MAAM,WAAW,cAAe,SAAQ,qBAAqB;IAC3D,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,wCAAwC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC;IACvC,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC;IACvC,gDAAgD;IAChD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;CAClD;AAED,qBAAa,QAAS,SAAQ,cAAc;IAC1C,SAAkB,eAAe,EAAG,QAAQ,CAAU;IAEtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAoB;IAC3D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAoB;IAC5D,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAa;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAa;IACnD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAa;gBAEjD,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOlD,QAAQ,IAAI,IAAI;CAM1B"}
@@ -1,43 +1,28 @@
1
1
  import { AMMTransaction } from '../groups/amm.js';
2
2
  import { assignDefined } from '../transaction.js';
3
3
  import { ValidationError } from '../errors.js';
4
- import { isIssuedCurrencyAmount, isArray, isRecord, isString } from '../validation/helpers.js';
5
- function isAuthAccount(value) {
6
- if (!isRecord(value))
7
- return false;
8
- const auth = value['AuthAccount'];
9
- if (!isRecord(auth))
10
- return false;
11
- return isString(auth['Account']);
12
- }
4
+ import { isRecord, isAmount } from '../validation/helpers.js';
13
5
  export class AMMBidTx extends AMMTransaction {
14
6
  TransactionType = 'AMMBid';
15
- Asset;
16
- Asset2;
17
- BidMin;
18
- BidMax;
19
- AuthAccounts;
7
+ Asset = undefined;
8
+ Asset2 = undefined;
9
+ BidMax = undefined;
10
+ BidMin = undefined;
11
+ AuthAccounts = undefined;
20
12
  constructor(props) {
21
13
  const p = props;
22
14
  super({ ...p, TransactionType: 'AMMBid' });
23
15
  this.Asset = p['Asset'];
24
- this.Asset2 = p['Asset2'];
25
- assignDefined(this, p, ['BidMin', 'BidMax', 'AuthAccounts']);
16
+ assignDefined(this, p, ['Asset2', 'BidMax', 'BidMin', 'AuthAccounts']);
26
17
  }
27
18
  validate() {
28
19
  super.validate();
29
- if (!this.Asset)
30
- throw new ValidationError('AMMBid: missing Asset');
31
- if (!this.Asset2)
32
- throw new ValidationError('AMMBid: missing Asset2');
33
- if (this.BidMin !== undefined && !isIssuedCurrencyAmount(this.BidMin))
34
- throw new ValidationError('AMMBid: invalid BidMin');
35
- if (this.BidMax !== undefined && !isIssuedCurrencyAmount(this.BidMax))
20
+ if (!isRecord(this.Asset))
21
+ throw new ValidationError('AMMBid: missing or invalid Asset');
22
+ if (this.BidMax && !isAmount(this.BidMax))
36
23
  throw new ValidationError('AMMBid: invalid BidMax');
37
- if (this.AuthAccounts !== undefined) {
38
- if (!isArray(this.AuthAccounts) || !this.AuthAccounts.every(isAuthAccount))
39
- throw new ValidationError('AMMBid: invalid AuthAccounts');
40
- }
24
+ if (this.BidMin && !isAmount(this.BidMin))
25
+ throw new ValidationError('AMMBid: invalid BidMin');
41
26
  }
42
27
  }
43
28
  //# sourceMappingURL=amm-bid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"amm-bid.js","sourceRoot":"","sources":["../../src/transactions/amm-bid.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAW/F,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAClC,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,OAAO,QAAS,SAAQ,cAAc;IACxB,eAAe,GAAG,QAAiB,CAAC;IAC7C,KAAK,CAAyC;IAC9C,MAAM,CAAyC;IAC/C,MAAM,CAAwB;IAC9B,MAAM,CAAwB;IAC9B,YAAY,CAAiB;IAEtC,YAAY,KAA+C;QACzD,MAAM,CAAC,GAAG,KAAgC,CAAC;QAC3C,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,eAAe,EAAE,QAAQ,EAA2B,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAA0C,CAAC;QACjE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAA0C,CAAC;QACnE,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAC/D,CAAC;IAEQ,QAAQ;QACf,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,eAAe,CAAC,uBAAuB,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,eAAe,CAAC,wBAAwB,CAAC,CAAC;QACtE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC;YACnE,MAAM,IAAI,eAAe,CAAC,wBAAwB,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC;YACnE,MAAM,IAAI,eAAe,CAAC,wBAAwB,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC;gBACxE,MAAM,IAAI,eAAe,CAAC,8BAA8B,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"amm-bid.js","sourceRoot":"","sources":["../../src/transactions/amm-bid.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAc9D,MAAM,OAAO,QAAS,SAAQ,cAAc;IACxB,eAAe,GAAG,QAAiB,CAAC;IAE7C,KAAK,GAA4B,SAAgB,CAAC;IAClD,MAAM,GAA4B,SAAgB,CAAC;IACnD,MAAM,GAA0B,SAAS,CAAC;IAC1C,MAAM,GAA0B,SAAS,CAAC;IAC1C,YAAY,GAA8B,SAAS,CAAC;IAE7D,YAAY,KAA+C;QACzD,MAAM,CAAC,GAAG,KAAgC,CAAC;QAC3C,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,eAAe,EAAE,QAAQ,EAA2B,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAA4B,CAAC;QACnD,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IACzE,CAAC;IAEQ,QAAQ;QACf,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,kCAAkC,CAAC,CAAC;QACzF,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,wBAAwB,CAAC,CAAC;QAC/F,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,wBAAwB,CAAC,CAAC;IACjG,CAAC;CACF"}
@@ -1,19 +1,27 @@
1
1
  /**
2
- * AMMCreate transaction — create a new Automated Market Maker.
2
+ * AMMCreate transaction — create a new Automated Market Maker (AMM) instance for a currency pair.
3
+ *
4
+ * @see https://xrpl.org/ammcreate.html
3
5
  */
4
- import type { BaseTransactionFields } from '../types/base.js';
5
6
  import type { Amount } from '../types/amounts.js';
7
+ import type { BaseTransactionFields } from '../types/base.js';
6
8
  import { AMMTransaction } from '../groups/amm.js';
7
9
  export interface AMMCreateTxFields extends BaseTransactionFields {
8
10
  readonly TransactionType: 'AMMCreate';
11
+ /** The first amount of the asset pair. */
9
12
  readonly Amount: Amount;
13
+ /** The second amount of the asset pair. */
10
14
  readonly Amount2: Amount;
15
+ /** The trading fee for this AMM (0-1000, representing 0% to 1%). */
11
16
  readonly TradingFee: number;
12
17
  }
13
18
  export declare class AMMCreateTx extends AMMTransaction {
14
19
  readonly TransactionType: "AMMCreate";
20
+ /** The first amount of the asset pair. */
15
21
  readonly Amount: Amount;
22
+ /** The second amount of the asset pair. */
16
23
  readonly Amount2: Amount;
24
+ /** The trading fee for this AMM (0-1000). */
17
25
  readonly TradingFee: number;
18
26
  constructor(props: AMMCreateTxFields | Record<string, unknown>);
19
27
  validate(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"amm-create.d.ts","sourceRoot":"","sources":["../../src/transactions/amm-create.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAC9D,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,WAAY,SAAQ,cAAc;IAC7C,SAAkB,eAAe,EAAG,WAAW,CAAU;IACzD,QAAQ,CAAC,MAAM,EAAG,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAG,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAG,MAAM,CAAC;gBAEjB,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQrD,QAAQ,IAAI,IAAI;CAQ1B"}
1
+ {"version":3,"file":"amm-create.d.ts","sourceRoot":"","sources":["../../src/transactions/amm-create.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAC9D,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC;IACtC,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,2CAA2C;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,oEAAoE;IACpE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,WAAY,SAAQ,cAAc;IAC7C,SAAkB,eAAe,EAAG,WAAW,CAAU;IAEzD,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAE3C,2CAA2C;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAoB;IAE5C,6CAA6C;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAoB;gBAEnC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQrD,QAAQ,IAAI,IAAI;CAQ1B"}