algosdk 2.9.0 → 3.0.0-beta.2
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 +17 -12
- package/dist/cjs/client/urlTokenBaseHTTPClient.js.map +1 -1
- package/dist/cjs/client/v2/algod/accountApplicationInformation.js +12 -8
- package/dist/cjs/client/v2/algod/accountApplicationInformation.js.map +1 -1
- package/dist/cjs/client/v2/algod/accountAssetInformation.js +12 -8
- 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 +87 -85
- package/dist/cjs/client/v2/algod/algod.js.map +1 -1
- package/dist/cjs/client/v2/algod/block.js +7 -34
- 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 +11 -11
- package/dist/cjs/client/v2/algod/getApplicationBoxByName.js.map +1 -1
- package/dist/cjs/client/v2/algod/getApplicationBoxes.js +9 -9
- package/dist/cjs/client/v2/algod/getApplicationBoxes.js.map +1 -1
- package/dist/cjs/client/v2/algod/getApplicationByID.js +11 -6
- package/dist/cjs/client/v2/algod/getApplicationByID.js.map +1 -1
- package/dist/cjs/client/v2/algod/getAssetByID.js +11 -6
- package/dist/cjs/client/v2/algod/getAssetByID.js.map +1 -1
- package/dist/cjs/client/v2/algod/getBlockHash.js +11 -7
- 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 +11 -7
- package/dist/cjs/client/v2/algod/getBlockTxids.js.map +1 -1
- package/dist/cjs/client/v2/algod/getLedgerStateDelta.js +12 -7
- 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 +10 -10
- package/dist/cjs/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.js.map +1 -1
- package/dist/cjs/client/v2/algod/getTransactionProof.js +11 -7
- 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 +11 -6
- 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 +14 -9
- package/dist/cjs/client/v2/algod/setBlockOffsetTimestamp.js.map +1 -1
- package/dist/cjs/client/v2/algod/setSyncRound.js +14 -9
- 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 +11 -6
- 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 +11 -8
- 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 +11 -11
- package/dist/cjs/client/v2/indexer/lookupApplicationBoxByIDandName.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupApplicationLogs.js +11 -6
- package/dist/cjs/client/v2/indexer/lookupApplicationLogs.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupApplications.js +11 -6
- package/dist/cjs/client/v2/indexer/lookupApplications.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupAssetBalances.js +11 -6
- package/dist/cjs/client/v2/indexer/lookupAssetBalances.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupAssetByID.js +11 -6
- package/dist/cjs/client/v2/indexer/lookupAssetByID.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupAssetTransactions.js +20 -13
- package/dist/cjs/client/v2/indexer/lookupAssetTransactions.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupBlock.js +11 -6
- 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 +9 -9
- 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 +7 -6
- 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 +17 -12
- package/dist/esm/client/urlTokenBaseHTTPClient.js.map +1 -1
- package/dist/esm/client/v2/algod/accountApplicationInformation.js +11 -7
- package/dist/esm/client/v2/algod/accountApplicationInformation.js.map +1 -1
- package/dist/esm/client/v2/algod/accountAssetInformation.js +11 -7
- 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 +73 -72
- package/dist/esm/client/v2/algod/algod.js.map +1 -1
- package/dist/esm/client/v2/algod/block.js +6 -10
- 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 +10 -10
- package/dist/esm/client/v2/algod/getApplicationBoxByName.js.map +1 -1
- package/dist/esm/client/v2/algod/getApplicationBoxes.js +8 -8
- package/dist/esm/client/v2/algod/getApplicationBoxes.js.map +1 -1
- package/dist/esm/client/v2/algod/getApplicationByID.js +10 -5
- package/dist/esm/client/v2/algod/getApplicationByID.js.map +1 -1
- package/dist/esm/client/v2/algod/getAssetByID.js +10 -5
- package/dist/esm/client/v2/algod/getAssetByID.js.map +1 -1
- package/dist/esm/client/v2/algod/getBlockHash.js +10 -6
- 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 +10 -6
- package/dist/esm/client/v2/algod/getBlockTxids.js.map +1 -1
- package/dist/esm/client/v2/algod/getLedgerStateDelta.js +11 -6
- 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 +9 -9
- package/dist/esm/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.js.map +1 -1
- package/dist/esm/client/v2/algod/getTransactionProof.js +10 -6
- 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 +10 -5
- 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 +13 -8
- package/dist/esm/client/v2/algod/setBlockOffsetTimestamp.js.map +1 -1
- package/dist/esm/client/v2/algod/setSyncRound.js +13 -8
- 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 +10 -5
- 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 +10 -7
- 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 +10 -10
- package/dist/esm/client/v2/indexer/lookupApplicationBoxByIDandName.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupApplicationLogs.js +10 -5
- package/dist/esm/client/v2/indexer/lookupApplicationLogs.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupApplications.js +10 -5
- package/dist/esm/client/v2/indexer/lookupApplications.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupAssetBalances.js +10 -5
- package/dist/esm/client/v2/indexer/lookupAssetBalances.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupAssetByID.js +10 -5
- package/dist/esm/client/v2/indexer/lookupAssetByID.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupAssetTransactions.js +18 -11
- package/dist/esm/client/v2/indexer/lookupAssetTransactions.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupBlock.js +10 -5
- 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 +8 -8
- 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 +7 -6
- 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 +7 -5
- package/dist/types/client/v2/algod/accountAssetInformation.d.ts +7 -5
- package/dist/types/client/v2/algod/accountInformation.d.ts +7 -5
- package/dist/types/client/v2/algod/algod.d.ts +66 -65
- package/dist/types/client/v2/algod/block.d.ts +6 -5
- 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 +7 -6
- 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 +7 -6
- 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 +39 -38
- package/dist/types/client/v2/indexer/lookupAccountAppLocalStates.d.ts +9 -7
- package/dist/types/client/v2/indexer/lookupAccountAssets.d.ts +9 -7
- package/dist/types/client/v2/indexer/lookupAccountByID.d.ts +8 -6
- package/dist/types/client/v2/indexer/lookupAccountCreatedApplications.d.ts +9 -7
- package/dist/types/client/v2/indexer/lookupAccountCreatedAssets.d.ts +9 -7
- package/dist/types/client/v2/indexer/lookupAccountTransactions.d.ts +17 -15
- package/dist/types/client/v2/indexer/lookupApplicationBoxByIDandName.d.ts +6 -7
- package/dist/types/client/v2/indexer/lookupApplicationLogs.d.ts +8 -7
- package/dist/types/client/v2/indexer/lookupApplications.d.ts +6 -5
- package/dist/types/client/v2/indexer/lookupAssetBalances.d.ts +8 -7
- package/dist/types/client/v2/indexer/lookupAssetByID.d.ts +6 -5
- package/dist/types/client/v2/indexer/lookupAssetTransactions.d.ts +17 -15
- 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 +12 -8
- package/dist/types/client/v2/indexer/searchForApplicationBoxes.d.ts +6 -7
- package/dist/types/client/v2/indexer/searchForApplications.d.ts +8 -4
- package/dist/types/client/v2/indexer/searchForAssets.d.ts +8 -4
- package/dist/types/client/v2/indexer/searchForTransactions.d.ts +18 -14
- 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 +19 -18
- 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 +26 -15
- package/src/client/v2/algod/accountApplicationInformation.ts +19 -10
- package/src/client/v2/algod/accountAssetInformation.ts +19 -10
- package/src/client/v2/algod/accountInformation.ts +16 -11
- package/src/client/v2/algod/algod.ts +99 -118
- package/src/client/v2/algod/block.ts +10 -14
- 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 +14 -20
- package/src/client/v2/algod/getApplicationBoxes.ts +12 -13
- package/src/client/v2/algod/getApplicationByID.ts +16 -8
- package/src/client/v2/algod/getAssetByID.ts +16 -8
- package/src/client/v2/algod/getBlockHash.ts +14 -10
- package/src/client/v2/algod/getBlockOffsetTimestamp.ts +7 -8
- package/src/client/v2/algod/getBlockTxids.ts +14 -10
- 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 +15 -10
- 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 +14 -7
- 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 +20 -10
- package/src/client/v2/algod/setSyncRound.ts +20 -10
- package/src/client/v2/algod/simulateTransaction.ts +22 -23
- package/src/client/v2/algod/stateproof.ts +14 -7
- package/src/client/v2/algod/status.ts +10 -2
- package/src/client/v2/algod/statusAfterBlock.ts +16 -9
- 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 +59 -67
- package/src/client/v2/indexer/lookupAccountAppLocalStates.ts +18 -13
- package/src/client/v2/indexer/lookupAccountAssets.ts +18 -13
- package/src/client/v2/indexer/lookupAccountByID.ts +17 -12
- package/src/client/v2/indexer/lookupAccountCreatedApplications.ts +18 -13
- package/src/client/v2/indexer/lookupAccountCreatedAssets.ts +18 -13
- package/src/client/v2/indexer/lookupAccountTransactions.ts +32 -25
- package/src/client/v2/indexer/lookupApplicationBoxByIDandName.ts +14 -20
- package/src/client/v2/indexer/lookupApplicationLogs.ts +17 -9
- package/src/client/v2/indexer/lookupApplications.ts +15 -7
- package/src/client/v2/indexer/lookupAssetBalances.ts +17 -9
- package/src/client/v2/indexer/lookupAssetByID.ts +15 -7
- package/src/client/v2/indexer/lookupAssetTransactions.ts +32 -21
- 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 +18 -9
- package/src/client/v2/indexer/searchForApplicationBoxes.ts +12 -13
- package/src/client/v2/indexer/searchForApplications.ts +14 -5
- package/src/client/v2/indexer/searchForAssets.ts +14 -5
- package/src/client/v2/indexer/searchForTransactions.ts +29 -18
- 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 +84 -61
- 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 +11 -9
- 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/dist/esm/dryrun.js
CHANGED
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { Application, ApplicationParams, ApplicationStateSchema, DryrunRequest, } from './client/v2/algod/models/types.js';
|
|
2
|
+
import { getApplicationAddress } from './encoding/address.js';
|
|
3
|
+
import { bytesToHex } from './encoding/binarydata.js';
|
|
4
|
+
import { TransactionType } from './types/transactions/index.js';
|
|
5
|
+
import { stringifyJSON } from './utils/utils.js';
|
|
5
6
|
const defaultAppId = 1380011588;
|
|
6
7
|
const defaultMaxWidth = 30;
|
|
7
|
-
function decodePrograms(ap) {
|
|
8
|
-
// eslint-disable-next-line no-param-reassign
|
|
9
|
-
ap.params['approval-program'] = Buffer.from(ap.params['approval-program'].toString(), 'base64');
|
|
10
|
-
// eslint-disable-next-line no-param-reassign
|
|
11
|
-
ap.params['clear-state-program'] = Buffer.from(ap.params['clear-state-program'].toString(), 'base64');
|
|
12
|
-
return ap;
|
|
13
|
-
}
|
|
14
8
|
/**
|
|
15
9
|
* createDryrun takes an Algod Client (from algod.AlgodV2Client) and an array of Signed Transactions
|
|
16
10
|
* from (transaction.SignedTransaction) and creates a DryrunRequest object with relevant balances
|
|
@@ -18,6 +12,8 @@ function decodePrograms(ap) {
|
|
|
18
12
|
* @param txns - the array of SignedTransaction to use for generating the DryrunRequest object
|
|
19
13
|
* @param protocolVersion - the string representing the protocol version to use
|
|
20
14
|
* @param latestTimestamp - the timestamp
|
|
15
|
+
* @param round - the round available to some TEAL scripts. Defaults to the current round on the network.
|
|
16
|
+
* @param sources - TEAL source text that gets uploaded, compiled, and inserted into transactions or application state.
|
|
21
17
|
* @returns the DryrunRequest object constructed from the SignedTransactions passed
|
|
22
18
|
*/
|
|
23
19
|
export async function createDryrun({ client, txns, protocolVersion, latestTimestamp, round, sources, }) {
|
|
@@ -28,43 +24,42 @@ export async function createDryrun({ client, txns, protocolVersion, latestTimest
|
|
|
28
24
|
const accts = [];
|
|
29
25
|
for (const t of txns) {
|
|
30
26
|
if (t.txn.type === TransactionType.appl) {
|
|
31
|
-
accts.push(
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
if (t.txn.appForeignAssets)
|
|
39
|
-
assets.push(...t.txn.appForeignAssets);
|
|
27
|
+
accts.push(t.txn.sender.toString());
|
|
28
|
+
accts.push(...t.txn.applicationCall.accounts.map((a) => a.toString()));
|
|
29
|
+
apps.push(...t.txn.applicationCall.foreignApps);
|
|
30
|
+
accts.push(...t.txn
|
|
31
|
+
.applicationCall.foreignApps.map(getApplicationAddress)
|
|
32
|
+
.map((a) => a.toString()));
|
|
33
|
+
assets.push(...t.txn.applicationCall.foreignAssets);
|
|
40
34
|
// Create application,
|
|
41
|
-
if (t.txn.
|
|
35
|
+
if (t.txn.applicationCall.appIndex === BigInt(0)) {
|
|
42
36
|
appInfos.push(new Application({
|
|
43
37
|
id: defaultAppId,
|
|
44
38
|
params: new ApplicationParams({
|
|
45
|
-
creator:
|
|
46
|
-
approvalProgram: t.txn.
|
|
47
|
-
clearStateProgram: t.txn.
|
|
39
|
+
creator: t.txn.sender.toString(),
|
|
40
|
+
approvalProgram: t.txn.applicationCall.approvalProgram,
|
|
41
|
+
clearStateProgram: t.txn.applicationCall.clearProgram,
|
|
48
42
|
localStateSchema: new ApplicationStateSchema({
|
|
49
|
-
numUint: t.txn.
|
|
50
|
-
numByteSlice: t.txn.
|
|
43
|
+
numUint: t.txn.applicationCall.numLocalInts,
|
|
44
|
+
numByteSlice: t.txn.applicationCall.numLocalByteSlices,
|
|
51
45
|
}),
|
|
52
46
|
globalStateSchema: new ApplicationStateSchema({
|
|
53
|
-
numUint: t.txn.
|
|
54
|
-
numByteSlice: t.txn.
|
|
47
|
+
numUint: t.txn.applicationCall.numGlobalInts,
|
|
48
|
+
numByteSlice: t.txn.applicationCall.numGlobalByteSlices,
|
|
55
49
|
}),
|
|
56
50
|
}),
|
|
57
51
|
}));
|
|
58
52
|
}
|
|
59
53
|
else {
|
|
60
|
-
|
|
61
|
-
|
|
54
|
+
const { appIndex } = t.txn.applicationCall;
|
|
55
|
+
apps.push(appIndex);
|
|
56
|
+
accts.push(getApplicationAddress(appIndex).toString());
|
|
62
57
|
}
|
|
63
58
|
}
|
|
64
59
|
}
|
|
65
60
|
// Dedupe and add creator to accts array
|
|
66
61
|
const assetPromises = [];
|
|
67
|
-
for (const assetId of
|
|
62
|
+
for (const assetId of new Set(assets)) {
|
|
68
63
|
assetPromises.push(client
|
|
69
64
|
.getAssetByID(assetId)
|
|
70
65
|
.do()
|
|
@@ -76,79 +71,36 @@ export async function createDryrun({ client, txns, protocolVersion, latestTimest
|
|
|
76
71
|
await Promise.all(assetPromises);
|
|
77
72
|
// Dedupe and get app info for all apps
|
|
78
73
|
const appPromises = [];
|
|
79
|
-
for (const appId of
|
|
74
|
+
for (const appId of new Set(apps)) {
|
|
80
75
|
appPromises.push(client
|
|
81
76
|
.getApplicationByID(appId)
|
|
82
77
|
.do()
|
|
83
78
|
.then((appInfo) => {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
accts.push(ai.params.creator);
|
|
79
|
+
appInfos.push(appInfo);
|
|
80
|
+
accts.push(appInfo.params.creator.toString());
|
|
87
81
|
}));
|
|
88
82
|
}
|
|
89
83
|
await Promise.all(appPromises);
|
|
90
84
|
const acctPromises = [];
|
|
91
|
-
for (const acct of
|
|
85
|
+
for (const acct of new Set(accts)) {
|
|
92
86
|
acctPromises.push(client
|
|
93
87
|
.accountInformation(acct)
|
|
94
88
|
.do()
|
|
95
89
|
.then((acctInfo) => {
|
|
96
|
-
if ('created-apps' in acctInfo) {
|
|
97
|
-
// eslint-disable-next-line no-param-reassign
|
|
98
|
-
acctInfo['created-apps'] = acctInfo['created-apps'].map((app) => decodePrograms(app));
|
|
99
|
-
}
|
|
100
90
|
acctInfos.push(acctInfo);
|
|
101
91
|
}));
|
|
102
92
|
}
|
|
103
93
|
await Promise.all(acctPromises);
|
|
104
94
|
return new DryrunRequest({
|
|
105
|
-
txns: txns.
|
|
95
|
+
txns: txns.slice(),
|
|
106
96
|
accounts: acctInfos,
|
|
107
97
|
apps: appInfos,
|
|
108
|
-
latestTimestamp,
|
|
109
|
-
round,
|
|
110
|
-
protocolVersion,
|
|
111
|
-
sources,
|
|
98
|
+
latestTimestamp: latestTimestamp ?? 0,
|
|
99
|
+
round: round ?? 0,
|
|
100
|
+
protocolVersion: protocolVersion ?? '',
|
|
101
|
+
sources: sources ?? [],
|
|
112
102
|
});
|
|
113
103
|
}
|
|
114
|
-
class DryrunStackValue {
|
|
115
|
-
constructor(sv) {
|
|
116
|
-
this.type = 0;
|
|
117
|
-
this.bytes = '';
|
|
118
|
-
this.uint = 0;
|
|
119
|
-
this.type = sv.type;
|
|
120
|
-
this.bytes = sv.bytes;
|
|
121
|
-
this.uint = sv.uint;
|
|
122
|
-
}
|
|
123
|
-
toString() {
|
|
124
|
-
if (this.type === 1) {
|
|
125
|
-
return `0x${Buffer.from(this.bytes, 'base64').toString('hex')}`;
|
|
126
|
-
}
|
|
127
|
-
return this.uint.toString();
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
class DryrunTraceLine {
|
|
131
|
-
constructor(line) {
|
|
132
|
-
this.error = '';
|
|
133
|
-
this.line = 0;
|
|
134
|
-
this.pc = 0;
|
|
135
|
-
this.scratch = [];
|
|
136
|
-
this.stack = [];
|
|
137
|
-
this.error = line.error === undefined ? '' : line.error;
|
|
138
|
-
this.line = line.line;
|
|
139
|
-
this.pc = line.pc;
|
|
140
|
-
this.scratch = line.scratch;
|
|
141
|
-
this.stack = line.stack.map((sv) => new DryrunStackValue(sv));
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
class DryrunTrace {
|
|
145
|
-
constructor(t) {
|
|
146
|
-
this.trace = [];
|
|
147
|
-
if (t == null)
|
|
148
|
-
return;
|
|
149
|
-
this.trace = t.map((line) => new DryrunTraceLine(line));
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
104
|
function truncate(str, maxValueWidth) {
|
|
153
105
|
if (str.length > maxValueWidth && maxValueWidth > 0) {
|
|
154
106
|
return `${str.slice(0, maxValueWidth)}...`;
|
|
@@ -164,7 +116,7 @@ function scratchToString(prevScratch, currScratch) {
|
|
|
164
116
|
newScratchIdx = idx;
|
|
165
117
|
continue;
|
|
166
118
|
}
|
|
167
|
-
if (
|
|
119
|
+
if (stringifyJSON(prevScratch[idx]) !== stringifyJSON(currScratch[idx])) {
|
|
168
120
|
newScratchIdx = idx;
|
|
169
121
|
}
|
|
170
122
|
}
|
|
@@ -172,7 +124,7 @@ function scratchToString(prevScratch, currScratch) {
|
|
|
172
124
|
return '';
|
|
173
125
|
const newScratch = currScratch[newScratchIdx];
|
|
174
126
|
if (newScratch.bytes.length > 0) {
|
|
175
|
-
return `${newScratchIdx} = 0x${
|
|
127
|
+
return `${newScratchIdx} = 0x${bytesToHex(newScratch.bytes)}`;
|
|
176
128
|
}
|
|
177
129
|
return `${newScratchIdx} = ${newScratch.uint.toString()}`;
|
|
178
130
|
}
|
|
@@ -182,124 +134,75 @@ function stackToString(stack, reverse) {
|
|
|
182
134
|
.map((sv) => {
|
|
183
135
|
switch (sv.type) {
|
|
184
136
|
case 1:
|
|
185
|
-
return `0x${
|
|
137
|
+
return `0x${bytesToHex(sv.bytes)}`;
|
|
186
138
|
case 2:
|
|
187
|
-
return
|
|
139
|
+
return sv.uint.toString();
|
|
188
140
|
default:
|
|
189
141
|
return '';
|
|
190
142
|
}
|
|
191
143
|
})
|
|
192
144
|
.join(', ')}]`;
|
|
193
145
|
}
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
];
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
this.appCallMessages = dtr['app-call-messages'];
|
|
219
|
-
this.localDeltas = dtr['local-deltas'];
|
|
220
|
-
this.globalDelta = dtr['global-delta'];
|
|
221
|
-
this.cost = dtr.cost;
|
|
222
|
-
this.logicSigMessages = dtr['logic-sig-messages'];
|
|
223
|
-
this.logicSigDisassembly = dtr['logic-sig-disassembly'];
|
|
224
|
-
this.logs = dtr.logs;
|
|
225
|
-
this.appCallTrace = new DryrunTrace(dtr['app-call-trace']);
|
|
226
|
-
this.logicSigTrace = new DryrunTrace(dtr['logic-sig-trace']);
|
|
227
|
-
}
|
|
228
|
-
appCallRejected() {
|
|
229
|
-
return (this.appCallMessages !== undefined &&
|
|
230
|
-
this.appCallMessages.includes('REJECT'));
|
|
231
|
-
}
|
|
232
|
-
logicSigRejected() {
|
|
233
|
-
return (this.logicSigMessages !== undefined &&
|
|
234
|
-
this.logicSigMessages.includes('REJECT'));
|
|
235
|
-
}
|
|
236
|
-
static trace(drt, disassembly, spc) {
|
|
237
|
-
const maxWidth = spc.maxValueWidth || defaultMaxWidth;
|
|
238
|
-
// Create the array of arrays, each sub array contains N columns
|
|
239
|
-
const lines = [['pc#', 'ln#', 'source', 'scratch', 'stack']];
|
|
240
|
-
for (let idx = 0; idx < drt.trace.length; idx++) {
|
|
241
|
-
const { line, error, pc, scratch, stack } = drt.trace[idx];
|
|
242
|
-
const currScratch = scratch !== undefined ? scratch : [];
|
|
243
|
-
const prevScratch = idx > 0 && drt.trace[idx - 1].scratch !== undefined
|
|
244
|
-
? drt.trace[idx - 1].scratch
|
|
245
|
-
: [];
|
|
246
|
-
const src = error === '' ? disassembly[line] : `!! ${error} !!`;
|
|
247
|
-
lines.push([
|
|
248
|
-
pc.toString().padEnd(3, ' '),
|
|
249
|
-
line.toString().padEnd(3, ' '),
|
|
250
|
-
truncate(src, maxWidth),
|
|
251
|
-
truncate(scratchToString(prevScratch, currScratch), maxWidth),
|
|
252
|
-
truncate(stackToString(stack, spc.topOfStackFirst), maxWidth),
|
|
253
|
-
]);
|
|
146
|
+
function dryrunTrace(trace, disassembly, spc) {
|
|
147
|
+
const maxWidth = spc.maxValueWidth || defaultMaxWidth;
|
|
148
|
+
// Create the array of arrays, each sub array contains N columns
|
|
149
|
+
const lines = [['pc#', 'ln#', 'source', 'scratch', 'stack']];
|
|
150
|
+
for (let idx = 0; idx < trace.length; idx++) {
|
|
151
|
+
const { line, error, pc, scratch, stack } = trace[idx];
|
|
152
|
+
const currScratch = scratch !== undefined ? scratch : [];
|
|
153
|
+
const prevScratch = idx > 0 && trace[idx - 1].scratch !== undefined
|
|
154
|
+
? trace[idx - 1].scratch
|
|
155
|
+
: [];
|
|
156
|
+
const src = !error ? disassembly[line] : `!! ${error} !!`;
|
|
157
|
+
lines.push([
|
|
158
|
+
pc.toString().padEnd(3, ' '),
|
|
159
|
+
line.toString().padEnd(3, ' '),
|
|
160
|
+
truncate(src, maxWidth),
|
|
161
|
+
truncate(scratchToString(prevScratch, currScratch), maxWidth),
|
|
162
|
+
truncate(stackToString(stack, spc.topOfStackFirst), maxWidth),
|
|
163
|
+
]);
|
|
164
|
+
}
|
|
165
|
+
// Get the max length for each column
|
|
166
|
+
const maxLengths = lines.reduce((prev, curr) => {
|
|
167
|
+
const newVal = new Array(lines[0].length).fill(0);
|
|
168
|
+
for (let idx = 0; idx < prev.length; idx++) {
|
|
169
|
+
newVal[idx] = curr[idx].length > prev[idx] ? curr[idx].length : prev[idx];
|
|
254
170
|
}
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
}, new Array(lines[0].length).fill(0));
|
|
264
|
-
return `${lines
|
|
265
|
-
.map((line) => line
|
|
266
|
-
.map((v, idx) => v.padEnd(maxLengths[idx] + 1, ' '))
|
|
267
|
-
.join('|')
|
|
268
|
-
.trim())
|
|
269
|
-
.join('\n')}\n`;
|
|
270
|
-
}
|
|
271
|
-
appTrace(spc) {
|
|
272
|
-
if (this.appCallTrace === undefined || !this.disassembly)
|
|
273
|
-
return '';
|
|
274
|
-
let conf = spc;
|
|
275
|
-
if (spc === undefined)
|
|
276
|
-
conf = {
|
|
277
|
-
maxValueWidth: defaultMaxWidth,
|
|
278
|
-
topOfStackFirst: false,
|
|
279
|
-
};
|
|
280
|
-
return DryrunTransactionResult.trace(this.appCallTrace, this.disassembly, conf);
|
|
281
|
-
}
|
|
282
|
-
lsigTrace(spc) {
|
|
283
|
-
if (this.logicSigTrace === undefined ||
|
|
284
|
-
this.logicSigDisassembly === undefined)
|
|
285
|
-
return '';
|
|
286
|
-
let conf = spc;
|
|
287
|
-
if (spc === undefined)
|
|
288
|
-
conf = {
|
|
289
|
-
maxValueWidth: defaultMaxWidth,
|
|
290
|
-
topOfStackFirst: true,
|
|
291
|
-
};
|
|
292
|
-
return DryrunTransactionResult.trace(this.logicSigTrace, this.logicSigDisassembly, conf);
|
|
293
|
-
}
|
|
171
|
+
return newVal;
|
|
172
|
+
}, new Array(lines[0].length).fill(0));
|
|
173
|
+
return `${lines
|
|
174
|
+
.map((line) => line
|
|
175
|
+
.map((v, idx) => v.padEnd(maxLengths[idx] + 1, ' '))
|
|
176
|
+
.join('|')
|
|
177
|
+
.trim())
|
|
178
|
+
.join('\n')}\n`;
|
|
294
179
|
}
|
|
295
|
-
export
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
180
|
+
export function dryrunTxnResultAppTrace(result, spc) {
|
|
181
|
+
if (!result.appCallTrace || !result.disassembly)
|
|
182
|
+
return '';
|
|
183
|
+
let conf = spc;
|
|
184
|
+
if (spc !== undefined)
|
|
185
|
+
conf = spc;
|
|
186
|
+
else {
|
|
187
|
+
conf = {
|
|
188
|
+
maxValueWidth: defaultMaxWidth,
|
|
189
|
+
topOfStackFirst: false,
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
return dryrunTrace(result.appCallTrace, result.disassembly, conf);
|
|
193
|
+
}
|
|
194
|
+
export function dryrunTxnResultLogicSigTrace(result, spc) {
|
|
195
|
+
if (!result.logicSigTrace || !result.logicSigDisassembly)
|
|
196
|
+
return '';
|
|
197
|
+
let conf;
|
|
198
|
+
if (spc !== undefined)
|
|
199
|
+
conf = spc;
|
|
200
|
+
else {
|
|
201
|
+
conf = {
|
|
202
|
+
maxValueWidth: defaultMaxWidth,
|
|
203
|
+
topOfStackFirst: true,
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
return dryrunTrace(result.logicSigTrace, result.logicSigDisassembly, conf);
|
|
304
207
|
}
|
|
305
208
|
//# sourceMappingURL=dryrun.js.map
|
package/dist/esm/dryrun.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dryrun.js","sourceRoot":"","sources":["../../src/dryrun.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dryrun.js","sourceRoot":"","sources":["../../src/dryrun.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,58 +1,94 @@
|
|
|
1
|
-
import { Buffer } from 'buffer';
|
|
2
1
|
import base32 from 'hi-base32';
|
|
3
|
-
import * as nacl from '../nacl/naclWrappers';
|
|
4
|
-
import * as utils from '../utils/utils';
|
|
5
|
-
import { encodeUint64 } from './uint64';
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const
|
|
2
|
+
import * as nacl from '../nacl/naclWrappers.js';
|
|
3
|
+
import * as utils from '../utils/utils.js';
|
|
4
|
+
import { encodeUint64 } from './uint64.js';
|
|
5
|
+
import { bytesToHex } from './binarydata.js';
|
|
6
|
+
export const ALGORAND_ADDRESS_BYTE_LENGTH = 36;
|
|
7
|
+
export const ALGORAND_CHECKSUM_BYTE_LENGTH = 4;
|
|
8
|
+
export const ALGORAND_ADDRESS_LENGTH = 58;
|
|
9
9
|
export const ALGORAND_ZERO_ADDRESS_STRING = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY5HFKQ';
|
|
10
|
-
// Convert "MultisigAddr" UTF-8 to byte array
|
|
11
|
-
const MULTISIG_PREIMG2ADDR_PREFIX = new Uint8Array([
|
|
12
|
-
77,
|
|
13
|
-
117,
|
|
14
|
-
108,
|
|
15
|
-
116,
|
|
16
|
-
105,
|
|
17
|
-
115,
|
|
18
|
-
105,
|
|
19
|
-
103,
|
|
20
|
-
65,
|
|
21
|
-
100,
|
|
22
|
-
100,
|
|
23
|
-
114,
|
|
24
|
-
]);
|
|
25
|
-
const APP_ID_PREFIX = Buffer.from('appID');
|
|
26
10
|
export const MALFORMED_ADDRESS_ERROR_MSG = 'address seems to be malformed';
|
|
27
11
|
export const CHECKSUM_ADDRESS_ERROR_MSG = 'wrong checksum for address';
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
12
|
+
function checksumFromPublicKey(pk) {
|
|
13
|
+
return Uint8Array.from(nacl
|
|
14
|
+
.genericHash(pk)
|
|
15
|
+
.slice(nacl.HASH_BYTES_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH, nacl.HASH_BYTES_LENGTH));
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Represents an Algorand address
|
|
19
|
+
*/
|
|
20
|
+
export class Address {
|
|
21
|
+
/**
|
|
22
|
+
* Create a new Address object from its binary form.
|
|
23
|
+
* @param publicKey - The binary form of the address. Must be 32 bytes.
|
|
24
|
+
*/
|
|
25
|
+
constructor(publicKey) {
|
|
26
|
+
if (!(publicKey instanceof Uint8Array)) {
|
|
27
|
+
throw new Error(`${MALFORMED_ADDRESS_ERROR_MSG}: ${publicKey} is not Uint8Array, type ${typeof publicKey}`);
|
|
28
|
+
}
|
|
29
|
+
if (publicKey.length !==
|
|
30
|
+
ALGORAND_ADDRESS_BYTE_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH)
|
|
31
|
+
throw new Error(`${MALFORMED_ADDRESS_ERROR_MSG}: 0x${bytesToHex(publicKey)}, length ${publicKey.length}`);
|
|
32
|
+
this.publicKey = publicKey;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Check if the address is equal to another address.
|
|
36
|
+
*/
|
|
37
|
+
equals(other) {
|
|
38
|
+
return (other instanceof Address &&
|
|
39
|
+
utils.arrayEqual(this.publicKey, other.publicKey));
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Compute the 4 byte checksum of the address.
|
|
43
|
+
*/
|
|
44
|
+
checksum() {
|
|
45
|
+
return checksumFromPublicKey(this.publicKey);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Encode the address into a string form.
|
|
49
|
+
*/
|
|
50
|
+
toString() {
|
|
51
|
+
const addr = base32.encode(utils.concatArrays(this.publicKey, this.checksum()));
|
|
52
|
+
return addr.slice(0, ALGORAND_ADDRESS_LENGTH); // removing the extra '===='
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Decode an address from a string.
|
|
56
|
+
* @param address - The address to decode. Must be 58 bytes long.
|
|
57
|
+
* @returns An Address object corresponding to the input string.
|
|
58
|
+
*/
|
|
59
|
+
static fromString(address) {
|
|
60
|
+
if (typeof address !== 'string')
|
|
61
|
+
throw new Error(`${MALFORMED_ADDRESS_ERROR_MSG}: expected string, got ${typeof address}, ${address}`);
|
|
62
|
+
if (address.length !== ALGORAND_ADDRESS_LENGTH)
|
|
63
|
+
throw new Error(`${MALFORMED_ADDRESS_ERROR_MSG}: expected length ${ALGORAND_ADDRESS_LENGTH}, got ${address.length}: ${address}`);
|
|
64
|
+
// try to decode
|
|
65
|
+
const decoded = base32.decode.asBytes(address);
|
|
66
|
+
// Sanity check
|
|
67
|
+
if (decoded.length !== ALGORAND_ADDRESS_BYTE_LENGTH)
|
|
68
|
+
throw new Error(`${MALFORMED_ADDRESS_ERROR_MSG}: expected byte length ${ALGORAND_ADDRESS_BYTE_LENGTH}, got ${decoded.length}`);
|
|
69
|
+
// Find publickey and checksum
|
|
70
|
+
const pk = new Uint8Array(decoded.slice(0, ALGORAND_ADDRESS_BYTE_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH));
|
|
71
|
+
const cs = new Uint8Array(decoded.slice(nacl.PUBLIC_KEY_LENGTH, ALGORAND_ADDRESS_BYTE_LENGTH));
|
|
72
|
+
const checksum = checksumFromPublicKey(pk);
|
|
73
|
+
// Check if the checksum and the address are equal
|
|
74
|
+
if (!utils.arrayEqual(checksum, cs))
|
|
75
|
+
throw new Error(CHECKSUM_ADDRESS_ERROR_MSG);
|
|
76
|
+
return new Address(pk);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Get the zero address.
|
|
80
|
+
*/
|
|
81
|
+
static zeroAddress() {
|
|
82
|
+
return new Address(new Uint8Array(ALGORAND_ADDRESS_BYTE_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
32
85
|
/**
|
|
33
86
|
* decodeAddress takes an Algorand address in string form and decodes it into a Uint8Array.
|
|
34
87
|
* @param address - an Algorand address with checksum.
|
|
35
88
|
* @returns the decoded form of the address's public key and checksum
|
|
36
89
|
*/
|
|
37
90
|
export function decodeAddress(address) {
|
|
38
|
-
|
|
39
|
-
throw new Error(MALFORMED_ADDRESS_ERROR_MSG);
|
|
40
|
-
// try to decode
|
|
41
|
-
const decoded = base32.decode.asBytes(address.toString());
|
|
42
|
-
// Sanity check
|
|
43
|
-
if (decoded.length !== ALGORAND_ADDRESS_BYTE_LENGTH)
|
|
44
|
-
throw new Error(MALFORMED_ADDRESS_ERROR_MSG);
|
|
45
|
-
// Find publickey and checksum
|
|
46
|
-
const pk = new Uint8Array(decoded.slice(0, ALGORAND_ADDRESS_BYTE_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH));
|
|
47
|
-
const cs = new Uint8Array(decoded.slice(nacl.PUBLIC_KEY_LENGTH, ALGORAND_ADDRESS_BYTE_LENGTH));
|
|
48
|
-
// Compute checksum
|
|
49
|
-
const checksum = nacl
|
|
50
|
-
.genericHash(pk)
|
|
51
|
-
.slice(nacl.HASH_BYTES_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH, nacl.HASH_BYTES_LENGTH);
|
|
52
|
-
// Check if the checksum and the address are equal
|
|
53
|
-
if (!utils.arrayEqual(checksum, cs))
|
|
54
|
-
throw new Error(CHECKSUM_ADDRESS_ERROR_MSG);
|
|
55
|
-
return { publicKey: pk, checksum: cs };
|
|
91
|
+
return Address.fromString(address);
|
|
56
92
|
}
|
|
57
93
|
/**
|
|
58
94
|
* isValidAddress checks if a string is a valid Algorand address.
|
|
@@ -62,7 +98,7 @@ export function decodeAddress(address) {
|
|
|
62
98
|
export function isValidAddress(address) {
|
|
63
99
|
// Try to decode
|
|
64
100
|
try {
|
|
65
|
-
|
|
101
|
+
Address.fromString(address);
|
|
66
102
|
}
|
|
67
103
|
catch (e) {
|
|
68
104
|
return false;
|
|
@@ -75,60 +111,9 @@ export function isValidAddress(address) {
|
|
|
75
111
|
* @returns the address and checksum encoded as a string.
|
|
76
112
|
*/
|
|
77
113
|
export function encodeAddress(address) {
|
|
78
|
-
|
|
79
|
-
const checksum = nacl
|
|
80
|
-
.genericHash(address)
|
|
81
|
-
.slice(nacl.PUBLIC_KEY_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH, nacl.PUBLIC_KEY_LENGTH);
|
|
82
|
-
const addr = base32.encode(utils.concatArrays(address, checksum));
|
|
83
|
-
return addr.toString().slice(0, ALGORAND_ADDRESS_LENGTH); // removing the extra '===='
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* fromMultisigPreImg takes multisig parameters and returns a 32 byte typed array public key,
|
|
87
|
-
* representing an address that identifies the "exact group, version, and public keys" that are required for signing.
|
|
88
|
-
* Hash("MultisigAddr" || version uint8 || threshold uint8 || PK1 || PK2 || ...)
|
|
89
|
-
* Encoding this output yields a human readable address.
|
|
90
|
-
* @param version - multisig version
|
|
91
|
-
* @param threshold - multisig threshold
|
|
92
|
-
* @param pks - array of typed array public keys
|
|
93
|
-
*/
|
|
94
|
-
export function fromMultisigPreImg({ version, threshold, pks, }) {
|
|
95
|
-
if (version !== 1 || version > 255 || version < 0) {
|
|
96
|
-
// ^ a tad redundant, but in case in the future version != 1, still check for uint8
|
|
97
|
-
throw new Error(INVALID_MSIG_VERSION_ERROR_MSG);
|
|
98
|
-
}
|
|
99
|
-
if (threshold === 0 ||
|
|
100
|
-
pks.length === 0 ||
|
|
101
|
-
threshold > pks.length ||
|
|
102
|
-
threshold > 255) {
|
|
103
|
-
throw new Error(INVALID_MSIG_THRESHOLD_ERROR_MSG);
|
|
104
|
-
}
|
|
105
|
-
const pkLen = ALGORAND_ADDRESS_BYTE_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH;
|
|
106
|
-
if (pkLen !== nacl.PUBLIC_KEY_LENGTH) {
|
|
107
|
-
throw new Error(UNEXPECTED_PK_LEN_ERROR_MSG);
|
|
108
|
-
}
|
|
109
|
-
const merged = new Uint8Array(MULTISIG_PREIMG2ADDR_PREFIX.length + 2 + pkLen * pks.length);
|
|
110
|
-
merged.set(MULTISIG_PREIMG2ADDR_PREFIX, 0);
|
|
111
|
-
merged.set([version], MULTISIG_PREIMG2ADDR_PREFIX.length);
|
|
112
|
-
merged.set([threshold], MULTISIG_PREIMG2ADDR_PREFIX.length + 1);
|
|
113
|
-
for (let i = 0; i < pks.length; i++) {
|
|
114
|
-
if (pks[i].length !== pkLen) {
|
|
115
|
-
throw new Error(INVALID_MSIG_PK_ERROR_MSG);
|
|
116
|
-
}
|
|
117
|
-
merged.set(pks[i], MULTISIG_PREIMG2ADDR_PREFIX.length + 2 + i * pkLen);
|
|
118
|
-
}
|
|
119
|
-
return new Uint8Array(nacl.genericHash(merged));
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* fromMultisigPreImgAddrs takes multisig parameters and returns a human readable Algorand address.
|
|
123
|
-
* This is equivalent to fromMultisigPreImg, but interfaces with encoded addresses.
|
|
124
|
-
* @param version - multisig version
|
|
125
|
-
* @param threshold - multisig threshold
|
|
126
|
-
* @param addrs - array of encoded addresses
|
|
127
|
-
*/
|
|
128
|
-
export function fromMultisigPreImgAddrs({ version, threshold, addrs, }) {
|
|
129
|
-
const pks = addrs.map((addr) => decodeAddress(addr).publicKey);
|
|
130
|
-
return encodeAddress(fromMultisigPreImg({ version, threshold, pks }));
|
|
114
|
+
return new Address(address).toString();
|
|
131
115
|
}
|
|
116
|
+
const APP_ID_PREFIX = new TextEncoder().encode('appID');
|
|
132
117
|
/**
|
|
133
118
|
* Get the escrow address of an application.
|
|
134
119
|
* @param appID - The ID of the application.
|
|
@@ -137,6 +122,6 @@ export function fromMultisigPreImgAddrs({ version, threshold, addrs, }) {
|
|
|
137
122
|
export function getApplicationAddress(appID) {
|
|
138
123
|
const toBeSigned = utils.concatArrays(APP_ID_PREFIX, encodeUint64(appID));
|
|
139
124
|
const hash = nacl.genericHash(toBeSigned);
|
|
140
|
-
return
|
|
125
|
+
return new Address(Uint8Array.from(hash));
|
|
141
126
|
}
|
|
142
127
|
//# sourceMappingURL=address.js.map
|