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.
- package/LICENSE +21 -0
- package/README.md +101 -0
- package/dist/transaction.d.ts.map +1 -1
- package/dist/transaction.js +20 -2
- package/dist/transaction.js.map +1 -1
- package/dist/transactions/account-delete.d.ts +7 -3
- package/dist/transactions/account-delete.d.ts.map +1 -1
- package/dist/transactions/account-delete.js +10 -8
- package/dist/transactions/account-delete.js.map +1 -1
- package/dist/transactions/account-set.d.ts +16 -6
- package/dist/transactions/account-set.d.ts.map +1 -1
- package/dist/transactions/account-set.js +23 -41
- package/dist/transactions/account-set.js.map +1 -1
- package/dist/transactions/amm-bid.d.ts +14 -22
- package/dist/transactions/amm-bid.d.ts.map +1 -1
- package/dist/transactions/amm-bid.js +12 -27
- package/dist/transactions/amm-bid.js.map +1 -1
- package/dist/transactions/amm-create.d.ts +10 -2
- package/dist/transactions/amm-create.d.ts.map +1 -1
- package/dist/transactions/amm-create.js +11 -9
- package/dist/transactions/amm-create.js.map +1 -1
- package/dist/transactions/amm-delete.d.ts +7 -17
- package/dist/transactions/amm-delete.d.ts.map +1 -1
- package/dist/transactions/amm-delete.js +7 -6
- package/dist/transactions/amm-delete.js.map +1 -1
- package/dist/transactions/amm-deposit.d.ts +10 -23
- package/dist/transactions/amm-deposit.d.ts.map +1 -1
- package/dist/transactions/amm-deposit.js +12 -20
- package/dist/transactions/amm-deposit.js.map +1 -1
- package/dist/transactions/amm-vote.d.ts +8 -17
- package/dist/transactions/amm-vote.d.ts.map +1 -1
- package/dist/transactions/amm-vote.js +11 -12
- package/dist/transactions/amm-vote.js.map +1 -1
- package/dist/transactions/amm-withdraw.d.ts +10 -23
- package/dist/transactions/amm-withdraw.d.ts.map +1 -1
- package/dist/transactions/amm-withdraw.js +12 -20
- package/dist/transactions/amm-withdraw.js.map +1 -1
- package/dist/transactions/batch.d.ts +7 -10
- package/dist/transactions/batch.d.ts.map +1 -1
- package/dist/transactions/batch.js +7 -8
- package/dist/transactions/batch.js.map +1 -1
- package/dist/transactions/check-cancel.d.ts +5 -1
- package/dist/transactions/check-cancel.d.ts.map +1 -1
- package/dist/transactions/check-cancel.js +3 -2
- package/dist/transactions/check-cancel.js.map +1 -1
- package/dist/transactions/check-cash.d.ts +7 -1
- package/dist/transactions/check-cash.d.ts.map +1 -1
- package/dist/transactions/check-cash.js +11 -12
- package/dist/transactions/check-cash.js.map +1 -1
- package/dist/transactions/check-create.d.ts +12 -5
- package/dist/transactions/check-create.d.ts.map +1 -1
- package/dist/transactions/check-create.js +12 -15
- package/dist/transactions/check-create.js.map +1 -1
- package/dist/transactions/clawback.d.ts +11 -9
- package/dist/transactions/clawback.d.ts.map +1 -1
- package/dist/transactions/clawback.js +11 -8
- package/dist/transactions/clawback.js.map +1 -1
- package/dist/transactions/credential-accept.d.ts +5 -3
- package/dist/transactions/credential-accept.d.ts.map +1 -1
- package/dist/transactions/credential-accept.js +6 -6
- package/dist/transactions/credential-accept.js.map +1 -1
- package/dist/transactions/credential-create.d.ts +12 -3
- package/dist/transactions/credential-create.d.ts.map +1 -1
- package/dist/transactions/credential-create.js +13 -10
- package/dist/transactions/credential-create.js.map +1 -1
- package/dist/transactions/credential-delete.d.ts +10 -7
- package/dist/transactions/credential-delete.d.ts.map +1 -1
- package/dist/transactions/credential-delete.js +12 -12
- package/dist/transactions/credential-delete.js.map +1 -1
- package/dist/transactions/delegate-set.d.ts +7 -7
- package/dist/transactions/delegate-set.d.ts.map +1 -1
- package/dist/transactions/delegate-set.js +7 -10
- package/dist/transactions/delegate-set.js.map +1 -1
- package/dist/transactions/deposit-preauth.d.ts +5 -1
- package/dist/transactions/deposit-preauth.d.ts.map +1 -1
- package/dist/transactions/deposit-preauth.js +13 -9
- package/dist/transactions/deposit-preauth.js.map +1 -1
- package/dist/transactions/did-delete.d.ts +2 -1
- package/dist/transactions/did-delete.d.ts.map +1 -1
- package/dist/transactions/did-delete.js +3 -0
- package/dist/transactions/did-delete.js.map +1 -1
- package/dist/transactions/did-set.d.ts +6 -1
- package/dist/transactions/did-set.d.ts.map +1 -1
- package/dist/transactions/did-set.js +6 -10
- package/dist/transactions/did-set.js.map +1 -1
- package/dist/transactions/escrow-cancel.d.ts +7 -1
- package/dist/transactions/escrow-cancel.d.ts.map +1 -1
- package/dist/transactions/escrow-cancel.js +6 -4
- package/dist/transactions/escrow-cancel.js.map +1 -1
- package/dist/transactions/escrow-create.d.ts +16 -6
- package/dist/transactions/escrow-create.d.ts.map +1 -1
- package/dist/transactions/escrow-create.js +17 -19
- package/dist/transactions/escrow-create.js.map +1 -1
- package/dist/transactions/escrow-finish.d.ts +11 -3
- package/dist/transactions/escrow-finish.d.ts.map +1 -1
- package/dist/transactions/escrow-finish.js +10 -12
- package/dist/transactions/escrow-finish.js.map +1 -1
- package/dist/transactions/loan-broker-cover-clawback.d.ts +7 -8
- package/dist/transactions/loan-broker-cover-clawback.d.ts.map +1 -1
- package/dist/transactions/loan-broker-cover-clawback.js +7 -12
- package/dist/transactions/loan-broker-cover-clawback.js.map +1 -1
- package/dist/transactions/loan-broker-cover-deposit.d.ts +5 -6
- package/dist/transactions/loan-broker-cover-deposit.d.ts.map +1 -1
- package/dist/transactions/loan-broker-cover-deposit.js +5 -9
- package/dist/transactions/loan-broker-cover-deposit.js.map +1 -1
- package/dist/transactions/loan-broker-cover-withdraw.d.ts +5 -6
- package/dist/transactions/loan-broker-cover-withdraw.d.ts.map +1 -1
- package/dist/transactions/loan-broker-cover-withdraw.js +5 -9
- package/dist/transactions/loan-broker-cover-withdraw.js.map +1 -1
- package/dist/transactions/loan-broker-delete.d.ts +4 -3
- package/dist/transactions/loan-broker-delete.d.ts.map +1 -1
- package/dist/transactions/loan-broker-delete.js +5 -2
- package/dist/transactions/loan-broker-delete.js.map +1 -1
- package/dist/transactions/loan-broker-set.d.ts +3 -5
- package/dist/transactions/loan-broker-set.d.ts.map +1 -1
- package/dist/transactions/loan-broker-set.js +2 -8
- package/dist/transactions/loan-broker-set.js.map +1 -1
- package/dist/transactions/loan-delete.d.ts +6 -5
- package/dist/transactions/loan-delete.d.ts.map +1 -1
- package/dist/transactions/loan-delete.js +7 -6
- package/dist/transactions/loan-delete.js.map +1 -1
- package/dist/transactions/loan-manage.d.ts +6 -7
- package/dist/transactions/loan-manage.d.ts.map +1 -1
- package/dist/transactions/loan-manage.js +7 -10
- package/dist/transactions/loan-manage.js.map +1 -1
- package/dist/transactions/loan-pay.d.ts +5 -6
- package/dist/transactions/loan-pay.d.ts.map +1 -1
- package/dist/transactions/loan-pay.js +4 -8
- package/dist/transactions/loan-pay.js.map +1 -1
- package/dist/transactions/loan-set.d.ts +10 -7
- package/dist/transactions/loan-set.d.ts.map +1 -1
- package/dist/transactions/loan-set.js +10 -16
- package/dist/transactions/loan-set.js.map +1 -1
- package/dist/transactions/mptoken-authorize.d.ts +8 -1
- package/dist/transactions/mptoken-authorize.d.ts.map +1 -1
- package/dist/transactions/mptoken-authorize.js +4 -2
- package/dist/transactions/mptoken-authorize.js.map +1 -1
- package/dist/transactions/mptoken-issuance-create.d.ts +7 -1
- package/dist/transactions/mptoken-issuance-create.d.ts.map +1 -1
- package/dist/transactions/mptoken-issuance-create.js +4 -4
- package/dist/transactions/mptoken-issuance-create.js.map +1 -1
- package/dist/transactions/mptoken-issuance-destroy.d.ts +3 -1
- package/dist/transactions/mptoken-issuance-destroy.d.ts.map +1 -1
- package/dist/transactions/mptoken-issuance-destroy.js +6 -4
- package/dist/transactions/mptoken-issuance-destroy.js.map +1 -1
- package/dist/transactions/mptoken-issuance-set.d.ts +5 -1
- package/dist/transactions/mptoken-issuance-set.d.ts.map +1 -1
- package/dist/transactions/mptoken-issuance-set.js +8 -7
- package/dist/transactions/mptoken-issuance-set.js.map +1 -1
- package/dist/transactions/nftoken-accept-offer.d.ts +5 -0
- package/dist/transactions/nftoken-accept-offer.d.ts.map +1 -1
- package/dist/transactions/nftoken-accept-offer.js +3 -3
- package/dist/transactions/nftoken-accept-offer.js.map +1 -1
- package/dist/transactions/nftoken-burn.d.ts +7 -1
- package/dist/transactions/nftoken-burn.d.ts.map +1 -1
- package/dist/transactions/nftoken-burn.js +9 -5
- package/dist/transactions/nftoken-burn.js.map +1 -1
- package/dist/transactions/nftoken-cancel-offer.d.ts +5 -1
- package/dist/transactions/nftoken-cancel-offer.d.ts.map +1 -1
- package/dist/transactions/nftoken-cancel-offer.js +6 -6
- package/dist/transactions/nftoken-cancel-offer.js.map +1 -1
- package/dist/transactions/nftoken-create-offer.d.ts +10 -0
- package/dist/transactions/nftoken-create-offer.d.ts.map +1 -1
- package/dist/transactions/nftoken-create-offer.js +7 -5
- package/dist/transactions/nftoken-create-offer.js.map +1 -1
- package/dist/transactions/nftoken-mint.d.ts +9 -1
- package/dist/transactions/nftoken-mint.d.ts.map +1 -1
- package/dist/transactions/nftoken-mint.js +5 -4
- package/dist/transactions/nftoken-mint.js.map +1 -1
- package/dist/transactions/nftoken-modify.d.ts +9 -3
- package/dist/transactions/nftoken-modify.d.ts.map +1 -1
- package/dist/transactions/nftoken-modify.js +12 -9
- package/dist/transactions/nftoken-modify.js.map +1 -1
- package/dist/transactions/offer-cancel.d.ts.map +1 -1
- package/dist/transactions/offer-cancel.js +1 -1
- package/dist/transactions/offer-cancel.js.map +1 -1
- package/dist/transactions/offer-create.d.ts +12 -3
- package/dist/transactions/offer-create.d.ts.map +1 -1
- package/dist/transactions/offer-create.js +19 -28
- package/dist/transactions/offer-create.js.map +1 -1
- package/dist/transactions/oracle-delete.d.ts +4 -3
- package/dist/transactions/oracle-delete.d.ts.map +1 -1
- package/dist/transactions/oracle-delete.js +4 -4
- package/dist/transactions/oracle-delete.js.map +1 -1
- package/dist/transactions/oracle-set.d.ts +18 -8
- package/dist/transactions/oracle-set.d.ts.map +1 -1
- package/dist/transactions/oracle-set.js +15 -23
- package/dist/transactions/oracle-set.js.map +1 -1
- package/dist/transactions/payment-channel-claim.d.ts +13 -8
- package/dist/transactions/payment-channel-claim.d.ts.map +1 -1
- package/dist/transactions/payment-channel-claim.js +9 -16
- package/dist/transactions/payment-channel-claim.js.map +1 -1
- package/dist/transactions/payment-channel-create.d.ts +17 -8
- package/dist/transactions/payment-channel-create.d.ts.map +1 -1
- package/dist/transactions/payment-channel-create.js +16 -21
- package/dist/transactions/payment-channel-create.js.map +1 -1
- package/dist/transactions/payment-channel-fund.d.ts +9 -2
- package/dist/transactions/payment-channel-fund.d.ts.map +1 -1
- package/dist/transactions/payment-channel-fund.js +8 -8
- package/dist/transactions/payment-channel-fund.js.map +1 -1
- package/dist/transactions/payment.d.ts +19 -14
- package/dist/transactions/payment.d.ts.map +1 -1
- package/dist/transactions/payment.js +22 -47
- package/dist/transactions/payment.js.map +1 -1
- package/dist/transactions/permissioned-domain-delete.d.ts +3 -2
- package/dist/transactions/permissioned-domain-delete.d.ts.map +1 -1
- package/dist/transactions/permissioned-domain-delete.js +5 -2
- package/dist/transactions/permissioned-domain-delete.js.map +1 -1
- package/dist/transactions/permissioned-domain-set.d.ts +11 -15
- package/dist/transactions/permissioned-domain-set.d.ts.map +1 -1
- package/dist/transactions/permissioned-domain-set.js +8 -7
- package/dist/transactions/permissioned-domain-set.js.map +1 -1
- package/dist/transactions/set-regular-key.d.ts +5 -1
- package/dist/transactions/set-regular-key.d.ts.map +1 -1
- package/dist/transactions/set-regular-key.js +4 -2
- package/dist/transactions/set-regular-key.js.map +1 -1
- package/dist/transactions/signer-list-set.d.ts +7 -1
- package/dist/transactions/signer-list-set.d.ts.map +1 -1
- package/dist/transactions/signer-list-set.js +4 -2
- package/dist/transactions/signer-list-set.js.map +1 -1
- package/dist/transactions/ticket-create.d.ts +7 -3
- package/dist/transactions/ticket-create.d.ts.map +1 -1
- package/dist/transactions/ticket-create.js +7 -5
- package/dist/transactions/ticket-create.js.map +1 -1
- package/dist/transactions/trust-set.d.ts +9 -2
- package/dist/transactions/trust-set.d.ts.map +1 -1
- package/dist/transactions/trust-set.js +9 -13
- package/dist/transactions/trust-set.js.map +1 -1
- package/dist/transactions/vault-clawback.d.ts +8 -10
- package/dist/transactions/vault-clawback.d.ts.map +1 -1
- package/dist/transactions/vault-clawback.js +8 -16
- package/dist/transactions/vault-clawback.js.map +1 -1
- package/dist/transactions/vault-create.d.ts +3 -7
- package/dist/transactions/vault-create.d.ts.map +1 -1
- package/dist/transactions/vault-create.js +2 -13
- package/dist/transactions/vault-create.js.map +1 -1
- package/dist/transactions/vault-delete.d.ts +3 -5
- package/dist/transactions/vault-delete.d.ts.map +1 -1
- package/dist/transactions/vault-delete.js +2 -7
- package/dist/transactions/vault-delete.js.map +1 -1
- package/dist/transactions/vault-deposit.d.ts +6 -6
- package/dist/transactions/vault-deposit.d.ts.map +1 -1
- package/dist/transactions/vault-deposit.js +5 -8
- package/dist/transactions/vault-deposit.js.map +1 -1
- package/dist/transactions/vault-set.d.ts +3 -7
- package/dist/transactions/vault-set.d.ts.map +1 -1
- package/dist/transactions/vault-set.js +2 -13
- package/dist/transactions/vault-set.js.map +1 -1
- package/dist/transactions/vault-withdraw.d.ts +6 -10
- package/dist/transactions/vault-withdraw.d.ts.map +1 -1
- package/dist/transactions/vault-withdraw.js +5 -12
- package/dist/transactions/vault-withdraw.js.map +1 -1
- package/dist/transactions/xchain-account-create-commit.d.ts +13 -6
- package/dist/transactions/xchain-account-create-commit.d.ts.map +1 -1
- package/dist/transactions/xchain-account-create-commit.js +14 -14
- package/dist/transactions/xchain-account-create-commit.js.map +1 -1
- package/dist/transactions/xchain-add-account-create-attestation.d.ts +17 -17
- package/dist/transactions/xchain-add-account-create-attestation.d.ts.map +1 -1
- package/dist/transactions/xchain-add-account-create-attestation.js +19 -25
- package/dist/transactions/xchain-add-account-create-attestation.js.map +1 -1
- package/dist/transactions/xchain-add-claim-attestation.d.ts +25 -19
- package/dist/transactions/xchain-add-claim-attestation.d.ts.map +1 -1
- package/dist/transactions/xchain-add-claim-attestation.js +20 -26
- package/dist/transactions/xchain-add-claim-attestation.js.map +1 -1
- package/dist/transactions/xchain-claim.d.ts +18 -11
- package/dist/transactions/xchain-claim.d.ts.map +1 -1
- package/dist/transactions/xchain-claim.js +15 -14
- package/dist/transactions/xchain-claim.js.map +1 -1
- package/dist/transactions/xchain-commit.d.ts +16 -7
- package/dist/transactions/xchain-commit.d.ts.map +1 -1
- package/dist/transactions/xchain-commit.js +14 -10
- package/dist/transactions/xchain-commit.js.map +1 -1
- package/dist/transactions/xchain-create-bridge.d.ts +12 -6
- package/dist/transactions/xchain-create-bridge.d.ts.map +1 -1
- package/dist/transactions/xchain-create-bridge.js +11 -10
- package/dist/transactions/xchain-create-bridge.js.map +1 -1
- package/dist/transactions/xchain-create-claim-id.d.ts +9 -4
- package/dist/transactions/xchain-create-claim-id.d.ts.map +1 -1
- package/dist/transactions/xchain-create-claim-id.js +11 -10
- package/dist/transactions/xchain-create-claim-id.js.map +1 -1
- package/dist/transactions/xchain-modify-bridge.d.ts +9 -9
- package/dist/transactions/xchain-modify-bridge.d.ts.map +1 -1
- package/dist/transactions/xchain-modify-bridge.js +9 -8
- package/dist/transactions/xchain-modify-bridge.js.map +1 -1
- 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
|
+
[](https://www.npmjs.com/package/xrp-tx)
|
|
8
|
+
[](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":"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;
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"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"}
|
package/dist/transaction.js
CHANGED
|
@@ -101,12 +101,30 @@ export class Transaction {
|
|
|
101
101
|
*/
|
|
102
102
|
toJSON() {
|
|
103
103
|
const json = {};
|
|
104
|
-
|
|
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 ───────────────────────────────────────────
|
package/dist/transaction.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQ/C,IAAI,aAAsC,CAAC;AAE3C;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,QAAqB;IAChD,aAAa,GAAG,QAAQ,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,MAAS,EACT,MAA+B,EAC/B,IAAc;IAEd,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAkC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,MAAM,oBAAoB,GAAG;IAC3B,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB;IAChE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,gBAAgB;IAClE,cAAc,EAAE,WAAW,EAAE,UAAU;CAC/B,CAAC;AAEX;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAgB,WAAW;IAC/B,oDAAoD;IAC3C,OAAO,CAAU;IAE1B,+BAA+B;IACtB,eAAe,CAAmB;IAE3C,gDAAgD;IACvC,GAAG,CAAU;IAEtB,kDAAkD;IACzC,QAAQ,CAAU;IAE3B,mDAAmD;IAC1C,YAAY,CAAU;IAE/B,sCAAsC;IAC7B,KAAK,CAAiC;IAE/C,iDAAiD;IACxC,kBAAkB,CAAU;IAErC,sCAAsC;IAC7B,KAAK,CAAU;IAExB,+BAA+B;IACtB,OAAO,CAAY;IAE5B,6CAA6C;IACpC,SAAS,CAAU;IAE5B,gCAAgC;IACvB,aAAa,CAAU;IAEhC,wDAAwD;IAC/C,cAAc,CAAU;IAEjC,6BAA6B;IACpB,YAAY,CAAU;IAE/B,kBAAkB;IACT,SAAS,CAAU;IAE5B,wBAAwB;IACf,QAAQ,CAAU;IAE3B;;;;OAIG;IACH,YAAsB,KAA4B;QAChD,MAAM,CAAC,GAAG,KAAgC,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC7C,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,oBAA2C,CAAC,CAAC;IACtE,CAAC;IAED,oEAAoE;IAEpE;;;;;OAKG;IACH,QAAQ;QACN,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAA6B,CAAC,CAAC;IACpE,CAAC;IAED,oEAAoE;IAEpE;;;;;OAKG;IACH,MAAM;QACJ,MAAM,IAAI,GAA4B,EAAE,CAAC;
|
|
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 —
|
|
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
|
|
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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":"
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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 {
|
|
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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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,
|
|
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.
|
|
30
|
-
|
|
31
|
-
|
|
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:
|
|
54
|
-
if (this.TickSize !== 0 && (this.TickSize <
|
|
55
|
-
throw new ValidationError('AccountSet:
|
|
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":"
|
|
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
|
|
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
|
-
|
|
12
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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 {
|
|
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
|
-
|
|
18
|
-
|
|
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
|
|
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.
|
|
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.
|
|
38
|
-
|
|
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":"
|
|
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
|
|
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"}
|