algosdk 2.8.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 +5 -3
- package/dist/cjs/abi/contract.js.map +1 -1
- package/dist/cjs/{types/transactions/asset.js → abi/event.js} +1 -1
- package/dist/cjs/abi/event.js.map +1 -0
- 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 +14 -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 +3712 -1824
- 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 +320 -554
- 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 +3 -1
- package/dist/esm/abi/contract.js.map +1 -1
- package/dist/esm/abi/event.js +2 -0
- package/dist/esm/abi/event.js.map +1 -0
- 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 +8 -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 +3712 -1821
- 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 +314 -513
- 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 +5 -1
- package/dist/types/abi/event.d.ts +16 -0
- 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 +12 -5
- 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 +629 -318
- 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 +129 -388
- 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 +7 -1
- package/src/abi/event.ts +16 -0
- package/src/abi/index.ts +6 -6
- package/src/abi/interface.ts +1 -1
- package/src/abi/method.ts +22 -8
- 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 +4729 -2254
- 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 +670 -1320
- 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.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
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.appendSignRawMultisigSignature = exports.appendSignMultisigTransaction = exports.signMultisigTransaction = exports.mergeMultisigTransactions = exports.createMultisigTransaction = exports.MULTISIG_SIGNATURE_LENGTH_ERROR_MSG = exports.MULTISIG_USE_PARTIAL_SIGN_ERROR_MSG = exports.MULTISIG_NO_MUTATE_ERROR_MSG = exports.MULTISIG_MERGE_SIG_MISMATCH_ERROR_MSG = exports.MULTISIG_MERGE_WRONG_PREIMAGE_ERROR_MSG = exports.MULTISIG_MERGE_MISMATCH_AUTH_ADDR_MSG = exports.MULTISIG_MERGE_MISMATCH_ERROR_MSG = exports.MULTISIG_MERGE_LESSTHANTWO_ERROR_MSG = void 0;
|
|
27
|
+
const nacl = __importStar(require("./nacl/naclWrappers.js"));
|
|
28
|
+
const address_js_1 = require("./encoding/address.js");
|
|
29
|
+
const encoding = __importStar(require("./encoding/encoding.js"));
|
|
30
|
+
const utils = __importStar(require("./utils/utils.js"));
|
|
31
|
+
const signedTransaction_js_1 = require("./signedTransaction.js");
|
|
32
|
+
const multisig_js_1 = require("./multisig.js");
|
|
33
|
+
exports.MULTISIG_MERGE_LESSTHANTWO_ERROR_MSG = 'Not enough multisig transactions to merge. Need at least two';
|
|
34
|
+
exports.MULTISIG_MERGE_MISMATCH_ERROR_MSG = 'Cannot merge txs. txIDs differ';
|
|
35
|
+
exports.MULTISIG_MERGE_MISMATCH_AUTH_ADDR_MSG = 'Cannot merge txs. Auth addrs differ';
|
|
36
|
+
exports.MULTISIG_MERGE_WRONG_PREIMAGE_ERROR_MSG = 'Cannot merge txs. Multisig preimages differ';
|
|
37
|
+
exports.MULTISIG_MERGE_SIG_MISMATCH_ERROR_MSG = 'Cannot merge txs. subsigs are mismatched.';
|
|
38
|
+
exports.MULTISIG_NO_MUTATE_ERROR_MSG = 'Cannot mutate a multisig field as it would invalidate all existing signatures.';
|
|
39
|
+
exports.MULTISIG_USE_PARTIAL_SIGN_ERROR_MSG = 'Cannot sign a multisig transaction using `signTxn`. Use `partialSignTxn` instead.';
|
|
40
|
+
exports.MULTISIG_SIGNATURE_LENGTH_ERROR_MSG = 'Cannot add multisig signature. Signature is not of the correct length.';
|
|
41
|
+
const MULTISIG_KEY_NOT_EXIST_ERROR_MSG = 'Key does not exist';
|
|
42
|
+
/**
|
|
43
|
+
* createMultisigTransaction creates a raw, unsigned multisig transaction blob.
|
|
44
|
+
* @param txn - the actual transaction.
|
|
45
|
+
* @param version - multisig version
|
|
46
|
+
* @param threshold - multisig threshold
|
|
47
|
+
* @param pks - ordered list of public keys in this multisig
|
|
48
|
+
* @returns encoded multisig blob
|
|
49
|
+
*/
|
|
50
|
+
function createMultisigTransaction(txn, { version, threshold, addrs }) {
|
|
51
|
+
// construct the appendable multisigned transaction format
|
|
52
|
+
const pks = (0, multisig_js_1.pksFromAddresses)(addrs);
|
|
53
|
+
const subsigs = pks.map((pk) => ({ pk }));
|
|
54
|
+
const msig = {
|
|
55
|
+
v: version,
|
|
56
|
+
thr: threshold,
|
|
57
|
+
subsig: subsigs,
|
|
58
|
+
};
|
|
59
|
+
// if the address of this multisig is different from the transaction sender,
|
|
60
|
+
// we need to add the auth-addr field
|
|
61
|
+
const msigAddr = (0, multisig_js_1.addressFromMultisigPreImg)({
|
|
62
|
+
version,
|
|
63
|
+
threshold,
|
|
64
|
+
pks,
|
|
65
|
+
});
|
|
66
|
+
let sgnr;
|
|
67
|
+
if (!txn.sender.equals(msigAddr)) {
|
|
68
|
+
sgnr = msigAddr;
|
|
69
|
+
}
|
|
70
|
+
const signedTxn = new signedTransaction_js_1.SignedTransaction({
|
|
71
|
+
txn,
|
|
72
|
+
msig,
|
|
73
|
+
sgnr,
|
|
74
|
+
});
|
|
75
|
+
return encoding.encodeMsgpack(signedTxn);
|
|
76
|
+
}
|
|
77
|
+
exports.createMultisigTransaction = createMultisigTransaction;
|
|
78
|
+
/**
|
|
79
|
+
* createMultisigTransactionWithSignature creates a multisig transaction blob with an included signature.
|
|
80
|
+
* @param txn - the actual transaction to sign.
|
|
81
|
+
* @param rawSig - a Uint8Array raw signature of that transaction
|
|
82
|
+
* @param myPk - a public key that corresponds with rawSig
|
|
83
|
+
* @param version - multisig version
|
|
84
|
+
* @param threshold - multisig threshold
|
|
85
|
+
* @param pks - ordered list of public keys in this multisig
|
|
86
|
+
* @returns encoded multisig blob
|
|
87
|
+
*/
|
|
88
|
+
function createMultisigTransactionWithSignature(txn, { rawSig, myPk }, { version, threshold, pks }) {
|
|
89
|
+
// Create an empty encoded multisig transaction
|
|
90
|
+
const encodedMsig = createMultisigTransaction(txn, {
|
|
91
|
+
version,
|
|
92
|
+
threshold,
|
|
93
|
+
addrs: pks.map((pk) => new address_js_1.Address(pk)),
|
|
94
|
+
});
|
|
95
|
+
// note: this is not signed yet, but will be shortly
|
|
96
|
+
const signedTxn = encoding.decodeMsgpack(encodedMsig, signedTransaction_js_1.SignedTransaction);
|
|
97
|
+
let keyExist = false;
|
|
98
|
+
// append the multisig signature to the corresponding public key in the multisig blob
|
|
99
|
+
signedTxn.msig.subsig.forEach((subsig, i) => {
|
|
100
|
+
if (nacl.bytesEqual(subsig.pk, myPk)) {
|
|
101
|
+
keyExist = true;
|
|
102
|
+
signedTxn.msig.subsig[i].s = rawSig;
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
if (!keyExist) {
|
|
106
|
+
throw new Error(MULTISIG_KEY_NOT_EXIST_ERROR_MSG);
|
|
107
|
+
}
|
|
108
|
+
return encoding.encodeMsgpack(signedTxn);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* partialSignTxn partially signs this transaction and returns a partially-signed multisig transaction,
|
|
112
|
+
* encoded with msgpack as a typed array.
|
|
113
|
+
* @param transaction - The transaction to sign
|
|
114
|
+
* @param version - multisig version
|
|
115
|
+
* @param threshold - multisig threshold
|
|
116
|
+
* @param pks - multisig public key list, order is important.
|
|
117
|
+
* @param sk - an Algorand secret key to sign with.
|
|
118
|
+
* @returns an encoded, partially signed multisig transaction.
|
|
119
|
+
*/
|
|
120
|
+
function partialSignTxn(transaction, { version, threshold, pks }, sk) {
|
|
121
|
+
// get signature verifier
|
|
122
|
+
const myPk = nacl.keyPairFromSecretKey(sk).publicKey;
|
|
123
|
+
return createMultisigTransactionWithSignature(transaction, { rawSig: transaction.rawSignTxn(sk), myPk }, { version, threshold, pks });
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* partialSignWithMultisigSignature partially signs this transaction with an external raw multisig signature and returns
|
|
127
|
+
* a partially-signed multisig transaction, encoded with msgpack as a typed array.
|
|
128
|
+
* @param transaction - The transaction to sign
|
|
129
|
+
* @param metadata - multisig metadata
|
|
130
|
+
* @param signerAddr - address of the signer
|
|
131
|
+
* @param signature - raw multisig signature
|
|
132
|
+
* @returns an encoded, partially signed multisig transaction.
|
|
133
|
+
*/
|
|
134
|
+
function partialSignWithMultisigSignature(transaction, metadata, signerAddr, signature) {
|
|
135
|
+
if (!nacl.isValidSignatureLength(signature.length)) {
|
|
136
|
+
throw new Error(exports.MULTISIG_SIGNATURE_LENGTH_ERROR_MSG);
|
|
137
|
+
}
|
|
138
|
+
const signerAddressObj = typeof signerAddr === 'string'
|
|
139
|
+
? address_js_1.Address.fromString(signerAddr)
|
|
140
|
+
: signerAddr;
|
|
141
|
+
return createMultisigTransactionWithSignature(transaction, {
|
|
142
|
+
rawSig: signature,
|
|
143
|
+
myPk: signerAddressObj.publicKey,
|
|
144
|
+
}, metadata);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* mergeMultisigTransactions takes a list of multisig transaction blobs, and merges them.
|
|
148
|
+
* @param multisigTxnBlobs - a list of blobs representing encoded multisig txns
|
|
149
|
+
* @returns typed array msg-pack encoded multisig txn
|
|
150
|
+
*/
|
|
151
|
+
function mergeMultisigTransactions(multisigTxnBlobs) {
|
|
152
|
+
if (multisigTxnBlobs.length < 2) {
|
|
153
|
+
throw new Error(exports.MULTISIG_MERGE_LESSTHANTWO_ERROR_MSG);
|
|
154
|
+
}
|
|
155
|
+
const refSigTx = encoding.decodeMsgpack(multisigTxnBlobs[0], signedTransaction_js_1.SignedTransaction);
|
|
156
|
+
if (!refSigTx.msig) {
|
|
157
|
+
throw new Error('Invalid multisig transaction, multisig structure missing at index 0');
|
|
158
|
+
}
|
|
159
|
+
const refTxID = refSigTx.txn.txID();
|
|
160
|
+
const refAuthAddr = refSigTx.sgnr ? refSigTx.sgnr.toString() : undefined;
|
|
161
|
+
const refPreImage = {
|
|
162
|
+
version: refSigTx.msig.v,
|
|
163
|
+
threshold: refSigTx.msig.thr,
|
|
164
|
+
pks: refSigTx.msig.subsig.map((subsig) => subsig.pk),
|
|
165
|
+
};
|
|
166
|
+
const refMsigAddr = (0, multisig_js_1.addressFromMultisigPreImg)(refPreImage);
|
|
167
|
+
const newSubsigs = refSigTx.msig.subsig.map((sig) => ({ ...sig }));
|
|
168
|
+
for (let i = 1; i < multisigTxnBlobs.length; i++) {
|
|
169
|
+
const unisig = encoding.decodeMsgpack(multisigTxnBlobs[i], signedTransaction_js_1.SignedTransaction);
|
|
170
|
+
if (!unisig.msig) {
|
|
171
|
+
throw new Error(`Invalid multisig transaction, multisig structure missing at index ${i}`);
|
|
172
|
+
}
|
|
173
|
+
if (unisig.txn.txID() !== refTxID) {
|
|
174
|
+
throw new Error(exports.MULTISIG_MERGE_MISMATCH_ERROR_MSG);
|
|
175
|
+
}
|
|
176
|
+
const authAddr = unisig.sgnr ? unisig.sgnr.toString() : undefined;
|
|
177
|
+
if (refAuthAddr !== authAddr) {
|
|
178
|
+
throw new Error(exports.MULTISIG_MERGE_MISMATCH_AUTH_ADDR_MSG);
|
|
179
|
+
}
|
|
180
|
+
// check multisig has same preimage as reference
|
|
181
|
+
if (unisig.msig.subsig.length !== refSigTx.msig.subsig.length) {
|
|
182
|
+
throw new Error(exports.MULTISIG_MERGE_WRONG_PREIMAGE_ERROR_MSG);
|
|
183
|
+
}
|
|
184
|
+
const preimg = {
|
|
185
|
+
version: unisig.msig.v,
|
|
186
|
+
threshold: unisig.msig.thr,
|
|
187
|
+
pks: unisig.msig.subsig.map((subsig) => subsig.pk),
|
|
188
|
+
};
|
|
189
|
+
const msgigAddr = (0, multisig_js_1.addressFromMultisigPreImg)(preimg);
|
|
190
|
+
if (!refMsigAddr.equals(msgigAddr)) {
|
|
191
|
+
throw new Error(exports.MULTISIG_MERGE_WRONG_PREIMAGE_ERROR_MSG);
|
|
192
|
+
}
|
|
193
|
+
// now, we can merge
|
|
194
|
+
unisig.msig.subsig.forEach((uniSubsig, index) => {
|
|
195
|
+
if (!uniSubsig.s)
|
|
196
|
+
return;
|
|
197
|
+
const current = newSubsigs[index];
|
|
198
|
+
if (current.s && !utils.arrayEqual(uniSubsig.s, current.s)) {
|
|
199
|
+
// mismatch
|
|
200
|
+
throw new Error(exports.MULTISIG_MERGE_SIG_MISMATCH_ERROR_MSG);
|
|
201
|
+
}
|
|
202
|
+
current.s = uniSubsig.s;
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
const msig = {
|
|
206
|
+
v: refSigTx.msig.v,
|
|
207
|
+
thr: refSigTx.msig.thr,
|
|
208
|
+
subsig: newSubsigs,
|
|
209
|
+
};
|
|
210
|
+
const refSgnr = typeof refAuthAddr !== 'undefined' ? refSigTx.sgnr : undefined;
|
|
211
|
+
const signedTxn = new signedTransaction_js_1.SignedTransaction({
|
|
212
|
+
msig,
|
|
213
|
+
txn: refSigTx.txn,
|
|
214
|
+
sgnr: refSgnr,
|
|
215
|
+
});
|
|
216
|
+
return encoding.encodeMsgpack(signedTxn);
|
|
217
|
+
}
|
|
218
|
+
exports.mergeMultisigTransactions = mergeMultisigTransactions;
|
|
219
|
+
/**
|
|
220
|
+
* signMultisigTransaction takes a raw transaction (see signTransaction), a multisig preimage, a secret key, and returns
|
|
221
|
+
* a multisig transaction, which is a blob representing a transaction and multisignature account preimage. The returned
|
|
222
|
+
* multisig txn can accumulate additional signatures through mergeMultisigTransactions or appendSignMultisigTransaction.
|
|
223
|
+
* @param txn - object with either payment or key registration fields
|
|
224
|
+
* @param version - multisig version
|
|
225
|
+
* @param threshold - multisig threshold
|
|
226
|
+
* @param addrs - a list of Algorand addresses representing possible signers for this multisig. Order is important.
|
|
227
|
+
* @param sk - Algorand secret key. The corresponding pk should be in the pre image.
|
|
228
|
+
* @returns object containing txID, and blob of partially signed multisig transaction (with multisig preimage information)
|
|
229
|
+
* If the final calculated fee is lower than the protocol minimum fee, the fee will be increased to match the minimum.
|
|
230
|
+
*/
|
|
231
|
+
function signMultisigTransaction(txn, { version, threshold, addrs }, sk) {
|
|
232
|
+
// build pks for partialSign
|
|
233
|
+
const pks = (0, multisig_js_1.pksFromAddresses)(addrs);
|
|
234
|
+
const blob = partialSignTxn(txn, { version, threshold, pks }, sk);
|
|
235
|
+
return {
|
|
236
|
+
txID: txn.txID(),
|
|
237
|
+
blob,
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
exports.signMultisigTransaction = signMultisigTransaction;
|
|
241
|
+
/**
|
|
242
|
+
* appendSignMultisigTransaction takes a multisig transaction blob, and appends our signature to it.
|
|
243
|
+
* While we could derive public key preimagery from the partially-signed multisig transaction,
|
|
244
|
+
* we ask the caller to pass it back in, to ensure they know what they are signing.
|
|
245
|
+
* @param multisigTxnBlob - an encoded multisig txn. Supports non-payment txn types.
|
|
246
|
+
* @param version - multisig version
|
|
247
|
+
* @param threshold - multisig threshold
|
|
248
|
+
* @param addrs - a list of Algorand addresses representing possible signers for this multisig. Order is important.
|
|
249
|
+
* @param sk - Algorand secret key
|
|
250
|
+
* @returns object containing txID, and blob representing encoded multisig txn
|
|
251
|
+
*/
|
|
252
|
+
function appendSignMultisigTransaction(multisigTxnBlob, { version, threshold, addrs }, sk) {
|
|
253
|
+
const pks = (0, multisig_js_1.pksFromAddresses)(addrs);
|
|
254
|
+
// obtain underlying txn, sign it, and merge it
|
|
255
|
+
const multisigTxObj = encoding.decodeMsgpack(multisigTxnBlob, signedTransaction_js_1.SignedTransaction);
|
|
256
|
+
const partialSignedBlob = partialSignTxn(multisigTxObj.txn, { version, threshold, pks }, sk);
|
|
257
|
+
return {
|
|
258
|
+
txID: multisigTxObj.txn.txID(),
|
|
259
|
+
blob: mergeMultisigTransactions([multisigTxnBlob, partialSignedBlob]),
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
exports.appendSignMultisigTransaction = appendSignMultisigTransaction;
|
|
263
|
+
/**
|
|
264
|
+
* appendMultisigTransactionSignature takes a multisig transaction blob, and appends a given raw signature to it.
|
|
265
|
+
* This makes it possible to compile a multisig signature using only raw signatures from external methods.
|
|
266
|
+
* @param multisigTxnBlob - an encoded multisig txn. Supports non-payment txn types.
|
|
267
|
+
* @param version - multisig version
|
|
268
|
+
* @param threshold - multisig threshold
|
|
269
|
+
* @param addrs - a list of Algorand addresses representing possible signers for this multisig. Order is important.
|
|
270
|
+
* @param signerAddr - address of the signer
|
|
271
|
+
* @param signature - raw multisig signature
|
|
272
|
+
* @returns object containing txID, and blob representing encoded multisig txn
|
|
273
|
+
*/
|
|
274
|
+
function appendSignRawMultisigSignature(multisigTxnBlob, { version, threshold, addrs }, signerAddr, signature) {
|
|
275
|
+
const pks = (0, multisig_js_1.pksFromAddresses)(addrs);
|
|
276
|
+
// obtain underlying txn, sign it, and merge it
|
|
277
|
+
const multisigTxObj = encoding.decodeMsgpack(multisigTxnBlob, signedTransaction_js_1.SignedTransaction);
|
|
278
|
+
const partialSignedBlob = partialSignWithMultisigSignature(multisigTxObj.txn, { version, threshold, pks }, signerAddr, signature);
|
|
279
|
+
return {
|
|
280
|
+
txID: multisigTxObj.txn.txID(),
|
|
281
|
+
blob: mergeMultisigTransactions([multisigTxnBlob, partialSignedBlob]),
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
exports.appendSignRawMultisigSignature = appendSignRawMultisigSignature;
|
|
285
|
+
//# sourceMappingURL=multisigSigning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multisigSigning.js","sourceRoot":"","sources":["../../src/multisigSigning.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,13 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.SEED_BTYES_LENGTH = exports.HASH_BYTES_LENGTH = exports.SECRET_KEY_LENGTH = exports.PUBLIC_KEY_LENGTH = exports.verify = exports.bytesEqual = exports.sign = exports.keyPairFromSecretKey = exports.isValidSignatureLength = exports.keyPair = exports.keyPairFromSeed = exports.randomBytes = exports.genericHash = void 0;
|
|
7
7
|
const tweetnacl_1 = __importDefault(require("tweetnacl"));
|
|
8
8
|
const js_sha512_1 = __importDefault(require("js-sha512"));
|
|
9
|
-
const
|
|
9
|
+
const utils_js_1 = require("../utils/utils.js");
|
|
10
10
|
function genericHash(arr) {
|
|
11
11
|
return js_sha512_1.default.sha512_256.array(arr);
|
|
12
12
|
}
|
|
13
13
|
exports.genericHash = genericHash;
|
|
14
14
|
function randomBytes(length) {
|
|
15
|
-
if ((0,
|
|
15
|
+
if ((0, utils_js_1.isReactNative)()) {
|
|
16
16
|
console.warn(`It looks like you're running in react-native. In order to perform common crypto operations you will need to polyfill common operations such as crypto.getRandomValues`);
|
|
17
17
|
}
|
|
18
18
|
return tweetnacl_1.default.randomBytes(length);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naclWrappers.js","sourceRoot":"","sources":["../../../src/nacl/naclWrappers.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA6B;AAC7B,0DAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"naclWrappers.js","sourceRoot":"","sources":["../../../src/nacl/naclWrappers.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA6B;AAC7B,0DAA+B;AAC/B,gDAAkD;AAElD,SAAgB,WAAW,CAAC,GAAmB;IAC7C,OAAO,mBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC;AAFD,kCAEC;AAED,SAAgB,WAAW,CAAC,MAAc;IACxC,IAAI,IAAA,wBAAa,GAAE,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CACV,uKAAuK,CACxK,CAAC;IACJ,CAAC;IACD,OAAO,mBAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAPD,kCAOC;AAED,SAAgB,eAAe,CAAC,IAAgB;IAC9C,OAAO,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AAFD,0CAEC;AAED,SAAgB,OAAO;IACrB,MAAM,IAAI,GAAG,WAAW,CAAC,mBAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACnD,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAHD,0BAGC;AAED,SAAgB,sBAAsB,CAAC,GAAW;IAChD,OAAO,GAAG,KAAK,mBAAI,CAAC,IAAI,CAAC,eAAe,CAAC;AAC3C,CAAC;AAFD,wDAEC;AAED,SAAgB,oBAAoB,CAAC,EAAc;IACjD,OAAO,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AAC7C,CAAC;AAFD,oDAEC;AAED,SAAgB,IAAI,CAAC,GAAe,EAAE,SAAqB;IACzD,OAAO,mBAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC;AAFD,oBAEC;AAED,SAAgB,UAAU,CAAC,CAAa,EAAE,CAAa;IACrD,OAAO,mBAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3B,CAAC;AAFD,gCAEC;AAED,SAAgB,MAAM,CACpB,OAAmB,EACnB,SAAqB,EACrB,SAAqB;IAErB,OAAO,mBAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAClE,CAAC;AAND,wBAMC;AAED,YAAY;AACC,QAAA,iBAAiB,GAAG,mBAAI,CAAC,IAAI,CAAC,eAAe,CAAC;AAC9C,QAAA,iBAAiB,GAAG,mBAAI,CAAC,IAAI,CAAC,eAAe,CAAC;AAC9C,QAAA,iBAAiB,GAAG,EAAE,CAAC;AACvB,QAAA,iBAAiB,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.encodeUnsignedSimulateTransaction = exports.decodeSignedTransaction = exports.SignedTransaction = void 0;
|
|
4
|
+
const encoding_js_1 = require("./encoding/encoding.js");
|
|
5
|
+
const transaction_js_1 = require("./transaction.js");
|
|
6
|
+
const logicsig_js_1 = require("./logicsig.js");
|
|
7
|
+
const index_js_1 = require("./types/transactions/index.js");
|
|
8
|
+
const index_js_2 = require("./encoding/schema/index.js");
|
|
9
|
+
class SignedTransaction {
|
|
10
|
+
constructor({ txn, sig, msig, lsig, sgnr, }) {
|
|
11
|
+
this.txn = txn;
|
|
12
|
+
this.sig = sig;
|
|
13
|
+
this.msig = msig;
|
|
14
|
+
this.lsig = lsig;
|
|
15
|
+
this.sgnr = sgnr;
|
|
16
|
+
let numberOfSigs = 0;
|
|
17
|
+
if (sig)
|
|
18
|
+
numberOfSigs += 1;
|
|
19
|
+
if (msig)
|
|
20
|
+
numberOfSigs += 1;
|
|
21
|
+
if (lsig)
|
|
22
|
+
numberOfSigs += 1;
|
|
23
|
+
if (numberOfSigs > 1) {
|
|
24
|
+
throw new Error(`SignedTransaction must not have more than 1 signature. Got ${numberOfSigs}`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
// eslint-disable-next-line class-methods-use-this
|
|
28
|
+
getEncodingSchema() {
|
|
29
|
+
return SignedTransaction.encodingSchema;
|
|
30
|
+
}
|
|
31
|
+
toEncodingData() {
|
|
32
|
+
return new Map([
|
|
33
|
+
['txn', this.txn.toEncodingData()],
|
|
34
|
+
['sig', this.sig],
|
|
35
|
+
[
|
|
36
|
+
'msig',
|
|
37
|
+
this.msig ? (0, index_js_1.encodedMultiSigToEncodingData)(this.msig) : undefined,
|
|
38
|
+
],
|
|
39
|
+
['lsig', this.lsig ? this.lsig.toEncodingData() : undefined],
|
|
40
|
+
['sgnr', this.sgnr],
|
|
41
|
+
]);
|
|
42
|
+
}
|
|
43
|
+
static fromEncodingData(data) {
|
|
44
|
+
if (!(data instanceof Map)) {
|
|
45
|
+
throw new Error(`Invalid decoded SignedTransaction: ${data}`);
|
|
46
|
+
}
|
|
47
|
+
return new SignedTransaction({
|
|
48
|
+
txn: transaction_js_1.Transaction.fromEncodingData(data.get('txn')),
|
|
49
|
+
sig: data.get('sig'),
|
|
50
|
+
msig: data.get('msig')
|
|
51
|
+
? (0, index_js_1.encodedMultiSigFromEncodingData)(data.get('msig'))
|
|
52
|
+
: undefined,
|
|
53
|
+
lsig: data.get('lsig')
|
|
54
|
+
? logicsig_js_1.LogicSig.fromEncodingData(data.get('lsig'))
|
|
55
|
+
: undefined,
|
|
56
|
+
sgnr: data.get('sgnr'),
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.SignedTransaction = SignedTransaction;
|
|
61
|
+
SignedTransaction.encodingSchema = new index_js_2.NamedMapSchema((0, index_js_2.allOmitEmpty)([
|
|
62
|
+
{
|
|
63
|
+
key: 'txn',
|
|
64
|
+
valueSchema: transaction_js_1.Transaction.encodingSchema,
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
key: 'sig',
|
|
68
|
+
valueSchema: new index_js_2.OptionalSchema(new index_js_2.FixedLengthByteArraySchema(64)),
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
key: 'msig',
|
|
72
|
+
valueSchema: new index_js_2.OptionalSchema(index_js_1.ENCODED_MULTISIG_SCHEMA),
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
key: 'lsig',
|
|
76
|
+
valueSchema: new index_js_2.OptionalSchema(logicsig_js_1.LogicSig.encodingSchema),
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
key: 'sgnr',
|
|
80
|
+
valueSchema: new index_js_2.OptionalSchema(new index_js_2.AddressSchema()),
|
|
81
|
+
},
|
|
82
|
+
]));
|
|
83
|
+
/**
|
|
84
|
+
* decodeSignedTransaction takes a Uint8Array (from transaction.signTxn) and converts it to an object
|
|
85
|
+
* containing the Transaction (txn), the signature (sig), and the auth-addr field if applicable (sgnr)
|
|
86
|
+
* @param transactionBuffer - the Uint8Array containing a transaction
|
|
87
|
+
* @returns containing a Transaction, the signature, and possibly an auth-addr field
|
|
88
|
+
*/
|
|
89
|
+
function decodeSignedTransaction(transactionBuffer) {
|
|
90
|
+
return (0, encoding_js_1.decodeMsgpack)(transactionBuffer, SignedTransaction);
|
|
91
|
+
}
|
|
92
|
+
exports.decodeSignedTransaction = decodeSignedTransaction;
|
|
93
|
+
/**
|
|
94
|
+
* encodeUnsignedSimulateTransaction takes a txnBuilder.Transaction object,
|
|
95
|
+
* converts it into a SignedTransaction-like object, and converts it to a Buffer.
|
|
96
|
+
*
|
|
97
|
+
* Note: this function should only be used to simulate unsigned transactions.
|
|
98
|
+
*
|
|
99
|
+
* @param txn - Transaction object to simulate.
|
|
100
|
+
*/
|
|
101
|
+
function encodeUnsignedSimulateTransaction(txn) {
|
|
102
|
+
const stxn = new SignedTransaction({ txn });
|
|
103
|
+
return (0, encoding_js_1.encodeMsgpack)(stxn);
|
|
104
|
+
}
|
|
105
|
+
exports.encodeUnsignedSimulateTransaction = encodeUnsignedSimulateTransaction;
|
|
106
|
+
//# sourceMappingURL=signedTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signedTransaction.js","sourceRoot":"","sources":["../../src/signedTransaction.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/signer.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isTransactionWithSigner = exports.makeEmptyTransactionSigner = exports.makeMultiSigAccountTransactionSigner = exports.makeLogicSigAccountTransactionSigner = exports.makeBasicAccountTransactionSigner = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
4
|
+
const signedTransaction_js_1 = require("./signedTransaction.js");
|
|
5
|
+
const signing_js_1 = require("./signing.js");
|
|
6
|
+
const multisigSigning_js_1 = require("./multisigSigning.js");
|
|
7
7
|
/**
|
|
8
8
|
* Create a TransactionSigner that can sign transactions for the provided basic Account.
|
|
9
9
|
*/
|
|
@@ -24,7 +24,7 @@ function makeLogicSigAccountTransactionSigner(account) {
|
|
|
24
24
|
return (txnGroup, indexesToSign) => {
|
|
25
25
|
const signed = [];
|
|
26
26
|
for (const index of indexesToSign) {
|
|
27
|
-
const { blob } = (0,
|
|
27
|
+
const { blob } = (0, signing_js_1.signLogicSigTransactionObject)(txnGroup[index], account);
|
|
28
28
|
signed.push(blob);
|
|
29
29
|
}
|
|
30
30
|
return Promise.resolve(signed);
|
|
@@ -43,11 +43,11 @@ function makeMultiSigAccountTransactionSigner(msig, sks) {
|
|
|
43
43
|
const txn = txnGroup[index];
|
|
44
44
|
const partialSigs = [];
|
|
45
45
|
for (const sk of sks) {
|
|
46
|
-
const { blob } = (0,
|
|
46
|
+
const { blob } = (0, multisigSigning_js_1.signMultisigTransaction)(txn, msig, sk);
|
|
47
47
|
partialSigs.push(blob);
|
|
48
48
|
}
|
|
49
49
|
if (partialSigs.length > 1) {
|
|
50
|
-
signed.push((0,
|
|
50
|
+
signed.push((0, multisigSigning_js_1.mergeMultisigTransactions)(partialSigs));
|
|
51
51
|
}
|
|
52
52
|
else {
|
|
53
53
|
signed.push(partialSigs[0]);
|
|
@@ -66,7 +66,7 @@ function makeEmptyTransactionSigner() {
|
|
|
66
66
|
return (txnGroup, indexesToSign) => {
|
|
67
67
|
const unsigned = [];
|
|
68
68
|
for (const index of indexesToSign) {
|
|
69
|
-
unsigned.push((0,
|
|
69
|
+
unsigned.push((0, signedTransaction_js_1.encodeUnsignedSimulateTransaction)(txnGroup[index]));
|
|
70
70
|
}
|
|
71
71
|
return Promise.resolve(unsigned);
|
|
72
72
|
};
|
package/dist/cjs/signer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.signLogicSigTransaction = exports.signLogicSigTransactionObject = void 0;
|
|
27
|
+
const nacl = __importStar(require("./nacl/naclWrappers.js"));
|
|
28
|
+
const address_js_1 = require("./encoding/address.js");
|
|
29
|
+
const encoding = __importStar(require("./encoding/encoding.js"));
|
|
30
|
+
const signedTransaction_js_1 = require("./signedTransaction.js");
|
|
31
|
+
const logicsig_js_1 = require("./logicsig.js");
|
|
32
|
+
const multisig_js_1 = require("./multisig.js");
|
|
33
|
+
function signLogicSigTransactionWithAddress(txn, lsig, lsigAddress) {
|
|
34
|
+
if (!lsig.verify(lsigAddress.publicKey)) {
|
|
35
|
+
throw new Error('Logic signature verification failed. Ensure the program and signature are valid.');
|
|
36
|
+
}
|
|
37
|
+
let sgnr;
|
|
38
|
+
if (!nacl.bytesEqual(lsigAddress.publicKey, txn.sender.publicKey)) {
|
|
39
|
+
sgnr = lsigAddress;
|
|
40
|
+
}
|
|
41
|
+
const signedTxn = new signedTransaction_js_1.SignedTransaction({
|
|
42
|
+
lsig,
|
|
43
|
+
txn,
|
|
44
|
+
sgnr,
|
|
45
|
+
});
|
|
46
|
+
return {
|
|
47
|
+
txID: txn.txID(),
|
|
48
|
+
blob: encoding.encodeMsgpack(signedTxn),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* signLogicSigTransactionObject takes a transaction and a LogicSig object and
|
|
53
|
+
* returns a signed transaction.
|
|
54
|
+
*
|
|
55
|
+
* @param txn - The transaction to sign.
|
|
56
|
+
* @param lsigObject - The LogicSig object that will sign the transaction.
|
|
57
|
+
*
|
|
58
|
+
* @returns Object containing txID and blob representing signed transaction.
|
|
59
|
+
*/
|
|
60
|
+
function signLogicSigTransactionObject(txn, lsigObject) {
|
|
61
|
+
let lsig;
|
|
62
|
+
let lsigAddress;
|
|
63
|
+
if (lsigObject instanceof logicsig_js_1.LogicSigAccount) {
|
|
64
|
+
lsig = lsigObject.lsig;
|
|
65
|
+
lsigAddress = lsigObject.address();
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
lsig = lsigObject;
|
|
69
|
+
if (lsig.sig) {
|
|
70
|
+
// For a LogicSig with a non-multisig delegating account, we cannot derive
|
|
71
|
+
// the address of that account from only its signature, so assume the
|
|
72
|
+
// delegating account is the sender. If that's not the case, the signing
|
|
73
|
+
// will fail.
|
|
74
|
+
lsigAddress = new address_js_1.Address(txn.sender.publicKey);
|
|
75
|
+
}
|
|
76
|
+
else if (lsig.msig) {
|
|
77
|
+
const msigMetadata = {
|
|
78
|
+
version: lsig.msig.v,
|
|
79
|
+
threshold: lsig.msig.thr,
|
|
80
|
+
pks: lsig.msig.subsig.map((subsig) => subsig.pk),
|
|
81
|
+
};
|
|
82
|
+
lsigAddress = (0, multisig_js_1.addressFromMultisigPreImg)(msigMetadata);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
lsigAddress = lsig.address();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return signLogicSigTransactionWithAddress(txn, lsig, lsigAddress);
|
|
89
|
+
}
|
|
90
|
+
exports.signLogicSigTransactionObject = signLogicSigTransactionObject;
|
|
91
|
+
/**
|
|
92
|
+
* signLogicSigTransaction takes a transaction and a LogicSig object and returns
|
|
93
|
+
* a signed transaction.
|
|
94
|
+
*
|
|
95
|
+
* @param txn - The transaction to sign.
|
|
96
|
+
* @param lsigObject - The LogicSig object that will sign the transaction.
|
|
97
|
+
*
|
|
98
|
+
* @returns Object containing txID and blob representing signed transaction.
|
|
99
|
+
* @throws error on failure
|
|
100
|
+
*/
|
|
101
|
+
function signLogicSigTransaction(txn, lsigObject) {
|
|
102
|
+
return signLogicSigTransactionObject(txn, lsigObject);
|
|
103
|
+
}
|
|
104
|
+
exports.signLogicSigTransaction = signLogicSigTransaction;
|
|
105
|
+
//# sourceMappingURL=signing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signing.js","sourceRoot":"","sources":["../../src/signing.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAA+C;AAC/C,sDAAgD;AAChD,iEAAmD;AACnD,iEAA2D;AAE3D,+CAA0D;AAC1D,+CAA0D;AAE1D,SAAS,kCAAkC,CACzC,GAAgB,EAChB,IAAc,EACd,WAAoB;IAEpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;IACJ,CAAC;IAED,IAAI,IAAyB,CAAC;IAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAClE,IAAI,GAAG,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,wCAAiB,CAAC;QACtC,IAAI;QACJ,GAAG;QACH,IAAI;KACL,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE;QAChB,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC;KACxC,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,6BAA6B,CAC3C,GAAgB,EAChB,UAAsC;IAEtC,IAAI,IAAc,CAAC;IACnB,IAAI,WAAoB,CAAC;IAEzB,IAAI,UAAU,YAAY,6BAAe,EAAE,CAAC;QAC1C,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QACvB,WAAW,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,UAAU,CAAC;QAElB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,0EAA0E;YAC1E,qEAAqE;YACrE,wEAAwE;YACxE,aAAa;YACb,WAAW,GAAG,IAAI,oBAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,MAAM,YAAY,GAAG;gBACnB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;gBACxB,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;aACjD,CAAC;YACF,WAAW,GAAG,IAAA,uCAAyB,EAAC,YAAY,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,kCAAkC,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;AACpE,CAAC;AAhCD,sEAgCC;AAED;;;;;;;;;GASG;AACH,SAAgB,uBAAuB,CACrC,GAAgB,EAChB,UAAsC;IAEtC,OAAO,6BAA6B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AACxD,CAAC;AALD,0DAKC"}
|