xrpl 4.3.0 → 4.4.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 +1293 -1596
- package/build/xrpl-latest.js.map +1 -1
- package/dist/npm/Wallet/defaultFaucets.d.ts +2 -1
- package/dist/npm/Wallet/defaultFaucets.d.ts.map +1 -1
- package/dist/npm/Wallet/defaultFaucets.js +3 -0
- package/dist/npm/Wallet/defaultFaucets.js.map +1 -1
- package/dist/npm/client/index.d.ts +3 -3
- package/dist/npm/client/index.d.ts.map +1 -1
- package/dist/npm/client/index.js +10 -7
- package/dist/npm/client/index.js.map +1 -1
- package/dist/npm/client/partialPayment.d.ts.map +1 -1
- package/dist/npm/client/partialPayment.js +2 -2
- package/dist/npm/client/partialPayment.js.map +1 -1
- package/dist/npm/models/common/index.d.ts +1 -0
- package/dist/npm/models/common/index.d.ts.map +1 -1
- package/dist/npm/models/ledger/AccountRoot.d.ts +1 -1
- package/dist/npm/models/ledger/AccountRoot.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/FeeSettings.d.ts +2 -0
- package/dist/npm/models/ledger/FeeSettings.d.ts.map +1 -1
- package/dist/npm/models/ledger/LedgerEntry.d.ts +3 -2
- package/dist/npm/models/ledger/LedgerEntry.d.ts.map +1 -1
- package/dist/npm/models/ledger/Vault.d.ts +21 -0
- package/dist/npm/models/ledger/Vault.d.ts.map +1 -0
- package/dist/npm/models/ledger/Vault.js +3 -0
- package/dist/npm/models/ledger/Vault.js.map +1 -0
- package/dist/npm/models/ledger/index.d.ts +2 -1
- package/dist/npm/models/ledger/index.d.ts.map +1 -1
- package/dist/npm/models/ledger/index.js.map +1 -1
- package/dist/npm/models/methods/index.d.ts +5 -4
- package/dist/npm/models/methods/index.d.ts.map +1 -1
- package/dist/npm/models/methods/serverInfo.d.ts +6 -0
- package/dist/npm/models/methods/serverInfo.d.ts.map +1 -1
- package/dist/npm/models/methods/serverState.d.ts +6 -0
- package/dist/npm/models/methods/serverState.d.ts.map +1 -1
- package/dist/npm/models/methods/vaultInfo.d.ts +46 -0
- package/dist/npm/models/methods/vaultInfo.d.ts.map +1 -0
- package/dist/npm/models/methods/vaultInfo.js +3 -0
- package/dist/npm/models/methods/vaultInfo.js.map +1 -0
- package/dist/npm/models/transactions/AMMBid.d.ts.map +1 -1
- package/dist/npm/models/transactions/AMMBid.js +7 -5
- package/dist/npm/models/transactions/AMMBid.js.map +1 -1
- package/dist/npm/models/transactions/AMMClawback.d.ts.map +1 -1
- package/dist/npm/models/transactions/AMMClawback.js +5 -6
- package/dist/npm/models/transactions/AMMClawback.js.map +1 -1
- package/dist/npm/models/transactions/AMMDelete.d.ts.map +1 -1
- package/dist/npm/models/transactions/AMMDelete.js +2 -2
- package/dist/npm/models/transactions/AMMDelete.js.map +1 -1
- package/dist/npm/models/transactions/AMMDeposit.js +3 -3
- package/dist/npm/models/transactions/AMMDeposit.js.map +1 -1
- package/dist/npm/models/transactions/AMMVote.d.ts.map +1 -1
- package/dist/npm/models/transactions/AMMVote.js +2 -2
- package/dist/npm/models/transactions/AMMVote.js.map +1 -1
- package/dist/npm/models/transactions/AMMWithdraw.js +3 -3
- package/dist/npm/models/transactions/AMMWithdraw.js.map +1 -1
- package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -1
- package/dist/npm/models/transactions/MPTokenIssuanceCreate.js +3 -3
- package/dist/npm/models/transactions/MPTokenIssuanceCreate.js.map +1 -1
- package/dist/npm/models/transactions/MPTokenIssuanceSet.js +4 -4
- package/dist/npm/models/transactions/MPTokenIssuanceSet.js.map +1 -1
- package/dist/npm/models/transactions/NFTokenCancelOffer.d.ts.map +1 -1
- package/dist/npm/models/transactions/NFTokenCancelOffer.js +1 -1
- package/dist/npm/models/transactions/NFTokenCancelOffer.js.map +1 -1
- package/dist/npm/models/transactions/NFTokenCreateOffer.d.ts.map +1 -1
- package/dist/npm/models/transactions/NFTokenCreateOffer.js +6 -2
- package/dist/npm/models/transactions/NFTokenCreateOffer.js.map +1 -1
- package/dist/npm/models/transactions/checkCreate.d.ts.map +1 -1
- package/dist/npm/models/transactions/checkCreate.js +1 -2
- package/dist/npm/models/transactions/checkCreate.js.map +1 -1
- package/dist/npm/models/transactions/clawback.d.ts +2 -2
- package/dist/npm/models/transactions/clawback.d.ts.map +1 -1
- package/dist/npm/models/transactions/clawback.js +4 -6
- package/dist/npm/models/transactions/clawback.js.map +1 -1
- package/dist/npm/models/transactions/common.d.ts +9 -4
- package/dist/npm/models/transactions/common.d.ts.map +1 -1
- package/dist/npm/models/transactions/common.js +51 -28
- package/dist/npm/models/transactions/common.js.map +1 -1
- package/dist/npm/models/transactions/escrowCreate.d.ts +2 -0
- package/dist/npm/models/transactions/escrowCreate.d.ts.map +1 -1
- package/dist/npm/models/transactions/escrowCreate.js +4 -2
- package/dist/npm/models/transactions/escrowCreate.js.map +1 -1
- package/dist/npm/models/transactions/escrowFinish.d.ts +1 -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 +8 -2
- package/dist/npm/models/transactions/index.d.ts.map +1 -1
- package/dist/npm/models/transactions/index.js +4 -1
- package/dist/npm/models/transactions/index.js.map +1 -1
- package/dist/npm/models/transactions/oracleSet.d.ts.map +1 -1
- package/dist/npm/models/transactions/oracleSet.js +22 -21
- package/dist/npm/models/transactions/oracleSet.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 +6 -4
- package/dist/npm/models/transactions/payment.js.map +1 -1
- package/dist/npm/models/transactions/signerListSet.d.ts.map +1 -1
- package/dist/npm/models/transactions/signerListSet.js +10 -16
- package/dist/npm/models/transactions/signerListSet.js.map +1 -1
- package/dist/npm/models/transactions/transaction.d.ts +7 -1
- package/dist/npm/models/transactions/transaction.d.ts.map +1 -1
- package/dist/npm/models/transactions/transaction.js +28 -35
- package/dist/npm/models/transactions/transaction.js.map +1 -1
- package/dist/npm/models/transactions/vaultClawback.d.ts +10 -0
- package/dist/npm/models/transactions/vaultClawback.d.ts.map +1 -0
- package/dist/npm/models/transactions/vaultClawback.js +12 -0
- package/dist/npm/models/transactions/vaultClawback.js.map +1 -0
- package/dist/npm/models/transactions/vaultCreate.d.ts +24 -0
- package/dist/npm/models/transactions/vaultCreate.d.ts.map +1 -0
- package/dist/npm/models/transactions/vaultCreate.js +51 -0
- package/dist/npm/models/transactions/vaultCreate.js.map +1 -0
- package/dist/npm/models/transactions/vaultDelete.d.ts +7 -0
- package/dist/npm/models/transactions/vaultDelete.d.ts.map +1 -0
- package/dist/npm/models/transactions/vaultDelete.js +10 -0
- package/dist/npm/models/transactions/vaultDelete.js.map +1 -0
- package/dist/npm/models/transactions/vaultDeposit.d.ts +9 -0
- package/dist/npm/models/transactions/vaultDeposit.d.ts.map +1 -0
- package/dist/npm/models/transactions/vaultDeposit.js +11 -0
- package/dist/npm/models/transactions/vaultDeposit.js.map +1 -0
- package/dist/npm/models/transactions/vaultSet.d.ts +10 -0
- package/dist/npm/models/transactions/vaultSet.d.ts.map +1 -0
- package/dist/npm/models/transactions/vaultSet.js +25 -0
- package/dist/npm/models/transactions/vaultSet.js.map +1 -0
- package/dist/npm/models/transactions/vaultWithdraw.d.ts +10 -0
- package/dist/npm/models/transactions/vaultWithdraw.d.ts.map +1 -0
- package/dist/npm/models/transactions/vaultWithdraw.js +12 -0
- package/dist/npm/models/transactions/vaultWithdraw.js.map +1 -0
- package/dist/npm/models/utils/flags.d.ts.map +1 -1
- package/dist/npm/models/utils/flags.js +2 -0
- package/dist/npm/models/utils/flags.js.map +1 -1
- package/dist/npm/snippets/tsconfig.tsbuildinfo +1 -1
- package/dist/npm/src/Wallet/defaultFaucets.d.ts +2 -1
- package/dist/npm/src/Wallet/defaultFaucets.d.ts.map +1 -1
- package/dist/npm/src/Wallet/defaultFaucets.js +3 -0
- package/dist/npm/src/Wallet/defaultFaucets.js.map +1 -1
- package/dist/npm/src/client/index.d.ts +3 -3
- package/dist/npm/src/client/index.d.ts.map +1 -1
- package/dist/npm/src/client/index.js +10 -7
- package/dist/npm/src/client/index.js.map +1 -1
- package/dist/npm/src/client/partialPayment.d.ts.map +1 -1
- package/dist/npm/src/client/partialPayment.js +2 -2
- package/dist/npm/src/client/partialPayment.js.map +1 -1
- package/dist/npm/src/models/common/index.d.ts +1 -0
- package/dist/npm/src/models/common/index.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/AccountRoot.d.ts +1 -1
- package/dist/npm/src/models/ledger/AccountRoot.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/FeeSettings.d.ts +2 -0
- package/dist/npm/src/models/ledger/FeeSettings.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/LedgerEntry.d.ts +3 -2
- package/dist/npm/src/models/ledger/LedgerEntry.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/Vault.d.ts +21 -0
- package/dist/npm/src/models/ledger/Vault.d.ts.map +1 -0
- package/dist/npm/src/models/ledger/Vault.js +3 -0
- package/dist/npm/src/models/ledger/Vault.js.map +1 -0
- package/dist/npm/src/models/ledger/index.d.ts +2 -1
- package/dist/npm/src/models/ledger/index.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/index.js.map +1 -1
- package/dist/npm/src/models/methods/index.d.ts +5 -4
- package/dist/npm/src/models/methods/index.d.ts.map +1 -1
- package/dist/npm/src/models/methods/serverInfo.d.ts +6 -0
- package/dist/npm/src/models/methods/serverInfo.d.ts.map +1 -1
- package/dist/npm/src/models/methods/serverState.d.ts +6 -0
- package/dist/npm/src/models/methods/serverState.d.ts.map +1 -1
- package/dist/npm/src/models/methods/vaultInfo.d.ts +46 -0
- package/dist/npm/src/models/methods/vaultInfo.d.ts.map +1 -0
- package/dist/npm/src/models/methods/vaultInfo.js +3 -0
- package/dist/npm/src/models/methods/vaultInfo.js.map +1 -0
- package/dist/npm/src/models/transactions/AMMBid.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/AMMBid.js +7 -5
- package/dist/npm/src/models/transactions/AMMBid.js.map +1 -1
- package/dist/npm/src/models/transactions/AMMClawback.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/AMMClawback.js +5 -6
- package/dist/npm/src/models/transactions/AMMClawback.js.map +1 -1
- package/dist/npm/src/models/transactions/AMMDelete.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/AMMDelete.js +2 -2
- package/dist/npm/src/models/transactions/AMMDelete.js.map +1 -1
- package/dist/npm/src/models/transactions/AMMDeposit.js +3 -3
- package/dist/npm/src/models/transactions/AMMDeposit.js.map +1 -1
- package/dist/npm/src/models/transactions/AMMVote.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/AMMVote.js +2 -2
- package/dist/npm/src/models/transactions/AMMVote.js.map +1 -1
- package/dist/npm/src/models/transactions/AMMWithdraw.js +3 -3
- package/dist/npm/src/models/transactions/AMMWithdraw.js.map +1 -1
- package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.js +3 -3
- package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.js.map +1 -1
- package/dist/npm/src/models/transactions/MPTokenIssuanceSet.js +4 -4
- package/dist/npm/src/models/transactions/MPTokenIssuanceSet.js.map +1 -1
- package/dist/npm/src/models/transactions/NFTokenCancelOffer.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/NFTokenCancelOffer.js +1 -1
- package/dist/npm/src/models/transactions/NFTokenCancelOffer.js.map +1 -1
- package/dist/npm/src/models/transactions/NFTokenCreateOffer.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/NFTokenCreateOffer.js +6 -2
- package/dist/npm/src/models/transactions/NFTokenCreateOffer.js.map +1 -1
- package/dist/npm/src/models/transactions/checkCreate.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/checkCreate.js +1 -2
- package/dist/npm/src/models/transactions/checkCreate.js.map +1 -1
- package/dist/npm/src/models/transactions/clawback.d.ts +2 -2
- package/dist/npm/src/models/transactions/clawback.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/clawback.js +4 -6
- package/dist/npm/src/models/transactions/clawback.js.map +1 -1
- package/dist/npm/src/models/transactions/common.d.ts +9 -4
- package/dist/npm/src/models/transactions/common.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/common.js +51 -28
- package/dist/npm/src/models/transactions/common.js.map +1 -1
- package/dist/npm/src/models/transactions/escrowCreate.d.ts +2 -0
- package/dist/npm/src/models/transactions/escrowCreate.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/escrowCreate.js +4 -2
- package/dist/npm/src/models/transactions/escrowCreate.js.map +1 -1
- package/dist/npm/src/models/transactions/escrowFinish.d.ts +1 -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 +8 -2
- package/dist/npm/src/models/transactions/index.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/index.js +4 -1
- package/dist/npm/src/models/transactions/index.js.map +1 -1
- package/dist/npm/src/models/transactions/oracleSet.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/oracleSet.js +22 -21
- package/dist/npm/src/models/transactions/oracleSet.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 +6 -4
- package/dist/npm/src/models/transactions/payment.js.map +1 -1
- package/dist/npm/src/models/transactions/signerListSet.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/signerListSet.js +10 -16
- package/dist/npm/src/models/transactions/signerListSet.js.map +1 -1
- package/dist/npm/src/models/transactions/transaction.d.ts +7 -1
- package/dist/npm/src/models/transactions/transaction.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/transaction.js +28 -35
- package/dist/npm/src/models/transactions/transaction.js.map +1 -1
- package/dist/npm/src/models/transactions/vaultClawback.d.ts +10 -0
- package/dist/npm/src/models/transactions/vaultClawback.d.ts.map +1 -0
- package/dist/npm/src/models/transactions/vaultClawback.js +12 -0
- package/dist/npm/src/models/transactions/vaultClawback.js.map +1 -0
- package/dist/npm/src/models/transactions/vaultCreate.d.ts +24 -0
- package/dist/npm/src/models/transactions/vaultCreate.d.ts.map +1 -0
- package/dist/npm/src/models/transactions/vaultCreate.js +51 -0
- package/dist/npm/src/models/transactions/vaultCreate.js.map +1 -0
- package/dist/npm/src/models/transactions/vaultDelete.d.ts +7 -0
- package/dist/npm/src/models/transactions/vaultDelete.d.ts.map +1 -0
- package/dist/npm/src/models/transactions/vaultDelete.js +10 -0
- package/dist/npm/src/models/transactions/vaultDelete.js.map +1 -0
- package/dist/npm/src/models/transactions/vaultDeposit.d.ts +9 -0
- package/dist/npm/src/models/transactions/vaultDeposit.d.ts.map +1 -0
- package/dist/npm/src/models/transactions/vaultDeposit.js +11 -0
- package/dist/npm/src/models/transactions/vaultDeposit.js.map +1 -0
- package/dist/npm/src/models/transactions/vaultSet.d.ts +10 -0
- package/dist/npm/src/models/transactions/vaultSet.d.ts.map +1 -0
- package/dist/npm/src/models/transactions/vaultSet.js +25 -0
- package/dist/npm/src/models/transactions/vaultSet.js.map +1 -0
- package/dist/npm/src/models/transactions/vaultWithdraw.d.ts +10 -0
- package/dist/npm/src/models/transactions/vaultWithdraw.d.ts.map +1 -0
- package/dist/npm/src/models/transactions/vaultWithdraw.js +12 -0
- package/dist/npm/src/models/transactions/vaultWithdraw.js.map +1 -0
- package/dist/npm/src/models/utils/flags.d.ts.map +1 -1
- package/dist/npm/src/models/utils/flags.js +2 -0
- package/dist/npm/src/models/utils/flags.js.map +1 -1
- package/dist/npm/src/sugar/autofill.d.ts.map +1 -1
- package/dist/npm/src/sugar/autofill.js +32 -11
- package/dist/npm/src/sugar/autofill.js.map +1 -1
- package/dist/npm/sugar/autofill.d.ts.map +1 -1
- package/dist/npm/sugar/autofill.js +32 -11
- package/dist/npm/sugar/autofill.js.map +1 -1
- package/package.json +5 -4
- package/src/Wallet/defaultFaucets.ts +5 -0
- package/src/client/index.ts +43 -38
- package/src/client/partialPayment.ts +1 -2
- package/src/models/common/index.ts +2 -0
- package/src/models/ledger/AccountRoot.ts +1 -1
- package/src/models/ledger/Escrow.ts +4 -0
- package/src/models/ledger/FeeSettings.ts +4 -0
- package/src/models/ledger/LedgerEntry.ts +3 -0
- package/src/models/ledger/Vault.ts +83 -0
- package/src/models/ledger/index.ts +3 -1
- package/src/models/methods/index.ts +10 -0
- package/src/models/methods/serverInfo.ts +9 -0
- package/src/models/methods/serverState.ts +10 -0
- package/src/models/methods/vaultInfo.ts +193 -0
- package/src/models/transactions/AMMBid.ts +12 -20
- package/src/models/transactions/AMMClawback.ts +8 -11
- package/src/models/transactions/AMMDelete.ts +7 -3
- package/src/models/transactions/AMMDeposit.ts +4 -4
- package/src/models/transactions/AMMVote.ts +7 -3
- package/src/models/transactions/AMMWithdraw.ts +4 -4
- package/src/models/transactions/MPTokenIssuanceCreate.ts +3 -1
- package/src/models/transactions/MPTokenIssuanceSet.ts +1 -1
- package/src/models/transactions/NFTokenCancelOffer.ts +2 -2
- package/src/models/transactions/NFTokenCreateOffer.ts +8 -4
- package/src/models/transactions/checkCreate.ts +2 -6
- package/src/models/transactions/clawback.ts +9 -10
- package/src/models/transactions/common.ts +114 -41
- package/src/models/transactions/escrowCreate.ts +10 -2
- package/src/models/transactions/escrowFinish.ts +2 -0
- package/src/models/transactions/index.ts +13 -2
- package/src/models/transactions/oracleSet.ts +32 -39
- package/src/models/transactions/payment.ts +13 -7
- package/src/models/transactions/signerListSet.ts +21 -21
- package/src/models/transactions/transaction.ts +46 -43
- package/src/models/transactions/vaultClawback.ts +55 -0
- package/src/models/transactions/vaultCreate.ts +142 -0
- package/src/models/transactions/vaultDelete.ts +32 -0
- package/src/models/transactions/vaultDeposit.ts +41 -0
- package/src/models/transactions/vaultSet.ts +71 -0
- package/src/models/transactions/vaultWithdraw.ts +50 -0
- package/src/models/utils/flags.ts +2 -0
- package/src/sugar/autofill.ts +44 -31
@@ -0,0 +1,193 @@
|
|
1
|
+
import { Currency } from '../common'
|
2
|
+
|
3
|
+
import { BaseRequest, BaseResponse } from './baseMethod'
|
4
|
+
|
5
|
+
/**
|
6
|
+
* The `vault_info` method gets information about a Vault instance.
|
7
|
+
* Returns an {@link VaultInfoResponse}.
|
8
|
+
*
|
9
|
+
* @category Requests
|
10
|
+
*/
|
11
|
+
export interface VaultInfoRequest extends BaseRequest {
|
12
|
+
command: 'vault_info'
|
13
|
+
|
14
|
+
/**
|
15
|
+
* The object ID of the Vault to be returned.
|
16
|
+
*/
|
17
|
+
vault_id?: string
|
18
|
+
|
19
|
+
/**
|
20
|
+
* ID of the Vault Owner account.
|
21
|
+
*/
|
22
|
+
owner?: string
|
23
|
+
|
24
|
+
/**
|
25
|
+
* Sequence number of the vault entry.
|
26
|
+
*/
|
27
|
+
seq?: number
|
28
|
+
}
|
29
|
+
|
30
|
+
/**
|
31
|
+
* Response expected from an {@link VaultInfoRequest}.
|
32
|
+
*
|
33
|
+
* @category Responses
|
34
|
+
*/
|
35
|
+
export interface VaultInfoResponse extends BaseResponse {
|
36
|
+
result: {
|
37
|
+
vault: {
|
38
|
+
/**
|
39
|
+
* The pseudo-account ID of the vault.
|
40
|
+
*/
|
41
|
+
Account: string
|
42
|
+
|
43
|
+
/**
|
44
|
+
* Object representing the asset held in the vault.
|
45
|
+
*/
|
46
|
+
Asset: Currency
|
47
|
+
|
48
|
+
/**
|
49
|
+
* Amount of assets currently available for withdrawal.
|
50
|
+
*/
|
51
|
+
AssetsAvailable: string
|
52
|
+
|
53
|
+
/**
|
54
|
+
* Total amount of assets in the vault.
|
55
|
+
*/
|
56
|
+
AssetsTotal: string
|
57
|
+
|
58
|
+
/**
|
59
|
+
* Ledger entry type, always "Vault".
|
60
|
+
*/
|
61
|
+
LedgerEntryType: 'Vault'
|
62
|
+
|
63
|
+
/**
|
64
|
+
* ID of the Vault Owner account.
|
65
|
+
*/
|
66
|
+
Owner: string
|
67
|
+
|
68
|
+
/**
|
69
|
+
* Transaction ID of the last modification to this vault.
|
70
|
+
*/
|
71
|
+
PreviousTxnID: string
|
72
|
+
|
73
|
+
/**
|
74
|
+
* Ledger sequence number of the last transaction modifying this vault.
|
75
|
+
*/
|
76
|
+
PreviousTxnLgrSeq: number
|
77
|
+
|
78
|
+
/**
|
79
|
+
* Sequence number of the vault entry.
|
80
|
+
*/
|
81
|
+
Sequence: number
|
82
|
+
|
83
|
+
/**
|
84
|
+
* Unique index of the vault ledger entry.
|
85
|
+
*/
|
86
|
+
index: string
|
87
|
+
|
88
|
+
/**
|
89
|
+
* Object containing details about issued shares.
|
90
|
+
*/
|
91
|
+
shares: {
|
92
|
+
/**
|
93
|
+
* The ID of the Issuer of the Share. It will always be the pseudo-account ID.
|
94
|
+
*/
|
95
|
+
Issuer: string
|
96
|
+
|
97
|
+
/**
|
98
|
+
* Ledger entry type, always "MPTokenIssuance".
|
99
|
+
*/
|
100
|
+
LedgerEntryType: string
|
101
|
+
|
102
|
+
/**
|
103
|
+
* Total outstanding shares issued.
|
104
|
+
*/
|
105
|
+
OutstandingAmount: string
|
106
|
+
|
107
|
+
/**
|
108
|
+
* Transaction ID of the last modification to the shares issuance.
|
109
|
+
*/
|
110
|
+
PreviousTxnID: string
|
111
|
+
|
112
|
+
/**
|
113
|
+
* Ledger sequence number of the last transaction modifying the shares issuance.
|
114
|
+
*/
|
115
|
+
PreviousTxnLgrSeq: number
|
116
|
+
|
117
|
+
/**
|
118
|
+
* Sequence number of the shares issuance entry.
|
119
|
+
*/
|
120
|
+
Sequence: number
|
121
|
+
|
122
|
+
/**
|
123
|
+
* Unique index of the shares ledger entry.
|
124
|
+
*/
|
125
|
+
index: string
|
126
|
+
|
127
|
+
/**
|
128
|
+
* Identifier for the owner node of the shares.
|
129
|
+
*/
|
130
|
+
OwnerNode?: string
|
131
|
+
|
132
|
+
/**
|
133
|
+
* The ID of the MPTokenIssuance object. It will always be equal to vault.ShareMPTID.
|
134
|
+
*/
|
135
|
+
mpt_issuance_id?: string
|
136
|
+
|
137
|
+
/**
|
138
|
+
* The PermissionedDomain object ID associated with the shares of this Vault.
|
139
|
+
*/
|
140
|
+
DomainID?: string
|
141
|
+
|
142
|
+
/**
|
143
|
+
* Bit-field flags associated with the shares issuance.
|
144
|
+
*/
|
145
|
+
Flags?: number
|
146
|
+
}
|
147
|
+
|
148
|
+
/**
|
149
|
+
* Unrealized loss associated with the vault.
|
150
|
+
*/
|
151
|
+
LossUnrealized?: string
|
152
|
+
|
153
|
+
/**
|
154
|
+
* Identifier for the owner node in the ledger tree.
|
155
|
+
*/
|
156
|
+
OwnerNode?: string
|
157
|
+
|
158
|
+
/**
|
159
|
+
* Multi-purpose token ID associated with this vault.
|
160
|
+
*/
|
161
|
+
ShareMPTID?: string
|
162
|
+
|
163
|
+
/**
|
164
|
+
* Policy defining withdrawal conditions.
|
165
|
+
*/
|
166
|
+
WithdrawalPolicy?: number
|
167
|
+
|
168
|
+
/**
|
169
|
+
* Flags
|
170
|
+
*/
|
171
|
+
Flags?: number
|
172
|
+
}
|
173
|
+
|
174
|
+
/**
|
175
|
+
* The identifying hash of the ledger that was used to generate this
|
176
|
+
* response.
|
177
|
+
*/
|
178
|
+
ledger_hash?: string
|
179
|
+
|
180
|
+
/**
|
181
|
+
* The ledger index of the ledger version that was used to generate this
|
182
|
+
* response.
|
183
|
+
*/
|
184
|
+
ledger_index?: number
|
185
|
+
|
186
|
+
/**
|
187
|
+
* If included and set to true, the information in this response comes from
|
188
|
+
* a validated ledger version. Otherwise, the information is subject to
|
189
|
+
* change.
|
190
|
+
*/
|
191
|
+
validated?: boolean
|
192
|
+
}
|
193
|
+
}
|
@@ -4,7 +4,9 @@ import { AuthAccount, Currency, IssuedCurrencyAmount } from '../common'
|
|
4
4
|
import {
|
5
5
|
BaseTransaction,
|
6
6
|
isAmount,
|
7
|
-
|
7
|
+
isArray,
|
8
|
+
isIssuedCurrency,
|
9
|
+
isRecord,
|
8
10
|
validateBaseTransaction,
|
9
11
|
} from './common'
|
10
12
|
|
@@ -65,7 +67,7 @@ export function validateAMMBid(tx: Record<string, unknown>): void {
|
|
65
67
|
throw new ValidationError('AMMBid: missing field Asset')
|
66
68
|
}
|
67
69
|
|
68
|
-
if (!
|
70
|
+
if (!isIssuedCurrency(tx.Asset)) {
|
69
71
|
throw new ValidationError('AMMBid: Asset must be a Currency')
|
70
72
|
}
|
71
73
|
|
@@ -73,7 +75,7 @@ export function validateAMMBid(tx: Record<string, unknown>): void {
|
|
73
75
|
throw new ValidationError('AMMBid: missing field Asset2')
|
74
76
|
}
|
75
77
|
|
76
|
-
if (!
|
78
|
+
if (!isIssuedCurrency(tx.Asset2)) {
|
77
79
|
throw new ValidationError('AMMBid: Asset2 must be a Currency')
|
78
80
|
}
|
79
81
|
|
@@ -86,7 +88,7 @@ export function validateAMMBid(tx: Record<string, unknown>): void {
|
|
86
88
|
}
|
87
89
|
|
88
90
|
if (tx.AuthAccounts != null) {
|
89
|
-
if (!
|
91
|
+
if (!isArray(tx.AuthAccounts)) {
|
90
92
|
throw new ValidationError(
|
91
93
|
`AMMBid: AuthAccounts must be an AuthAccount array`,
|
92
94
|
)
|
@@ -96,37 +98,27 @@ export function validateAMMBid(tx: Record<string, unknown>): void {
|
|
96
98
|
`AMMBid: AuthAccounts length must not be greater than ${MAX_AUTH_ACCOUNTS}`,
|
97
99
|
)
|
98
100
|
}
|
99
|
-
validateAuthAccounts(
|
100
|
-
tx.Account,
|
101
|
-
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- Only used by JS
|
102
|
-
tx.AuthAccounts as Array<Record<string, unknown>>,
|
103
|
-
)
|
101
|
+
validateAuthAccounts(tx.Account, tx.AuthAccounts)
|
104
102
|
}
|
105
103
|
}
|
106
104
|
|
107
105
|
function validateAuthAccounts(
|
108
106
|
senderAddress: string,
|
109
|
-
authAccounts:
|
107
|
+
authAccounts: unknown[],
|
110
108
|
): boolean {
|
111
109
|
for (const authAccount of authAccounts) {
|
112
|
-
if (
|
113
|
-
|
114
|
-
|
115
|
-
) {
|
110
|
+
if (!isRecord(authAccount)) {
|
111
|
+
throw new ValidationError(`AMMBid: invalid AuthAccounts`)
|
112
|
+
}
|
113
|
+
if (!isRecord(authAccount.AuthAccount)) {
|
116
114
|
throw new ValidationError(`AMMBid: invalid AuthAccounts`)
|
117
115
|
}
|
118
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment -- used for null check
|
119
|
-
// @ts-expect-error -- used for null check
|
120
116
|
if (authAccount.AuthAccount.Account == null) {
|
121
117
|
throw new ValidationError(`AMMBid: invalid AuthAccounts`)
|
122
118
|
}
|
123
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment -- used for null check
|
124
|
-
// @ts-expect-error -- used for null check
|
125
119
|
if (typeof authAccount.AuthAccount.Account !== 'string') {
|
126
120
|
throw new ValidationError(`AMMBid: invalid AuthAccounts`)
|
127
121
|
}
|
128
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment -- used for null check
|
129
|
-
// @ts-expect-error -- used for null check
|
130
122
|
if (authAccount.AuthAccount.Account === senderAddress) {
|
131
123
|
throw new ValidationError(
|
132
124
|
`AMMBid: AuthAccounts must not include sender's address`,
|
@@ -6,8 +6,8 @@ import {
|
|
6
6
|
BaseTransaction,
|
7
7
|
GlobalFlagsInterface,
|
8
8
|
isAccount,
|
9
|
-
|
10
|
-
|
9
|
+
isIssuedCurrency,
|
10
|
+
isIssuedCurrencyAmount,
|
11
11
|
validateBaseTransaction,
|
12
12
|
validateOptionalField,
|
13
13
|
validateRequiredField,
|
@@ -81,12 +81,9 @@ export function validateAMMClawback(tx: Record<string, unknown>): void {
|
|
81
81
|
|
82
82
|
validateRequiredField(tx, 'Holder', isAccount)
|
83
83
|
|
84
|
-
validateRequiredField(tx, 'Asset',
|
84
|
+
validateRequiredField(tx, 'Asset', isIssuedCurrency)
|
85
85
|
|
86
|
-
|
87
|
-
const asset = tx.Asset as IssuedCurrency
|
88
|
-
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- required
|
89
|
-
const amount = tx.Amount as IssuedCurrencyAmount
|
86
|
+
const asset = tx.Asset
|
90
87
|
|
91
88
|
if (tx.Holder === asset.issuer) {
|
92
89
|
throw new ValidationError(
|
@@ -100,18 +97,18 @@ export function validateAMMClawback(tx: Record<string, unknown>): void {
|
|
100
97
|
)
|
101
98
|
}
|
102
99
|
|
103
|
-
validateRequiredField(tx, 'Asset2',
|
100
|
+
validateRequiredField(tx, 'Asset2', isIssuedCurrency)
|
104
101
|
|
105
|
-
validateOptionalField(tx, 'Amount',
|
102
|
+
validateOptionalField(tx, 'Amount', isIssuedCurrencyAmount)
|
106
103
|
|
107
104
|
if (tx.Amount != null) {
|
108
|
-
if (
|
105
|
+
if (tx.Amount.currency !== asset.currency) {
|
109
106
|
throw new ValidationError(
|
110
107
|
'AMMClawback: Amount.currency must match Asset.currency',
|
111
108
|
)
|
112
109
|
}
|
113
110
|
|
114
|
-
if (
|
111
|
+
if (tx.Amount.issuer !== asset.issuer) {
|
115
112
|
throw new ValidationError(
|
116
113
|
'AMMClawback: Amount.issuer must match Amount.issuer',
|
117
114
|
)
|
@@ -1,7 +1,11 @@
|
|
1
1
|
import { ValidationError } from '../../errors'
|
2
2
|
import { Currency } from '../common'
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {
|
5
|
+
BaseTransaction,
|
6
|
+
isIssuedCurrency,
|
7
|
+
validateBaseTransaction,
|
8
|
+
} from './common'
|
5
9
|
|
6
10
|
/**
|
7
11
|
* Delete an empty Automated Market Maker (AMM) instance that could not be fully deleted automatically.
|
@@ -41,7 +45,7 @@ export function validateAMMDelete(tx: Record<string, unknown>): void {
|
|
41
45
|
throw new ValidationError('AMMDelete: missing field Asset')
|
42
46
|
}
|
43
47
|
|
44
|
-
if (!
|
48
|
+
if (!isIssuedCurrency(tx.Asset)) {
|
45
49
|
throw new ValidationError('AMMDelete: Asset must be a Currency')
|
46
50
|
}
|
47
51
|
|
@@ -49,7 +53,7 @@ export function validateAMMDelete(tx: Record<string, unknown>): void {
|
|
49
53
|
throw new ValidationError('AMMDelete: missing field Asset2')
|
50
54
|
}
|
51
55
|
|
52
|
-
if (!
|
56
|
+
if (!isIssuedCurrency(tx.Asset2)) {
|
53
57
|
throw new ValidationError('AMMDelete: Asset2 must be a Currency')
|
54
58
|
}
|
55
59
|
}
|
@@ -5,8 +5,8 @@ import {
|
|
5
5
|
BaseTransaction,
|
6
6
|
GlobalFlagsInterface,
|
7
7
|
isAmount,
|
8
|
-
isCurrency,
|
9
8
|
isIssuedCurrency,
|
9
|
+
isIssuedCurrencyAmount,
|
10
10
|
validateBaseTransaction,
|
11
11
|
} from './common'
|
12
12
|
|
@@ -89,7 +89,7 @@ export function validateAMMDeposit(tx: Record<string, unknown>): void {
|
|
89
89
|
throw new ValidationError('AMMDeposit: missing field Asset')
|
90
90
|
}
|
91
91
|
|
92
|
-
if (!
|
92
|
+
if (!isIssuedCurrency(tx.Asset)) {
|
93
93
|
throw new ValidationError('AMMDeposit: Asset must be a Currency')
|
94
94
|
}
|
95
95
|
|
@@ -97,7 +97,7 @@ export function validateAMMDeposit(tx: Record<string, unknown>): void {
|
|
97
97
|
throw new ValidationError('AMMDeposit: missing field Asset2')
|
98
98
|
}
|
99
99
|
|
100
|
-
if (!
|
100
|
+
if (!isIssuedCurrency(tx.Asset2)) {
|
101
101
|
throw new ValidationError('AMMDeposit: Asset2 must be a Currency')
|
102
102
|
}
|
103
103
|
|
@@ -111,7 +111,7 @@ export function validateAMMDeposit(tx: Record<string, unknown>): void {
|
|
111
111
|
)
|
112
112
|
}
|
113
113
|
|
114
|
-
if (tx.LPTokenOut != null && !
|
114
|
+
if (tx.LPTokenOut != null && !isIssuedCurrencyAmount(tx.LPTokenOut)) {
|
115
115
|
throw new ValidationError(
|
116
116
|
'AMMDeposit: LPTokenOut must be an IssuedCurrencyAmount',
|
117
117
|
)
|
@@ -2,7 +2,11 @@ import { ValidationError } from '../../errors'
|
|
2
2
|
import { Currency } from '../common'
|
3
3
|
|
4
4
|
import { AMM_MAX_TRADING_FEE } from './AMMCreate'
|
5
|
-
import {
|
5
|
+
import {
|
6
|
+
BaseTransaction,
|
7
|
+
isIssuedCurrency,
|
8
|
+
validateBaseTransaction,
|
9
|
+
} from './common'
|
6
10
|
|
7
11
|
/**
|
8
12
|
* Vote on the trading fee for an Automated Market Maker (AMM) instance.
|
@@ -43,7 +47,7 @@ export function validateAMMVote(tx: Record<string, unknown>): void {
|
|
43
47
|
throw new ValidationError('AMMVote: missing field Asset')
|
44
48
|
}
|
45
49
|
|
46
|
-
if (!
|
50
|
+
if (!isIssuedCurrency(tx.Asset)) {
|
47
51
|
throw new ValidationError('AMMVote: Asset must be a Currency')
|
48
52
|
}
|
49
53
|
|
@@ -51,7 +55,7 @@ export function validateAMMVote(tx: Record<string, unknown>): void {
|
|
51
55
|
throw new ValidationError('AMMVote: missing field Asset2')
|
52
56
|
}
|
53
57
|
|
54
|
-
if (!
|
58
|
+
if (!isIssuedCurrency(tx.Asset2)) {
|
55
59
|
throw new ValidationError('AMMVote: Asset2 must be a Currency')
|
56
60
|
}
|
57
61
|
|
@@ -5,8 +5,8 @@ import {
|
|
5
5
|
BaseTransaction,
|
6
6
|
GlobalFlagsInterface,
|
7
7
|
isAmount,
|
8
|
-
isCurrency,
|
9
8
|
isIssuedCurrency,
|
9
|
+
isIssuedCurrencyAmount,
|
10
10
|
validateBaseTransaction,
|
11
11
|
} from './common'
|
12
12
|
|
@@ -87,7 +87,7 @@ export function validateAMMWithdraw(tx: Record<string, unknown>): void {
|
|
87
87
|
throw new ValidationError('AMMWithdraw: missing field Asset')
|
88
88
|
}
|
89
89
|
|
90
|
-
if (!
|
90
|
+
if (!isIssuedCurrency(tx.Asset)) {
|
91
91
|
throw new ValidationError('AMMWithdraw: Asset must be a Currency')
|
92
92
|
}
|
93
93
|
|
@@ -95,7 +95,7 @@ export function validateAMMWithdraw(tx: Record<string, unknown>): void {
|
|
95
95
|
throw new ValidationError('AMMWithdraw: missing field Asset2')
|
96
96
|
}
|
97
97
|
|
98
|
-
if (!
|
98
|
+
if (!isIssuedCurrency(tx.Asset2)) {
|
99
99
|
throw new ValidationError('AMMWithdraw: Asset2 must be a Currency')
|
100
100
|
}
|
101
101
|
|
@@ -105,7 +105,7 @@ export function validateAMMWithdraw(tx: Record<string, unknown>): void {
|
|
105
105
|
throw new ValidationError('AMMWithdraw: must set Amount with EPrice')
|
106
106
|
}
|
107
107
|
|
108
|
-
if (tx.LPTokenIn != null && !
|
108
|
+
if (tx.LPTokenIn != null && !isIssuedCurrencyAmount(tx.LPTokenIn)) {
|
109
109
|
throw new ValidationError(
|
110
110
|
'AMMWithdraw: LPTokenIn must be an IssuedCurrencyAmount',
|
111
111
|
)
|
@@ -158,7 +158,9 @@ export function validateMPTokenIssuanceCreate(
|
|
158
158
|
|
159
159
|
if (typeof tx.TransferFee === 'number') {
|
160
160
|
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- Not necessary
|
161
|
-
const flags = tx.Flags
|
161
|
+
const flags = (tx.Flags ?? 0) as
|
162
|
+
| number
|
163
|
+
| MPTokenIssuanceCreateFlagsInterface
|
162
164
|
const isTfMPTCanTransfer =
|
163
165
|
typeof flags === 'number'
|
164
166
|
? isFlagEnabled(flags, MPTokenIssuanceCreateFlags.tfMPTCanTransfer)
|
@@ -69,7 +69,7 @@ export function validateMPTokenIssuanceSet(tx: Record<string, unknown>): void {
|
|
69
69
|
validateOptionalField(tx, 'Holder', isAccount)
|
70
70
|
|
71
71
|
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- Not necessary
|
72
|
-
const flags = tx.Flags as number | MPTokenIssuanceSetFlagsInterface
|
72
|
+
const flags = (tx.Flags ?? 0) as number | MPTokenIssuanceSetFlagsInterface
|
73
73
|
const isTfMPTLock =
|
74
74
|
typeof flags === 'number'
|
75
75
|
? isFlagEnabled(flags, MPTokenIssuanceSetFlags.tfMPTLock)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { ValidationError } from '../../errors'
|
2
2
|
|
3
|
-
import { BaseTransaction, validateBaseTransaction } from './common'
|
3
|
+
import { BaseTransaction, isArray, validateBaseTransaction } from './common'
|
4
4
|
import type { TransactionMetadataBase } from './metadata'
|
5
5
|
|
6
6
|
/**
|
@@ -41,7 +41,7 @@ export interface NFTokenCancelOfferMetadata extends TransactionMetadataBase {
|
|
41
41
|
export function validateNFTokenCancelOffer(tx: Record<string, unknown>): void {
|
42
42
|
validateBaseTransaction(tx)
|
43
43
|
|
44
|
-
if (!
|
44
|
+
if (!isArray(tx.NFTokenOffers)) {
|
45
45
|
throw new ValidationError('NFTokenCancelOffer: missing field NFTokenOffers')
|
46
46
|
}
|
47
47
|
|
@@ -146,10 +146,14 @@ export function validateNFTokenCreateOffer(tx: Record<string, unknown>): void {
|
|
146
146
|
throw new ValidationError('NFTokenCreateOffer: invalid Amount')
|
147
147
|
}
|
148
148
|
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
149
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- checked in BaseTransaction
|
150
|
+
const flags = (tx.Flags ?? 0) as number | NFTokenCreateOfferFlagsInterface
|
151
|
+
const isTfSellNFToken =
|
152
|
+
typeof flags === 'number'
|
153
|
+
? isFlagEnabled(flags, NFTokenCreateOfferFlags.tfSellNFToken)
|
154
|
+
: flags.tfSellNFToken ?? false
|
155
|
+
|
156
|
+
if (isTfSellNFToken) {
|
153
157
|
validateNFTokenSellOfferCases(tx)
|
154
158
|
} else {
|
155
159
|
validateNFTokenBuyOfferCases(tx)
|
@@ -4,7 +4,7 @@ import { Amount } from '../common'
|
|
4
4
|
import {
|
5
5
|
BaseTransaction,
|
6
6
|
validateBaseTransaction,
|
7
|
-
|
7
|
+
isIssuedCurrencyAmount,
|
8
8
|
isAccount,
|
9
9
|
validateRequiredField,
|
10
10
|
validateOptionalField,
|
@@ -64,11 +64,7 @@ export function validateCheckCreate(tx: Record<string, unknown>): void {
|
|
64
64
|
validateRequiredField(tx, 'Destination', isAccount)
|
65
65
|
validateOptionalField(tx, 'DestinationTag', isNumber)
|
66
66
|
|
67
|
-
if (
|
68
|
-
typeof tx.SendMax !== 'string' &&
|
69
|
-
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- Only used by JS
|
70
|
-
!isIssuedCurrency(tx.SendMax as Record<string, unknown>)
|
71
|
-
) {
|
67
|
+
if (typeof tx.SendMax !== 'string' && !isIssuedCurrencyAmount(tx.SendMax)) {
|
72
68
|
throw new ValidationError('CheckCreate: invalid SendMax')
|
73
69
|
}
|
74
70
|
|
@@ -1,13 +1,15 @@
|
|
1
1
|
import { ValidationError } from '../../errors'
|
2
|
-
import {
|
2
|
+
import { ClawbackAmount } from '../common'
|
3
3
|
|
4
4
|
import {
|
5
5
|
BaseTransaction,
|
6
6
|
validateBaseTransaction,
|
7
|
-
|
7
|
+
isIssuedCurrencyAmount,
|
8
8
|
isMPTAmount,
|
9
9
|
isAccount,
|
10
10
|
validateOptionalField,
|
11
|
+
isClawbackAmount,
|
12
|
+
validateRequiredField,
|
11
13
|
} from './common'
|
12
14
|
|
13
15
|
/**
|
@@ -26,7 +28,7 @@ export interface Clawback extends BaseTransaction {
|
|
26
28
|
* names MUST be lower-case. If the amount is IOU, the `issuer` field MUST be the holder's address,
|
27
29
|
* whom to be clawed back.
|
28
30
|
*/
|
29
|
-
Amount:
|
31
|
+
Amount: ClawbackAmount
|
30
32
|
/**
|
31
33
|
* Indicates the AccountID that the issuer wants to clawback. This field is only valid for clawing back
|
32
34
|
* MPTs.
|
@@ -42,17 +44,14 @@ export interface Clawback extends BaseTransaction {
|
|
42
44
|
*/
|
43
45
|
export function validateClawback(tx: Record<string, unknown>): void {
|
44
46
|
validateBaseTransaction(tx)
|
47
|
+
validateRequiredField(tx, 'Amount', isClawbackAmount)
|
45
48
|
validateOptionalField(tx, 'Holder', isAccount)
|
46
49
|
|
47
|
-
if (tx.Amount
|
48
|
-
throw new ValidationError('Clawback: missing field Amount')
|
49
|
-
}
|
50
|
-
|
51
|
-
if (!isIssuedCurrency(tx.Amount) && !isMPTAmount(tx.Amount)) {
|
50
|
+
if (!isIssuedCurrencyAmount(tx.Amount) && !isMPTAmount(tx.Amount)) {
|
52
51
|
throw new ValidationError('Clawback: invalid Amount')
|
53
52
|
}
|
54
53
|
|
55
|
-
if (
|
54
|
+
if (isIssuedCurrencyAmount(tx.Amount) && tx.Account === tx.Amount.issuer) {
|
56
55
|
throw new ValidationError('Clawback: invalid holder Account')
|
57
56
|
}
|
58
57
|
|
@@ -60,7 +59,7 @@ export function validateClawback(tx: Record<string, unknown>): void {
|
|
60
59
|
throw new ValidationError('Clawback: invalid holder Account')
|
61
60
|
}
|
62
61
|
|
63
|
-
if (
|
62
|
+
if (isIssuedCurrencyAmount(tx.Amount) && tx.Holder) {
|
64
63
|
throw new ValidationError('Clawback: cannot have Holder for currency')
|
65
64
|
}
|
66
65
|
|