algosdk 2.9.0 → 3.0.0-beta.1
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 +8 -4
- package/dist/browser/algosdk.min.js +1 -1
- package/dist/browser/algosdk.min.js.LICENSE.txt +0 -9
- package/dist/browser/algosdk.min.js.map +1 -1
- package/dist/cjs/abi/abi_type.js +34 -27
- package/dist/cjs/abi/abi_type.js.map +1 -1
- package/dist/cjs/abi/contract.js +3 -3
- package/dist/cjs/abi/contract.js.map +1 -1
- package/dist/cjs/abi/index.js +6 -6
- package/dist/cjs/abi/index.js.map +1 -1
- package/dist/cjs/abi/interface.js +3 -3
- package/dist/cjs/abi/interface.js.map +1 -1
- package/dist/cjs/abi/method.js +10 -10
- package/dist/cjs/abi/method.js.map +1 -1
- package/dist/cjs/abi/reference.js +1 -1
- package/dist/cjs/abi/reference.js.map +1 -1
- package/dist/cjs/abi/transaction.js +2 -2
- package/dist/cjs/abi/transaction.js.map +1 -1
- package/dist/cjs/account.js +4 -4
- package/dist/cjs/account.js.map +1 -1
- package/dist/cjs/boxStorage.js +17 -17
- package/dist/cjs/boxStorage.js.map +1 -1
- package/dist/cjs/client/client.js +77 -41
- package/dist/cjs/client/client.js.map +1 -1
- package/dist/cjs/client/index.js +29 -0
- package/dist/cjs/client/index.js.map +1 -0
- package/dist/cjs/client/kmd.js +69 -86
- package/dist/cjs/client/kmd.js.map +1 -1
- package/dist/cjs/client/urlTokenBaseHTTPClient.js +16 -11
- package/dist/cjs/client/urlTokenBaseHTTPClient.js.map +1 -1
- package/dist/cjs/client/v2/algod/accountApplicationInformation.js +11 -7
- package/dist/cjs/client/v2/algod/accountApplicationInformation.js.map +1 -1
- package/dist/cjs/client/v2/algod/accountAssetInformation.js +11 -7
- package/dist/cjs/client/v2/algod/accountAssetInformation.js.map +1 -1
- package/dist/cjs/client/v2/algod/accountInformation.js +11 -6
- package/dist/cjs/client/v2/algod/accountInformation.js.map +1 -1
- package/dist/cjs/client/v2/algod/algod.js +85 -83
- package/dist/cjs/client/v2/algod/algod.js.map +1 -1
- package/dist/cjs/client/v2/algod/block.js +6 -33
- package/dist/cjs/client/v2/algod/block.js.map +1 -1
- package/dist/cjs/client/v2/algod/compile.js +17 -11
- package/dist/cjs/client/v2/algod/compile.js.map +1 -1
- package/dist/cjs/client/v2/algod/disassemble.js +17 -11
- package/dist/cjs/client/v2/algod/disassemble.js.map +1 -1
- package/dist/cjs/client/v2/algod/dryrun.js +18 -37
- package/dist/cjs/client/v2/algod/dryrun.js.map +1 -1
- package/dist/cjs/client/v2/algod/genesis.js +6 -2
- package/dist/cjs/client/v2/algod/genesis.js.map +1 -1
- package/dist/cjs/client/v2/algod/getApplicationBoxByName.js +10 -10
- package/dist/cjs/client/v2/algod/getApplicationBoxByName.js.map +1 -1
- package/dist/cjs/client/v2/algod/getApplicationBoxes.js +8 -8
- package/dist/cjs/client/v2/algod/getApplicationBoxes.js.map +1 -1
- package/dist/cjs/client/v2/algod/getApplicationByID.js +10 -5
- package/dist/cjs/client/v2/algod/getApplicationByID.js.map +1 -1
- package/dist/cjs/client/v2/algod/getAssetByID.js +10 -5
- package/dist/cjs/client/v2/algod/getAssetByID.js.map +1 -1
- package/dist/cjs/client/v2/algod/getBlockHash.js +10 -6
- package/dist/cjs/client/v2/algod/getBlockHash.js.map +1 -1
- package/dist/cjs/client/v2/algod/getBlockOffsetTimestamp.js +6 -5
- package/dist/cjs/client/v2/algod/getBlockOffsetTimestamp.js.map +1 -1
- package/dist/cjs/client/v2/algod/getBlockTxids.js +10 -4
- package/dist/cjs/client/v2/algod/getBlockTxids.js.map +1 -1
- package/dist/cjs/client/v2/algod/getLedgerStateDelta.js +11 -6
- package/dist/cjs/client/v2/algod/getLedgerStateDelta.js.map +1 -1
- package/dist/cjs/client/v2/algod/getLedgerStateDeltaForTransactionGroup.js +11 -6
- package/dist/cjs/client/v2/algod/getLedgerStateDeltaForTransactionGroup.js.map +1 -1
- package/dist/cjs/client/v2/algod/getSyncRound.js +6 -5
- package/dist/cjs/client/v2/algod/getSyncRound.js.map +1 -1
- package/dist/cjs/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.js +9 -9
- package/dist/cjs/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.js.map +1 -1
- package/dist/cjs/client/v2/algod/getTransactionProof.js +10 -6
- package/dist/cjs/client/v2/algod/getTransactionProof.js.map +1 -1
- package/dist/cjs/client/v2/algod/healthCheck.js +4 -9
- package/dist/cjs/client/v2/algod/healthCheck.js.map +1 -1
- package/dist/cjs/{types → client/v2/algod}/index.js +5 -3
- package/dist/cjs/client/v2/algod/index.js.map +1 -0
- package/dist/cjs/client/v2/algod/lightBlockHeaderProof.js +10 -5
- package/dist/cjs/client/v2/algod/lightBlockHeaderProof.js.map +1 -1
- package/dist/cjs/client/v2/algod/models/types.js +3701 -1828
- package/dist/cjs/client/v2/algod/models/types.js.map +1 -1
- package/dist/cjs/client/v2/algod/pendingTransactionInformation.js +6 -32
- package/dist/cjs/client/v2/algod/pendingTransactionInformation.js.map +1 -1
- package/dist/cjs/client/v2/algod/pendingTransactions.js +6 -31
- package/dist/cjs/client/v2/algod/pendingTransactions.js.map +1 -1
- package/dist/cjs/client/v2/algod/pendingTransactionsByAddress.js +7 -33
- package/dist/cjs/client/v2/algod/pendingTransactionsByAddress.js.map +1 -1
- package/dist/cjs/client/v2/algod/ready.js +4 -2
- package/dist/cjs/client/v2/algod/ready.js.map +1 -1
- package/dist/cjs/client/v2/algod/sendRawTransaction.js +17 -8
- package/dist/cjs/client/v2/algod/sendRawTransaction.js.map +1 -1
- package/dist/cjs/client/v2/algod/setBlockOffsetTimestamp.js +13 -8
- package/dist/cjs/client/v2/algod/setBlockOffsetTimestamp.js.map +1 -1
- package/dist/cjs/client/v2/algod/setSyncRound.js +13 -8
- package/dist/cjs/client/v2/algod/setSyncRound.js.map +1 -1
- package/dist/cjs/client/v2/algod/simulateTransaction.js +15 -35
- package/dist/cjs/client/v2/algod/simulateTransaction.js.map +1 -1
- package/dist/cjs/client/v2/algod/stateproof.js +10 -5
- package/dist/cjs/client/v2/algod/stateproof.js.map +1 -1
- package/dist/cjs/client/v2/algod/status.js +8 -2
- package/dist/cjs/client/v2/algod/status.js.map +1 -1
- package/dist/cjs/client/v2/algod/statusAfterBlock.js +10 -5
- package/dist/cjs/client/v2/algod/statusAfterBlock.js.map +1 -1
- package/dist/cjs/client/v2/algod/suggestedParams.js +13 -9
- package/dist/cjs/client/v2/algod/suggestedParams.js.map +1 -1
- package/dist/cjs/client/v2/algod/supply.js +8 -2
- package/dist/cjs/client/v2/algod/supply.js.map +1 -1
- package/dist/cjs/client/v2/algod/unsetSyncRound.js +11 -5
- package/dist/cjs/client/v2/algod/unsetSyncRound.js.map +1 -1
- package/dist/cjs/client/v2/algod/versions.js +8 -2
- package/dist/cjs/client/v2/algod/versions.js.map +1 -1
- package/dist/cjs/client/v2/indexer/index.js +22 -0
- package/dist/cjs/client/v2/indexer/index.js.map +1 -0
- package/dist/cjs/client/v2/indexer/indexer.js +44 -43
- package/dist/cjs/client/v2/indexer/indexer.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupAccountAppLocalStates.js +11 -6
- package/dist/cjs/client/v2/indexer/lookupAccountAppLocalStates.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupAccountAssets.js +11 -6
- package/dist/cjs/client/v2/indexer/lookupAccountAssets.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupAccountByID.js +11 -6
- package/dist/cjs/client/v2/indexer/lookupAccountByID.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupAccountCreatedApplications.js +11 -6
- package/dist/cjs/client/v2/indexer/lookupAccountCreatedApplications.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupAccountCreatedAssets.js +11 -6
- package/dist/cjs/client/v2/indexer/lookupAccountCreatedAssets.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupAccountTransactions.js +19 -12
- package/dist/cjs/client/v2/indexer/lookupAccountTransactions.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupApplicationBoxByIDandName.js +10 -10
- package/dist/cjs/client/v2/indexer/lookupApplicationBoxByIDandName.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupApplicationLogs.js +10 -5
- package/dist/cjs/client/v2/indexer/lookupApplicationLogs.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupApplications.js +10 -5
- package/dist/cjs/client/v2/indexer/lookupApplications.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupAssetBalances.js +10 -5
- package/dist/cjs/client/v2/indexer/lookupAssetBalances.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupAssetByID.js +10 -5
- package/dist/cjs/client/v2/indexer/lookupAssetByID.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupAssetTransactions.js +19 -12
- package/dist/cjs/client/v2/indexer/lookupAssetTransactions.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupBlock.js +10 -5
- package/dist/cjs/client/v2/indexer/lookupBlock.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupTransactionByID.js +10 -5
- package/dist/cjs/client/v2/indexer/lookupTransactionByID.js.map +1 -1
- package/dist/cjs/client/v2/indexer/makeHealthCheck.js +8 -2
- package/dist/cjs/client/v2/indexer/makeHealthCheck.js.map +1 -1
- package/dist/cjs/client/v2/indexer/models/types.js +3591 -1651
- package/dist/cjs/client/v2/indexer/models/types.js.map +1 -1
- package/dist/cjs/client/v2/indexer/searchAccounts.js +9 -3
- package/dist/cjs/client/v2/indexer/searchAccounts.js.map +1 -1
- package/dist/cjs/client/v2/indexer/searchForApplicationBoxes.js +8 -8
- package/dist/cjs/client/v2/indexer/searchForApplicationBoxes.js.map +1 -1
- package/dist/cjs/client/v2/indexer/searchForApplications.js +9 -3
- package/dist/cjs/client/v2/indexer/searchForApplications.js.map +1 -1
- package/dist/cjs/client/v2/indexer/searchForAssets.js +9 -3
- package/dist/cjs/client/v2/indexer/searchForAssets.js.map +1 -1
- package/dist/cjs/client/v2/indexer/searchForTransactions.js +17 -9
- package/dist/cjs/client/v2/indexer/searchForTransactions.js.map +1 -1
- package/dist/cjs/client/v2/jsonrequest.js +22 -54
- package/dist/cjs/client/v2/jsonrequest.js.map +1 -1
- package/dist/cjs/client/v2/serviceClient.js +5 -25
- package/dist/cjs/client/v2/serviceClient.js.map +1 -1
- package/dist/cjs/client/v2/untypedmodel.js +22 -0
- package/dist/cjs/client/v2/untypedmodel.js.map +1 -0
- package/dist/cjs/composer.js +64 -58
- package/dist/cjs/composer.js.map +1 -1
- package/dist/cjs/convert.js.map +1 -1
- package/dist/cjs/dryrun.js +107 -203
- package/dist/cjs/dryrun.js.map +1 -1
- package/dist/cjs/encoding/address.js +88 -104
- package/dist/cjs/encoding/address.js.map +1 -1
- package/dist/cjs/encoding/bigint.js +2 -3
- package/dist/cjs/encoding/bigint.js.map +1 -1
- package/dist/cjs/encoding/binarydata.js +82 -0
- package/dist/cjs/encoding/binarydata.js.map +1 -0
- package/dist/cjs/encoding/encoding.js +353 -38
- package/dist/cjs/encoding/encoding.js.map +1 -1
- package/dist/cjs/encoding/schema/address.js +41 -0
- package/dist/cjs/encoding/schema/address.js.map +1 -0
- package/dist/cjs/encoding/schema/array.js +43 -0
- package/dist/cjs/encoding/schema/array.js.map +1 -0
- package/dist/cjs/encoding/schema/binarystring.js +55 -0
- package/dist/cjs/encoding/schema/binarystring.js.map +1 -0
- package/dist/cjs/encoding/schema/blockhash.js +67 -0
- package/dist/cjs/encoding/schema/blockhash.js.map +1 -0
- package/dist/cjs/encoding/schema/boolean.js +42 -0
- package/dist/cjs/encoding/schema/boolean.js.map +1 -0
- package/dist/cjs/encoding/schema/bytearray.js +98 -0
- package/dist/cjs/encoding/schema/bytearray.js.map +1 -0
- package/dist/cjs/encoding/schema/index.js +34 -0
- package/dist/cjs/encoding/schema/index.js.map +1 -0
- package/dist/cjs/encoding/schema/map.js +528 -0
- package/dist/cjs/encoding/schema/map.js.map +1 -0
- package/dist/cjs/encoding/schema/optional.js +58 -0
- package/dist/cjs/encoding/schema/optional.js.map +1 -0
- package/dist/cjs/encoding/schema/string.js +43 -0
- package/dist/cjs/encoding/schema/string.js.map +1 -0
- package/dist/cjs/encoding/schema/uint64.js +36 -0
- package/dist/cjs/encoding/schema/uint64.js.map +1 -0
- package/dist/cjs/encoding/schema/untyped.js +33 -0
- package/dist/cjs/encoding/schema/untyped.js.map +1 -0
- package/dist/cjs/encoding/uint64.js +2 -2
- package/dist/cjs/encoding/uint64.js.map +1 -1
- package/dist/cjs/group.js +23 -60
- package/dist/cjs/group.js.map +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/logic/sourcemap.js +56 -25
- package/dist/cjs/logic/sourcemap.js.map +1 -1
- package/dist/cjs/logicsig.js +113 -146
- package/dist/cjs/logicsig.js.map +1 -1
- package/dist/cjs/main.js +113 -122
- package/dist/cjs/main.js.map +1 -1
- package/dist/cjs/makeTxn.js +310 -570
- package/dist/cjs/makeTxn.js.map +1 -1
- package/dist/cjs/mnemonic/mnemonic.js +8 -8
- package/dist/cjs/mnemonic/mnemonic.js.map +1 -1
- package/dist/cjs/multisig.js +60 -312
- package/dist/cjs/multisig.js.map +1 -1
- package/dist/cjs/multisigSigning.js +285 -0
- package/dist/cjs/multisigSigning.js.map +1 -0
- package/dist/cjs/nacl/naclWrappers.js +2 -2
- package/dist/cjs/nacl/naclWrappers.js.map +1 -1
- package/dist/cjs/signedTransaction.js +106 -0
- package/dist/cjs/signedTransaction.js.map +1 -0
- package/dist/cjs/signer.js +7 -7
- package/dist/cjs/signer.js.map +1 -1
- package/dist/cjs/signing.js +105 -0
- package/dist/cjs/signing.js.map +1 -0
- package/dist/cjs/stateproof.js +421 -0
- package/dist/cjs/stateproof.js.map +1 -0
- package/dist/cjs/transaction.js +724 -1009
- package/dist/cjs/transaction.js.map +1 -1
- package/dist/cjs/types/block.js +813 -0
- package/dist/cjs/types/block.js.map +1 -0
- package/dist/cjs/types/intDecoding.js +1 -1
- package/dist/cjs/types/intDecoding.js.map +1 -1
- package/dist/cjs/types/statedelta.js +1155 -0
- package/dist/cjs/types/statedelta.js.map +1 -0
- package/dist/cjs/types/transactions/base.js +22 -5
- package/dist/cjs/types/transactions/base.js.map +1 -1
- package/dist/cjs/types/transactions/encoded.js +67 -0
- package/dist/cjs/types/transactions/encoded.js.map +1 -1
- package/dist/cjs/types/transactions/index.js +2 -5
- package/dist/cjs/types/transactions/index.js.map +1 -1
- package/dist/cjs/utils/utils.js +86 -22
- package/dist/cjs/utils/utils.js.map +1 -1
- package/dist/cjs/wait.js +4 -4
- package/dist/cjs/wait.js.map +1 -1
- package/dist/esm/abi/abi_type.js +22 -15
- package/dist/esm/abi/abi_type.js.map +1 -1
- package/dist/esm/abi/contract.js +1 -1
- package/dist/esm/abi/contract.js.map +1 -1
- package/dist/esm/abi/index.js +6 -6
- package/dist/esm/abi/index.js.map +1 -1
- package/dist/esm/abi/interface.js +1 -1
- package/dist/esm/abi/interface.js.map +1 -1
- package/dist/esm/abi/method.js +4 -4
- package/dist/esm/abi/method.js.map +1 -1
- package/dist/esm/abi/transaction.js +1 -1
- package/dist/esm/abi/transaction.js.map +1 -1
- package/dist/esm/account.js +4 -4
- package/dist/esm/account.js.map +1 -1
- package/dist/esm/boxStorage.js +15 -15
- package/dist/esm/boxStorage.js.map +1 -1
- package/dist/esm/client/client.js +74 -40
- package/dist/esm/client/client.js.map +1 -1
- package/dist/esm/client/index.js +7 -0
- package/dist/esm/client/index.js.map +1 -0
- package/dist/esm/client/kmd.js +67 -62
- package/dist/esm/client/kmd.js.map +1 -1
- package/dist/esm/client/urlTokenBaseHTTPClient.js +16 -11
- package/dist/esm/client/urlTokenBaseHTTPClient.js.map +1 -1
- package/dist/esm/client/v2/algod/accountApplicationInformation.js +10 -6
- package/dist/esm/client/v2/algod/accountApplicationInformation.js.map +1 -1
- package/dist/esm/client/v2/algod/accountAssetInformation.js +10 -6
- package/dist/esm/client/v2/algod/accountAssetInformation.js.map +1 -1
- package/dist/esm/client/v2/algod/accountInformation.js +10 -5
- package/dist/esm/client/v2/algod/accountInformation.js.map +1 -1
- package/dist/esm/client/v2/algod/algod.js +71 -70
- package/dist/esm/client/v2/algod/algod.js.map +1 -1
- package/dist/esm/client/v2/algod/block.js +5 -9
- package/dist/esm/client/v2/algod/block.js.map +1 -1
- package/dist/esm/client/v2/algod/compile.js +16 -10
- package/dist/esm/client/v2/algod/compile.js.map +1 -1
- package/dist/esm/client/v2/algod/disassemble.js +16 -10
- package/dist/esm/client/v2/algod/disassemble.js.map +1 -1
- package/dist/esm/client/v2/algod/dryrun.js +16 -12
- package/dist/esm/client/v2/algod/dryrun.js.map +1 -1
- package/dist/esm/client/v2/algod/genesis.js +5 -1
- package/dist/esm/client/v2/algod/genesis.js.map +1 -1
- package/dist/esm/client/v2/algod/getApplicationBoxByName.js +9 -9
- package/dist/esm/client/v2/algod/getApplicationBoxByName.js.map +1 -1
- package/dist/esm/client/v2/algod/getApplicationBoxes.js +7 -7
- package/dist/esm/client/v2/algod/getApplicationBoxes.js.map +1 -1
- package/dist/esm/client/v2/algod/getApplicationByID.js +9 -4
- package/dist/esm/client/v2/algod/getApplicationByID.js.map +1 -1
- package/dist/esm/client/v2/algod/getAssetByID.js +9 -4
- package/dist/esm/client/v2/algod/getAssetByID.js.map +1 -1
- package/dist/esm/client/v2/algod/getBlockHash.js +9 -5
- package/dist/esm/client/v2/algod/getBlockHash.js.map +1 -1
- package/dist/esm/client/v2/algod/getBlockOffsetTimestamp.js +5 -4
- package/dist/esm/client/v2/algod/getBlockOffsetTimestamp.js.map +1 -1
- package/dist/esm/client/v2/algod/getBlockTxids.js +9 -3
- package/dist/esm/client/v2/algod/getBlockTxids.js.map +1 -1
- package/dist/esm/client/v2/algod/getLedgerStateDelta.js +10 -5
- package/dist/esm/client/v2/algod/getLedgerStateDelta.js.map +1 -1
- package/dist/esm/client/v2/algod/getLedgerStateDeltaForTransactionGroup.js +10 -5
- package/dist/esm/client/v2/algod/getLedgerStateDeltaForTransactionGroup.js.map +1 -1
- package/dist/esm/client/v2/algod/getSyncRound.js +5 -4
- package/dist/esm/client/v2/algod/getSyncRound.js.map +1 -1
- package/dist/esm/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.js +8 -8
- package/dist/esm/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.js.map +1 -1
- package/dist/esm/client/v2/algod/getTransactionProof.js +9 -5
- package/dist/esm/client/v2/algod/getTransactionProof.js.map +1 -1
- package/dist/esm/client/v2/algod/healthCheck.js +3 -8
- package/dist/esm/client/v2/algod/healthCheck.js.map +1 -1
- package/dist/esm/client/v2/algod/index.js +4 -0
- package/dist/esm/client/v2/algod/index.js.map +1 -0
- package/dist/esm/client/v2/algod/lightBlockHeaderProof.js +9 -4
- package/dist/esm/client/v2/algod/lightBlockHeaderProof.js.map +1 -1
- package/dist/esm/client/v2/algod/models/types.js +3701 -1825
- package/dist/esm/client/v2/algod/models/types.js.map +1 -1
- package/dist/esm/client/v2/algod/pendingTransactionInformation.js +5 -8
- package/dist/esm/client/v2/algod/pendingTransactionInformation.js.map +1 -1
- package/dist/esm/client/v2/algod/pendingTransactions.js +5 -7
- package/dist/esm/client/v2/algod/pendingTransactions.js.map +1 -1
- package/dist/esm/client/v2/algod/pendingTransactionsByAddress.js +6 -9
- package/dist/esm/client/v2/algod/pendingTransactionsByAddress.js.map +1 -1
- package/dist/esm/client/v2/algod/ready.js +3 -1
- package/dist/esm/client/v2/algod/ready.js.map +1 -1
- package/dist/esm/client/v2/algod/sendRawTransaction.js +15 -6
- package/dist/esm/client/v2/algod/sendRawTransaction.js.map +1 -1
- package/dist/esm/client/v2/algod/setBlockOffsetTimestamp.js +12 -7
- package/dist/esm/client/v2/algod/setBlockOffsetTimestamp.js.map +1 -1
- package/dist/esm/client/v2/algod/setSyncRound.js +12 -7
- package/dist/esm/client/v2/algod/setSyncRound.js.map +1 -1
- package/dist/esm/client/v2/algod/simulateTransaction.js +14 -11
- package/dist/esm/client/v2/algod/simulateTransaction.js.map +1 -1
- package/dist/esm/client/v2/algod/stateproof.js +9 -4
- package/dist/esm/client/v2/algod/stateproof.js.map +1 -1
- package/dist/esm/client/v2/algod/status.js +7 -1
- package/dist/esm/client/v2/algod/status.js.map +1 -1
- package/dist/esm/client/v2/algod/statusAfterBlock.js +9 -4
- package/dist/esm/client/v2/algod/statusAfterBlock.js.map +1 -1
- package/dist/esm/client/v2/algod/suggestedParams.js +12 -8
- package/dist/esm/client/v2/algod/suggestedParams.js.map +1 -1
- package/dist/esm/client/v2/algod/supply.js +7 -1
- package/dist/esm/client/v2/algod/supply.js.map +1 -1
- package/dist/esm/client/v2/algod/unsetSyncRound.js +10 -4
- package/dist/esm/client/v2/algod/unsetSyncRound.js.map +1 -1
- package/dist/esm/client/v2/algod/versions.js +7 -1
- package/dist/esm/client/v2/algod/versions.js.map +1 -1
- package/dist/esm/client/v2/indexer/index.js +4 -0
- package/dist/esm/client/v2/indexer/index.js.map +1 -0
- package/dist/esm/client/v2/indexer/indexer.js +42 -42
- package/dist/esm/client/v2/indexer/indexer.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupAccountAppLocalStates.js +10 -5
- package/dist/esm/client/v2/indexer/lookupAccountAppLocalStates.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupAccountAssets.js +10 -5
- package/dist/esm/client/v2/indexer/lookupAccountAssets.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupAccountByID.js +10 -5
- package/dist/esm/client/v2/indexer/lookupAccountByID.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupAccountCreatedApplications.js +10 -5
- package/dist/esm/client/v2/indexer/lookupAccountCreatedApplications.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupAccountCreatedAssets.js +10 -5
- package/dist/esm/client/v2/indexer/lookupAccountCreatedAssets.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupAccountTransactions.js +18 -11
- package/dist/esm/client/v2/indexer/lookupAccountTransactions.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupApplicationBoxByIDandName.js +9 -9
- package/dist/esm/client/v2/indexer/lookupApplicationBoxByIDandName.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupApplicationLogs.js +9 -4
- package/dist/esm/client/v2/indexer/lookupApplicationLogs.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupApplications.js +9 -4
- package/dist/esm/client/v2/indexer/lookupApplications.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupAssetBalances.js +9 -4
- package/dist/esm/client/v2/indexer/lookupAssetBalances.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupAssetByID.js +9 -4
- package/dist/esm/client/v2/indexer/lookupAssetByID.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupAssetTransactions.js +17 -10
- package/dist/esm/client/v2/indexer/lookupAssetTransactions.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupBlock.js +9 -4
- package/dist/esm/client/v2/indexer/lookupBlock.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupTransactionByID.js +9 -4
- package/dist/esm/client/v2/indexer/lookupTransactionByID.js.map +1 -1
- package/dist/esm/client/v2/indexer/makeHealthCheck.js +7 -1
- package/dist/esm/client/v2/indexer/makeHealthCheck.js.map +1 -1
- package/dist/esm/client/v2/indexer/models/types.js +3591 -1648
- package/dist/esm/client/v2/indexer/models/types.js.map +1 -1
- package/dist/esm/client/v2/indexer/searchAccounts.js +8 -2
- package/dist/esm/client/v2/indexer/searchAccounts.js.map +1 -1
- package/dist/esm/client/v2/indexer/searchForApplicationBoxes.js +7 -7
- package/dist/esm/client/v2/indexer/searchForApplicationBoxes.js.map +1 -1
- package/dist/esm/client/v2/indexer/searchForApplications.js +8 -2
- package/dist/esm/client/v2/indexer/searchForApplications.js.map +1 -1
- package/dist/esm/client/v2/indexer/searchForAssets.js +8 -2
- package/dist/esm/client/v2/indexer/searchForAssets.js.map +1 -1
- package/dist/esm/client/v2/indexer/searchForTransactions.js +15 -7
- package/dist/esm/client/v2/indexer/searchForTransactions.js.map +1 -1
- package/dist/esm/client/v2/jsonrequest.js +22 -51
- package/dist/esm/client/v2/jsonrequest.js.map +1 -1
- package/dist/esm/client/v2/serviceClient.js +3 -20
- package/dist/esm/client/v2/serviceClient.js.map +1 -1
- package/dist/esm/client/v2/untypedmodel.js +18 -0
- package/dist/esm/client/v2/untypedmodel.js.map +1 -0
- package/dist/esm/composer.js +43 -37
- package/dist/esm/composer.js.map +1 -1
- package/dist/esm/convert.js.map +1 -1
- package/dist/esm/dryrun.js +98 -195
- package/dist/esm/dryrun.js.map +1 -1
- package/dist/esm/encoding/address.js +85 -100
- package/dist/esm/encoding/address.js.map +1 -1
- package/dist/esm/encoding/bigint.js +2 -3
- package/dist/esm/encoding/bigint.js.map +1 -1
- package/dist/esm/encoding/binarydata.js +73 -0
- package/dist/esm/encoding/binarydata.js.map +1 -0
- package/dist/esm/encoding/encoding.js +337 -12
- package/dist/esm/encoding/encoding.js.map +1 -1
- package/dist/esm/encoding/schema/address.js +37 -0
- package/dist/esm/encoding/schema/address.js.map +1 -0
- package/dist/esm/encoding/schema/array.js +39 -0
- package/dist/esm/encoding/schema/array.js.map +1 -0
- package/dist/esm/encoding/schema/binarystring.js +51 -0
- package/dist/esm/encoding/schema/binarystring.js.map +1 -0
- package/dist/esm/encoding/schema/blockhash.js +60 -0
- package/dist/esm/encoding/schema/blockhash.js.map +1 -0
- package/dist/esm/encoding/schema/boolean.js +38 -0
- package/dist/esm/encoding/schema/boolean.js.map +1 -0
- package/dist/esm/encoding/schema/bytearray.js +93 -0
- package/dist/esm/encoding/schema/bytearray.js.map +1 -0
- package/dist/esm/encoding/schema/index.js +12 -0
- package/dist/esm/encoding/schema/index.js.map +1 -0
- package/dist/esm/encoding/schema/map.js +517 -0
- package/dist/esm/encoding/schema/map.js.map +1 -0
- package/dist/esm/encoding/schema/optional.js +54 -0
- package/dist/esm/encoding/schema/optional.js.map +1 -0
- package/dist/esm/encoding/schema/string.js +39 -0
- package/dist/esm/encoding/schema/string.js.map +1 -0
- package/dist/esm/encoding/schema/uint64.js +32 -0
- package/dist/esm/encoding/schema/uint64.js.map +1 -0
- package/dist/esm/encoding/schema/untyped.js +29 -0
- package/dist/esm/encoding/schema/untyped.js.map +1 -0
- package/dist/esm/encoding/uint64.js +1 -1
- package/dist/esm/encoding/uint64.js.map +1 -1
- package/dist/esm/group.js +22 -58
- package/dist/esm/group.js.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/logic/sourcemap.js +54 -23
- package/dist/esm/logic/sourcemap.js.map +1 -1
- package/dist/esm/logicsig.js +110 -141
- package/dist/esm/logicsig.js.map +1 -1
- package/dist/esm/main.js +47 -76
- package/dist/esm/main.js.map +1 -1
- package/dist/esm/makeTxn.js +304 -529
- package/dist/esm/makeTxn.js.map +1 -1
- package/dist/esm/mnemonic/mnemonic.js +5 -5
- package/dist/esm/mnemonic/mnemonic.js.map +1 -1
- package/dist/esm/multisig.js +56 -305
- package/dist/esm/multisig.js.map +1 -1
- package/dist/esm/multisigSigning.js +254 -0
- package/dist/esm/multisigSigning.js.map +1 -0
- package/dist/esm/nacl/naclWrappers.js +1 -1
- package/dist/esm/nacl/naclWrappers.js.map +1 -1
- package/dist/esm/package.json +1 -0
- package/dist/esm/signedTransaction.js +100 -0
- package/dist/esm/signedTransaction.js.map +1 -0
- package/dist/esm/signer.js +3 -3
- package/dist/esm/signer.js.map +1 -1
- package/dist/esm/signing.js +77 -0
- package/dist/esm/signing.js.map +1 -0
- package/dist/esm/stateproof.js +408 -0
- package/dist/esm/stateproof.js.map +1 -0
- package/dist/esm/transaction.js +723 -1005
- package/dist/esm/transaction.js.map +1 -1
- package/dist/esm/types/block.js +797 -0
- package/dist/esm/types/block.js.map +1 -0
- package/dist/esm/types/intDecoding.js +1 -1
- package/dist/esm/types/intDecoding.js.map +1 -1
- package/dist/esm/types/statedelta.js +1129 -0
- package/dist/esm/types/statedelta.js.map +1 -0
- package/dist/esm/types/transactions/base.js +18 -2
- package/dist/esm/types/transactions/base.js.map +1 -1
- package/dist/esm/types/transactions/encoded.js +62 -1
- package/dist/esm/types/transactions/encoded.js.map +1 -1
- package/dist/esm/types/transactions/index.js +2 -3
- package/dist/esm/types/transactions/index.js.map +1 -1
- package/dist/esm/utils/utils.js +80 -21
- package/dist/esm/utils/utils.js.map +1 -1
- package/dist/esm/wait.js +4 -4
- package/dist/esm/wait.js.map +1 -1
- package/dist/types/abi/abi_type.d.ts +1 -1
- package/dist/types/abi/contract.d.ts +2 -2
- package/dist/types/abi/index.d.ts +6 -6
- package/dist/types/abi/interface.d.ts +1 -1
- package/dist/types/abi/method.d.ts +6 -6
- package/dist/types/abi/transaction.d.ts +1 -1
- package/dist/types/account.d.ts +1 -1
- package/dist/types/boxStorage.d.ts +4 -5
- package/dist/types/client/baseHTTPClient.d.ts +9 -6
- package/dist/types/client/client.d.ts +59 -18
- package/dist/types/client/index.d.ts +5 -0
- package/dist/types/client/kmd.d.ts +12 -10
- package/dist/types/client/urlTokenBaseHTTPClient.d.ts +8 -5
- package/dist/types/client/v2/algod/accountApplicationInformation.d.ts +8 -6
- package/dist/types/client/v2/algod/accountAssetInformation.d.ts +8 -6
- package/dist/types/client/v2/algod/accountInformation.d.ts +7 -5
- package/dist/types/client/v2/algod/algod.d.ts +53 -52
- package/dist/types/client/v2/algod/block.d.ts +5 -4
- package/dist/types/client/v2/algod/compile.d.ts +7 -9
- package/dist/types/client/v2/algod/disassemble.d.ts +7 -9
- package/dist/types/client/v2/algod/dryrun.d.ts +7 -9
- package/dist/types/client/v2/algod/genesis.d.ts +4 -2
- package/dist/types/client/v2/algod/getApplicationBoxByName.d.ts +6 -7
- package/dist/types/client/v2/algod/getApplicationBoxes.d.ts +6 -7
- package/dist/types/client/v2/algod/getApplicationByID.d.ts +6 -5
- package/dist/types/client/v2/algod/getAssetByID.d.ts +6 -5
- package/dist/types/client/v2/algod/getBlockHash.d.ts +7 -6
- package/dist/types/client/v2/algod/getBlockOffsetTimestamp.d.ts +5 -4
- package/dist/types/client/v2/algod/getBlockTxids.d.ts +6 -5
- package/dist/types/client/v2/algod/getLedgerStateDelta.d.ts +6 -5
- package/dist/types/client/v2/algod/getLedgerStateDeltaForTransactionGroup.d.ts +6 -5
- package/dist/types/client/v2/algod/getSyncRound.d.ts +5 -4
- package/dist/types/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.d.ts +6 -7
- package/dist/types/client/v2/algod/getTransactionProof.d.ts +6 -5
- package/dist/types/client/v2/algod/healthCheck.d.ts +4 -3
- package/dist/types/client/v2/algod/index.d.ts +2 -0
- package/dist/types/client/v2/algod/lightBlockHeaderProof.d.ts +6 -5
- package/dist/types/client/v2/algod/models/types.d.ts +604 -317
- package/dist/types/client/v2/algod/pendingTransactionInformation.d.ts +5 -4
- package/dist/types/client/v2/algod/pendingTransactions.d.ts +5 -4
- package/dist/types/client/v2/algod/pendingTransactionsByAddress.d.ts +7 -5
- package/dist/types/client/v2/algod/ready.d.ts +4 -2
- package/dist/types/client/v2/algod/sendRawTransaction.d.ts +7 -5
- package/dist/types/client/v2/algod/setBlockOffsetTimestamp.d.ts +6 -6
- package/dist/types/client/v2/algod/setSyncRound.d.ts +6 -6
- package/dist/types/client/v2/algod/simulateTransaction.d.ts +7 -7
- package/dist/types/client/v2/algod/stateproof.d.ts +6 -5
- package/dist/types/client/v2/algod/status.d.ts +5 -2
- package/dist/types/client/v2/algod/statusAfterBlock.d.ts +6 -5
- package/dist/types/client/v2/algod/suggestedParams.d.ts +25 -4
- package/dist/types/client/v2/algod/supply.d.ts +5 -2
- package/dist/types/client/v2/algod/unsetSyncRound.d.ts +5 -3
- package/dist/types/client/v2/algod/versions.d.ts +5 -2
- package/dist/types/client/v2/indexer/index.d.ts +2 -0
- package/dist/types/client/v2/indexer/indexer.d.ts +31 -30
- package/dist/types/client/v2/indexer/lookupAccountAppLocalStates.d.ts +7 -5
- package/dist/types/client/v2/indexer/lookupAccountAssets.d.ts +7 -5
- package/dist/types/client/v2/indexer/lookupAccountByID.d.ts +7 -5
- package/dist/types/client/v2/indexer/lookupAccountCreatedApplications.d.ts +7 -5
- package/dist/types/client/v2/indexer/lookupAccountCreatedAssets.d.ts +7 -5
- package/dist/types/client/v2/indexer/lookupAccountTransactions.d.ts +11 -9
- package/dist/types/client/v2/indexer/lookupApplicationBoxByIDandName.d.ts +6 -7
- package/dist/types/client/v2/indexer/lookupApplicationLogs.d.ts +6 -5
- package/dist/types/client/v2/indexer/lookupApplications.d.ts +6 -5
- package/dist/types/client/v2/indexer/lookupAssetBalances.d.ts +6 -5
- package/dist/types/client/v2/indexer/lookupAssetByID.d.ts +6 -5
- package/dist/types/client/v2/indexer/lookupAssetTransactions.d.ts +12 -10
- package/dist/types/client/v2/indexer/lookupBlock.d.ts +6 -5
- package/dist/types/client/v2/indexer/lookupTransactionByID.d.ts +6 -5
- package/dist/types/client/v2/indexer/makeHealthCheck.d.ts +5 -2
- package/dist/types/client/v2/indexer/models/types.d.ts +513 -267
- package/dist/types/client/v2/indexer/searchAccounts.d.ts +7 -3
- package/dist/types/client/v2/indexer/searchForApplicationBoxes.d.ts +6 -7
- package/dist/types/client/v2/indexer/searchForApplications.d.ts +7 -3
- package/dist/types/client/v2/indexer/searchForAssets.d.ts +7 -3
- package/dist/types/client/v2/indexer/searchForTransactions.d.ts +11 -7
- package/dist/types/client/v2/jsonrequest.d.ts +20 -33
- package/dist/types/client/v2/serviceClient.d.ts +4 -18
- package/dist/types/client/v2/untypedmodel.d.ts +10 -0
- package/dist/types/composer.d.ts +18 -17
- package/dist/types/dryrun.d.ts +8 -80
- package/dist/types/encoding/address.d.ts +40 -31
- package/dist/types/encoding/binarydata.d.ts +30 -0
- package/dist/types/encoding/encoding.d.ts +219 -7
- package/dist/types/encoding/schema/address.d.ts +10 -0
- package/dist/types/encoding/schema/array.d.ts +11 -0
- package/dist/types/encoding/schema/binarystring.d.ts +18 -0
- package/dist/types/encoding/schema/blockhash.d.ts +16 -0
- package/dist/types/encoding/schema/boolean.d.ts +10 -0
- package/dist/types/encoding/schema/bytearray.d.ts +19 -0
- package/dist/types/encoding/schema/index.d.ts +11 -0
- package/dist/types/encoding/schema/map.d.ts +125 -0
- package/dist/types/encoding/schema/optional.d.ts +24 -0
- package/dist/types/encoding/schema/string.d.ts +9 -0
- package/dist/types/encoding/schema/uint64.d.ts +9 -0
- package/dist/types/encoding/schema/untyped.d.ts +9 -0
- package/dist/types/encoding/uint64.d.ts +1 -0
- package/dist/types/group.d.ts +6 -25
- package/dist/types/index.d.ts +2 -2
- package/dist/types/logic/sourcemap.d.ts +39 -13
- package/dist/types/logicsig.d.ts +27 -57
- package/dist/types/main.d.ts +43 -54
- package/dist/types/makeTxn.d.ts +117 -404
- package/dist/types/mnemonic/mnemonic.d.ts +1 -1
- package/dist/types/multisig.d.ts +28 -99
- package/dist/types/multisigSigning.d.ts +72 -0
- package/dist/types/signedTransaction.d.ts +55 -0
- package/dist/types/signer.d.ts +5 -5
- package/dist/types/signing.d.ts +29 -0
- package/dist/types/stateproof.d.ts +194 -0
- package/dist/types/transaction.d.ts +103 -182
- package/dist/types/types/account.d.ts +2 -1
- package/dist/types/types/block.d.ts +407 -0
- package/dist/types/types/intDecoding.d.ts +1 -1
- package/dist/types/types/statedelta.d.ts +575 -0
- package/dist/types/types/transactions/base.d.ts +206 -118
- package/dist/types/types/transactions/encoded.d.ts +7 -301
- package/dist/types/types/transactions/index.d.ts +2 -15
- package/dist/types/types/utils.d.ts +7 -7
- package/dist/types/utils/utils.d.ts +21 -16
- package/dist/types/wait.d.ts +3 -2
- package/package.json +48 -20
- package/src/abi/abi_type.ts +28 -18
- package/src/abi/contract.ts +2 -2
- package/src/abi/index.ts +6 -6
- package/src/abi/interface.ts +1 -1
- package/src/abi/method.ts +11 -9
- package/src/abi/transaction.ts +2 -2
- package/src/account.ts +5 -5
- package/src/boxStorage.ts +25 -23
- package/src/client/baseHTTPClient.ts +12 -6
- package/src/client/client.ts +147 -75
- package/src/client/index.ts +6 -0
- package/src/client/kmd.ts +79 -72
- package/src/client/urlTokenBaseHTTPClient.ts +25 -14
- package/src/client/v2/algod/accountApplicationInformation.ts +16 -9
- package/src/client/v2/algod/accountAssetInformation.ts +16 -9
- package/src/client/v2/algod/accountInformation.ts +16 -11
- package/src/client/v2/algod/algod.ts +83 -105
- package/src/client/v2/algod/block.ts +7 -11
- package/src/client/v2/algod/compile.ts +27 -19
- package/src/client/v2/algod/disassemble.ts +27 -19
- package/src/client/v2/algod/dryrun.ts +23 -19
- package/src/client/v2/algod/genesis.ts +8 -2
- package/src/client/v2/algod/getApplicationBoxByName.ts +10 -15
- package/src/client/v2/algod/getApplicationBoxes.ts +12 -13
- package/src/client/v2/algod/getApplicationByID.ts +15 -7
- package/src/client/v2/algod/getAssetByID.ts +15 -7
- package/src/client/v2/algod/getBlockHash.ts +13 -9
- package/src/client/v2/algod/getBlockOffsetTimestamp.ts +7 -8
- package/src/client/v2/algod/getBlockTxids.ts +12 -6
- package/src/client/v2/algod/getLedgerStateDelta.ts +16 -8
- package/src/client/v2/algod/getLedgerStateDeltaForTransactionGroup.ts +16 -8
- package/src/client/v2/algod/getSyncRound.ts +7 -8
- package/src/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.ts +15 -15
- package/src/client/v2/algod/getTransactionProof.ts +11 -9
- package/src/client/v2/algod/healthCheck.ts +5 -9
- package/src/client/v2/algod/index.ts +3 -0
- package/src/client/v2/algod/lightBlockHeaderProof.ts +15 -8
- package/src/client/v2/algod/models/types.ts +4699 -2263
- package/src/client/v2/algod/pendingTransactionInformation.ts +11 -11
- package/src/client/v2/algod/pendingTransactions.ts +7 -9
- package/src/client/v2/algod/pendingTransactionsByAddress.ts +12 -11
- package/src/client/v2/algod/ready.ts +6 -2
- package/src/client/v2/algod/sendRawTransaction.ts +24 -13
- package/src/client/v2/algod/setBlockOffsetTimestamp.ts +21 -11
- package/src/client/v2/algod/setSyncRound.ts +21 -11
- package/src/client/v2/algod/simulateTransaction.ts +22 -23
- package/src/client/v2/algod/stateproof.ts +15 -8
- package/src/client/v2/algod/status.ts +10 -2
- package/src/client/v2/algod/statusAfterBlock.ts +15 -7
- package/src/client/v2/algod/suggestedParams.ts +40 -10
- package/src/client/v2/algod/supply.ts +10 -2
- package/src/client/v2/algod/unsetSyncRound.ts +16 -5
- package/src/client/v2/algod/versions.ts +10 -2
- package/src/client/v2/indexer/index.ts +3 -0
- package/src/client/v2/indexer/indexer.ts +51 -59
- package/src/client/v2/indexer/lookupAccountAppLocalStates.ts +16 -11
- package/src/client/v2/indexer/lookupAccountAssets.ts +16 -11
- package/src/client/v2/indexer/lookupAccountByID.ts +16 -11
- package/src/client/v2/indexer/lookupAccountCreatedApplications.ts +16 -11
- package/src/client/v2/indexer/lookupAccountCreatedAssets.ts +16 -11
- package/src/client/v2/indexer/lookupAccountTransactions.ts +26 -19
- package/src/client/v2/indexer/lookupApplicationBoxByIDandName.ts +10 -15
- package/src/client/v2/indexer/lookupApplicationLogs.ts +15 -7
- package/src/client/v2/indexer/lookupApplications.ts +15 -7
- package/src/client/v2/indexer/lookupAssetBalances.ts +15 -7
- package/src/client/v2/indexer/lookupAssetByID.ts +15 -7
- package/src/client/v2/indexer/lookupAssetTransactions.ts +27 -16
- package/src/client/v2/indexer/lookupBlock.ts +15 -7
- package/src/client/v2/indexer/lookupTransactionByID.ts +15 -7
- package/src/client/v2/indexer/makeHealthCheck.ts +10 -2
- package/src/client/v2/indexer/models/types.ts +4454 -1988
- package/src/client/v2/indexer/searchAccounts.ts +13 -4
- package/src/client/v2/indexer/searchForApplicationBoxes.ts +12 -13
- package/src/client/v2/indexer/searchForApplications.ts +13 -4
- package/src/client/v2/indexer/searchForAssets.ts +13 -4
- package/src/client/v2/indexer/searchForTransactions.ts +22 -11
- package/src/client/v2/jsonrequest.ts +39 -57
- package/src/client/v2/serviceClient.ts +9 -31
- package/src/client/v2/untypedmodel.ts +25 -0
- package/src/composer.ts +83 -60
- package/src/dryrun.ts +129 -306
- package/src/encoding/address.ts +134 -146
- package/src/encoding/bigint.ts +2 -4
- package/src/encoding/binarydata.ts +80 -0
- package/src/encoding/encoding.ts +558 -13
- package/src/encoding/schema/address.ts +53 -0
- package/src/encoding/schema/array.ts +66 -0
- package/src/encoding/schema/binarystring.ts +73 -0
- package/src/encoding/schema/blockhash.ts +84 -0
- package/src/encoding/schema/boolean.ts +54 -0
- package/src/encoding/schema/bytearray.ts +127 -0
- package/src/encoding/schema/index.ts +26 -0
- package/src/encoding/schema/map.ts +713 -0
- package/src/encoding/schema/optional.ts +72 -0
- package/src/encoding/schema/string.ts +55 -0
- package/src/encoding/schema/uint64.ts +46 -0
- package/src/encoding/schema/untyped.ts +47 -0
- package/src/encoding/uint64.ts +2 -1
- package/src/group.ts +27 -75
- package/src/index.ts +2 -2
- package/src/logic/sourcemap.ts +94 -29
- package/src/logicsig.ts +154 -202
- package/src/main.ts +91 -94
- package/src/makeTxn.ts +660 -1338
- package/src/mnemonic/mnemonic.ts +14 -14
- package/src/multisig.ts +89 -403
- package/src/multisigSigning.ts +359 -0
- package/src/nacl/naclWrappers.ts +1 -1
- package/src/signedTransaction.ts +163 -0
- package/src/signer.ts +10 -5
- package/src/signing.ts +95 -0
- package/src/stateproof.ts +595 -0
- package/src/transaction.ts +986 -1242
- package/src/types/account.ts +3 -1
- package/src/types/block.ts +1278 -0
- package/src/types/intDecoding.ts +1 -1
- package/src/types/statedelta.ts +1717 -0
- package/src/types/transactions/base.ts +230 -122
- package/src/types/transactions/encoded.ts +81 -371
- package/src/types/transactions/index.ts +2 -72
- package/src/types/utils.ts +3 -3
- package/src/utils/utils.ts +96 -25
- package/src/wait.ts +8 -7
- package/dist/cjs/bid.js +0 -83
- package/dist/cjs/bid.js.map +0 -1
- package/dist/cjs/client/v2/basemodel.js +0 -67
- package/dist/cjs/client/v2/basemodel.js.map +0 -1
- package/dist/cjs/types/address.js +0 -3
- package/dist/cjs/types/address.js.map +0 -1
- package/dist/cjs/types/blockHeader.js +0 -3
- package/dist/cjs/types/blockHeader.js.map +0 -1
- package/dist/cjs/types/index.js.map +0 -1
- package/dist/cjs/types/multisig.js +0 -3
- package/dist/cjs/types/multisig.js.map +0 -1
- package/dist/cjs/types/transactions/application.js +0 -3
- package/dist/cjs/types/transactions/application.js.map +0 -1
- package/dist/cjs/types/transactions/asset.js +0 -3
- package/dist/cjs/types/transactions/asset.js.map +0 -1
- package/dist/cjs/types/transactions/builder.js +0 -3
- package/dist/cjs/types/transactions/builder.js.map +0 -1
- package/dist/cjs/types/transactions/keyreg.js +0 -3
- package/dist/cjs/types/transactions/keyreg.js.map +0 -1
- package/dist/cjs/types/transactions/payment.js +0 -3
- package/dist/cjs/types/transactions/payment.js.map +0 -1
- package/dist/cjs/types/transactions/stateproof.js +0 -3
- package/dist/cjs/types/transactions/stateproof.js.map +0 -1
- package/dist/esm/bid.js +0 -57
- package/dist/esm/bid.js.map +0 -1
- package/dist/esm/client/v2/basemodel.js +0 -64
- package/dist/esm/client/v2/basemodel.js.map +0 -1
- package/dist/esm/types/address.js +0 -2
- package/dist/esm/types/address.js.map +0 -1
- package/dist/esm/types/blockHeader.js +0 -2
- package/dist/esm/types/blockHeader.js.map +0 -1
- package/dist/esm/types/index.js +0 -4
- package/dist/esm/types/index.js.map +0 -1
- package/dist/esm/types/multisig.js +0 -2
- package/dist/esm/types/multisig.js.map +0 -1
- package/dist/esm/types/transactions/application.js +0 -2
- package/dist/esm/types/transactions/application.js.map +0 -1
- package/dist/esm/types/transactions/asset.js +0 -2
- package/dist/esm/types/transactions/asset.js.map +0 -1
- package/dist/esm/types/transactions/builder.js +0 -2
- package/dist/esm/types/transactions/builder.js.map +0 -1
- package/dist/esm/types/transactions/keyreg.js +0 -2
- package/dist/esm/types/transactions/keyreg.js.map +0 -1
- package/dist/esm/types/transactions/payment.js +0 -2
- package/dist/esm/types/transactions/payment.js.map +0 -1
- package/dist/esm/types/transactions/stateproof.js +0 -2
- package/dist/esm/types/transactions/stateproof.js.map +0 -1
- package/dist/types/bid.d.ts +0 -38
- package/dist/types/client/v2/basemodel.d.ts +0 -11
- package/dist/types/types/address.d.ts +0 -7
- package/dist/types/types/blockHeader.d.ts +0 -67
- package/dist/types/types/index.d.ts +0 -3
- package/dist/types/types/multisig.d.ts +0 -20
- package/dist/types/types/transactions/application.d.ts +0 -22
- package/dist/types/types/transactions/asset.d.ts +0 -28
- package/dist/types/types/transactions/builder.d.ts +0 -36
- package/dist/types/types/transactions/keyreg.d.ts +0 -8
- package/dist/types/types/transactions/payment.d.ts +0 -8
- package/dist/types/types/transactions/stateproof.d.ts +0 -8
- package/src/bid.ts +0 -96
- package/src/client/v2/basemodel.ts +0 -81
- package/src/types/address.ts +0 -7
- package/src/types/blockHeader.ts +0 -81
- package/src/types/index.ts +0 -3
- package/src/types/multisig.ts +0 -22
- package/src/types/transactions/application.ts +0 -111
- package/src/types/transactions/asset.ts +0 -108
- package/src/types/transactions/builder.ts +0 -69
- package/src/types/transactions/keyreg.ts +0 -23
- package/src/types/transactions/payment.ts +0 -14
- package/src/types/transactions/stateproof.ts +0 -17
package/src/abi/abi_type.ts
CHANGED
|
@@ -13,10 +13,9 @@
|
|
|
13
13
|
// | string
|
|
14
14
|
// | (T1, ..., Tn)
|
|
15
15
|
*/
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import { concatArrays } from '../utils/utils';
|
|
16
|
+
import { encodeAddress, decodeAddress } from '../encoding/address.js';
|
|
17
|
+
import { bigIntToBytes, bytesToBigInt } from '../encoding/bigint.js';
|
|
18
|
+
import { concatArrays } from '../utils/utils.js';
|
|
20
19
|
|
|
21
20
|
export const MAX_LEN = 2 ** 16 - 1;
|
|
22
21
|
export const ADDR_BYTE_SIZE = 32;
|
|
@@ -62,7 +61,7 @@ export abstract class ABIType {
|
|
|
62
61
|
if (str.endsWith(']')) {
|
|
63
62
|
const stringMatches = str.match(staticArrayRegexp);
|
|
64
63
|
// Match the string itself, array element type, then array length
|
|
65
|
-
if (stringMatches.length !== 3) {
|
|
64
|
+
if (!stringMatches || stringMatches.length !== 3) {
|
|
66
65
|
throw new Error(`malformed static array string: ${str}`);
|
|
67
66
|
}
|
|
68
67
|
// Parse static array using regex
|
|
@@ -77,8 +76,8 @@ export abstract class ABIType {
|
|
|
77
76
|
}
|
|
78
77
|
if (str.startsWith('uint')) {
|
|
79
78
|
// Checks if the parsed number contains only digits, no whitespaces
|
|
80
|
-
const digitsOnly = (string) =>
|
|
81
|
-
[...
|
|
79
|
+
const digitsOnly = (s: string) =>
|
|
80
|
+
[...s].every((c) => '0123456789'.includes(c));
|
|
82
81
|
const typeSizeStr = str.slice(4, str.length);
|
|
83
82
|
if (!digitsOnly(typeSizeStr)) {
|
|
84
83
|
throw new Error(`malformed uint string: ${typeSizeStr}`);
|
|
@@ -94,7 +93,7 @@ export abstract class ABIType {
|
|
|
94
93
|
}
|
|
95
94
|
if (str.startsWith('ufixed')) {
|
|
96
95
|
const stringMatches = str.match(ufixedRegexp);
|
|
97
|
-
if (stringMatches.length !== 3) {
|
|
96
|
+
if (!stringMatches || stringMatches.length !== 3) {
|
|
98
97
|
throw new Error(`malformed ufixed type: ${str}`);
|
|
99
98
|
}
|
|
100
99
|
const ufixedSize = parseInt(stringMatches[1], 10);
|
|
@@ -380,7 +379,12 @@ export class ABIStringType extends ABIType {
|
|
|
380
379
|
if (typeof value !== 'string' && !(value instanceof Uint8Array)) {
|
|
381
380
|
throw new Error(`Cannot encode value as string: ${value}`);
|
|
382
381
|
}
|
|
383
|
-
|
|
382
|
+
let encodedBytes: Uint8Array;
|
|
383
|
+
if (typeof value === 'string') {
|
|
384
|
+
encodedBytes = new TextEncoder().encode(value);
|
|
385
|
+
} else {
|
|
386
|
+
encodedBytes = value;
|
|
387
|
+
}
|
|
384
388
|
const encodedLength = bigIntToBytes(
|
|
385
389
|
encodedBytes.length,
|
|
386
390
|
LENGTH_ENCODE_BYTE_SIZE
|
|
@@ -399,8 +403,12 @@ export class ABIStringType extends ABIType {
|
|
|
399
403
|
`byte string is too short to be decoded. Actual length is ${byteString.length}, but expected at least ${LENGTH_ENCODE_BYTE_SIZE}`
|
|
400
404
|
);
|
|
401
405
|
}
|
|
402
|
-
const
|
|
403
|
-
|
|
406
|
+
const view = new DataView(
|
|
407
|
+
byteString.buffer,
|
|
408
|
+
byteString.byteOffset,
|
|
409
|
+
LENGTH_ENCODE_BYTE_SIZE
|
|
410
|
+
);
|
|
411
|
+
const byteLength = view.getUint16(0);
|
|
404
412
|
const byteValue = byteString.slice(
|
|
405
413
|
LENGTH_ENCODE_BYTE_SIZE,
|
|
406
414
|
byteString.length
|
|
@@ -410,7 +418,7 @@ export class ABIStringType extends ABIType {
|
|
|
410
418
|
`string length bytes do not match the actual length of string. Expected ${byteLength}, got ${byteValue.length}`
|
|
411
419
|
);
|
|
412
420
|
}
|
|
413
|
-
return
|
|
421
|
+
return new TextDecoder('utf-8').decode(byteValue);
|
|
414
422
|
}
|
|
415
423
|
}
|
|
416
424
|
|
|
@@ -517,8 +525,8 @@ export class ABIArrayDynamicType extends ABIType {
|
|
|
517
525
|
}
|
|
518
526
|
|
|
519
527
|
decode(byteString: Uint8Array): ABIValue[] {
|
|
520
|
-
const
|
|
521
|
-
const byteLength =
|
|
528
|
+
const view = new DataView(byteString.buffer, 0, LENGTH_ENCODE_BYTE_SIZE);
|
|
529
|
+
const byteLength = view.getUint16(0);
|
|
522
530
|
const convertedTuple = this.toABITupleType(byteLength);
|
|
523
531
|
return convertedTuple.decode(
|
|
524
532
|
byteString.slice(LENGTH_ENCODE_BYTE_SIZE, byteString.length)
|
|
@@ -657,10 +665,10 @@ export class ABITupleType extends ABIType {
|
|
|
657
665
|
decode(byteString: Uint8Array): ABIValue[] {
|
|
658
666
|
const tupleTypes = this.childTypes;
|
|
659
667
|
const dynamicSegments: Segment[] = [];
|
|
660
|
-
const valuePartition: Uint8Array
|
|
668
|
+
const valuePartition: Array<Uint8Array | null> = [];
|
|
661
669
|
let i = 0;
|
|
662
670
|
let iterIndex = 0;
|
|
663
|
-
const
|
|
671
|
+
const view = new DataView(byteString.buffer);
|
|
664
672
|
|
|
665
673
|
while (i < tupleTypes.length) {
|
|
666
674
|
const tupleType = tupleTypes[i];
|
|
@@ -671,7 +679,9 @@ export class ABITupleType extends ABIType {
|
|
|
671
679
|
) {
|
|
672
680
|
throw new Error('dynamic type in tuple is too short to be decoded');
|
|
673
681
|
}
|
|
674
|
-
|
|
682
|
+
// Since LENGTH_ENCODE_BYTE_SIZE is 2 and indices are at most 2 bytes,
|
|
683
|
+
// we can use getUint16 using the iterIndex offset.
|
|
684
|
+
const dynamicIndex = view.getUint16(iterIndex);
|
|
675
685
|
if (dynamicSegments.length > 0) {
|
|
676
686
|
dynamicSegments[dynamicSegments.length - 1].right = dynamicIndex;
|
|
677
687
|
// Check that right side of segment is greater than the left side
|
|
@@ -761,7 +771,7 @@ export class ABITupleType extends ABIType {
|
|
|
761
771
|
// Decode each tuple element
|
|
762
772
|
const returnValues: ABIValue[] = [];
|
|
763
773
|
for (let j = 0; j < tupleTypes.length; j++) {
|
|
764
|
-
const valueTi = tupleTypes[j].decode(valuePartition[j]);
|
|
774
|
+
const valueTi = tupleTypes[j].decode(valuePartition[j]!);
|
|
765
775
|
returnValues.push(valueTi);
|
|
766
776
|
}
|
|
767
777
|
return returnValues;
|
package/src/abi/contract.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ABIMethod, ABIMethodParams, getMethodByName } from './method';
|
|
2
|
-
import { ARC28Event } from './event';
|
|
1
|
+
import { ABIMethod, ABIMethodParams, getMethodByName } from './method.js';
|
|
2
|
+
import { ARC28Event } from './event.js';
|
|
3
3
|
|
|
4
4
|
export interface ABIContractNetworkInfo {
|
|
5
5
|
appID: number;
|
package/src/abi/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from './abi_type';
|
|
2
|
-
export * from './contract';
|
|
3
|
-
export * from './interface';
|
|
4
|
-
export * from './method';
|
|
5
|
-
export * from './transaction';
|
|
6
|
-
export * from './reference';
|
|
1
|
+
export * from './abi_type.js';
|
|
2
|
+
export * from './contract.js';
|
|
3
|
+
export * from './interface.js';
|
|
4
|
+
export * from './method.js';
|
|
5
|
+
export * from './transaction.js';
|
|
6
|
+
export * from './reference.js';
|
package/src/abi/interface.ts
CHANGED
package/src/abi/method.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { genericHash } from '../nacl/naclWrappers';
|
|
2
|
-
import { ABIType, ABITupleType } from './abi_type';
|
|
3
|
-
import { ABITransactionType, abiTypeIsTransaction } from './transaction';
|
|
4
|
-
import { ABIReferenceType, abiTypeIsReference } from './reference';
|
|
5
|
-
import { ARC28Event } from './event';
|
|
6
|
-
|
|
7
|
-
function parseMethodSignature(
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { genericHash } from '../nacl/naclWrappers.js';
|
|
2
|
+
import { ABIType, ABITupleType } from './abi_type.js';
|
|
3
|
+
import { ABITransactionType, abiTypeIsTransaction } from './transaction.js';
|
|
4
|
+
import { ABIReferenceType, abiTypeIsReference } from './reference.js';
|
|
5
|
+
import { ARC28Event } from './event.js';
|
|
6
|
+
|
|
7
|
+
function parseMethodSignature(signature: string): {
|
|
8
|
+
name: string;
|
|
9
|
+
args: string[];
|
|
10
|
+
returns: string;
|
|
11
|
+
} {
|
|
10
12
|
const argsStart = signature.indexOf('(');
|
|
11
13
|
if (argsStart === -1) {
|
|
12
14
|
throw new Error(`Invalid method signature: ${signature}`);
|
package/src/abi/transaction.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Transaction } from '../transaction';
|
|
1
|
+
import { Transaction } from '../transaction.js';
|
|
2
2
|
|
|
3
3
|
export enum ABITransactionType {
|
|
4
4
|
/**
|
|
@@ -57,5 +57,5 @@ export function abiCheckTransactionType(
|
|
|
57
57
|
return true;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
return txn.type
|
|
60
|
+
return txn.type ? txn.type.toString() === type.toString() : false;
|
|
61
61
|
}
|
package/src/account.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import * as nacl from './nacl/naclWrappers';
|
|
2
|
-
import
|
|
3
|
-
import Account from './types/account';
|
|
1
|
+
import * as nacl from './nacl/naclWrappers.js';
|
|
2
|
+
import { Address } from './encoding/address.js';
|
|
3
|
+
import Account from './types/account.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* generateAccount returns a new Algorand address and its corresponding secret key
|
|
7
7
|
*/
|
|
8
8
|
export default function generateAccount(): Account {
|
|
9
9
|
const keys = nacl.keyPair();
|
|
10
|
-
const
|
|
11
|
-
return { addr
|
|
10
|
+
const addr = new Address(keys.publicKey);
|
|
11
|
+
return { addr, sk: keys.secretKey };
|
|
12
12
|
}
|
package/src/boxStorage.ts
CHANGED
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { BoxReference } from './types/transactions/base';
|
|
1
|
+
import { BoxReference } from './types/transactions/base.js';
|
|
3
2
|
|
|
4
|
-
function
|
|
3
|
+
function boxReferenceToEncodingData(
|
|
5
4
|
reference: BoxReference,
|
|
6
|
-
foreignApps:
|
|
7
|
-
appIndex:
|
|
8
|
-
):
|
|
9
|
-
const referenceId = reference.appIndex;
|
|
5
|
+
foreignApps: bigint[],
|
|
6
|
+
appIndex: bigint
|
|
7
|
+
): Map<string, unknown> {
|
|
8
|
+
const referenceId = BigInt(reference.appIndex);
|
|
10
9
|
const referenceName = reference.name;
|
|
11
|
-
const isOwnReference = referenceId === 0 || referenceId === appIndex;
|
|
12
|
-
|
|
10
|
+
const isOwnReference = referenceId === BigInt(0) || referenceId === appIndex;
|
|
11
|
+
|
|
12
|
+
// Foreign apps start from index 1; index 0 is its own app ID.
|
|
13
|
+
const index = foreignApps.indexOf(referenceId) + 1;
|
|
13
14
|
|
|
14
|
-
if (foreignApps != null) {
|
|
15
|
-
// Foreign apps start from index 1; index 0 is its own app ID.
|
|
16
|
-
index = foreignApps.indexOf(referenceId) + 1;
|
|
17
|
-
}
|
|
18
15
|
// Check if the app referenced is itself after checking the foreign apps array.
|
|
19
16
|
// If index is zero, then the app ID was not found in the foreign apps array
|
|
20
17
|
// or the foreign apps array was null.
|
|
@@ -23,20 +20,25 @@ function translateBoxReference(
|
|
|
23
20
|
// its own foreign apps array.
|
|
24
21
|
throw new Error(`Box ref with appId ${referenceId} not in foreign-apps`);
|
|
25
22
|
}
|
|
26
|
-
|
|
23
|
+
|
|
24
|
+
return new Map<string, number | Uint8Array>([
|
|
25
|
+
['i', index],
|
|
26
|
+
['n', referenceName],
|
|
27
|
+
]);
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
/**
|
|
30
|
-
*
|
|
31
|
-
*
|
|
31
|
+
* boxReferencesToEncodingData translates an array of BoxReferences into an array of encoding data
|
|
32
|
+
* maps.
|
|
32
33
|
*/
|
|
33
|
-
export function
|
|
34
|
-
references: BoxReference
|
|
35
|
-
foreignApps: number
|
|
36
|
-
appIndex: number
|
|
37
|
-
):
|
|
38
|
-
|
|
34
|
+
export function boxReferencesToEncodingData(
|
|
35
|
+
references: ReadonlyArray<BoxReference>,
|
|
36
|
+
foreignApps: ReadonlyArray<number | bigint>,
|
|
37
|
+
appIndex: number | bigint
|
|
38
|
+
): Array<Map<string, unknown>> {
|
|
39
|
+
const appIndexBigInt = BigInt(appIndex);
|
|
40
|
+
const foreignAppsBigInt = foreignApps.map(BigInt);
|
|
39
41
|
return references.map((bx) =>
|
|
40
|
-
|
|
42
|
+
boxReferenceToEncodingData(bx, foreignAppsBigInt, appIndexBigInt)
|
|
41
43
|
);
|
|
42
44
|
}
|
|
@@ -26,8 +26,11 @@ export interface BaseHTTPClientError {
|
|
|
26
26
|
* wallets to provide access to paid API services without leaking
|
|
27
27
|
* the secret tokens/URLs.
|
|
28
28
|
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
29
|
+
* The parameter `customOptions` is an object that can be used to configure
|
|
30
|
+
* individual requests with specific specific to the BaseHTTPClient implementation.
|
|
31
|
+
*
|
|
32
|
+
* Note that DELETE requests have an optional query parameter.
|
|
33
|
+
* This is to allow future extension where DELETE may have queries
|
|
31
34
|
* Currently however HTTPClient does not make use of it
|
|
32
35
|
*
|
|
33
36
|
* Compared to HTTPClient, BaseHTTPClient does not deal with serialization/deserialization
|
|
@@ -41,18 +44,21 @@ export interface BaseHTTPClient {
|
|
|
41
44
|
get(
|
|
42
45
|
relativePath: string,
|
|
43
46
|
query?: Query<string>,
|
|
44
|
-
requestHeaders?: Record<string, string
|
|
47
|
+
requestHeaders?: Record<string, string>,
|
|
48
|
+
customOptions?: Record<string, unknown>
|
|
45
49
|
): Promise<BaseHTTPClientResponse>;
|
|
46
50
|
post(
|
|
47
51
|
relativePath: string,
|
|
48
52
|
data: Uint8Array,
|
|
49
53
|
query?: Query<string>,
|
|
50
|
-
requestHeaders?: Record<string, string
|
|
54
|
+
requestHeaders?: Record<string, string>,
|
|
55
|
+
customOptions?: Record<string, unknown>
|
|
51
56
|
): Promise<BaseHTTPClientResponse>;
|
|
52
57
|
delete(
|
|
53
58
|
relativePath: string,
|
|
54
|
-
data
|
|
59
|
+
data?: Uint8Array,
|
|
55
60
|
query?: Query<string>,
|
|
56
|
-
requestHeaders?: Record<string, string
|
|
61
|
+
requestHeaders?: Record<string, string>,
|
|
62
|
+
customOptions?: Record<string, unknown>
|
|
57
63
|
): Promise<BaseHTTPClientResponse>;
|
|
58
64
|
}
|
package/src/client/client.ts
CHANGED
|
@@ -1,23 +1,73 @@
|
|
|
1
|
-
import
|
|
2
|
-
import * as utils from '../utils/utils';
|
|
1
|
+
import * as utils from '../utils/utils.js';
|
|
3
2
|
import {
|
|
4
3
|
BaseHTTPClient,
|
|
5
4
|
BaseHTTPClientResponse,
|
|
6
5
|
Query,
|
|
7
|
-
} from './baseHTTPClient';
|
|
8
|
-
import {
|
|
6
|
+
} from './baseHTTPClient.js';
|
|
7
|
+
import {
|
|
8
|
+
TokenHeader,
|
|
9
|
+
URLTokenBaseHTTPClient,
|
|
10
|
+
} from './urlTokenBaseHTTPClient.js';
|
|
9
11
|
|
|
10
12
|
interface ErrorWithAdditionalInfo extends Error {
|
|
11
13
|
rawResponse: string | null;
|
|
12
14
|
statusCode: number;
|
|
13
15
|
}
|
|
14
16
|
|
|
15
|
-
export
|
|
16
|
-
|
|
17
|
+
export class HTTPClientResponse {
|
|
18
|
+
/**
|
|
19
|
+
* The raw response bytes
|
|
20
|
+
*/
|
|
21
|
+
body: Uint8Array;
|
|
22
|
+
/**
|
|
23
|
+
* If the expected response type is JSON, this is the response bytes converted to a string.
|
|
24
|
+
*/
|
|
17
25
|
text?: string;
|
|
26
|
+
format: 'application/msgpack' | 'application/json';
|
|
18
27
|
headers: Record<string, string>;
|
|
19
28
|
status: number;
|
|
20
29
|
ok: boolean;
|
|
30
|
+
|
|
31
|
+
constructor(options: {
|
|
32
|
+
body: Uint8Array;
|
|
33
|
+
text?: string;
|
|
34
|
+
format: 'application/msgpack' | 'application/json';
|
|
35
|
+
headers: Record<string, string>;
|
|
36
|
+
status: number;
|
|
37
|
+
ok: boolean;
|
|
38
|
+
}) {
|
|
39
|
+
this.body = options.body;
|
|
40
|
+
this.text = options.text;
|
|
41
|
+
this.format = options.format;
|
|
42
|
+
this.headers = options.headers;
|
|
43
|
+
this.status = options.status;
|
|
44
|
+
this.ok = options.ok;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Returns the response body as a string, ready to be parsed as JSON.
|
|
49
|
+
*/
|
|
50
|
+
getJSONText(): string {
|
|
51
|
+
if (this.text === undefined) {
|
|
52
|
+
throw new Error(
|
|
53
|
+
`Response body does not contain JSON data. Format is ${this.format}`
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
return this.text;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Parses the response body as JSON with the given options.
|
|
61
|
+
*/
|
|
62
|
+
parseBodyAsJSON(jsonOptions: utils.ParseJSONOptions) {
|
|
63
|
+
if (this.text === undefined) {
|
|
64
|
+
throw new Error(
|
|
65
|
+
`Response body does not contain JSON data. Format is ${this.format}`
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
// eslint-disable-next-line no-use-before-define
|
|
69
|
+
return HTTPClient.parseJSON(this.text, this.status, jsonOptions);
|
|
70
|
+
}
|
|
21
71
|
}
|
|
22
72
|
|
|
23
73
|
/**
|
|
@@ -38,9 +88,12 @@ function removeFalsyOrEmpty(obj: Record<string, any>) {
|
|
|
38
88
|
* See https://codereview.stackexchange.com/a/162418
|
|
39
89
|
* Used to ensure all headers are lower-case and to work more easily with them
|
|
40
90
|
*/
|
|
41
|
-
function tolowerCaseKeys(o:
|
|
91
|
+
function tolowerCaseKeys(o: Record<string, any>): Record<string, any> {
|
|
42
92
|
/* eslint-disable no-param-reassign,no-return-assign,no-sequences */
|
|
43
|
-
return Object.keys(o).reduce(
|
|
93
|
+
return Object.keys(o).reduce(
|
|
94
|
+
(c, k) => ((c[k.toLowerCase()] = o[k]), c),
|
|
95
|
+
{} as Record<string, any>
|
|
96
|
+
);
|
|
44
97
|
/* eslint-enable no-param-reassign,no-return-assign,no-sequences */
|
|
45
98
|
}
|
|
46
99
|
|
|
@@ -70,7 +123,7 @@ function getAcceptFormat(
|
|
|
70
123
|
* It takes care of setting the proper "Accept" header and of
|
|
71
124
|
* decoding the JSON outputs.
|
|
72
125
|
*/
|
|
73
|
-
export
|
|
126
|
+
export class HTTPClient {
|
|
74
127
|
private bc: BaseHTTPClient;
|
|
75
128
|
|
|
76
129
|
/**
|
|
@@ -107,8 +160,7 @@ export default class HTTPClient {
|
|
|
107
160
|
}
|
|
108
161
|
|
|
109
162
|
/**
|
|
110
|
-
* Parse JSON using
|
|
111
|
-
* depending on whether jsonOptions are provided or not
|
|
163
|
+
* Parse JSON using utils.parseJSON
|
|
112
164
|
*
|
|
113
165
|
* @param text - JSON data
|
|
114
166
|
* @param status - Status of the response (used in case parseJSON fails)
|
|
@@ -118,15 +170,15 @@ export default class HTTPClient {
|
|
|
118
170
|
public static parseJSON(
|
|
119
171
|
text: string,
|
|
120
172
|
status: number,
|
|
121
|
-
jsonOptions: utils.
|
|
173
|
+
jsonOptions: utils.ParseJSONOptions
|
|
122
174
|
) {
|
|
123
175
|
try {
|
|
124
|
-
if (
|
|
125
|
-
return
|
|
176
|
+
if (!text) {
|
|
177
|
+
return null;
|
|
126
178
|
}
|
|
127
|
-
return
|
|
179
|
+
return utils.parseJSON(text, jsonOptions);
|
|
128
180
|
} catch (err_) {
|
|
129
|
-
const err
|
|
181
|
+
const err = err_ as ErrorWithAdditionalInfo;
|
|
130
182
|
// return the raw response if the response parsing fails
|
|
131
183
|
err.rawResponse = text || null;
|
|
132
184
|
// return the http status code if the response parsing fails
|
|
@@ -151,10 +203,10 @@ export default class HTTPClient {
|
|
|
151
203
|
return new Uint8Array(0); // empty Uint8Array
|
|
152
204
|
}
|
|
153
205
|
if (requestHeaders['content-type'] === 'application/json') {
|
|
154
|
-
return new
|
|
206
|
+
return new TextEncoder().encode(utils.stringifyJSON(data));
|
|
155
207
|
}
|
|
156
208
|
if (typeof data === 'string') {
|
|
157
|
-
return new
|
|
209
|
+
return new TextEncoder().encode(data);
|
|
158
210
|
}
|
|
159
211
|
if (data instanceof Uint8Array) {
|
|
160
212
|
return data;
|
|
@@ -171,27 +223,21 @@ export default class HTTPClient {
|
|
|
171
223
|
*/
|
|
172
224
|
private static prepareResponse(
|
|
173
225
|
res: BaseHTTPClientResponse,
|
|
174
|
-
format: 'application/msgpack' | 'application/json'
|
|
175
|
-
parseBody: boolean,
|
|
176
|
-
jsonOptions: utils.JSONOptions = {}
|
|
226
|
+
format: 'application/msgpack' | 'application/json'
|
|
177
227
|
): HTTPClientResponse {
|
|
178
|
-
|
|
179
|
-
let text;
|
|
228
|
+
const { body } = res;
|
|
229
|
+
let text: string | undefined;
|
|
180
230
|
|
|
181
231
|
if (format !== 'application/msgpack') {
|
|
182
|
-
text = (body &&
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
if (parseBody && format === 'application/json') {
|
|
186
|
-
body = HTTPClient.parseJSON(text, res.status, jsonOptions);
|
|
232
|
+
text = (body && new TextDecoder().decode(body)) || '';
|
|
187
233
|
}
|
|
188
234
|
|
|
189
|
-
return {
|
|
235
|
+
return new HTTPClientResponse({
|
|
190
236
|
...res,
|
|
191
|
-
|
|
237
|
+
format,
|
|
192
238
|
text,
|
|
193
239
|
ok: Math.trunc(res.status / 100) === 2,
|
|
194
|
-
};
|
|
240
|
+
});
|
|
195
241
|
}
|
|
196
242
|
|
|
197
243
|
/**
|
|
@@ -200,13 +246,12 @@ export default class HTTPClient {
|
|
|
200
246
|
* by adding the status and preparing the internal response
|
|
201
247
|
* @private
|
|
202
248
|
*/
|
|
203
|
-
private static prepareResponseError(err) {
|
|
249
|
+
private static prepareResponseError(err: any) {
|
|
204
250
|
if (err.response) {
|
|
205
251
|
// eslint-disable-next-line no-param-reassign
|
|
206
252
|
err.response = HTTPClient.prepareResponse(
|
|
207
253
|
err.response,
|
|
208
|
-
'application/json'
|
|
209
|
-
true
|
|
254
|
+
'application/json'
|
|
210
255
|
);
|
|
211
256
|
// eslint-disable-next-line no-param-reassign
|
|
212
257
|
err.status = err.response.status;
|
|
@@ -216,33 +261,39 @@ export default class HTTPClient {
|
|
|
216
261
|
|
|
217
262
|
/**
|
|
218
263
|
* Send a GET request.
|
|
219
|
-
*
|
|
220
|
-
* @param
|
|
221
|
-
* @param
|
|
222
|
-
* @param
|
|
223
|
-
*
|
|
224
|
-
* @param parseBody - An optional boolean indicating whether the response body should be parsed
|
|
264
|
+
*
|
|
265
|
+
* @param options - The options to use for the request.
|
|
266
|
+
* @param options.relativePath - The path of the request.
|
|
267
|
+
* @param options.query - An object containing the query parameters of the request.
|
|
268
|
+
* @param options.requestHeaders - An object containing additional request headers to use.
|
|
225
269
|
* or not.
|
|
270
|
+
* @param options.customOptions - An object containing additional options to pass to the
|
|
271
|
+
* underlying BaseHTTPClient instance.
|
|
226
272
|
* @returns Response object.
|
|
227
273
|
*/
|
|
228
|
-
async get(
|
|
229
|
-
relativePath
|
|
230
|
-
query
|
|
231
|
-
requestHeaders
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
274
|
+
async get({
|
|
275
|
+
relativePath,
|
|
276
|
+
query,
|
|
277
|
+
requestHeaders,
|
|
278
|
+
customOptions,
|
|
279
|
+
}: {
|
|
280
|
+
relativePath: string;
|
|
281
|
+
query?: Query<any>;
|
|
282
|
+
requestHeaders?: Record<string, string>;
|
|
283
|
+
customOptions?: Record<string, unknown>;
|
|
284
|
+
}): Promise<HTTPClientResponse> {
|
|
235
285
|
const format = getAcceptFormat(query);
|
|
236
|
-
const fullHeaders = { ...requestHeaders, accept: format };
|
|
286
|
+
const fullHeaders = { ...(requestHeaders ?? {}), accept: format };
|
|
237
287
|
|
|
238
288
|
try {
|
|
239
289
|
const res = await this.bc.get(
|
|
240
290
|
relativePath,
|
|
241
|
-
removeFalsyOrEmpty(query),
|
|
242
|
-
fullHeaders
|
|
291
|
+
query ? removeFalsyOrEmpty(query) : undefined,
|
|
292
|
+
fullHeaders,
|
|
293
|
+
customOptions
|
|
243
294
|
);
|
|
244
295
|
|
|
245
|
-
return HTTPClient.prepareResponse(res, format
|
|
296
|
+
return HTTPClient.prepareResponse(res, format);
|
|
246
297
|
} catch (err) {
|
|
247
298
|
throw HTTPClient.prepareResponseError(err);
|
|
248
299
|
}
|
|
@@ -252,17 +303,24 @@ export default class HTTPClient {
|
|
|
252
303
|
* Send a POST request.
|
|
253
304
|
* If no content-type present, adds the header "content-type: application/json"
|
|
254
305
|
* and data is serialized in JSON (if not empty)
|
|
306
|
+
* @param options - The options to use for the request.
|
|
255
307
|
*/
|
|
256
|
-
async post(
|
|
257
|
-
relativePath
|
|
258
|
-
data
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
308
|
+
async post({
|
|
309
|
+
relativePath,
|
|
310
|
+
data,
|
|
311
|
+
query,
|
|
312
|
+
requestHeaders,
|
|
313
|
+
customOptions,
|
|
314
|
+
}: {
|
|
315
|
+
relativePath: string;
|
|
316
|
+
data: any;
|
|
317
|
+
query?: Query<any>;
|
|
318
|
+
requestHeaders?: Record<string, string>;
|
|
319
|
+
customOptions?: Record<string, unknown>;
|
|
320
|
+
}): Promise<HTTPClientResponse> {
|
|
263
321
|
const fullHeaders = {
|
|
264
322
|
'content-type': 'application/json',
|
|
265
|
-
...tolowerCaseKeys(requestHeaders),
|
|
323
|
+
...tolowerCaseKeys(requestHeaders ?? {}),
|
|
266
324
|
};
|
|
267
325
|
|
|
268
326
|
try {
|
|
@@ -270,10 +328,11 @@ export default class HTTPClient {
|
|
|
270
328
|
relativePath,
|
|
271
329
|
HTTPClient.serializeData(data, fullHeaders),
|
|
272
330
|
query,
|
|
273
|
-
fullHeaders
|
|
331
|
+
fullHeaders,
|
|
332
|
+
customOptions
|
|
274
333
|
);
|
|
275
334
|
|
|
276
|
-
return HTTPClient.prepareResponse(res, 'application/json'
|
|
335
|
+
return HTTPClient.prepareResponse(res, 'application/json');
|
|
277
336
|
} catch (err) {
|
|
278
337
|
throw HTTPClient.prepareResponseError(err);
|
|
279
338
|
}
|
|
@@ -283,25 +342,38 @@ export default class HTTPClient {
|
|
|
283
342
|
* Send a DELETE request.
|
|
284
343
|
* If no content-type present, adds the header "content-type: application/json"
|
|
285
344
|
* and data is serialized in JSON (if not empty)
|
|
345
|
+
* @param options - The options to use for the request.
|
|
286
346
|
*/
|
|
287
|
-
async delete(
|
|
288
|
-
relativePath
|
|
289
|
-
data
|
|
290
|
-
requestHeaders
|
|
291
|
-
|
|
292
|
-
|
|
347
|
+
async delete({
|
|
348
|
+
relativePath,
|
|
349
|
+
data,
|
|
350
|
+
requestHeaders,
|
|
351
|
+
customOptions,
|
|
352
|
+
}: {
|
|
353
|
+
relativePath: string;
|
|
354
|
+
data: any;
|
|
355
|
+
requestHeaders?: Record<string, string>;
|
|
356
|
+
customOptions?: Record<string, unknown>;
|
|
357
|
+
}) {
|
|
293
358
|
const fullHeaders = {
|
|
294
359
|
'content-type': 'application/json',
|
|
295
|
-
...tolowerCaseKeys(requestHeaders),
|
|
360
|
+
...tolowerCaseKeys(requestHeaders ?? {}),
|
|
296
361
|
};
|
|
297
362
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
363
|
+
try {
|
|
364
|
+
const res = await this.bc.delete(
|
|
365
|
+
relativePath,
|
|
366
|
+
typeof data !== 'undefined'
|
|
367
|
+
? HTTPClient.serializeData(data, fullHeaders)
|
|
368
|
+
: undefined,
|
|
369
|
+
undefined,
|
|
370
|
+
fullHeaders,
|
|
371
|
+
customOptions
|
|
372
|
+
);
|
|
304
373
|
|
|
305
|
-
|
|
374
|
+
return HTTPClient.prepareResponse(res, 'application/json');
|
|
375
|
+
} catch (err) {
|
|
376
|
+
throw HTTPClient.prepareResponseError(err);
|
|
377
|
+
}
|
|
306
378
|
}
|
|
307
379
|
}
|