xrpl 4.0.1-mpt-beta → 4.2.0-batch.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 +1 -1
- package/build/xrpl-latest-min.js +1 -1
- package/build/xrpl-latest-min.js.map +1 -1
- package/build/xrpl-latest.js +2986 -824
- 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 +124 -0
- package/dist/npm/Wallet/batchSigner.js.map +1 -0
- 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 +5 -0
- package/dist/npm/Wallet/defaultFaucets.js.map +1 -1
- package/dist/npm/Wallet/index.d.ts.map +1 -1
- package/dist/npm/Wallet/index.js +8 -2
- package/dist/npm/Wallet/index.js.map +1 -1
- 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 +4 -0
- package/dist/npm/client/index.d.ts.map +1 -1
- package/dist/npm/client/index.js +16 -9
- package/dist/npm/client/index.js.map +1 -1
- package/dist/npm/client/partialPayment.d.ts +2 -2
- package/dist/npm/client/partialPayment.d.ts.map +1 -1
- package/dist/npm/client/partialPayment.js +4 -5
- package/dist/npm/client/partialPayment.js.map +1 -1
- package/dist/npm/models/common/index.d.ts +6 -0
- package/dist/npm/models/common/index.d.ts.map +1 -1
- package/dist/npm/models/index.d.ts +1 -1
- package/dist/npm/models/index.d.ts.map +1 -1
- package/dist/npm/models/index.js +3 -2
- package/dist/npm/models/index.js.map +1 -1
- package/dist/npm/models/ledger/Credential.d.ts +17 -0
- package/dist/npm/models/ledger/Credential.d.ts.map +1 -0
- package/dist/npm/models/ledger/Credential.js +3 -0
- package/dist/npm/models/ledger/Credential.js.map +1 -0
- package/dist/npm/models/ledger/DepositPreauth.d.ts +3 -1
- package/dist/npm/models/ledger/DepositPreauth.d.ts.map +1 -1
- package/dist/npm/models/ledger/Ledger.d.ts +1 -0
- package/dist/npm/models/ledger/Ledger.d.ts.map +1 -1
- package/dist/npm/models/ledger/LedgerEntry.d.ts +4 -2
- package/dist/npm/models/ledger/LedgerEntry.d.ts.map +1 -1
- package/dist/npm/models/ledger/MPToken.d.ts +1 -2
- package/dist/npm/models/ledger/MPToken.d.ts.map +1 -1
- package/dist/npm/models/ledger/MPTokenIssuance.d.ts +0 -1
- package/dist/npm/models/ledger/MPTokenIssuance.d.ts.map +1 -1
- package/dist/npm/models/ledger/PermissionedDomain.d.ts +11 -0
- package/dist/npm/models/ledger/PermissionedDomain.d.ts.map +1 -0
- package/dist/npm/models/ledger/PermissionedDomain.js +3 -0
- package/dist/npm/models/ledger/PermissionedDomain.js.map +1 -0
- package/dist/npm/models/ledger/RippleState.d.ts +3 -1
- package/dist/npm/models/ledger/RippleState.d.ts.map +1 -1
- package/dist/npm/models/ledger/RippleState.js +2 -0
- package/dist/npm/models/ledger/RippleState.js.map +1 -1
- package/dist/npm/models/ledger/index.d.ts +4 -3
- 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/depositAuthorized.d.ts +2 -0
- package/dist/npm/models/methods/depositAuthorized.d.ts.map +1 -1
- package/dist/npm/models/methods/index.d.ts +6 -5
- package/dist/npm/models/methods/index.d.ts.map +1 -1
- package/dist/npm/models/methods/ledger.d.ts +2 -2
- package/dist/npm/models/methods/ledger.d.ts.map +1 -1
- package/dist/npm/models/methods/ledgerEntry.d.ts +7 -0
- package/dist/npm/models/methods/ledgerEntry.d.ts.map +1 -1
- package/dist/npm/models/methods/serverState.d.ts +1 -0
- package/dist/npm/models/methods/serverState.d.ts.map +1 -1
- package/dist/npm/models/methods/simulate.d.ts +42 -0
- package/dist/npm/models/methods/simulate.d.ts.map +1 -0
- package/dist/npm/models/methods/simulate.js +3 -0
- package/dist/npm/models/methods/simulate.js.map +1 -0
- package/dist/npm/models/methods/subscribe.d.ts +7 -3
- package/dist/npm/models/methods/subscribe.d.ts.map +1 -1
- package/dist/npm/models/transactions/AMMClawback.d.ts +17 -0
- package/dist/npm/models/transactions/AMMClawback.d.ts.map +1 -0
- package/dist/npm/models/transactions/AMMClawback.js +34 -0
- package/dist/npm/models/transactions/AMMClawback.js.map +1 -0
- 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/AMMWithdraw.d.ts +2 -2
- package/dist/npm/models/transactions/AMMWithdraw.d.ts.map +1 -1
- package/dist/npm/models/transactions/CredentialAccept.d.ts +9 -0
- package/dist/npm/models/transactions/CredentialAccept.d.ts.map +1 -0
- package/dist/npm/models/transactions/CredentialAccept.js +12 -0
- package/dist/npm/models/transactions/CredentialAccept.js.map +1 -0
- package/dist/npm/models/transactions/CredentialCreate.d.ts +11 -0
- package/dist/npm/models/transactions/CredentialCreate.d.ts.map +1 -0
- package/dist/npm/models/transactions/CredentialCreate.js +34 -0
- package/dist/npm/models/transactions/CredentialCreate.js.map +1 -0
- package/dist/npm/models/transactions/CredentialDelete.d.ts +10 -0
- package/dist/npm/models/transactions/CredentialDelete.d.ts.map +1 -0
- package/dist/npm/models/transactions/CredentialDelete.js +17 -0
- package/dist/npm/models/transactions/CredentialDelete.js.map +1 -0
- package/dist/npm/models/transactions/MPTokenAuthorize.d.ts +3 -3
- package/dist/npm/models/transactions/MPTokenAuthorize.d.ts.map +1 -1
- package/dist/npm/models/transactions/MPTokenAuthorize.js +1 -1
- package/dist/npm/models/transactions/MPTokenAuthorize.js.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 +28 -0
- package/dist/npm/models/transactions/MPTokenIssuanceCreate.js.map +1 -1
- package/dist/npm/models/transactions/MPTokenIssuanceSet.d.ts +3 -3
- package/dist/npm/models/transactions/MPTokenIssuanceSet.d.ts.map +1 -1
- package/dist/npm/models/transactions/MPTokenIssuanceSet.js +11 -4
- package/dist/npm/models/transactions/MPTokenIssuanceSet.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/NFTokenMint.d.ts +5 -3
- package/dist/npm/models/transactions/NFTokenMint.d.ts.map +1 -1
- package/dist/npm/models/transactions/NFTokenMint.js +1 -0
- package/dist/npm/models/transactions/NFTokenMint.js.map +1 -1
- package/dist/npm/models/transactions/NFTokenModify.d.ts +9 -0
- package/dist/npm/models/transactions/NFTokenModify.d.ts.map +1 -0
- package/dist/npm/models/transactions/NFTokenModify.js +22 -0
- package/dist/npm/models/transactions/NFTokenModify.js.map +1 -0
- 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 +1 -0
- package/dist/npm/models/transactions/accountDelete.d.ts.map +1 -1
- package/dist/npm/models/transactions/accountDelete.js +1 -0
- 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 +62 -0
- package/dist/npm/models/transactions/batch.js.map +1 -0
- package/dist/npm/models/transactions/clawback.d.ts +1 -1
- package/dist/npm/models/transactions/clawback.d.ts.map +1 -1
- package/dist/npm/models/transactions/clawback.js +6 -6
- package/dist/npm/models/transactions/clawback.js.map +1 -1
- package/dist/npm/models/transactions/common.d.ts +22 -5
- package/dist/npm/models/transactions/common.d.ts.map +1 -1
- package/dist/npm/models/transactions/common.js +113 -12
- package/dist/npm/models/transactions/common.js.map +1 -1
- package/dist/npm/models/transactions/depositPreauth.d.ts +3 -0
- package/dist/npm/models/transactions/depositPreauth.d.ts.map +1 -1
- package/dist/npm/models/transactions/depositPreauth.js +20 -7
- package/dist/npm/models/transactions/depositPreauth.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 +1 -0
- package/dist/npm/models/transactions/escrowFinish.js.map +1 -1
- package/dist/npm/models/transactions/index.d.ts +9 -1
- package/dist/npm/models/transactions/index.d.ts.map +1 -1
- package/dist/npm/models/transactions/index.js +5 -1
- package/dist/npm/models/transactions/index.js.map +1 -1
- package/dist/npm/models/transactions/metadata.d.ts +2 -1
- package/dist/npm/models/transactions/metadata.d.ts.map +1 -1
- package/dist/npm/models/transactions/offerCreate.d.ts +2 -2
- package/dist/npm/models/transactions/offerCreate.d.ts.map +1 -1
- package/dist/npm/models/transactions/payment.d.ts +5 -4
- package/dist/npm/models/transactions/payment.d.ts.map +1 -1
- package/dist/npm/models/transactions/payment.js +1 -0
- package/dist/npm/models/transactions/payment.js.map +1 -1
- package/dist/npm/models/transactions/paymentChannelClaim.d.ts +3 -2
- package/dist/npm/models/transactions/paymentChannelClaim.d.ts.map +1 -1
- package/dist/npm/models/transactions/paymentChannelClaim.js +1 -0
- package/dist/npm/models/transactions/paymentChannelClaim.js.map +1 -1
- package/dist/npm/models/transactions/permissionedDomainDelete.d.ts +7 -0
- package/dist/npm/models/transactions/permissionedDomainDelete.d.ts.map +1 -0
- package/dist/npm/models/transactions/permissionedDomainDelete.js +10 -0
- package/dist/npm/models/transactions/permissionedDomainDelete.js.map +1 -0
- package/dist/npm/models/transactions/permissionedDomainSet.d.ts +9 -0
- package/dist/npm/models/transactions/permissionedDomainSet.d.ts.map +1 -0
- package/dist/npm/models/transactions/permissionedDomainSet.js +13 -0
- package/dist/npm/models/transactions/permissionedDomainSet.js.map +1 -0
- package/dist/npm/models/transactions/transaction.d.ts +13 -5
- package/dist/npm/models/transactions/transaction.d.ts.map +1 -1
- package/dist/npm/models/transactions/transaction.js +40 -5
- package/dist/npm/models/transactions/transaction.js.map +1 -1
- package/dist/npm/models/transactions/trustSet.d.ts +7 -3
- package/dist/npm/models/transactions/trustSet.d.ts.map +1 -1
- package/dist/npm/models/transactions/trustSet.js +2 -0
- package/dist/npm/models/transactions/trustSet.js.map +1 -1
- package/dist/npm/models/utils/flags.d.ts +2 -0
- package/dist/npm/models/utils/flags.d.ts.map +1 -1
- package/dist/npm/models/utils/flags.js +62 -29
- package/dist/npm/models/utils/flags.js.map +1 -1
- package/dist/npm/models/utils/index.d.ts +1 -0
- package/dist/npm/models/utils/index.d.ts.map +1 -1
- package/dist/npm/models/utils/index.js +2 -1
- package/dist/npm/models/utils/index.js.map +1 -1
- package/dist/npm/snippets/src/paths.js +5 -9
- package/dist/npm/snippets/src/paths.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 +124 -0
- package/dist/npm/src/Wallet/batchSigner.js.map +1 -0
- 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 +5 -0
- package/dist/npm/src/Wallet/defaultFaucets.js.map +1 -1
- package/dist/npm/src/Wallet/index.d.ts.map +1 -1
- package/dist/npm/src/Wallet/index.js +8 -2
- package/dist/npm/src/Wallet/index.js.map +1 -1
- 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 +4 -0
- package/dist/npm/src/client/index.d.ts.map +1 -1
- package/dist/npm/src/client/index.js +16 -9
- package/dist/npm/src/client/index.js.map +1 -1
- package/dist/npm/src/client/partialPayment.d.ts +2 -2
- package/dist/npm/src/client/partialPayment.d.ts.map +1 -1
- package/dist/npm/src/client/partialPayment.js +4 -5
- package/dist/npm/src/client/partialPayment.js.map +1 -1
- package/dist/npm/src/models/common/index.d.ts +6 -0
- package/dist/npm/src/models/common/index.d.ts.map +1 -1
- package/dist/npm/src/models/index.d.ts +1 -1
- package/dist/npm/src/models/index.d.ts.map +1 -1
- package/dist/npm/src/models/index.js +3 -2
- package/dist/npm/src/models/index.js.map +1 -1
- package/dist/npm/src/models/ledger/Credential.d.ts +17 -0
- package/dist/npm/src/models/ledger/Credential.d.ts.map +1 -0
- package/dist/npm/src/models/ledger/Credential.js +3 -0
- package/dist/npm/src/models/ledger/Credential.js.map +1 -0
- package/dist/npm/src/models/ledger/DepositPreauth.d.ts +3 -1
- package/dist/npm/src/models/ledger/DepositPreauth.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/Ledger.d.ts +1 -0
- package/dist/npm/src/models/ledger/Ledger.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/LedgerEntry.d.ts +4 -2
- package/dist/npm/src/models/ledger/LedgerEntry.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/MPToken.d.ts +1 -2
- package/dist/npm/src/models/ledger/MPToken.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/MPTokenIssuance.d.ts +0 -1
- package/dist/npm/src/models/ledger/MPTokenIssuance.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/PermissionedDomain.d.ts +11 -0
- package/dist/npm/src/models/ledger/PermissionedDomain.d.ts.map +1 -0
- package/dist/npm/src/models/ledger/PermissionedDomain.js +3 -0
- package/dist/npm/src/models/ledger/PermissionedDomain.js.map +1 -0
- package/dist/npm/src/models/ledger/RippleState.d.ts +3 -1
- package/dist/npm/src/models/ledger/RippleState.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/RippleState.js +2 -0
- package/dist/npm/src/models/ledger/RippleState.js.map +1 -1
- package/dist/npm/src/models/ledger/index.d.ts +4 -3
- 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/depositAuthorized.d.ts +2 -0
- package/dist/npm/src/models/methods/depositAuthorized.d.ts.map +1 -1
- package/dist/npm/src/models/methods/index.d.ts +6 -5
- package/dist/npm/src/models/methods/index.d.ts.map +1 -1
- package/dist/npm/src/models/methods/ledger.d.ts +2 -2
- package/dist/npm/src/models/methods/ledger.d.ts.map +1 -1
- package/dist/npm/src/models/methods/ledgerEntry.d.ts +7 -0
- package/dist/npm/src/models/methods/ledgerEntry.d.ts.map +1 -1
- package/dist/npm/src/models/methods/serverState.d.ts +1 -0
- package/dist/npm/src/models/methods/serverState.d.ts.map +1 -1
- package/dist/npm/src/models/methods/simulate.d.ts +42 -0
- package/dist/npm/src/models/methods/simulate.d.ts.map +1 -0
- package/dist/npm/src/models/methods/simulate.js +3 -0
- package/dist/npm/src/models/methods/simulate.js.map +1 -0
- package/dist/npm/src/models/methods/subscribe.d.ts +7 -3
- package/dist/npm/src/models/methods/subscribe.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/AMMClawback.d.ts +17 -0
- package/dist/npm/src/models/transactions/AMMClawback.d.ts.map +1 -0
- package/dist/npm/src/models/transactions/AMMClawback.js +34 -0
- package/dist/npm/src/models/transactions/AMMClawback.js.map +1 -0
- 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/AMMWithdraw.d.ts +2 -2
- package/dist/npm/src/models/transactions/AMMWithdraw.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/CredentialAccept.d.ts +9 -0
- package/dist/npm/src/models/transactions/CredentialAccept.d.ts.map +1 -0
- package/dist/npm/src/models/transactions/CredentialAccept.js +12 -0
- package/dist/npm/src/models/transactions/CredentialAccept.js.map +1 -0
- package/dist/npm/src/models/transactions/CredentialCreate.d.ts +11 -0
- package/dist/npm/src/models/transactions/CredentialCreate.d.ts.map +1 -0
- package/dist/npm/src/models/transactions/CredentialCreate.js +34 -0
- package/dist/npm/src/models/transactions/CredentialCreate.js.map +1 -0
- package/dist/npm/src/models/transactions/CredentialDelete.d.ts +10 -0
- package/dist/npm/src/models/transactions/CredentialDelete.d.ts.map +1 -0
- package/dist/npm/src/models/transactions/CredentialDelete.js +17 -0
- package/dist/npm/src/models/transactions/CredentialDelete.js.map +1 -0
- package/dist/npm/src/models/transactions/MPTokenAuthorize.d.ts +3 -3
- package/dist/npm/src/models/transactions/MPTokenAuthorize.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/MPTokenAuthorize.js +1 -1
- package/dist/npm/src/models/transactions/MPTokenAuthorize.js.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 +28 -0
- package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.js.map +1 -1
- package/dist/npm/src/models/transactions/MPTokenIssuanceSet.d.ts +3 -3
- package/dist/npm/src/models/transactions/MPTokenIssuanceSet.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/MPTokenIssuanceSet.js +11 -4
- package/dist/npm/src/models/transactions/MPTokenIssuanceSet.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/NFTokenMint.d.ts +5 -3
- package/dist/npm/src/models/transactions/NFTokenMint.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/NFTokenMint.js +1 -0
- package/dist/npm/src/models/transactions/NFTokenMint.js.map +1 -1
- package/dist/npm/src/models/transactions/NFTokenModify.d.ts +9 -0
- package/dist/npm/src/models/transactions/NFTokenModify.d.ts.map +1 -0
- package/dist/npm/src/models/transactions/NFTokenModify.js +22 -0
- package/dist/npm/src/models/transactions/NFTokenModify.js.map +1 -0
- 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 +1 -0
- package/dist/npm/src/models/transactions/accountDelete.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/accountDelete.js +1 -0
- 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 +62 -0
- package/dist/npm/src/models/transactions/batch.js.map +1 -0
- package/dist/npm/src/models/transactions/clawback.d.ts +1 -1
- package/dist/npm/src/models/transactions/clawback.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/clawback.js +6 -6
- package/dist/npm/src/models/transactions/clawback.js.map +1 -1
- package/dist/npm/src/models/transactions/common.d.ts +22 -5
- package/dist/npm/src/models/transactions/common.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/common.js +113 -12
- package/dist/npm/src/models/transactions/common.js.map +1 -1
- package/dist/npm/src/models/transactions/depositPreauth.d.ts +3 -0
- package/dist/npm/src/models/transactions/depositPreauth.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/depositPreauth.js +20 -7
- package/dist/npm/src/models/transactions/depositPreauth.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 +1 -0
- package/dist/npm/src/models/transactions/escrowFinish.js.map +1 -1
- package/dist/npm/src/models/transactions/index.d.ts +9 -1
- package/dist/npm/src/models/transactions/index.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/index.js +5 -1
- package/dist/npm/src/models/transactions/index.js.map +1 -1
- package/dist/npm/src/models/transactions/metadata.d.ts +2 -1
- package/dist/npm/src/models/transactions/metadata.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/offerCreate.d.ts +2 -2
- package/dist/npm/src/models/transactions/offerCreate.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/payment.d.ts +5 -4
- package/dist/npm/src/models/transactions/payment.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/payment.js +1 -0
- package/dist/npm/src/models/transactions/payment.js.map +1 -1
- package/dist/npm/src/models/transactions/paymentChannelClaim.d.ts +3 -2
- package/dist/npm/src/models/transactions/paymentChannelClaim.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/paymentChannelClaim.js +1 -0
- package/dist/npm/src/models/transactions/paymentChannelClaim.js.map +1 -1
- package/dist/npm/src/models/transactions/permissionedDomainDelete.d.ts +7 -0
- package/dist/npm/src/models/transactions/permissionedDomainDelete.d.ts.map +1 -0
- package/dist/npm/src/models/transactions/permissionedDomainDelete.js +10 -0
- package/dist/npm/src/models/transactions/permissionedDomainDelete.js.map +1 -0
- package/dist/npm/src/models/transactions/permissionedDomainSet.d.ts +9 -0
- package/dist/npm/src/models/transactions/permissionedDomainSet.d.ts.map +1 -0
- package/dist/npm/src/models/transactions/permissionedDomainSet.js +13 -0
- package/dist/npm/src/models/transactions/permissionedDomainSet.js.map +1 -0
- package/dist/npm/src/models/transactions/transaction.d.ts +13 -5
- package/dist/npm/src/models/transactions/transaction.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/transaction.js +40 -5
- package/dist/npm/src/models/transactions/transaction.js.map +1 -1
- package/dist/npm/src/models/transactions/trustSet.d.ts +7 -3
- package/dist/npm/src/models/transactions/trustSet.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/trustSet.js +2 -0
- package/dist/npm/src/models/transactions/trustSet.js.map +1 -1
- package/dist/npm/src/models/utils/flags.d.ts +2 -0
- package/dist/npm/src/models/utils/flags.d.ts.map +1 -1
- package/dist/npm/src/models/utils/flags.js +62 -29
- package/dist/npm/src/models/utils/flags.js.map +1 -1
- package/dist/npm/src/models/utils/index.d.ts +1 -0
- package/dist/npm/src/models/utils/index.d.ts.map +1 -1
- package/dist/npm/src/models/utils/index.js +2 -1
- package/dist/npm/src/models/utils/index.js.map +1 -1
- package/dist/npm/src/sugar/autofill.d.ts +3 -1
- package/dist/npm/src/sugar/autofill.d.ts.map +1 -1
- package/dist/npm/src/sugar/autofill.js +100 -5
- 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 +7 -7
- 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/src/utils/index.d.ts +1 -2
- package/dist/npm/src/utils/index.d.ts.map +1 -1
- package/dist/npm/src/utils/index.js +1 -3
- package/dist/npm/src/utils/index.js.map +1 -1
- package/dist/npm/sugar/autofill.d.ts +3 -1
- package/dist/npm/sugar/autofill.d.ts.map +1 -1
- package/dist/npm/sugar/autofill.js +100 -5
- 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 +7 -7
- 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/dist/npm/utils/index.d.ts +1 -2
- package/dist/npm/utils/index.d.ts.map +1 -1
- package/dist/npm/utils/index.js +1 -3
- package/dist/npm/utils/index.js.map +1 -1
- package/package.json +6 -6
- package/src/Wallet/batchSigner.ts +222 -0
- package/src/Wallet/defaultFaucets.ts +6 -0
- package/src/Wallet/index.ts +9 -3
- package/src/client/RequestManager.ts +4 -1
- package/src/client/connection.ts +0 -1
- package/src/client/index.ts +49 -30
- package/src/client/partialPayment.ts +18 -5
- package/src/models/common/index.ts +10 -0
- package/src/models/index.ts +2 -1
- package/src/models/ledger/Credential.ts +47 -0
- package/src/models/ledger/DepositPreauth.ts +6 -2
- package/src/models/ledger/Ledger.ts +5 -0
- package/src/models/ledger/LedgerEntry.ts +6 -0
- package/src/models/ledger/MPToken.ts +1 -2
- package/src/models/ledger/MPTokenIssuance.ts +0 -1
- package/src/models/ledger/PermissionedDomain.ts +29 -0
- package/src/models/ledger/RippleState.ts +4 -0
- package/src/models/ledger/index.ts +4 -2
- package/src/models/methods/baseMethod.ts +1 -0
- package/src/models/methods/depositAuthorized.ts +10 -0
- package/src/models/methods/index.ts +20 -0
- package/src/models/methods/ledger.ts +2 -2
- package/src/models/methods/ledgerEntry.ts +29 -1
- package/src/models/methods/serverState.ts +1 -0
- package/src/models/methods/simulate.ts +88 -0
- package/src/models/methods/subscribe.ts +34 -3
- package/src/models/transactions/AMMClawback.ts +120 -0
- package/src/models/transactions/AMMDeposit.ts +2 -2
- package/src/models/transactions/AMMWithdraw.ts +2 -2
- package/src/models/transactions/CredentialAccept.ts +44 -0
- package/src/models/transactions/CredentialCreate.ts +81 -0
- package/src/models/transactions/CredentialDelete.ts +55 -0
- package/src/models/transactions/MPTokenAuthorize.ts +4 -4
- package/src/models/transactions/MPTokenIssuanceCreate.ts +60 -12
- package/src/models/transactions/MPTokenIssuanceSet.ts +20 -10
- package/src/models/transactions/NFTokenCreateOffer.ts +2 -2
- package/src/models/transactions/NFTokenMint.ts +7 -2
- package/src/models/transactions/NFTokenModify.ts +67 -0
- package/src/models/transactions/XChainModifyBridge.ts +2 -2
- package/src/models/transactions/accountDelete.ts +16 -0
- package/src/models/transactions/accountSet.ts +2 -1
- package/src/models/transactions/batch.ts +147 -0
- package/src/models/transactions/clawback.ts +7 -9
- package/src/models/transactions/common.ts +219 -22
- package/src/models/transactions/depositPreauth.ts +54 -15
- package/src/models/transactions/escrowFinish.ts +14 -0
- package/src/models/transactions/index.ts +13 -1
- package/src/models/transactions/metadata.ts +6 -4
- package/src/models/transactions/offerCreate.ts +2 -2
- package/src/models/transactions/payment.ts +19 -4
- package/src/models/transactions/paymentChannelClaim.ts +22 -2
- package/src/models/transactions/permissionedDomainDelete.ts +28 -0
- package/src/models/transactions/permissionedDomainSet.ts +54 -0
- package/src/models/transactions/transaction.ts +78 -15
- package/src/models/transactions/trustSet.ts +12 -2
- package/src/models/utils/flags.ts +88 -33
- package/src/models/utils/index.ts +1 -0
- package/src/sugar/autofill.ts +140 -11
- package/src/sugar/submit.ts +3 -5
- package/src/utils/hashes/hashLedger.ts +5 -2
- package/src/utils/index.ts +0 -2
- package/dist/npm/snippets/src/bridgeTransfer.d.ts +0 -2
- package/dist/npm/snippets/src/bridgeTransfer.d.ts.map +0 -1
- package/dist/npm/snippets/src/bridgeTransfer.js +0 -126
- package/dist/npm/snippets/src/bridgeTransfer.js.map +0 -1
- package/dist/npm/src/utils/mptConversion.d.ts +0 -2
- package/dist/npm/src/utils/mptConversion.d.ts.map +0 -1
- package/dist/npm/src/utils/mptConversion.js +0 -31
- package/dist/npm/src/utils/mptConversion.js.map +0 -1
- package/dist/npm/utils/mptConversion.d.ts +0 -2
- package/dist/npm/utils/mptConversion.d.ts.map +0 -1
- package/dist/npm/utils/mptConversion.js +0 -31
- package/dist/npm/utils/mptConversion.js.map +0 -1
- package/src/utils/mptConversion.ts +0 -61
@@ -1,4 +1,3 @@
|
|
1
|
-
/* eslint-disable no-param-reassign -- param reassign is safe */
|
2
1
|
/* eslint-disable no-bitwise -- flags require bitwise operations */
|
3
2
|
import { ValidationError } from '../../errors'
|
4
3
|
import {
|
@@ -6,9 +5,14 @@ import {
|
|
6
5
|
AccountRootFlags,
|
7
6
|
} from '../ledger/AccountRoot'
|
8
7
|
import { AccountSetTfFlags } from '../transactions/accountSet'
|
8
|
+
import { AMMClawbackFlags } from '../transactions/AMMClawback'
|
9
9
|
import { AMMDepositFlags } from '../transactions/AMMDeposit'
|
10
10
|
import { AMMWithdrawFlags } from '../transactions/AMMWithdraw'
|
11
|
+
import { BatchFlags } from '../transactions/batch'
|
11
12
|
import { GlobalFlags } from '../transactions/common'
|
13
|
+
import { MPTokenAuthorizeFlags } from '../transactions/MPTokenAuthorize'
|
14
|
+
import { MPTokenIssuanceCreateFlags } from '../transactions/MPTokenIssuanceCreate'
|
15
|
+
import { MPTokenIssuanceSetFlags } from '../transactions/MPTokenIssuanceSet'
|
12
16
|
import { NFTokenCreateOfferFlags } from '../transactions/NFTokenCreateOffer'
|
13
17
|
import { NFTokenMintFlags } from '../transactions/NFTokenMint'
|
14
18
|
import { OfferCreateFlags } from '../transactions/offerCreate'
|
@@ -17,9 +21,6 @@ import { PaymentChannelClaimFlags } from '../transactions/paymentChannelClaim'
|
|
17
21
|
import type { Transaction } from '../transactions/transaction'
|
18
22
|
import { TrustSetFlags } from '../transactions/trustSet'
|
19
23
|
import { XChainModifyBridgeFlags } from '../transactions/XChainModifyBridge'
|
20
|
-
import { MPTokenAuthorizeFlags } from '../transactions/MPTokenAuthorize'
|
21
|
-
import { MPTokenIssuanceCreateFlags } from '../transactions/MPTokenIssuanceCreate'
|
22
|
-
import { MPTokenIssuanceSetFlags } from '../transactions/MPTokenIssuanceSet'
|
23
24
|
|
24
25
|
import { isFlagEnabled } from '.'
|
25
26
|
|
@@ -49,8 +50,10 @@ export function parseAccountRootFlags(
|
|
49
50
|
|
50
51
|
const txToFlag = {
|
51
52
|
AccountSet: AccountSetTfFlags,
|
53
|
+
AMMClawback: AMMClawbackFlags,
|
52
54
|
AMMDeposit: AMMDepositFlags,
|
53
55
|
AMMWithdraw: AMMWithdrawFlags,
|
56
|
+
Batch: BatchFlags,
|
54
57
|
MPTokenAuthorize: MPTokenAuthorizeFlags,
|
55
58
|
MPTokenIssuanceCreate: MPTokenIssuanceCreateFlags,
|
56
59
|
MPTokenIssuanceSet: MPTokenIssuanceSetFlags,
|
@@ -63,36 +66,68 @@ const txToFlag = {
|
|
63
66
|
XChainModifyBridge: XChainModifyBridgeFlags,
|
64
67
|
}
|
65
68
|
|
69
|
+
function isTxToFlagKey(
|
70
|
+
transactionType: string,
|
71
|
+
): transactionType is keyof typeof txToFlag {
|
72
|
+
return transactionType in txToFlag
|
73
|
+
}
|
74
|
+
|
66
75
|
/**
|
67
76
|
* Sets a transaction's flags to its numeric representation.
|
68
77
|
*
|
78
|
+
* @deprecated
|
79
|
+
* This utility function is deprecated.
|
80
|
+
* Use convertTxFlagsToNumber() instead and use the returned value to modify the Transaction.Flags from the caller.
|
81
|
+
*
|
69
82
|
* @param tx - A transaction to set its flags to its numeric representation.
|
70
83
|
*/
|
71
84
|
export function setTransactionFlagsToNumber(tx: Transaction): void {
|
72
|
-
|
73
|
-
|
74
|
-
|
85
|
+
// eslint-disable-next-line no-console -- intended deprecation warning
|
86
|
+
console.warn(
|
87
|
+
'This function is deprecated. Use convertTxFlagsToNumber() instead and use the returned value to modify the Transaction.Flags from the caller.',
|
88
|
+
)
|
89
|
+
|
90
|
+
if (tx.Flags) {
|
91
|
+
// eslint-disable-next-line no-param-reassign -- intended param reassign in setter, retain old functionality for compatibility
|
92
|
+
tx.Flags = convertTxFlagsToNumber(tx)
|
93
|
+
}
|
94
|
+
}
|
95
|
+
|
96
|
+
/**
|
97
|
+
* Returns a Transaction's Flags as its numeric representation.
|
98
|
+
*
|
99
|
+
* @param tx - A Transaction to parse Flags for
|
100
|
+
* @returns A numerical representation of a Transaction's Flags
|
101
|
+
*/
|
102
|
+
export function convertTxFlagsToNumber(tx: Transaction): number {
|
103
|
+
if (!tx.Flags) {
|
104
|
+
return 0
|
75
105
|
}
|
76
106
|
if (typeof tx.Flags === 'number') {
|
77
|
-
return
|
107
|
+
return tx.Flags
|
78
108
|
}
|
79
109
|
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
110
|
+
if (isTxToFlagKey(tx.TransactionType)) {
|
111
|
+
const flagEnum = txToFlag[tx.TransactionType]
|
112
|
+
return Object.keys(tx.Flags).reduce((resultFlags, flag) => {
|
113
|
+
if (flagEnum[flag] == null) {
|
114
|
+
throw new ValidationError(
|
115
|
+
`Invalid flag ${flag}. Valid flags are ${JSON.stringify(flagEnum)}`,
|
116
|
+
)
|
117
|
+
}
|
118
|
+
|
119
|
+
return tx.Flags?.[flag] ? resultFlags | flagEnum[flag] : resultFlags
|
120
|
+
}, 0)
|
121
|
+
}
|
84
122
|
|
85
|
-
|
86
|
-
|
87
|
-
return Object.keys(flags).reduce((resultFlags, flag) => {
|
88
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- safe member access
|
89
|
-
if (flagEnum[flag] == null) {
|
123
|
+
return Object.keys(tx.Flags).reduce((resultFlags, flag) => {
|
124
|
+
if (GlobalFlags[flag] == null) {
|
90
125
|
throw new ValidationError(
|
91
|
-
`flag ${flag}
|
126
|
+
`Invalid flag ${flag}. Valid flags are ${JSON.stringify(GlobalFlags)}`,
|
92
127
|
)
|
93
128
|
}
|
94
|
-
|
95
|
-
return
|
129
|
+
|
130
|
+
return tx.Flags?.[flag] ? resultFlags | GlobalFlags[flag] : resultFlags
|
96
131
|
}, 0)
|
97
132
|
}
|
98
133
|
|
@@ -103,22 +138,42 @@ function convertFlagsToNumber(flags: GlobalFlags, flagEnum: any): number {
|
|
103
138
|
* @returns A map with all flags as booleans.
|
104
139
|
*/
|
105
140
|
export function parseTransactionFlags(tx: Transaction): object {
|
106
|
-
|
107
|
-
if (
|
141
|
+
const flags = convertTxFlagsToNumber(tx)
|
142
|
+
if (flags === 0) {
|
108
143
|
return {}
|
109
144
|
}
|
110
145
|
|
111
|
-
const
|
112
|
-
const flagsMap = {}
|
146
|
+
const booleanFlagMap = {}
|
113
147
|
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
148
|
+
if (isTxToFlagKey(tx.TransactionType)) {
|
149
|
+
const transactionTypeFlags = txToFlag[tx.TransactionType]
|
150
|
+
Object.values(transactionTypeFlags).forEach((flag) => {
|
151
|
+
if (
|
152
|
+
typeof flag === 'string' &&
|
153
|
+
isFlagEnabled(flags, transactionTypeFlags[flag])
|
154
|
+
) {
|
155
|
+
booleanFlagMap[flag] = true
|
156
|
+
}
|
157
|
+
})
|
158
|
+
}
|
159
|
+
|
160
|
+
return booleanFlagMap
|
161
|
+
}
|
122
162
|
|
123
|
-
|
163
|
+
/**
|
164
|
+
* Determines whether a transaction has a certain flag enabled.
|
165
|
+
*
|
166
|
+
* @param tx The transaction.
|
167
|
+
* @param flag The flag to check.
|
168
|
+
* @returns Whether `flag` is enabled on `tx`.
|
169
|
+
*/
|
170
|
+
export function hasFlag(tx: Transaction, flag: number): boolean {
|
171
|
+
if (tx.Flags == null) {
|
172
|
+
return false
|
173
|
+
}
|
174
|
+
if (typeof tx.Flags === 'number') {
|
175
|
+
return isFlagEnabled(tx.Flags, flag)
|
176
|
+
}
|
177
|
+
const txFlagNum = convertTxFlagsToNumber(tx)
|
178
|
+
return isFlagEnabled(txFlagNum, flag)
|
124
179
|
}
|
package/src/sugar/autofill.ts
CHANGED
@@ -1,10 +1,12 @@
|
|
1
|
+
/* eslint-disable max-lines -- lots of helper functions needed for autofill */
|
1
2
|
import BigNumber from 'bignumber.js'
|
2
3
|
import { xAddressToClassicAddress, isValidXAddress } from 'ripple-address-codec'
|
3
4
|
|
4
5
|
import { type Client } from '..'
|
5
6
|
import { ValidationError, XrplError } from '../errors'
|
6
7
|
import { AccountInfoRequest, AccountObjectsRequest } from '../models/methods'
|
7
|
-
import { Transaction } from '../models/transactions'
|
8
|
+
import { Batch, Payment, Transaction } from '../models/transactions'
|
9
|
+
import { GlobalFlags } from '../models/transactions/common'
|
8
10
|
import { xrpToDrops } from '../utils'
|
9
11
|
|
10
12
|
import getFeeXrp from './getFeeXrp'
|
@@ -207,6 +209,20 @@ function convertToClassicAddress(tx: Transaction, fieldName: string): void {
|
|
207
209
|
}
|
208
210
|
}
|
209
211
|
|
212
|
+
// Helper function to get the next valid sequence number for an account.
|
213
|
+
async function getNextValidSequenceNumber(
|
214
|
+
client: Client,
|
215
|
+
account: string,
|
216
|
+
): Promise<number> {
|
217
|
+
const request: AccountInfoRequest = {
|
218
|
+
command: 'account_info',
|
219
|
+
account,
|
220
|
+
ledger_index: 'current',
|
221
|
+
}
|
222
|
+
const data = await client.request(request)
|
223
|
+
return data.result.account_data.Sequence
|
224
|
+
}
|
225
|
+
|
210
226
|
/**
|
211
227
|
* Sets the next valid sequence number for a transaction.
|
212
228
|
*
|
@@ -219,14 +235,8 @@ export async function setNextValidSequenceNumber(
|
|
219
235
|
client: Client,
|
220
236
|
tx: Transaction,
|
221
237
|
): Promise<void> {
|
222
|
-
const request: AccountInfoRequest = {
|
223
|
-
command: 'account_info',
|
224
|
-
account: tx.Account,
|
225
|
-
ledger_index: 'current',
|
226
|
-
}
|
227
|
-
const data = await client.request(request)
|
228
238
|
// eslint-disable-next-line no-param-reassign, require-atomic-updates -- param reassign is safe with no race condition
|
229
|
-
tx.Sequence =
|
239
|
+
tx.Sequence = await getNextValidSequenceNumber(client, tx.Account)
|
230
240
|
}
|
231
241
|
|
232
242
|
/**
|
@@ -274,13 +284,16 @@ export async function calculateFeePerTransactionType(
|
|
274
284
|
scaleValue(netFeeDrops, 33 + fulfillmentBytesSize / 16),
|
275
285
|
)
|
276
286
|
baseFee = product.dp(0, BigNumber.ROUND_CEIL)
|
277
|
-
}
|
278
|
-
|
279
|
-
if (
|
287
|
+
} else if (
|
280
288
|
tx.TransactionType === 'AccountDelete' ||
|
281
289
|
tx.TransactionType === 'AMMCreate'
|
282
290
|
) {
|
283
291
|
baseFee = await fetchAccountDeleteFee(client)
|
292
|
+
} else if (tx.TransactionType === 'Batch') {
|
293
|
+
baseFee = BigNumber.sum(
|
294
|
+
baseFee.times(2),
|
295
|
+
baseFee.times(tx.RawTransactions.length + (tx.BatchSigners?.length ?? 0)),
|
296
|
+
)
|
284
297
|
}
|
285
298
|
|
286
299
|
/*
|
@@ -359,3 +372,119 @@ export async function checkAccountDeleteBlockers(
|
|
359
372
|
resolve()
|
360
373
|
})
|
361
374
|
}
|
375
|
+
/**
|
376
|
+
* Replaces Amount with DeliverMax if needed.
|
377
|
+
*
|
378
|
+
* @param tx - The transaction object.
|
379
|
+
* @throws ValidationError if Amount and DeliverMax are both provided but do not match.
|
380
|
+
*/
|
381
|
+
export function handleDeliverMax(tx: Payment): void {
|
382
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment -- ignore type-assertions on the DeliverMax property
|
383
|
+
// @ts-expect-error -- DeliverMax property exists only at the RPC level, not at the protocol level
|
384
|
+
if (tx.DeliverMax != null) {
|
385
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- needed here
|
386
|
+
if (tx.Amount == null) {
|
387
|
+
// If only DeliverMax is provided, use it to populate the Amount field
|
388
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment -- ignore type-assertions on the DeliverMax property
|
389
|
+
// @ts-expect-error -- DeliverMax property exists only at the RPC level, not at the protocol level
|
390
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, no-param-reassign -- known RPC-level property
|
391
|
+
tx.Amount = tx.DeliverMax
|
392
|
+
}
|
393
|
+
|
394
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment -- ignore type-assertions on the DeliverMax property
|
395
|
+
// @ts-expect-error -- DeliverMax property exists only at the RPC level, not at the protocol level
|
396
|
+
|
397
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- needed here
|
398
|
+
if (tx.Amount != null && tx.Amount !== tx.DeliverMax) {
|
399
|
+
throw new ValidationError(
|
400
|
+
'PaymentTransaction: Amount and DeliverMax fields must be identical when both are provided',
|
401
|
+
)
|
402
|
+
}
|
403
|
+
|
404
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment -- ignore type-assertions on the DeliverMax property
|
405
|
+
// @ts-expect-error -- DeliverMax property exists only at the RPC level, not at the protocol level
|
406
|
+
// eslint-disable-next-line no-param-reassign -- needed here
|
407
|
+
delete tx.DeliverMax
|
408
|
+
}
|
409
|
+
}
|
410
|
+
|
411
|
+
/**
|
412
|
+
* Autofills all the relevant `x` fields.
|
413
|
+
*
|
414
|
+
* @param client - The client object.
|
415
|
+
* @param tx - The transaction object.
|
416
|
+
* @returns A promise that resolves with void if there are no blockers, or rejects with an XrplError if there are blockers.
|
417
|
+
*/
|
418
|
+
// eslint-disable-next-line complexity, max-lines-per-function, max-statements -- needed here, lots to check
|
419
|
+
export async function autofillBatchTxn(
|
420
|
+
client: Client,
|
421
|
+
tx: Batch,
|
422
|
+
): Promise<void> {
|
423
|
+
const accountSequences: Record<string, number> = {}
|
424
|
+
|
425
|
+
for await (const rawTxn of tx.RawTransactions) {
|
426
|
+
const txn = rawTxn.RawTransaction
|
427
|
+
|
428
|
+
// Flag processing
|
429
|
+
/* eslint-disable no-bitwise -- needed here for flag parsing */
|
430
|
+
if (txn.Flags == null) {
|
431
|
+
txn.Flags = GlobalFlags.tfInnerBatchTxn
|
432
|
+
} else if (typeof txn.Flags === 'number') {
|
433
|
+
if (!((txn.Flags & GlobalFlags.tfInnerBatchTxn) === 0)) {
|
434
|
+
txn.Flags |= GlobalFlags.tfInnerBatchTxn
|
435
|
+
}
|
436
|
+
} else if (!txn.Flags.tfInnerBatchTxn) {
|
437
|
+
txn.Flags.tfInnerBatchTxn = true
|
438
|
+
}
|
439
|
+
/* eslint-enable no-bitwise */
|
440
|
+
|
441
|
+
// Sequence processing
|
442
|
+
if (txn.Sequence == null && txn.TicketSequence == null) {
|
443
|
+
if (txn.Account in accountSequences) {
|
444
|
+
txn.Sequence = accountSequences[txn.Account]
|
445
|
+
accountSequences[txn.Account] += 1
|
446
|
+
} else {
|
447
|
+
const nextSequence = await getNextValidSequenceNumber(
|
448
|
+
client,
|
449
|
+
txn.Account,
|
450
|
+
)
|
451
|
+
const sequence =
|
452
|
+
txn.Account === tx.Account ? nextSequence + 1 : nextSequence
|
453
|
+
accountSequences[txn.Account] = sequence + 1
|
454
|
+
txn.Sequence = sequence
|
455
|
+
}
|
456
|
+
}
|
457
|
+
|
458
|
+
if (txn.Fee == null) {
|
459
|
+
txn.Fee = '0'
|
460
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- JS check
|
461
|
+
} else if (txn.Fee !== '0') {
|
462
|
+
throw new XrplError('Must have `Fee of "0" in inner Batch transaction.')
|
463
|
+
}
|
464
|
+
|
465
|
+
if (txn.SigningPubKey == null) {
|
466
|
+
txn.SigningPubKey = ''
|
467
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- JS check
|
468
|
+
} else if (txn.SigningPubKey !== '') {
|
469
|
+
throw new XrplError(
|
470
|
+
'Must have `SigningPubKey` of "" in inner Batch transaction.',
|
471
|
+
)
|
472
|
+
}
|
473
|
+
|
474
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- needed for JS
|
475
|
+
if (txn.TxnSignature != null) {
|
476
|
+
throw new XrplError(
|
477
|
+
'Must not have `TxnSignature` in inner Batch transaction.',
|
478
|
+
)
|
479
|
+
}
|
480
|
+
|
481
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- needed for JS
|
482
|
+
if (txn.Signers != null) {
|
483
|
+
throw new XrplError('Must not have `Signers` in inner Batch transaction.')
|
484
|
+
}
|
485
|
+
|
486
|
+
if (txn.NetworkID == null) {
|
487
|
+
txn.NetworkID = txNeedsNetworkID(client) ? client.networkID : undefined
|
488
|
+
}
|
489
|
+
}
|
490
|
+
}
|
package/src/sugar/submit.ts
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
import { decode, encode } from 'ripple-binary-codec'
|
2
|
-
|
3
1
|
import type {
|
4
2
|
Client,
|
5
3
|
SubmitRequest,
|
@@ -12,6 +10,7 @@ import { ValidationError, XrplError } from '../errors'
|
|
12
10
|
import { Signer } from '../models/common'
|
13
11
|
import { TxResponse } from '../models/methods'
|
14
12
|
import { BaseTransaction } from '../models/transactions/common'
|
13
|
+
import { decode, encode } from '../utils'
|
15
14
|
|
16
15
|
/** Approximate time for a ledger to close, in milliseconds */
|
17
16
|
const LEDGER_CLOSE_TIME = 1000
|
@@ -52,7 +51,7 @@ export async function submitRequest(
|
|
52
51
|
failHard = false,
|
53
52
|
): Promise<SubmitResponse> {
|
54
53
|
if (!isSigned(signedTransaction)) {
|
55
|
-
throw new ValidationError('Transaction must be signed')
|
54
|
+
throw new ValidationError('Transaction must be signed.')
|
56
55
|
}
|
57
56
|
|
58
57
|
const signedTxEncoded =
|
@@ -176,7 +175,6 @@ function isSigned(transaction: SubmittableTransaction | string): boolean {
|
|
176
175
|
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- we know that tx.Signers is an array of Signers
|
177
176
|
const signers = tx.Signers as Signer[]
|
178
177
|
for (const signer of signers) {
|
179
|
-
// eslint-disable-next-line max-depth -- necessary for checking if signer is signed
|
180
178
|
if (
|
181
179
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- necessary check
|
182
180
|
signer.Signer.SigningPubKey == null ||
|
@@ -284,7 +282,7 @@ export function getLastLedgerSequence(
|
|
284
282
|
transaction: Transaction | string,
|
285
283
|
): number | null {
|
286
284
|
const tx = typeof transaction === 'string' ? decode(transaction) : transaction
|
287
|
-
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- converts
|
285
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- converts LastLedgerSeq to number if present.
|
288
286
|
return tx.LastLedgerSequence as number | null
|
289
287
|
}
|
290
288
|
|
@@ -12,6 +12,8 @@ import { APIVersion } from '../../models'
|
|
12
12
|
import { LedgerEntry } from '../../models/ledger'
|
13
13
|
import { LedgerVersionMap } from '../../models/ledger/Ledger'
|
14
14
|
import { Transaction, TransactionMetadata } from '../../models/transactions'
|
15
|
+
import { GlobalFlags } from '../../models/transactions/common'
|
16
|
+
import { hasFlag } from '../../models/utils/flags'
|
15
17
|
|
16
18
|
import HashPrefix from './HashPrefix'
|
17
19
|
import sha512Half from './sha512Half'
|
@@ -66,7 +68,7 @@ function addLengthPrefix(hex: string): string {
|
|
66
68
|
*
|
67
69
|
* @param tx - A transaction to hash. Tx may be in binary blob form. Tx must be signed.
|
68
70
|
* @returns A hash of tx.
|
69
|
-
* @throws ValidationError if the Transaction is unsigned
|
71
|
+
* @throws ValidationError if the Transaction is unsigned.
|
70
72
|
* @category Utilities
|
71
73
|
*/
|
72
74
|
export function hashSignedTx(tx: Transaction | string): string {
|
@@ -84,7 +86,8 @@ export function hashSignedTx(tx: Transaction | string): string {
|
|
84
86
|
if (
|
85
87
|
txObject.TxnSignature === undefined &&
|
86
88
|
txObject.Signers === undefined &&
|
87
|
-
txObject.SigningPubKey === undefined
|
89
|
+
txObject.SigningPubKey === undefined &&
|
90
|
+
!hasFlag(txObject, GlobalFlags.tfInnerBatchTxn)
|
88
91
|
) {
|
89
92
|
throw new ValidationError('The transaction must be signed to hash it.')
|
90
93
|
}
|
package/src/utils/index.ts
CHANGED
@@ -66,7 +66,6 @@ import {
|
|
66
66
|
} from './timeConversion'
|
67
67
|
import verifyPaymentChannelClaim from './verifyPaymentChannelClaim'
|
68
68
|
import { xrpToDrops, dropsToXrp } from './xrpConversion'
|
69
|
-
import { mptUint64ToHex } from './mptConversion'
|
70
69
|
|
71
70
|
/**
|
72
71
|
* Check if a secret is valid.
|
@@ -230,5 +229,4 @@ export {
|
|
230
229
|
getNFTokenID,
|
231
230
|
parseNFTokenID,
|
232
231
|
getXChainClaimID,
|
233
|
-
mptUint64ToHex,
|
234
232
|
}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"bridgeTransfer.d.ts","sourceRoot":"","sources":["../../../../snippets/src/bridgeTransfer.ts"],"names":[],"mappings":""}
|
@@ -1,126 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
-
});
|
10
|
-
};
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
-
const src_1 = require("../../src");
|
13
|
-
function sleep(sec) {
|
14
|
-
return __awaiter(this, void 0, void 0, function* () {
|
15
|
-
return new Promise((resolve) => {
|
16
|
-
setTimeout(resolve, sec * 1000);
|
17
|
-
});
|
18
|
-
});
|
19
|
-
}
|
20
|
-
const lockingClient = new src_1.Client('wss://s.devnet.rippletest.net:51233');
|
21
|
-
const issuingClient = new src_1.Client('wss://sidechain-net2.devnet.rippletest.net:51233');
|
22
|
-
const MAX_LEDGERS_WAITED = 5;
|
23
|
-
const LEDGER_CLOSE_TIME = 4;
|
24
|
-
void bridgeTransfer();
|
25
|
-
function bridgeTransfer() {
|
26
|
-
return __awaiter(this, void 0, void 0, function* () {
|
27
|
-
yield lockingClient.connect();
|
28
|
-
yield issuingClient.connect();
|
29
|
-
const lockingChainDoor = 'rnQAXXWoFNN6PEqwqsdTngCtFPCrmfuqFJ';
|
30
|
-
const accountObjectsRequest = {
|
31
|
-
command: 'account_objects',
|
32
|
-
account: lockingChainDoor,
|
33
|
-
type: 'bridge',
|
34
|
-
};
|
35
|
-
const lockingAccountObjects = (yield lockingClient.request(accountObjectsRequest)).result.account_objects;
|
36
|
-
const bridgeData = lockingAccountObjects.filter((obj) => obj.LedgerEntryType === 'Bridge' &&
|
37
|
-
obj.XChainBridge.LockingChainIssue.currency === 'XRP')[0];
|
38
|
-
const bridge = bridgeData.XChainBridge;
|
39
|
-
console.log(bridge);
|
40
|
-
console.log('Creating wallet on the locking chain via the faucet...');
|
41
|
-
const { wallet: wallet1 } = yield lockingClient.fundWallet();
|
42
|
-
console.log(wallet1);
|
43
|
-
const wallet2 = src_1.Wallet.generate();
|
44
|
-
console.log(`Creating ${wallet2.classicAddress} on the issuing chain via the bridge...`);
|
45
|
-
const fundTx = {
|
46
|
-
TransactionType: 'XChainAccountCreateCommit',
|
47
|
-
Account: wallet1.classicAddress,
|
48
|
-
XChainBridge: bridge,
|
49
|
-
SignatureReward: bridgeData.SignatureReward,
|
50
|
-
Destination: wallet2.classicAddress,
|
51
|
-
Amount: (parseInt(bridgeData.MinAccountCreateAmount, 10) * 2).toString(),
|
52
|
-
};
|
53
|
-
const fundResponse = yield lockingClient.submitAndWait(fundTx, {
|
54
|
-
wallet: wallet1,
|
55
|
-
});
|
56
|
-
console.log(fundResponse);
|
57
|
-
console.log('Waiting for the attestation to go through... (usually 8-12 seconds)');
|
58
|
-
let ledgersWaited = 0;
|
59
|
-
let initialBalance = 0;
|
60
|
-
while (ledgersWaited < MAX_LEDGERS_WAITED) {
|
61
|
-
yield sleep(LEDGER_CLOSE_TIME);
|
62
|
-
try {
|
63
|
-
initialBalance = yield issuingClient.getXrpBalance(wallet2.classicAddress);
|
64
|
-
console.log(`Wallet ${wallet2.classicAddress} has been funded with a balance of ${initialBalance} XRP`);
|
65
|
-
break;
|
66
|
-
}
|
67
|
-
catch (_error) {
|
68
|
-
ledgersWaited += 1;
|
69
|
-
if (ledgersWaited === MAX_LEDGERS_WAITED) {
|
70
|
-
throw Error('Destination account creation via the bridge failed.');
|
71
|
-
}
|
72
|
-
}
|
73
|
-
}
|
74
|
-
console.log(`Transferring funds from ${wallet1.classicAddress} on the locking chain to ` +
|
75
|
-
`${wallet2.classicAddress} on the issuing_chain...`);
|
76
|
-
console.log('Step 1: Fetching the claim ID for the transfer...');
|
77
|
-
const claimIdTx = {
|
78
|
-
TransactionType: 'XChainCreateClaimID',
|
79
|
-
Account: wallet2.classicAddress,
|
80
|
-
XChainBridge: bridge,
|
81
|
-
SignatureReward: bridgeData.SignatureReward,
|
82
|
-
OtherChainSource: wallet1.classicAddress,
|
83
|
-
};
|
84
|
-
const claimIdResult = yield issuingClient.submitAndWait(claimIdTx, {
|
85
|
-
wallet: wallet2,
|
86
|
-
});
|
87
|
-
console.log(claimIdResult);
|
88
|
-
const xchainClaimId = (0, src_1.getXChainClaimID)(claimIdResult.result.meta);
|
89
|
-
if (xchainClaimId == null) {
|
90
|
-
throw Error('Could not extract XChainClaimID');
|
91
|
-
}
|
92
|
-
console.log(`Claim ID for the transfer: ${xchainClaimId}`);
|
93
|
-
console.log('Step 2: Locking the funds on the locking chain with an XChainCommit transaction...');
|
94
|
-
const commitTx = {
|
95
|
-
TransactionType: 'XChainCommit',
|
96
|
-
Account: wallet1.classicAddress,
|
97
|
-
Amount: (0, src_1.xrpToDrops)(1),
|
98
|
-
XChainBridge: bridge,
|
99
|
-
XChainClaimID: xchainClaimId,
|
100
|
-
OtherChainDestination: wallet2.classicAddress,
|
101
|
-
};
|
102
|
-
const commitResult = yield lockingClient.submitAndWait(commitTx, {
|
103
|
-
wallet: wallet1,
|
104
|
-
});
|
105
|
-
console.log(commitResult);
|
106
|
-
console.log('Waiting for the attestation to go through... (usually 8-12 seconds)');
|
107
|
-
ledgersWaited = 0;
|
108
|
-
while (ledgersWaited < MAX_LEDGERS_WAITED) {
|
109
|
-
yield sleep(LEDGER_CLOSE_TIME);
|
110
|
-
const currentBalance = yield issuingClient.getXrpBalance(wallet2.classicAddress);
|
111
|
-
console.log(initialBalance, currentBalance);
|
112
|
-
if (currentBalance > initialBalance) {
|
113
|
-
console.log('Transfer is complete');
|
114
|
-
console.log(`New balance of ${wallet2.classicAddress} is ${currentBalance} XRP`);
|
115
|
-
break;
|
116
|
-
}
|
117
|
-
ledgersWaited += 1;
|
118
|
-
if (ledgersWaited === MAX_LEDGERS_WAITED) {
|
119
|
-
throw Error('Bridge transfer failed.');
|
120
|
-
}
|
121
|
-
}
|
122
|
-
yield lockingClient.disconnect();
|
123
|
-
yield issuingClient.disconnect();
|
124
|
-
});
|
125
|
-
}
|
126
|
-
//# sourceMappingURL=bridgeTransfer.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"bridgeTransfer.js","sourceRoot":"","sources":["../../../../snippets/src/bridgeTransfer.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"mptConversion.d.ts","sourceRoot":"","sources":["../../../../src/utils/mptConversion.ts"],"names":[],"mappings":"AAuBA,wBAAgB,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAqC9D"}
|
@@ -1,31 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.mptUint64ToHex = void 0;
|
7
|
-
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
8
|
-
const errors_1 = require("../errors");
|
9
|
-
const SANITY_CHECK = /^[0-9]+$/u;
|
10
|
-
function mptUint64ToHex(numberToConvert) {
|
11
|
-
const number = new bignumber_js_1.default(numberToConvert).toString(10);
|
12
|
-
if (typeof numberToConvert === 'string' && number === 'NaN') {
|
13
|
-
throw new errors_1.ValidationError(`mptUint64ToHex: invalid value '${numberToConvert}', should be a string-encoded number.`);
|
14
|
-
}
|
15
|
-
if (number.includes('.')) {
|
16
|
-
throw new errors_1.ValidationError(`mptUint64ToHex: value '${numberToConvert}' has too many decimal places.`);
|
17
|
-
}
|
18
|
-
if (number.includes('-')) {
|
19
|
-
throw new errors_1.ValidationError(`mptUint64ToHex: value '${numberToConvert}' cannot be negative.`);
|
20
|
-
}
|
21
|
-
if (!SANITY_CHECK.exec(number)) {
|
22
|
-
throw new errors_1.ValidationError(`mptUint64ToHex: failed sanity check -` +
|
23
|
-
` value '${numberToConvert}',` +
|
24
|
-
` does not match (^[0-9]+$).`);
|
25
|
-
}
|
26
|
-
if (Number(BigInt(number) & BigInt('0x8000000000000000')) != 0)
|
27
|
-
throw new errors_1.ValidationError(`mptUint64ToHex: invalid value '${numberToConvert}', should be within 63-bit range.`);
|
28
|
-
return BigInt(number).toString(16);
|
29
|
-
}
|
30
|
-
exports.mptUint64ToHex = mptUint64ToHex;
|
31
|
-
//# sourceMappingURL=mptConversion.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"mptConversion.js","sourceRoot":"","sources":["../../../../src/utils/mptConversion.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAoC;AACpC,sCAA2C;AAE3C,MAAM,YAAY,GAAG,WAAW,CAAA;AAoBhC,SAAgB,cAAc,CAAC,eAAuB;IAEpD,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAG1D,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,MAAM,KAAK,KAAK,EAAE;QAC3D,MAAM,IAAI,wBAAe,CACvB,kCAAkC,eAAe,uCAAuC,CACzF,CAAA;KACF;IAGD,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACxB,MAAM,IAAI,wBAAe,CACvB,0BAA0B,eAAe,gCAAgC,CAC1E,CAAA;KACF;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACxB,MAAM,IAAI,wBAAe,CACvB,0BAA0B,eAAe,uBAAuB,CACjE,CAAA;KACF;IAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QAC9B,MAAM,IAAI,wBAAe,CACvB,uCAAuC;YACrC,WAAW,eAAe,IAAI;YAC9B,6BAA6B,CAChC,CAAA;KACF;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC;QAC5D,MAAM,IAAI,wBAAe,CACvB,kCAAkC,eAAe,mCAAmC,CACrF,CAAA;IAEH,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;AACpC,CAAC;AArCD,wCAqCC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"mptConversion.d.ts","sourceRoot":"","sources":["../../../src/utils/mptConversion.ts"],"names":[],"mappings":"AAuBA,wBAAgB,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAqC9D"}
|