xrpl 4.3.0-smartescrow.3 → 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/README.md +2 -2
- package/build/xrpl-latest-min.js +3 -0
- package/build/xrpl-latest-min.js.map +1 -0
- package/build/xrpl-latest.js +1457 -1505
- package/build/xrpl-latest.js.map +1 -1
- package/dist/npm/Wallet/batchSigner.d.ts +8 -0
- package/dist/npm/Wallet/batchSigner.d.ts.map +1 -0
- package/dist/npm/Wallet/batchSigner.js +111 -0
- package/dist/npm/Wallet/batchSigner.js.map +1 -0
- package/dist/npm/Wallet/defaultFaucets.d.ts +3 -2
- package/dist/npm/Wallet/defaultFaucets.d.ts.map +1 -1
- package/dist/npm/Wallet/defaultFaucets.js +16 -15
- package/dist/npm/Wallet/defaultFaucets.js.map +1 -1
- package/dist/npm/Wallet/fundWallet.d.ts.map +1 -1
- package/dist/npm/Wallet/fundWallet.js +8 -16
- package/dist/npm/Wallet/fundWallet.js.map +1 -1
- package/dist/npm/Wallet/index.d.ts.map +1 -1
- package/dist/npm/Wallet/index.js +10 -4
- package/dist/npm/Wallet/index.js.map +1 -1
- package/dist/npm/Wallet/signer.d.ts.map +1 -1
- package/dist/npm/Wallet/signer.js +4 -20
- package/dist/npm/Wallet/signer.js.map +1 -1
- package/dist/npm/Wallet/utils.d.ts +9 -0
- package/dist/npm/Wallet/utils.d.ts.map +1 -0
- package/dist/npm/Wallet/utils.js +28 -0
- package/dist/npm/Wallet/utils.js.map +1 -0
- package/dist/npm/client/RequestManager.d.ts.map +1 -1
- package/dist/npm/client/RequestManager.js +3 -3
- package/dist/npm/client/RequestManager.js.map +1 -1
- package/dist/npm/client/connection.d.ts.map +1 -1
- package/dist/npm/client/connection.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 +14 -14
- 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/Credential.d.ts +2 -2
- package/dist/npm/models/ledger/Credential.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/XChainOwnedClaimID.d.ts +1 -2
- package/dist/npm/models/ledger/XChainOwnedClaimID.d.ts.map +1 -1
- 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/baseMethod.d.ts +1 -0
- package/dist/npm/models/methods/baseMethod.d.ts.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/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 +2 -2
- 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.d.ts +2 -2
- package/dist/npm/models/transactions/AMMDeposit.d.ts.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.d.ts +2 -2
- package/dist/npm/models/transactions/AMMWithdraw.d.ts.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/MPTokenAuthorize.d.ts +2 -2
- package/dist/npm/models/transactions/MPTokenAuthorize.d.ts.map +1 -1
- package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts +2 -2
- 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.d.ts +2 -2
- package/dist/npm/models/transactions/MPTokenIssuanceSet.d.ts.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 +2 -2
- 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/NFTokenMint.d.ts +2 -2
- package/dist/npm/models/transactions/NFTokenMint.d.ts.map +1 -1
- package/dist/npm/models/transactions/XChainAddAccountCreateAttestation.js.map +1 -1
- package/dist/npm/models/transactions/XChainAddClaimAttestation.js.map +1 -1
- package/dist/npm/models/transactions/XChainClaim.js.map +1 -1
- package/dist/npm/models/transactions/XChainCommit.js.map +1 -1
- package/dist/npm/models/transactions/XChainModifyBridge.d.ts +2 -2
- package/dist/npm/models/transactions/XChainModifyBridge.d.ts.map +1 -1
- package/dist/npm/models/transactions/accountDelete.d.ts.map +1 -1
- package/dist/npm/models/transactions/accountDelete.js.map +1 -1
- package/dist/npm/models/transactions/accountSet.d.ts +2 -2
- package/dist/npm/models/transactions/accountSet.d.ts.map +1 -1
- package/dist/npm/models/transactions/accountSet.js.map +1 -1
- package/dist/npm/models/transactions/batch.d.ts +39 -0
- package/dist/npm/models/transactions/batch.d.ts.map +1 -0
- package/dist/npm/models/transactions/batch.js +64 -0
- package/dist/npm/models/transactions/batch.js.map +1 -0
- 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 +30 -9
- package/dist/npm/models/transactions/common.d.ts.map +1 -1
- package/dist/npm/models/transactions/common.js +74 -36
- package/dist/npm/models/transactions/common.js.map +1 -1
- package/dist/npm/models/transactions/delegateSet.d.ts.map +1 -1
- package/dist/npm/models/transactions/delegateSet.js +1 -0
- package/dist/npm/models/transactions/delegateSet.js.map +1 -1
- package/dist/npm/models/transactions/depositPreauth.d.ts.map +1 -1
- package/dist/npm/models/transactions/depositPreauth.js.map +1 -1
- 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 +9 -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/metadata.d.ts +1 -0
- package/dist/npm/models/transactions/metadata.d.ts.map +1 -1
- package/dist/npm/models/transactions/offerCreate.d.ts +2 -2
- package/dist/npm/models/transactions/offerCreate.d.ts.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 +3 -2
- package/dist/npm/models/transactions/payment.d.ts.map +1 -1
- package/dist/npm/models/transactions/payment.js +9 -4
- package/dist/npm/models/transactions/payment.js.map +1 -1
- package/dist/npm/models/transactions/paymentChannelClaim.d.ts +2 -2
- package/dist/npm/models/transactions/paymentChannelClaim.d.ts.map +1 -1
- package/dist/npm/models/transactions/paymentChannelClaim.js.map +1 -1
- package/dist/npm/models/transactions/permissionedDomainSet.d.ts.map +1 -1
- package/dist/npm/models/transactions/permissionedDomainSet.js +1 -1
- package/dist/npm/models/transactions/permissionedDomainSet.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 +8 -1
- package/dist/npm/models/transactions/transaction.d.ts.map +1 -1
- package/dist/npm/models/transactions/transaction.js +35 -35
- package/dist/npm/models/transactions/transaction.js.map +1 -1
- package/dist/npm/models/transactions/trustSet.d.ts +2 -2
- package/dist/npm/models/transactions/trustSet.d.ts.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 +26 -9
- package/dist/npm/models/utils/flags.js.map +1 -1
- package/dist/npm/models/utils/index.d.ts +2 -0
- package/dist/npm/models/utils/index.d.ts.map +1 -1
- package/dist/npm/models/utils/index.js +11 -1
- package/dist/npm/models/utils/index.js.map +1 -1
- package/dist/npm/snippets/tsconfig.tsbuildinfo +1 -1
- package/dist/npm/src/Wallet/batchSigner.d.ts +8 -0
- package/dist/npm/src/Wallet/batchSigner.d.ts.map +1 -0
- package/dist/npm/src/Wallet/batchSigner.js +111 -0
- package/dist/npm/src/Wallet/batchSigner.js.map +1 -0
- package/dist/npm/src/Wallet/defaultFaucets.d.ts +3 -2
- package/dist/npm/src/Wallet/defaultFaucets.d.ts.map +1 -1
- package/dist/npm/src/Wallet/defaultFaucets.js +16 -15
- package/dist/npm/src/Wallet/defaultFaucets.js.map +1 -1
- package/dist/npm/src/Wallet/fundWallet.d.ts.map +1 -1
- package/dist/npm/src/Wallet/fundWallet.js +8 -16
- package/dist/npm/src/Wallet/fundWallet.js.map +1 -1
- package/dist/npm/src/Wallet/index.d.ts.map +1 -1
- package/dist/npm/src/Wallet/index.js +10 -4
- package/dist/npm/src/Wallet/index.js.map +1 -1
- package/dist/npm/src/Wallet/signer.d.ts.map +1 -1
- package/dist/npm/src/Wallet/signer.js +4 -20
- package/dist/npm/src/Wallet/signer.js.map +1 -1
- package/dist/npm/src/Wallet/utils.d.ts +9 -0
- package/dist/npm/src/Wallet/utils.d.ts.map +1 -0
- package/dist/npm/src/Wallet/utils.js +28 -0
- package/dist/npm/src/Wallet/utils.js.map +1 -0
- package/dist/npm/src/client/RequestManager.d.ts.map +1 -1
- package/dist/npm/src/client/RequestManager.js +3 -3
- package/dist/npm/src/client/RequestManager.js.map +1 -1
- package/dist/npm/src/client/connection.d.ts.map +1 -1
- package/dist/npm/src/client/connection.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 +14 -14
- 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/Credential.d.ts +2 -2
- package/dist/npm/src/models/ledger/Credential.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/XChainOwnedClaimID.d.ts +1 -2
- package/dist/npm/src/models/ledger/XChainOwnedClaimID.d.ts.map +1 -1
- 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/baseMethod.d.ts +1 -0
- package/dist/npm/src/models/methods/baseMethod.d.ts.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/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 +2 -2
- 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.d.ts +2 -2
- package/dist/npm/src/models/transactions/AMMDeposit.d.ts.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.d.ts +2 -2
- package/dist/npm/src/models/transactions/AMMWithdraw.d.ts.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/MPTokenAuthorize.d.ts +2 -2
- package/dist/npm/src/models/transactions/MPTokenAuthorize.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts +2 -2
- 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.d.ts +2 -2
- package/dist/npm/src/models/transactions/MPTokenIssuanceSet.d.ts.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 +2 -2
- 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/NFTokenMint.d.ts +2 -2
- package/dist/npm/src/models/transactions/NFTokenMint.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/XChainAddAccountCreateAttestation.js.map +1 -1
- package/dist/npm/src/models/transactions/XChainAddClaimAttestation.js.map +1 -1
- package/dist/npm/src/models/transactions/XChainClaim.js.map +1 -1
- package/dist/npm/src/models/transactions/XChainCommit.js.map +1 -1
- package/dist/npm/src/models/transactions/XChainModifyBridge.d.ts +2 -2
- package/dist/npm/src/models/transactions/XChainModifyBridge.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/accountDelete.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/accountDelete.js.map +1 -1
- package/dist/npm/src/models/transactions/accountSet.d.ts +2 -2
- package/dist/npm/src/models/transactions/accountSet.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/accountSet.js.map +1 -1
- package/dist/npm/src/models/transactions/batch.d.ts +39 -0
- package/dist/npm/src/models/transactions/batch.d.ts.map +1 -0
- package/dist/npm/src/models/transactions/batch.js +64 -0
- package/dist/npm/src/models/transactions/batch.js.map +1 -0
- 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 +30 -9
- package/dist/npm/src/models/transactions/common.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/common.js +74 -36
- package/dist/npm/src/models/transactions/common.js.map +1 -1
- package/dist/npm/src/models/transactions/delegateSet.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/delegateSet.js +1 -0
- package/dist/npm/src/models/transactions/delegateSet.js.map +1 -1
- package/dist/npm/src/models/transactions/depositPreauth.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/depositPreauth.js.map +1 -1
- 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 +9 -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/metadata.d.ts +1 -0
- package/dist/npm/src/models/transactions/metadata.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/offerCreate.d.ts +2 -2
- package/dist/npm/src/models/transactions/offerCreate.d.ts.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 +3 -2
- package/dist/npm/src/models/transactions/payment.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/payment.js +9 -4
- package/dist/npm/src/models/transactions/payment.js.map +1 -1
- package/dist/npm/src/models/transactions/paymentChannelClaim.d.ts +2 -2
- package/dist/npm/src/models/transactions/paymentChannelClaim.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/paymentChannelClaim.js.map +1 -1
- package/dist/npm/src/models/transactions/permissionedDomainSet.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/permissionedDomainSet.js +1 -1
- package/dist/npm/src/models/transactions/permissionedDomainSet.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 +8 -1
- package/dist/npm/src/models/transactions/transaction.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/transaction.js +35 -35
- package/dist/npm/src/models/transactions/transaction.js.map +1 -1
- package/dist/npm/src/models/transactions/trustSet.d.ts +2 -2
- package/dist/npm/src/models/transactions/trustSet.d.ts.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 +26 -9
- package/dist/npm/src/models/utils/flags.js.map +1 -1
- package/dist/npm/src/models/utils/index.d.ts +2 -0
- package/dist/npm/src/models/utils/index.d.ts.map +1 -1
- package/dist/npm/src/models/utils/index.js +11 -1
- package/dist/npm/src/models/utils/index.js.map +1 -1
- package/dist/npm/src/sugar/autofill.d.ts +4 -2
- package/dist/npm/src/sugar/autofill.d.ts.map +1 -1
- package/dist/npm/src/sugar/autofill.js +109 -16
- package/dist/npm/src/sugar/autofill.js.map +1 -1
- package/dist/npm/src/sugar/submit.d.ts.map +1 -1
- package/dist/npm/src/sugar/submit.js.map +1 -1
- package/dist/npm/src/utils/hashes/hashLedger.d.ts.map +1 -1
- package/dist/npm/src/utils/hashes/hashLedger.js +4 -1
- package/dist/npm/src/utils/hashes/hashLedger.js.map +1 -1
- package/dist/npm/sugar/autofill.d.ts +4 -2
- package/dist/npm/sugar/autofill.d.ts.map +1 -1
- package/dist/npm/sugar/autofill.js +109 -16
- package/dist/npm/sugar/autofill.js.map +1 -1
- package/dist/npm/sugar/submit.d.ts.map +1 -1
- package/dist/npm/sugar/submit.js.map +1 -1
- package/dist/npm/utils/hashes/hashLedger.d.ts.map +1 -1
- package/dist/npm/utils/hashes/hashLedger.js +4 -1
- package/dist/npm/utils/hashes/hashLedger.js.map +1 -1
- package/package.json +7 -6
- package/src/Wallet/batchSigner.ts +198 -0
- package/src/Wallet/defaultFaucets.ts +20 -18
- package/src/Wallet/fundWallet.ts +17 -28
- package/src/Wallet/index.ts +9 -3
- package/src/Wallet/signer.ts +4 -39
- package/src/Wallet/utils.ts +58 -0
- package/src/client/RequestManager.ts +4 -1
- package/src/client/connection.ts +0 -1
- package/src/client/index.ts +50 -66
- package/src/client/partialPayment.ts +2 -4
- package/src/models/common/index.ts +2 -0
- package/src/models/ledger/AccountRoot.ts +1 -1
- package/src/models/ledger/Credential.ts +2 -2
- package/src/models/ledger/LedgerEntry.ts +3 -0
- package/src/models/ledger/Vault.ts +83 -0
- package/src/models/ledger/XChainOwnedClaimID.ts +1 -3
- package/src/models/ledger/index.ts +3 -1
- package/src/models/methods/baseMethod.ts +1 -0
- package/src/models/methods/index.ts +10 -0
- package/src/models/methods/vaultInfo.ts +193 -0
- package/src/models/transactions/AMMBid.ts +12 -21
- package/src/models/transactions/AMMClawback.ts +10 -13
- package/src/models/transactions/AMMDelete.ts +7 -3
- package/src/models/transactions/AMMDeposit.ts +6 -6
- package/src/models/transactions/AMMVote.ts +7 -3
- package/src/models/transactions/AMMWithdraw.ts +6 -6
- package/src/models/transactions/MPTokenAuthorize.ts +2 -2
- package/src/models/transactions/MPTokenIssuanceCreate.ts +6 -3
- package/src/models/transactions/MPTokenIssuanceSet.ts +3 -3
- package/src/models/transactions/NFTokenCancelOffer.ts +2 -2
- package/src/models/transactions/NFTokenCreateOffer.ts +10 -6
- package/src/models/transactions/NFTokenMint.ts +2 -2
- package/src/models/transactions/XChainAddAccountCreateAttestation.ts +2 -2
- package/src/models/transactions/XChainAddClaimAttestation.ts +2 -2
- package/src/models/transactions/XChainClaim.ts +1 -1
- package/src/models/transactions/XChainCommit.ts +1 -1
- package/src/models/transactions/XChainModifyBridge.ts +2 -2
- package/src/models/transactions/accountDelete.ts +1 -2
- package/src/models/transactions/accountSet.ts +2 -1
- package/src/models/transactions/batch.ts +151 -0
- package/src/models/transactions/checkCreate.ts +2 -6
- package/src/models/transactions/clawback.ts +9 -10
- package/src/models/transactions/common.ts +194 -69
- package/src/models/transactions/delegateSet.ts +1 -0
- package/src/models/transactions/depositPreauth.ts +2 -4
- package/src/models/transactions/escrowFinish.ts +1 -2
- package/src/models/transactions/index.ts +14 -3
- package/src/models/transactions/metadata.ts +2 -0
- package/src/models/transactions/offerCreate.ts +2 -2
- package/src/models/transactions/oracleSet.ts +88 -91
- package/src/models/transactions/payment.ts +21 -13
- package/src/models/transactions/paymentChannelClaim.ts +4 -4
- package/src/models/transactions/permissionedDomainSet.ts +3 -7
- package/src/models/transactions/signerListSet.ts +21 -21
- package/src/models/transactions/transaction.ts +61 -43
- package/src/models/transactions/trustSet.ts +2 -2
- 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 +30 -10
- package/src/models/utils/index.ts +24 -0
- package/src/sugar/autofill.ts +165 -35
- package/src/sugar/submit.ts +1 -2
- package/src/utils/hashes/hashLedger.ts +5 -2
@@ -4,7 +4,9 @@ import { isHex } from '../utils'
|
|
4
4
|
|
5
5
|
import {
|
6
6
|
BaseTransaction,
|
7
|
+
isArray,
|
7
8
|
isNumber,
|
9
|
+
isRecord,
|
8
10
|
isString,
|
9
11
|
validateBaseTransaction,
|
10
12
|
validateOptionalField,
|
@@ -86,113 +88,108 @@ export function validateOracleSet(tx: Record<string, unknown>): void {
|
|
86
88
|
validateOptionalField(tx, 'AssetClass', isString)
|
87
89
|
|
88
90
|
/* eslint-disable max-statements, max-lines-per-function -- necessary to validate many fields */
|
89
|
-
validateRequiredField(
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
throw new ValidationError(
|
96
|
-
`OracleSet: PriceDataSeries must have at most ${PRICE_DATA_SERIES_MAX_LENGTH} PriceData objects`,
|
97
|
-
)
|
98
|
-
}
|
99
|
-
|
100
|
-
// TODO: add support for handling inner objects easier (similar to validateRequiredField/validateOptionalField)
|
101
|
-
for (const priceData of value) {
|
102
|
-
if (typeof priceData !== 'object') {
|
103
|
-
throw new ValidationError(
|
104
|
-
'OracleSet: PriceDataSeries must be an array of objects',
|
105
|
-
)
|
91
|
+
validateRequiredField(
|
92
|
+
tx,
|
93
|
+
'PriceDataSeries',
|
94
|
+
(value: unknown): value is PriceData => {
|
95
|
+
if (!isArray(value)) {
|
96
|
+
throw new ValidationError('OracleSet: PriceDataSeries must be an array')
|
106
97
|
}
|
107
98
|
|
108
|
-
|
109
|
-
if (priceData.PriceData == null) {
|
99
|
+
if (value.length > PRICE_DATA_SERIES_MAX_LENGTH) {
|
110
100
|
throw new ValidationError(
|
111
|
-
|
101
|
+
`OracleSet: PriceDataSeries must have at most ${PRICE_DATA_SERIES_MAX_LENGTH} PriceData objects`,
|
112
102
|
)
|
113
103
|
}
|
114
104
|
|
115
|
-
//
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
105
|
+
// TODO: add support for handling inner objects easier (similar to validateRequiredField/validateOptionalField)
|
106
|
+
for (const priceData of value) {
|
107
|
+
if (!isRecord(priceData)) {
|
108
|
+
throw new ValidationError(
|
109
|
+
'OracleSet: PriceDataSeries must be an array of objects',
|
110
|
+
)
|
111
|
+
}
|
121
112
|
|
122
|
-
|
123
|
-
if (typeof priceData.PriceData.BaseAsset !== 'string') {
|
124
|
-
throw new ValidationError(
|
125
|
-
'OracleSet: PriceDataSeries must have a `BaseAsset` string',
|
126
|
-
)
|
127
|
-
}
|
113
|
+
const priceDataInner = priceData.PriceData
|
128
114
|
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
}
|
115
|
+
if (!isRecord(priceDataInner)) {
|
116
|
+
throw new ValidationError(
|
117
|
+
'OracleSet: PriceDataSeries must have a `PriceData` object',
|
118
|
+
)
|
119
|
+
}
|
135
120
|
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
) {
|
143
|
-
throw new ValidationError(
|
144
|
-
'OracleSet: PriceDataSeries must have both `AssetPrice` and `Scale` if any are present',
|
145
|
-
)
|
146
|
-
}
|
121
|
+
// check if priceData only has PriceData
|
122
|
+
if (Object.keys(priceData).length !== 1) {
|
123
|
+
throw new ValidationError(
|
124
|
+
'OracleSet: PriceDataSeries must only have a single PriceData object',
|
125
|
+
)
|
126
|
+
}
|
147
127
|
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
128
|
+
if (
|
129
|
+
priceDataInner.BaseAsset == null ||
|
130
|
+
typeof priceDataInner.BaseAsset !== 'string'
|
131
|
+
) {
|
132
|
+
throw new ValidationError(
|
133
|
+
'OracleSet: PriceDataSeries must have a `BaseAsset` string',
|
134
|
+
)
|
135
|
+
}
|
136
|
+
|
137
|
+
if (typeof priceDataInner.QuoteAsset !== 'string') {
|
138
|
+
throw new ValidationError(
|
139
|
+
'OracleSet: PriceDataSeries must have a `QuoteAsset` string',
|
140
|
+
)
|
141
|
+
}
|
142
|
+
|
143
|
+
// Either AssetPrice and Scale are both present or both excluded
|
144
|
+
if (
|
145
|
+
(priceDataInner.AssetPrice == null) !==
|
146
|
+
(priceDataInner.Scale == null)
|
147
|
+
) {
|
148
|
+
throw new ValidationError(
|
149
|
+
'OracleSet: PriceDataSeries must have both `AssetPrice` and `Scale` if any are present',
|
150
|
+
)
|
151
|
+
}
|
152
|
+
|
153
|
+
/* eslint-disable max-depth --
|
154
|
+
we need to validate priceDataInner.AssetPrice value */
|
155
|
+
if ('AssetPrice' in priceDataInner) {
|
156
|
+
if (!isNumber(priceDataInner.AssetPrice)) {
|
157
|
+
if (typeof priceDataInner.AssetPrice !== 'string') {
|
158
|
+
throw new ValidationError(
|
159
|
+
'OracleSet: Field AssetPrice must be a string or a number',
|
160
|
+
)
|
161
|
+
}
|
162
|
+
if (!isHex(priceDataInner.AssetPrice)) {
|
163
|
+
throw new ValidationError(
|
164
|
+
'OracleSet: Field AssetPrice must be a valid hex string',
|
165
|
+
)
|
166
|
+
}
|
167
|
+
if (
|
168
|
+
priceDataInner.AssetPrice.length < MINIMUM_ASSET_PRICE_LENGTH ||
|
169
|
+
priceDataInner.AssetPrice.length > MAXIMUM_ASSET_PRICE_LENGTH
|
170
|
+
) {
|
171
|
+
throw new ValidationError(
|
172
|
+
`OracleSet: Length of AssetPrice field must be between ${MINIMUM_ASSET_PRICE_LENGTH} and ${MAXIMUM_ASSET_PRICE_LENGTH} characters long`,
|
173
|
+
)
|
174
|
+
}
|
156
175
|
}
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
176
|
+
}
|
177
|
+
|
178
|
+
if ('Scale' in priceDataInner) {
|
179
|
+
if (!isNumber(priceDataInner.Scale)) {
|
180
|
+
throw new ValidationError('OracleSet: invalid field Scale')
|
161
181
|
}
|
162
|
-
|
163
|
-
|
164
|
-
MINIMUM_ASSET_PRICE_LENGTH ||
|
165
|
-
priceData.PriceData.AssetPrice.length > MAXIMUM_ASSET_PRICE_LENGTH
|
166
|
-
) {
|
182
|
+
|
183
|
+
if (priceDataInner.Scale < 0 || priceDataInner.Scale > SCALE_MAX) {
|
167
184
|
throw new ValidationError(
|
168
|
-
`OracleSet:
|
185
|
+
`OracleSet: Scale must be in range 0-${SCALE_MAX}`,
|
169
186
|
)
|
170
187
|
}
|
188
|
+
/* eslint-enable max-depth */
|
171
189
|
}
|
172
190
|
}
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- we are validating the type
|
177
|
-
'Scale' in priceData.PriceData &&
|
178
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- we are validating the type
|
179
|
-
!isNumber(priceData.PriceData.Scale)
|
180
|
-
) {
|
181
|
-
throw new ValidationError('OracleSet: invalid field Scale')
|
182
|
-
}
|
183
|
-
|
184
|
-
if (
|
185
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- we are validating the type
|
186
|
-
priceData.PriceData.Scale < 0 ||
|
187
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- we are validating the type
|
188
|
-
priceData.PriceData.Scale > SCALE_MAX
|
189
|
-
) {
|
190
|
-
throw new ValidationError(
|
191
|
-
`OracleSet: Scale must be in range 0-${SCALE_MAX}`,
|
192
|
-
)
|
193
|
-
}
|
194
|
-
}
|
195
|
-
return true
|
196
|
-
})
|
191
|
+
return true
|
192
|
+
},
|
193
|
+
)
|
197
194
|
/* eslint-enable max-statements, max-lines-per-function */
|
198
195
|
}
|
@@ -5,7 +5,7 @@ import { isFlagEnabled } from '../utils'
|
|
5
5
|
import {
|
6
6
|
BaseTransaction,
|
7
7
|
isAmount,
|
8
|
-
|
8
|
+
GlobalFlagsInterface,
|
9
9
|
validateBaseTransaction,
|
10
10
|
isAccount,
|
11
11
|
validateRequiredField,
|
@@ -14,6 +14,7 @@ import {
|
|
14
14
|
Account,
|
15
15
|
validateCredentialsList,
|
16
16
|
MAX_AUTHORIZED_CREDENTIALS,
|
17
|
+
isArray,
|
17
18
|
} from './common'
|
18
19
|
import type { TransactionMetadataBase } from './metadata'
|
19
20
|
|
@@ -84,7 +85,7 @@ export enum PaymentFlags {
|
|
84
85
|
* // }
|
85
86
|
* ```
|
86
87
|
*/
|
87
|
-
export interface PaymentFlagsInterface extends
|
88
|
+
export interface PaymentFlagsInterface extends GlobalFlagsInterface {
|
88
89
|
/**
|
89
90
|
* Do not use the default path; only use paths included in the Paths field.
|
90
91
|
* This is intended to force the transaction to take arbitrage opportunities.
|
@@ -119,6 +120,9 @@ export interface Payment extends BaseTransaction {
|
|
119
120
|
* to this amount instead.
|
120
121
|
*/
|
121
122
|
Amount: Amount | MPTAmount
|
123
|
+
|
124
|
+
DeliverMax?: Amount | MPTAmount
|
125
|
+
|
122
126
|
/** The unique address of the account receiving the payment. */
|
123
127
|
Destination: Account
|
124
128
|
/**
|
@@ -186,8 +190,7 @@ export function validatePayment(tx: Record<string, unknown>): void {
|
|
186
190
|
|
187
191
|
validateCredentialsList(
|
188
192
|
tx.CredentialIDs,
|
189
|
-
|
190
|
-
tx.TransactionType as string,
|
193
|
+
tx.TransactionType,
|
191
194
|
true,
|
192
195
|
MAX_AUTHORIZED_CREDENTIALS,
|
193
196
|
)
|
@@ -196,11 +199,7 @@ export function validatePayment(tx: Record<string, unknown>): void {
|
|
196
199
|
throw new ValidationError('PaymentTransaction: InvoiceID must be a string')
|
197
200
|
}
|
198
201
|
|
199
|
-
if (
|
200
|
-
tx.Paths !== undefined &&
|
201
|
-
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- Only used by JS
|
202
|
-
!isPaths(tx.Paths as Array<Array<Record<string, unknown>>>)
|
203
|
-
) {
|
202
|
+
if (tx.Paths !== undefined && !isPaths(tx.Paths)) {
|
204
203
|
throw new ValidationError('PaymentTransaction: invalid Paths')
|
205
204
|
}
|
206
205
|
|
@@ -209,6 +208,12 @@ export function validatePayment(tx: Record<string, unknown>): void {
|
|
209
208
|
}
|
210
209
|
|
211
210
|
checkPartialPayment(tx)
|
211
|
+
|
212
|
+
if (tx.DeliverMax != null) {
|
213
|
+
throw new ValidationError(
|
214
|
+
'PaymentTransaction: Cannot have DeliverMax in a submitted transaction',
|
215
|
+
)
|
216
|
+
}
|
212
217
|
}
|
213
218
|
|
214
219
|
function checkPartialPayment(tx: Record<string, unknown>): void {
|
@@ -264,7 +269,10 @@ function isPathStep(pathStep: Record<string, unknown>): boolean {
|
|
264
269
|
return false
|
265
270
|
}
|
266
271
|
|
267
|
-
function isPath(path:
|
272
|
+
function isPath(path: unknown): path is Path {
|
273
|
+
if (!Array.isArray(path) || path.length === 0) {
|
274
|
+
return false
|
275
|
+
}
|
268
276
|
for (const pathStep of path) {
|
269
277
|
if (!isPathStep(pathStep)) {
|
270
278
|
return false
|
@@ -273,13 +281,13 @@ function isPath(path: Array<Record<string, unknown>>): boolean {
|
|
273
281
|
return true
|
274
282
|
}
|
275
283
|
|
276
|
-
function isPaths(paths:
|
277
|
-
if (!
|
284
|
+
function isPaths(paths: unknown): paths is Path[] {
|
285
|
+
if (!isArray(paths) || paths.length === 0) {
|
278
286
|
return false
|
279
287
|
}
|
280
288
|
|
281
289
|
for (const path of paths) {
|
282
|
-
if (!
|
290
|
+
if (!isArray(path) || path.length === 0) {
|
283
291
|
return false
|
284
292
|
}
|
285
293
|
|
@@ -2,7 +2,7 @@ import { ValidationError } from '../../errors'
|
|
2
2
|
|
3
3
|
import {
|
4
4
|
BaseTransaction,
|
5
|
-
|
5
|
+
GlobalFlagsInterface,
|
6
6
|
validateBaseTransaction,
|
7
7
|
validateCredentialsList,
|
8
8
|
MAX_AUTHORIZED_CREDENTIALS,
|
@@ -73,7 +73,8 @@ export enum PaymentChannelClaimFlags {
|
|
73
73
|
* // }
|
74
74
|
* ```
|
75
75
|
*/
|
76
|
-
export interface PaymentChannelClaimFlagsInterface
|
76
|
+
export interface PaymentChannelClaimFlagsInterface
|
77
|
+
extends GlobalFlagsInterface {
|
77
78
|
/**
|
78
79
|
* Clear the channel's Expiration time. (Expiration is different from the
|
79
80
|
* channel's immutable CancelAfter time.) Only the source address of the
|
@@ -151,8 +152,7 @@ export function validatePaymentChannelClaim(tx: Record<string, unknown>): void {
|
|
151
152
|
|
152
153
|
validateCredentialsList(
|
153
154
|
tx.CredentialIDs,
|
154
|
-
|
155
|
-
tx.TransactionType as string,
|
155
|
+
tx.TransactionType,
|
156
156
|
true,
|
157
157
|
MAX_AUTHORIZED_CREDENTIALS,
|
158
158
|
)
|
@@ -7,6 +7,7 @@ import {
|
|
7
7
|
validateOptionalField,
|
8
8
|
validateRequiredField,
|
9
9
|
validateCredentialsList,
|
10
|
+
isArray,
|
10
11
|
} from './common'
|
11
12
|
|
12
13
|
const MAX_ACCEPTED_CREDENTIALS = 10
|
@@ -36,16 +37,11 @@ export function validatePermissionedDomainSet(
|
|
36
37
|
validateBaseTransaction(tx)
|
37
38
|
|
38
39
|
validateOptionalField(tx, 'DomainID', isString)
|
39
|
-
validateRequiredField(
|
40
|
-
tx,
|
41
|
-
'AcceptedCredentials',
|
42
|
-
() => tx.AcceptedCredentials instanceof Array,
|
43
|
-
)
|
40
|
+
validateRequiredField(tx, 'AcceptedCredentials', isArray)
|
44
41
|
|
45
42
|
validateCredentialsList(
|
46
43
|
tx.AcceptedCredentials,
|
47
|
-
|
48
|
-
tx.TransactionType as string,
|
44
|
+
tx.TransactionType,
|
49
45
|
// PermissionedDomainSet uses AuthorizeCredential nested objects only, strings are not allowed
|
50
46
|
false,
|
51
47
|
// PermissionedDomainSet uses at most 10 accepted credentials. This is different from Credential-feature transactions.
|
@@ -1,7 +1,15 @@
|
|
1
1
|
import { ValidationError } from '../../errors'
|
2
2
|
import { SignerEntry } from '../common'
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {
|
5
|
+
BaseTransaction,
|
6
|
+
isArray,
|
7
|
+
isNumber,
|
8
|
+
isRecord,
|
9
|
+
isString,
|
10
|
+
validateBaseTransaction,
|
11
|
+
validateRequiredField,
|
12
|
+
} from './common'
|
5
13
|
|
6
14
|
/**
|
7
15
|
* The SignerListSet transaction creates, replaces, or removes a list of
|
@@ -39,27 +47,14 @@ const HEX_WALLET_LOCATOR_REGEX = /^[0-9A-Fa-f]{64}$/u
|
|
39
47
|
export function validateSignerListSet(tx: Record<string, unknown>): void {
|
40
48
|
validateBaseTransaction(tx)
|
41
49
|
|
42
|
-
|
43
|
-
throw new ValidationError('SignerListSet: missing field SignerQuorum')
|
44
|
-
}
|
45
|
-
|
46
|
-
if (typeof tx.SignerQuorum !== 'number') {
|
47
|
-
throw new ValidationError('SignerListSet: invalid SignerQuorum')
|
48
|
-
}
|
50
|
+
validateRequiredField(tx, 'SignerQuorum', isNumber)
|
49
51
|
|
50
52
|
// All other checks are for if SignerQuorum is greater than 0
|
51
53
|
if (tx.SignerQuorum === 0) {
|
52
54
|
return
|
53
55
|
}
|
54
56
|
|
55
|
-
|
56
|
-
throw new ValidationError('SignerListSet: missing field SignerEntries')
|
57
|
-
}
|
58
|
-
|
59
|
-
if (!Array.isArray(tx.SignerEntries)) {
|
60
|
-
throw new ValidationError('SignerListSet: invalid SignerEntries')
|
61
|
-
}
|
62
|
-
|
57
|
+
validateRequiredField(tx, 'SignerEntries', isArray)
|
63
58
|
if (tx.SignerEntries.length === 0) {
|
64
59
|
throw new ValidationError(
|
65
60
|
'SignerListSet: need at least 1 member in SignerEntries',
|
@@ -73,12 +68,17 @@ export function validateSignerListSet(tx: Record<string, unknown>): void {
|
|
73
68
|
}
|
74
69
|
|
75
70
|
for (const entry of tx.SignerEntries) {
|
76
|
-
|
77
|
-
|
78
|
-
|
71
|
+
if (!isRecord(entry) || !isRecord(entry.SignerEntry)) {
|
72
|
+
throw new ValidationError(
|
73
|
+
'SignerListSet: SignerEntries must be an array of SignerEntry objects',
|
74
|
+
)
|
75
|
+
}
|
76
|
+
const signerEntry = entry.SignerEntry
|
77
|
+
const { WalletLocator } = signerEntry
|
79
78
|
if (
|
80
|
-
WalletLocator
|
81
|
-
!
|
79
|
+
WalletLocator != null &&
|
80
|
+
(!isString(WalletLocator) ||
|
81
|
+
!HEX_WALLET_LOCATOR_REGEX.test(WalletLocator))
|
82
82
|
) {
|
83
83
|
throw new ValidationError(
|
84
84
|
`SignerListSet: WalletLocator in SignerEntry must be a 256-bit (32-byte) hexadecimal value`,
|
@@ -2,8 +2,6 @@
|
|
2
2
|
/* eslint-disable max-lines-per-function -- need to work with a lot of Tx verifications */
|
3
3
|
|
4
4
|
import { ValidationError } from '../../errors'
|
5
|
-
import { IssuedCurrencyAmount, Memo } from '../common'
|
6
|
-
import { isHex } from '../utils'
|
7
5
|
import { convertTxFlagsToNumber } from '../utils/flags'
|
8
6
|
|
9
7
|
import { AccountDelete, validateAccountDelete } from './accountDelete'
|
@@ -15,11 +13,16 @@ import { AMMDelete, validateAMMDelete } from './AMMDelete'
|
|
15
13
|
import { AMMDeposit, validateAMMDeposit } from './AMMDeposit'
|
16
14
|
import { AMMVote, validateAMMVote } from './AMMVote'
|
17
15
|
import { AMMWithdraw, validateAMMWithdraw } from './AMMWithdraw'
|
16
|
+
import { Batch, validateBatch } from './batch'
|
18
17
|
import { CheckCancel, validateCheckCancel } from './checkCancel'
|
19
18
|
import { CheckCash, validateCheckCash } from './checkCash'
|
20
19
|
import { CheckCreate, validateCheckCreate } from './checkCreate'
|
21
20
|
import { Clawback, validateClawback } from './clawback'
|
22
|
-
import {
|
21
|
+
import {
|
22
|
+
BaseTransaction,
|
23
|
+
isIssuedCurrencyAmount,
|
24
|
+
validateBaseTransaction,
|
25
|
+
} from './common'
|
23
26
|
import { CredentialAccept, validateCredentialAccept } from './CredentialAccept'
|
24
27
|
import { CredentialCreate, validateCredentialCreate } from './CredentialCreate'
|
25
28
|
import { CredentialDelete, validateCredentialDelete } from './CredentialDelete'
|
@@ -91,6 +94,12 @@ import { SignerListSet, validateSignerListSet } from './signerListSet'
|
|
91
94
|
import { TicketCreate, validateTicketCreate } from './ticketCreate'
|
92
95
|
import { TrustSet, validateTrustSet } from './trustSet'
|
93
96
|
import { UNLModify } from './UNLModify'
|
97
|
+
import { VaultClawback, validateVaultClawback } from './vaultClawback'
|
98
|
+
import { VaultCreate, validateVaultCreate } from './vaultCreate'
|
99
|
+
import { VaultDelete, validateVaultDelete } from './vaultDelete'
|
100
|
+
import { VaultDeposit, validateVaultDeposit } from './vaultDeposit'
|
101
|
+
import { VaultSet, validateVaultSet } from './vaultSet'
|
102
|
+
import { VaultWithdraw, validateVaultWithdraw } from './vaultWithdraw'
|
94
103
|
import {
|
95
104
|
XChainAccountCreateCommit,
|
96
105
|
validateXChainAccountCreateCommit,
|
@@ -133,6 +142,7 @@ export type SubmittableTransaction =
|
|
133
142
|
| AMMWithdraw
|
134
143
|
| AccountDelete
|
135
144
|
| AccountSet
|
145
|
+
| Batch
|
136
146
|
| CheckCancel
|
137
147
|
| CheckCash
|
138
148
|
| CheckCreate
|
@@ -171,6 +181,12 @@ export type SubmittableTransaction =
|
|
171
181
|
| SignerListSet
|
172
182
|
| TicketCreate
|
173
183
|
| TrustSet
|
184
|
+
| VaultClawback
|
185
|
+
| VaultCreate
|
186
|
+
| VaultDelete
|
187
|
+
| VaultDeposit
|
188
|
+
| VaultSet
|
189
|
+
| VaultWithdraw
|
174
190
|
| XChainAccountCreateCommit
|
175
191
|
| XChainAddAccountCreateAttestation
|
176
192
|
| XChainAddClaimAttestation
|
@@ -214,50 +230,15 @@ export interface TransactionAndMetadata<
|
|
214
230
|
*/
|
215
231
|
export function validate(transaction: Record<string, unknown>): void {
|
216
232
|
const tx = { ...transaction }
|
217
|
-
if (tx.TransactionType == null) {
|
218
|
-
throw new ValidationError('Object does not have a `TransactionType`')
|
219
|
-
}
|
220
|
-
if (typeof tx.TransactionType !== 'string') {
|
221
|
-
throw new ValidationError("Object's `TransactionType` is not a string")
|
222
|
-
}
|
223
233
|
|
224
|
-
|
225
|
-
|
226
|
-
*/
|
227
|
-
if (tx.Memos != null && typeof tx.Memos !== 'object') {
|
228
|
-
throw new ValidationError('Memo must be array')
|
229
|
-
}
|
230
|
-
if (tx.Memos != null) {
|
231
|
-
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- needed here
|
232
|
-
;(tx.Memos as Array<Memo | null>).forEach((memo) => {
|
233
|
-
if (memo?.Memo == null) {
|
234
|
-
throw new ValidationError('Memo data must be in a `Memo` field')
|
235
|
-
}
|
236
|
-
if (memo.Memo.MemoData) {
|
237
|
-
if (!isHex(memo.Memo.MemoData)) {
|
238
|
-
throw new ValidationError('MemoData field must be a hex value')
|
239
|
-
}
|
240
|
-
}
|
241
|
-
|
242
|
-
if (memo.Memo.MemoType) {
|
243
|
-
if (!isHex(memo.Memo.MemoType)) {
|
244
|
-
throw new ValidationError('MemoType field must be a hex value')
|
245
|
-
}
|
246
|
-
}
|
247
|
-
|
248
|
-
if (memo.Memo.MemoFormat) {
|
249
|
-
if (!isHex(memo.Memo.MemoFormat)) {
|
250
|
-
throw new ValidationError('MemoFormat field must be a hex value')
|
251
|
-
}
|
252
|
-
}
|
253
|
-
})
|
254
|
-
}
|
234
|
+
// should already be done in the tx-specific validation, but doesn't hurt to check again
|
235
|
+
validateBaseTransaction(tx)
|
255
236
|
|
256
237
|
Object.keys(tx).forEach((key) => {
|
257
238
|
const standard_currency_code_len = 3
|
258
|
-
|
259
|
-
|
260
|
-
const txCurrency =
|
239
|
+
const value = tx[key]
|
240
|
+
if (value && isIssuedCurrencyAmount(value)) {
|
241
|
+
const txCurrency = value.currency
|
261
242
|
|
262
243
|
if (
|
263
244
|
txCurrency.length === standard_currency_code_len &&
|
@@ -309,6 +290,19 @@ export function validate(transaction: Record<string, unknown>): void {
|
|
309
290
|
validateAccountSet(tx)
|
310
291
|
break
|
311
292
|
|
293
|
+
case 'Batch':
|
294
|
+
validateBatch(tx)
|
295
|
+
// This is done here to avoid issues with dependency cycles
|
296
|
+
|
297
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment -- okay here
|
298
|
+
// @ts-expect-error -- already checked
|
299
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call -- already checked above
|
300
|
+
tx.RawTransactions.forEach((innerTx: Record<string, unknown>) => {
|
301
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- already checked above
|
302
|
+
validate(innerTx.RawTransaction as Record<string, unknown>)
|
303
|
+
})
|
304
|
+
break
|
305
|
+
|
312
306
|
case 'CheckCancel':
|
313
307
|
validateCheckCancel(tx)
|
314
308
|
break
|
@@ -461,6 +455,30 @@ export function validate(transaction: Record<string, unknown>): void {
|
|
461
455
|
validateTrustSet(tx)
|
462
456
|
break
|
463
457
|
|
458
|
+
case 'VaultClawback':
|
459
|
+
validateVaultClawback(tx)
|
460
|
+
break
|
461
|
+
|
462
|
+
case 'VaultCreate':
|
463
|
+
validateVaultCreate(tx)
|
464
|
+
break
|
465
|
+
|
466
|
+
case 'VaultDelete':
|
467
|
+
validateVaultDelete(tx)
|
468
|
+
break
|
469
|
+
|
470
|
+
case 'VaultDeposit':
|
471
|
+
validateVaultDeposit(tx)
|
472
|
+
break
|
473
|
+
|
474
|
+
case 'VaultSet':
|
475
|
+
validateVaultSet(tx)
|
476
|
+
break
|
477
|
+
|
478
|
+
case 'VaultWithdraw':
|
479
|
+
validateVaultWithdraw(tx)
|
480
|
+
break
|
481
|
+
|
464
482
|
case 'XChainAccountCreateCommit':
|
465
483
|
validateXChainAccountCreateCommit(tx)
|
466
484
|
break
|
@@ -3,7 +3,7 @@ import { IssuedCurrencyAmount } from '../common'
|
|
3
3
|
|
4
4
|
import {
|
5
5
|
BaseTransaction,
|
6
|
-
|
6
|
+
GlobalFlagsInterface,
|
7
7
|
isAmount,
|
8
8
|
validateBaseTransaction,
|
9
9
|
} from './common'
|
@@ -77,7 +77,7 @@ export enum TrustSetFlags {
|
|
77
77
|
* // }
|
78
78
|
* ```
|
79
79
|
*/
|
80
|
-
export interface TrustSetFlagsInterface extends
|
80
|
+
export interface TrustSetFlagsInterface extends GlobalFlagsInterface {
|
81
81
|
/**
|
82
82
|
* Authorize the other party to hold currency issued by this account. (No
|
83
83
|
* effect unless using the asfRequireAuth AccountSet flag.) Cannot be unset.
|
@@ -0,0 +1,55 @@
|
|
1
|
+
import { ClawbackAmount } from '../common'
|
2
|
+
|
3
|
+
import {
|
4
|
+
BaseTransaction,
|
5
|
+
validateBaseTransaction,
|
6
|
+
validateRequiredField,
|
7
|
+
isString,
|
8
|
+
Account,
|
9
|
+
isAccount,
|
10
|
+
validateOptionalField,
|
11
|
+
isClawbackAmount,
|
12
|
+
} from './common'
|
13
|
+
|
14
|
+
/**
|
15
|
+
* The VaultClawback transaction performs a Clawback from the Vault, exchanging the shares of an account.
|
16
|
+
*
|
17
|
+
* Conceptually, the transaction performs VaultWithdraw on behalf of the Holder, sending the funds to the
|
18
|
+
* Issuer account of the asset. In case there are insufficient funds for the entire Amount the transaction
|
19
|
+
* will perform a partial Clawback, up to the Vault.AssetsAvailable. The Clawback transaction must respect
|
20
|
+
* any future fees or penalties.
|
21
|
+
*
|
22
|
+
* @category Transaction Models
|
23
|
+
*/
|
24
|
+
export interface VaultClawback extends BaseTransaction {
|
25
|
+
TransactionType: 'VaultClawback'
|
26
|
+
|
27
|
+
/**
|
28
|
+
* The ID of the vault from which assets are withdrawn.
|
29
|
+
*/
|
30
|
+
VaultID: string
|
31
|
+
|
32
|
+
/**
|
33
|
+
* The account ID from which to clawback the assets.
|
34
|
+
*/
|
35
|
+
Holder: Account
|
36
|
+
|
37
|
+
/**
|
38
|
+
* The asset amount to clawback. When Amount is 0 clawback all funds, up to the total shares the Holder owns.
|
39
|
+
*/
|
40
|
+
Amount?: ClawbackAmount
|
41
|
+
}
|
42
|
+
|
43
|
+
/**
|
44
|
+
* Verify the form and type of a {@link VaultClawback} at runtime.
|
45
|
+
*
|
46
|
+
* @param tx - A {@link VaultClawback} Transaction.
|
47
|
+
* @throws When the {@link VaultClawback} is malformed.
|
48
|
+
*/
|
49
|
+
export function validateVaultClawback(tx: Record<string, unknown>): void {
|
50
|
+
validateBaseTransaction(tx)
|
51
|
+
|
52
|
+
validateRequiredField(tx, 'VaultID', isString)
|
53
|
+
validateRequiredField(tx, 'Holder', isAccount)
|
54
|
+
validateOptionalField(tx, 'Amount', isClawbackAmount)
|
55
|
+
}
|