xrpl 4.4.0-smartescrow.0 → 4.5.0-smartescrow.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/build/xrpl-latest-min.js +1 -1
- package/build/xrpl-latest-min.js.map +1 -1
- package/build/xrpl-latest.js +191 -26
- package/build/xrpl-latest.js.map +1 -1
- package/dist/npm/models/common/index.d.ts +16 -0
- package/dist/npm/models/common/index.d.ts.map +1 -1
- package/dist/npm/models/ledger/AccountRoot.d.ts +3 -1
- package/dist/npm/models/ledger/AccountRoot.d.ts.map +1 -1
- package/dist/npm/models/ledger/AccountRoot.js +1 -0
- package/dist/npm/models/ledger/AccountRoot.js.map +1 -1
- package/dist/npm/models/ledger/DirectoryNode.d.ts +1 -0
- package/dist/npm/models/ledger/DirectoryNode.d.ts.map +1 -1
- package/dist/npm/models/ledger/Escrow.d.ts +2 -0
- package/dist/npm/models/ledger/Escrow.d.ts.map +1 -1
- package/dist/npm/models/ledger/MPToken.d.ts +1 -0
- package/dist/npm/models/ledger/MPToken.d.ts.map +1 -1
- package/dist/npm/models/ledger/MPTokenIssuance.d.ts +1 -0
- package/dist/npm/models/ledger/MPTokenIssuance.d.ts.map +1 -1
- package/dist/npm/models/ledger/Offer.d.ts +10 -1
- package/dist/npm/models/ledger/Offer.d.ts.map +1 -1
- package/dist/npm/models/ledger/Offer.js +1 -0
- package/dist/npm/models/ledger/Offer.js.map +1 -1
- package/dist/npm/models/methods/bookOffers.d.ts +1 -0
- package/dist/npm/models/methods/bookOffers.d.ts.map +1 -1
- package/dist/npm/models/methods/pathFind.d.ts +2 -0
- package/dist/npm/models/methods/pathFind.d.ts.map +1 -1
- package/dist/npm/models/methods/ripplePathFind.d.ts +1 -0
- package/dist/npm/models/methods/ripplePathFind.d.ts.map +1 -1
- package/dist/npm/models/methods/subscribe.d.ts +4 -0
- package/dist/npm/models/methods/subscribe.d.ts.map +1 -1
- package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts +1 -1
- package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -1
- package/dist/npm/models/transactions/MPTokenIssuanceCreate.js +14 -5
- package/dist/npm/models/transactions/MPTokenIssuanceCreate.js.map +1 -1
- package/dist/npm/models/transactions/accountSet.d.ts +2 -1
- package/dist/npm/models/transactions/accountSet.d.ts.map +1 -1
- package/dist/npm/models/transactions/accountSet.js +1 -0
- package/dist/npm/models/transactions/accountSet.js.map +1 -1
- package/dist/npm/models/transactions/common.d.ts +4 -0
- package/dist/npm/models/transactions/common.d.ts.map +1 -1
- package/dist/npm/models/transactions/common.js +134 -1
- package/dist/npm/models/transactions/common.js.map +1 -1
- package/dist/npm/models/transactions/escrowCreate.d.ts +2 -1
- package/dist/npm/models/transactions/escrowCreate.d.ts.map +1 -1
- package/dist/npm/models/transactions/escrowCreate.js +1 -6
- package/dist/npm/models/transactions/escrowCreate.js.map +1 -1
- package/dist/npm/models/transactions/escrowFinish.d.ts +5 -0
- package/dist/npm/models/transactions/escrowFinish.d.ts.map +1 -1
- package/dist/npm/models/transactions/escrowFinish.js.map +1 -1
- package/dist/npm/models/transactions/index.d.ts +1 -1
- package/dist/npm/models/transactions/index.d.ts.map +1 -1
- package/dist/npm/models/transactions/index.js +2 -1
- package/dist/npm/models/transactions/index.js.map +1 -1
- package/dist/npm/models/transactions/metadata.d.ts +2 -1
- package/dist/npm/models/transactions/metadata.d.ts.map +1 -1
- package/dist/npm/models/transactions/metadata.js.map +1 -1
- package/dist/npm/models/transactions/offerCreate.d.ts +4 -1
- package/dist/npm/models/transactions/offerCreate.d.ts.map +1 -1
- package/dist/npm/models/transactions/offerCreate.js +10 -0
- package/dist/npm/models/transactions/offerCreate.js.map +1 -1
- package/dist/npm/models/transactions/payment.d.ts +1 -0
- package/dist/npm/models/transactions/payment.d.ts.map +1 -1
- package/dist/npm/models/transactions/payment.js +4 -3
- package/dist/npm/models/transactions/payment.js.map +1 -1
- package/dist/npm/models/transactions/vaultCreate.d.ts.map +1 -1
- package/dist/npm/models/transactions/vaultCreate.js +13 -4
- package/dist/npm/models/transactions/vaultCreate.js.map +1 -1
- package/dist/npm/models/transactions/vaultDeposit.d.ts +2 -2
- package/dist/npm/models/transactions/vaultDeposit.d.ts.map +1 -1
- package/dist/npm/models/transactions/vaultDeposit.js.map +1 -1
- package/dist/npm/models/transactions/vaultWithdraw.d.ts +2 -2
- package/dist/npm/models/transactions/vaultWithdraw.d.ts.map +1 -1
- package/dist/npm/models/transactions/vaultWithdraw.js.map +1 -1
- package/dist/npm/snippets/src/permissionedDEX.d.ts +2 -0
- package/dist/npm/snippets/src/permissionedDEX.d.ts.map +1 -0
- package/dist/npm/snippets/src/permissionedDEX.js +173 -0
- package/dist/npm/snippets/src/permissionedDEX.js.map +1 -0
- package/dist/npm/snippets/tsconfig.tsbuildinfo +1 -1
- package/dist/npm/src/models/common/index.d.ts +16 -0
- package/dist/npm/src/models/common/index.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/AccountRoot.d.ts +3 -1
- package/dist/npm/src/models/ledger/AccountRoot.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/AccountRoot.js +1 -0
- package/dist/npm/src/models/ledger/AccountRoot.js.map +1 -1
- package/dist/npm/src/models/ledger/DirectoryNode.d.ts +1 -0
- package/dist/npm/src/models/ledger/DirectoryNode.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/Escrow.d.ts +2 -0
- package/dist/npm/src/models/ledger/Escrow.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/MPToken.d.ts +1 -0
- package/dist/npm/src/models/ledger/MPToken.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/MPTokenIssuance.d.ts +1 -0
- package/dist/npm/src/models/ledger/MPTokenIssuance.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/Offer.d.ts +10 -1
- package/dist/npm/src/models/ledger/Offer.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/Offer.js +1 -0
- package/dist/npm/src/models/ledger/Offer.js.map +1 -1
- package/dist/npm/src/models/methods/bookOffers.d.ts +1 -0
- package/dist/npm/src/models/methods/bookOffers.d.ts.map +1 -1
- package/dist/npm/src/models/methods/pathFind.d.ts +2 -0
- package/dist/npm/src/models/methods/pathFind.d.ts.map +1 -1
- package/dist/npm/src/models/methods/ripplePathFind.d.ts +1 -0
- package/dist/npm/src/models/methods/ripplePathFind.d.ts.map +1 -1
- package/dist/npm/src/models/methods/subscribe.d.ts +4 -0
- package/dist/npm/src/models/methods/subscribe.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts +1 -1
- package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.js +14 -5
- package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.js.map +1 -1
- package/dist/npm/src/models/transactions/accountSet.d.ts +2 -1
- package/dist/npm/src/models/transactions/accountSet.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/accountSet.js +1 -0
- package/dist/npm/src/models/transactions/accountSet.js.map +1 -1
- package/dist/npm/src/models/transactions/common.d.ts +4 -0
- package/dist/npm/src/models/transactions/common.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/common.js +134 -1
- package/dist/npm/src/models/transactions/common.js.map +1 -1
- package/dist/npm/src/models/transactions/escrowCreate.d.ts +2 -1
- package/dist/npm/src/models/transactions/escrowCreate.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/escrowCreate.js +1 -6
- package/dist/npm/src/models/transactions/escrowCreate.js.map +1 -1
- package/dist/npm/src/models/transactions/escrowFinish.d.ts +5 -0
- package/dist/npm/src/models/transactions/escrowFinish.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/escrowFinish.js.map +1 -1
- package/dist/npm/src/models/transactions/index.d.ts +1 -1
- package/dist/npm/src/models/transactions/index.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/index.js +2 -1
- package/dist/npm/src/models/transactions/index.js.map +1 -1
- package/dist/npm/src/models/transactions/metadata.d.ts +2 -1
- package/dist/npm/src/models/transactions/metadata.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/metadata.js.map +1 -1
- package/dist/npm/src/models/transactions/offerCreate.d.ts +4 -1
- package/dist/npm/src/models/transactions/offerCreate.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/offerCreate.js +10 -0
- package/dist/npm/src/models/transactions/offerCreate.js.map +1 -1
- package/dist/npm/src/models/transactions/payment.d.ts +1 -0
- package/dist/npm/src/models/transactions/payment.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/payment.js +4 -3
- package/dist/npm/src/models/transactions/payment.js.map +1 -1
- package/dist/npm/src/models/transactions/vaultCreate.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/vaultCreate.js +13 -4
- package/dist/npm/src/models/transactions/vaultCreate.js.map +1 -1
- package/dist/npm/src/models/transactions/vaultDeposit.d.ts +2 -2
- package/dist/npm/src/models/transactions/vaultDeposit.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/vaultDeposit.js.map +1 -1
- package/dist/npm/src/models/transactions/vaultWithdraw.d.ts +2 -2
- package/dist/npm/src/models/transactions/vaultWithdraw.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/vaultWithdraw.js.map +1 -1
- package/package.json +4 -4
- package/src/models/common/index.ts +25 -0
- package/src/models/ledger/AccountRoot.ts +10 -0
- package/src/models/ledger/DirectoryNode.ts +3 -0
- package/src/models/ledger/Escrow.ts +13 -1
- package/src/models/ledger/MPToken.ts +1 -0
- package/src/models/ledger/MPTokenIssuance.ts +1 -0
- package/src/models/ledger/Offer.ts +21 -0
- package/src/models/methods/bookOffers.ts +7 -0
- package/src/models/methods/pathFind.ts +10 -0
- package/src/models/methods/ripplePathFind.ts +5 -0
- package/src/models/methods/subscribe.ts +21 -0
- package/src/models/transactions/MPTokenIssuanceCreate.ts +33 -10
- package/src/models/transactions/accountSet.ts +2 -0
- package/src/models/transactions/common.ts +236 -1
- package/src/models/transactions/escrowCreate.ts +8 -12
- package/src/models/transactions/escrowFinish.ts +7 -0
- package/src/models/transactions/index.ts +1 -1
- package/src/models/transactions/metadata.ts +3 -0
- package/src/models/transactions/offerCreate.ts +25 -0
- package/src/models/transactions/payment.ts +18 -6
- package/src/models/transactions/vaultCreate.ts +30 -6
- package/src/models/transactions/vaultDeposit.ts +3 -2
- package/src/models/transactions/vaultWithdraw.ts +3 -2
@@ -14,10 +14,11 @@ import {
|
|
14
14
|
VAULT_DATA_MAX_BYTE_LENGTH,
|
15
15
|
XRPLNumber,
|
16
16
|
isXRPLNumber,
|
17
|
+
MAX_MPT_META_BYTE_LENGTH,
|
18
|
+
MPT_META_WARNING_HEADER,
|
19
|
+
validateMPTokenMetadata,
|
17
20
|
} from './common'
|
18
21
|
|
19
|
-
const META_MAX_BYTE_LENGTH = 1024
|
20
|
-
|
21
22
|
/**
|
22
23
|
* Enum representing withdrawal strategies for a Vault.
|
23
24
|
*/
|
@@ -71,6 +72,12 @@ export interface VaultCreate extends BaseTransaction {
|
|
71
72
|
|
72
73
|
/**
|
73
74
|
* Arbitrary metadata about the share MPT, in hex format, limited to 1024 bytes.
|
75
|
+
*
|
76
|
+
* The decoded value must be a UTF-8 encoded JSON object that adheres to the
|
77
|
+
* XLS-89d MPTokenMetadata standard.
|
78
|
+
*
|
79
|
+
* While adherence to the XLS-89d format is not mandatory, non-compliant metadata
|
80
|
+
* may not be discoverable by ecosystem tools such as explorers and indexers.
|
74
81
|
*/
|
75
82
|
MPTokenMetadata?: string
|
76
83
|
|
@@ -85,13 +92,14 @@ export interface VaultCreate extends BaseTransaction {
|
|
85
92
|
DomainID?: string
|
86
93
|
}
|
87
94
|
|
95
|
+
/* eslint-disable max-lines-per-function -- Not needed to reduce function */
|
96
|
+
/* eslint-disable max-statements -- required to do all field validations */
|
88
97
|
/**
|
89
98
|
* Verify the form and type of an {@link VaultCreate} at runtime.
|
90
99
|
*
|
91
100
|
* @param tx - A {@link VaultCreate} Transaction.
|
92
101
|
* @throws When the {@link VaultCreate} is malformed.
|
93
102
|
*/
|
94
|
-
// eslint-disable-next-line max-lines-per-function -- required to do all field validations
|
95
103
|
export function validateVaultCreate(tx: Record<string, unknown>): void {
|
96
104
|
validateBaseTransaction(tx)
|
97
105
|
|
@@ -119,13 +127,13 @@ export function validateVaultCreate(tx: Record<string, unknown>): void {
|
|
119
127
|
const metaHex = tx.MPTokenMetadata
|
120
128
|
if (!isHex(metaHex)) {
|
121
129
|
throw new ValidationError(
|
122
|
-
'VaultCreate: MPTokenMetadata must be a valid hex string',
|
130
|
+
'VaultCreate: MPTokenMetadata must be a valid non-empty hex string',
|
123
131
|
)
|
124
132
|
}
|
125
133
|
const metaByteLength = metaHex.length / 2
|
126
|
-
if (metaByteLength >
|
134
|
+
if (metaByteLength > MAX_MPT_META_BYTE_LENGTH) {
|
127
135
|
throw new ValidationError(
|
128
|
-
`VaultCreate: MPTokenMetadata exceeds ${
|
136
|
+
`VaultCreate: MPTokenMetadata exceeds ${MAX_MPT_META_BYTE_LENGTH} bytes (actual: ${metaByteLength})`,
|
129
137
|
)
|
130
138
|
}
|
131
139
|
}
|
@@ -139,4 +147,20 @@ export function validateVaultCreate(tx: Record<string, unknown>): void {
|
|
139
147
|
'VaultCreate: Cannot set DomainID unless tfVaultPrivate flag is set.',
|
140
148
|
)
|
141
149
|
}
|
150
|
+
|
151
|
+
if (tx.MPTokenMetadata != null) {
|
152
|
+
const validationMessages = validateMPTokenMetadata(tx.MPTokenMetadata)
|
153
|
+
|
154
|
+
if (validationMessages.length > 0) {
|
155
|
+
const message = [
|
156
|
+
MPT_META_WARNING_HEADER,
|
157
|
+
...validationMessages.map((msg) => `- ${msg}`),
|
158
|
+
].join('\n')
|
159
|
+
|
160
|
+
// eslint-disable-next-line no-console -- Required here.
|
161
|
+
console.warn(message)
|
162
|
+
}
|
163
|
+
}
|
142
164
|
}
|
165
|
+
/* eslint-enable max-lines-per-function */
|
166
|
+
/* eslint-enable max-statements */
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Amount } from '../common'
|
1
|
+
import { Amount, MPTAmount } from '../common'
|
2
2
|
|
3
3
|
import {
|
4
4
|
BaseTransaction,
|
@@ -24,7 +24,8 @@ export interface VaultDeposit extends BaseTransaction {
|
|
24
24
|
/**
|
25
25
|
* Asset amount to deposit.
|
26
26
|
*/
|
27
|
-
|
27
|
+
// TODO: remove MPTAmount when MPTv2 is released
|
28
|
+
Amount: Amount | MPTAmount
|
28
29
|
}
|
29
30
|
|
30
31
|
/**
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Amount } from '../common'
|
1
|
+
import { Amount, MPTAmount } from '../common'
|
2
2
|
|
3
3
|
import {
|
4
4
|
BaseTransaction,
|
@@ -27,7 +27,8 @@ export interface VaultWithdraw extends BaseTransaction {
|
|
27
27
|
/**
|
28
28
|
* The exact amount of Vault asset to withdraw.
|
29
29
|
*/
|
30
|
-
|
30
|
+
// TODO: remove MPTAmount when MPTv2 is released
|
31
|
+
Amount: Amount | MPTAmount
|
31
32
|
|
32
33
|
/**
|
33
34
|
* An account to receive the assets. It must be able to receive the asset.
|