algosdk 1.23.2 → 1.24.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 +4 -4
- package/dist/browser/algosdk.min.js +1 -1
- package/dist/browser/algosdk.min.js.map +1 -1
- package/dist/cjs/abi/abi_type.js +693 -0
- package/dist/cjs/abi/abi_type.js.map +1 -0
- package/dist/cjs/{src/abi → abi}/contract.js +0 -0
- package/dist/cjs/abi/contract.js.map +1 -0
- package/dist/cjs/{src/abi → abi}/index.js +0 -0
- package/dist/cjs/abi/index.js.map +1 -0
- package/dist/cjs/{src/abi → abi}/interface.js +0 -0
- package/dist/cjs/abi/interface.js.map +1 -0
- package/dist/cjs/{src/abi → abi}/method.js +0 -0
- package/dist/cjs/abi/method.js.map +1 -0
- package/dist/cjs/{src/abi → abi}/reference.js +0 -0
- package/dist/cjs/abi/reference.js.map +1 -0
- package/dist/cjs/{src/abi → abi}/transaction.js +0 -0
- package/dist/cjs/abi/transaction.js.map +1 -0
- package/dist/cjs/{src/account.js → account.js} +0 -0
- package/dist/cjs/account.js.map +1 -0
- package/dist/cjs/{src/bid.js → bid.js} +0 -0
- package/dist/cjs/bid.js.map +1 -0
- package/dist/cjs/{src/boxStorage.js → boxStorage.js} +0 -0
- package/dist/cjs/boxStorage.js.map +1 -0
- package/dist/cjs/{src/client → client}/algod.js +0 -0
- package/dist/cjs/client/algod.js.map +1 -0
- package/dist/cjs/{src/client → client}/baseHTTPClient.js +0 -0
- package/dist/cjs/client/baseHTTPClient.js.map +1 -0
- package/dist/cjs/{src/client → client}/client.js +0 -0
- package/dist/cjs/client/client.js.map +1 -0
- package/dist/cjs/{src/client → client}/kmd.js +0 -0
- package/dist/cjs/client/kmd.js.map +1 -0
- package/dist/cjs/{src/client → client}/urlTokenBaseHTTPClient.js +0 -0
- package/dist/cjs/client/urlTokenBaseHTTPClient.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/accountApplicationInformation.js +0 -0
- package/dist/cjs/client/v2/algod/accountApplicationInformation.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/accountAssetInformation.js +0 -0
- package/dist/cjs/client/v2/algod/accountAssetInformation.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/accountInformation.js +0 -0
- package/dist/cjs/client/v2/algod/accountInformation.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/algod.js +0 -0
- package/dist/cjs/client/v2/algod/algod.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/block.js +0 -0
- package/dist/cjs/client/v2/algod/block.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/compile.js +0 -0
- package/dist/cjs/client/v2/algod/compile.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/dryrun.js +0 -0
- package/dist/cjs/client/v2/algod/dryrun.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/genesis.js +0 -0
- package/dist/cjs/client/v2/algod/genesis.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/getApplicationBoxByName.js +0 -0
- package/dist/cjs/client/v2/algod/getApplicationBoxByName.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/getApplicationBoxes.js +0 -0
- package/dist/cjs/client/v2/algod/getApplicationBoxes.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/getApplicationByID.js +0 -0
- package/dist/cjs/client/v2/algod/getApplicationByID.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/getAssetByID.js +0 -0
- package/dist/cjs/client/v2/algod/getAssetByID.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/getBlockHash.js +0 -0
- package/dist/cjs/client/v2/algod/getBlockHash.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/getTransactionProof.js +0 -0
- package/dist/cjs/client/v2/algod/getTransactionProof.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/healthCheck.js +0 -0
- package/dist/cjs/client/v2/algod/healthCheck.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/lightBlockHeaderProof.js +0 -0
- package/dist/cjs/client/v2/algod/lightBlockHeaderProof.js.map +1 -0
- package/dist/cjs/client/v2/algod/models/types.js +2047 -0
- package/dist/cjs/client/v2/algod/models/types.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/pendingTransactionInformation.js +0 -0
- package/dist/cjs/client/v2/algod/pendingTransactionInformation.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/pendingTransactions.js +0 -0
- package/dist/cjs/client/v2/algod/pendingTransactions.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/pendingTransactionsByAddress.js +0 -0
- package/dist/cjs/client/v2/algod/pendingTransactionsByAddress.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/sendRawTransaction.js +0 -0
- package/dist/cjs/client/v2/algod/sendRawTransaction.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/stateproof.js +0 -0
- package/dist/cjs/client/v2/algod/stateproof.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/status.js +0 -0
- package/dist/cjs/client/v2/algod/status.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/statusAfterBlock.js +0 -0
- package/dist/cjs/client/v2/algod/statusAfterBlock.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/suggestedParams.js +0 -0
- package/dist/cjs/client/v2/algod/suggestedParams.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/supply.js +0 -0
- package/dist/cjs/client/v2/algod/supply.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/algod/versions.js +0 -0
- package/dist/cjs/client/v2/algod/versions.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/basemodel.js +0 -0
- package/dist/cjs/client/v2/basemodel.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/indexer/indexer.js +0 -0
- package/dist/cjs/client/v2/indexer/indexer.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/indexer/lookupAccountAppLocalStates.js +0 -0
- package/dist/cjs/client/v2/indexer/lookupAccountAppLocalStates.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/indexer/lookupAccountAssets.js +0 -0
- package/dist/cjs/client/v2/indexer/lookupAccountAssets.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/indexer/lookupAccountByID.js +0 -0
- package/dist/cjs/client/v2/indexer/lookupAccountByID.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/indexer/lookupAccountCreatedApplications.js +0 -0
- package/dist/cjs/client/v2/indexer/lookupAccountCreatedApplications.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/indexer/lookupAccountCreatedAssets.js +0 -0
- package/dist/cjs/client/v2/indexer/lookupAccountCreatedAssets.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/indexer/lookupAccountTransactions.js +0 -0
- package/dist/cjs/client/v2/indexer/lookupAccountTransactions.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/indexer/lookupApplicationBoxByIDandName.js +0 -0
- package/dist/cjs/client/v2/indexer/lookupApplicationBoxByIDandName.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/indexer/lookupApplicationLogs.js +0 -0
- package/dist/cjs/client/v2/indexer/lookupApplicationLogs.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/indexer/lookupApplications.js +0 -0
- package/dist/cjs/client/v2/indexer/lookupApplications.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/indexer/lookupAssetBalances.js +0 -0
- package/dist/cjs/client/v2/indexer/lookupAssetBalances.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/indexer/lookupAssetByID.js +0 -0
- package/dist/cjs/client/v2/indexer/lookupAssetByID.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/indexer/lookupAssetTransactions.js +0 -0
- package/dist/cjs/client/v2/indexer/lookupAssetTransactions.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/indexer/lookupBlock.js +0 -0
- package/dist/cjs/client/v2/indexer/lookupBlock.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/indexer/lookupTransactionByID.js +0 -0
- package/dist/cjs/client/v2/indexer/lookupTransactionByID.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/indexer/makeHealthCheck.js +0 -0
- package/dist/cjs/client/v2/indexer/makeHealthCheck.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/indexer/models/types.js +0 -0
- package/dist/cjs/client/v2/indexer/models/types.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/indexer/searchAccounts.js +0 -0
- package/dist/cjs/client/v2/indexer/searchAccounts.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/indexer/searchForApplicationBoxes.js +0 -0
- package/dist/cjs/client/v2/indexer/searchForApplicationBoxes.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/indexer/searchForApplications.js +0 -0
- package/dist/cjs/client/v2/indexer/searchForApplications.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/indexer/searchForAssets.js +0 -0
- package/dist/cjs/client/v2/indexer/searchForAssets.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/indexer/searchForTransactions.js +0 -0
- package/dist/cjs/client/v2/indexer/searchForTransactions.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/jsonrequest.js +0 -0
- package/dist/cjs/client/v2/jsonrequest.js.map +1 -0
- package/dist/cjs/{src/client → client}/v2/serviceClient.js +0 -0
- package/dist/cjs/client/v2/serviceClient.js.map +1 -0
- package/dist/cjs/{src/composer.js → composer.js} +0 -0
- package/dist/cjs/composer.js.map +1 -0
- package/dist/cjs/{src/convert.js → convert.js} +0 -0
- package/dist/cjs/convert.js.map +1 -0
- package/dist/cjs/{src/dryrun.js → dryrun.js} +0 -0
- package/dist/cjs/dryrun.js.map +1 -0
- package/dist/cjs/{src/encoding → encoding}/address.js +0 -0
- package/dist/cjs/encoding/address.js.map +1 -0
- package/dist/cjs/{src/encoding → encoding}/bigint.js +0 -0
- package/dist/cjs/encoding/bigint.js.map +1 -0
- package/dist/cjs/{src/encoding → encoding}/encoding.js +0 -0
- package/dist/cjs/encoding/encoding.js.map +1 -0
- package/dist/cjs/{src/encoding → encoding}/uint64.js +0 -0
- package/dist/cjs/encoding/uint64.js.map +1 -0
- package/dist/cjs/{src/group.js → group.js} +0 -0
- package/dist/cjs/group.js.map +1 -0
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/{src/logic → logic}/langspec.json +0 -0
- package/dist/cjs/{src/logic → logic}/logic.js +0 -0
- package/dist/cjs/logic/logic.js.map +1 -0
- package/dist/cjs/{src/logic → logic}/sourcemap.js +0 -0
- package/dist/cjs/logic/sourcemap.js.map +1 -0
- package/dist/cjs/{src/logicTemplates → logicTemplates}/dynamicfee.js +0 -0
- package/dist/cjs/logicTemplates/dynamicfee.js.map +1 -0
- package/dist/cjs/{src/logicTemplates → logicTemplates}/htlc.js +0 -0
- package/dist/cjs/logicTemplates/htlc.js.map +1 -0
- package/dist/cjs/{src/logicTemplates → logicTemplates}/index.js +0 -0
- package/dist/cjs/logicTemplates/index.js.map +1 -0
- package/dist/cjs/{src/logicTemplates → logicTemplates}/limitorder.js +0 -0
- package/dist/cjs/logicTemplates/limitorder.js.map +1 -0
- package/dist/cjs/{src/logicTemplates → logicTemplates}/periodicpayment.js +0 -0
- package/dist/cjs/logicTemplates/periodicpayment.js.map +1 -0
- package/dist/cjs/{src/logicTemplates → logicTemplates}/split.js +0 -0
- package/dist/cjs/logicTemplates/split.js.map +1 -0
- package/dist/cjs/{src/logicTemplates → logicTemplates}/templates.js +0 -0
- package/dist/cjs/logicTemplates/templates.js.map +1 -0
- package/dist/cjs/{src/logicsig.js → logicsig.js} +0 -0
- package/dist/cjs/logicsig.js.map +1 -0
- package/dist/cjs/{src/main.js → main.js} +0 -0
- package/dist/cjs/main.js.map +1 -0
- package/dist/cjs/{src/makeTxn.js → makeTxn.js} +0 -0
- package/dist/cjs/makeTxn.js.map +1 -0
- package/dist/cjs/{src/mnemonic → mnemonic}/mnemonic.js +0 -0
- package/dist/cjs/mnemonic/mnemonic.js.map +1 -0
- package/dist/cjs/{src/mnemonic → mnemonic}/wordlists/english.js +0 -0
- package/dist/cjs/mnemonic/wordlists/english.js.map +1 -0
- package/dist/cjs/multisig.js +398 -0
- package/dist/cjs/multisig.js.map +1 -0
- package/dist/cjs/{src/nacl → nacl}/naclWrappers.js +0 -0
- package/dist/cjs/nacl/naclWrappers.js.map +1 -0
- package/dist/cjs/{src/signer.js → signer.js} +0 -0
- package/dist/cjs/signer.js.map +1 -0
- package/dist/cjs/{src/transaction.js → transaction.js} +0 -0
- package/dist/cjs/transaction.js.map +1 -0
- package/dist/cjs/{src/types → types}/account.js +0 -0
- package/dist/cjs/types/account.js.map +1 -0
- package/dist/cjs/{src/types → types}/address.js +0 -0
- package/dist/cjs/types/address.js.map +1 -0
- package/dist/cjs/{src/types → types}/blockHeader.js +0 -0
- package/dist/cjs/types/blockHeader.js.map +1 -0
- package/dist/cjs/{src/types → types}/index.js +0 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/{src/types → types}/intDecoding.js +0 -0
- package/dist/cjs/types/intDecoding.js.map +1 -0
- package/dist/cjs/{src/types → types}/multisig.js +0 -0
- package/dist/cjs/types/multisig.js.map +1 -0
- package/dist/cjs/{src/types → types}/transactions/application.js +0 -0
- package/dist/cjs/types/transactions/application.js.map +1 -0
- package/dist/cjs/{src/types → types}/transactions/asset.js +0 -0
- package/dist/cjs/types/transactions/asset.js.map +1 -0
- package/dist/cjs/{src/types → types}/transactions/base.js +0 -0
- package/dist/cjs/types/transactions/base.js.map +1 -0
- package/dist/cjs/{src/types → types}/transactions/builder.js +0 -0
- package/dist/cjs/types/transactions/builder.js.map +1 -0
- package/dist/cjs/{src/types → types}/transactions/encoded.js +0 -0
- package/dist/cjs/types/transactions/encoded.js.map +1 -0
- package/dist/cjs/{src/types → types}/transactions/index.js +0 -0
- package/dist/cjs/types/transactions/index.js.map +1 -0
- package/dist/cjs/{src/types → types}/transactions/keyreg.js +0 -0
- package/dist/cjs/types/transactions/keyreg.js.map +1 -0
- package/dist/cjs/{src/types → types}/transactions/payment.js +0 -0
- package/dist/cjs/types/transactions/payment.js.map +1 -0
- package/dist/cjs/{src/types → types}/transactions/stateproof.js +0 -0
- package/dist/cjs/types/transactions/stateproof.js.map +1 -0
- package/dist/cjs/{src/types → types}/utils.js +0 -0
- package/dist/cjs/types/utils.js.map +1 -0
- package/dist/cjs/{src/utils → utils}/utils.js +0 -0
- package/dist/cjs/utils/utils.js.map +1 -0
- package/dist/cjs/{src/wait.js → wait.js} +0 -0
- package/dist/cjs/wait.js.map +1 -0
- package/dist/esm/abi/abi_type.js +680 -0
- package/dist/esm/abi/abi_type.js.map +1 -0
- package/dist/esm/{src/abi → abi}/contract.js +0 -0
- package/dist/esm/abi/contract.js.map +1 -0
- package/dist/esm/{src/abi → abi}/index.js +0 -0
- package/dist/esm/abi/index.js.map +1 -0
- package/dist/esm/{src/abi → abi}/interface.js +0 -0
- package/dist/esm/abi/interface.js.map +1 -0
- package/dist/esm/{src/abi → abi}/method.js +0 -0
- package/dist/esm/abi/method.js.map +1 -0
- package/dist/esm/{src/abi → abi}/reference.js +0 -0
- package/dist/esm/abi/reference.js.map +1 -0
- package/dist/esm/{src/abi → abi}/transaction.js +0 -0
- package/dist/esm/abi/transaction.js.map +1 -0
- package/dist/esm/{src/account.js → account.js} +0 -0
- package/dist/esm/account.js.map +1 -0
- package/dist/esm/{src/bid.js → bid.js} +0 -0
- package/dist/esm/bid.js.map +1 -0
- package/dist/esm/{src/boxStorage.js → boxStorage.js} +0 -0
- package/dist/esm/boxStorage.js.map +1 -0
- package/dist/esm/{src/client → client}/algod.js +0 -0
- package/dist/esm/client/algod.js.map +1 -0
- package/dist/esm/{src/client → client}/baseHTTPClient.js +0 -0
- package/dist/esm/client/baseHTTPClient.js.map +1 -0
- package/dist/esm/{src/client → client}/client.js +0 -0
- package/dist/esm/client/client.js.map +1 -0
- package/dist/esm/{src/client → client}/kmd.js +0 -0
- package/dist/esm/client/kmd.js.map +1 -0
- package/dist/esm/{src/client → client}/urlTokenBaseHTTPClient.js +0 -0
- package/dist/esm/client/urlTokenBaseHTTPClient.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/accountApplicationInformation.js +0 -0
- package/dist/esm/client/v2/algod/accountApplicationInformation.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/accountAssetInformation.js +0 -0
- package/dist/esm/client/v2/algod/accountAssetInformation.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/accountInformation.js +0 -0
- package/dist/esm/client/v2/algod/accountInformation.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/algod.js +0 -0
- package/dist/esm/client/v2/algod/algod.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/block.js +0 -0
- package/dist/esm/client/v2/algod/block.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/compile.js +0 -0
- package/dist/esm/client/v2/algod/compile.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/dryrun.js +0 -0
- package/dist/esm/client/v2/algod/dryrun.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/genesis.js +0 -0
- package/dist/esm/client/v2/algod/genesis.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/getApplicationBoxByName.js +0 -0
- package/dist/esm/client/v2/algod/getApplicationBoxByName.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/getApplicationBoxes.js +0 -0
- package/dist/esm/client/v2/algod/getApplicationBoxes.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/getApplicationByID.js +0 -0
- package/dist/esm/client/v2/algod/getApplicationByID.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/getAssetByID.js +0 -0
- package/dist/esm/client/v2/algod/getAssetByID.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/getBlockHash.js +0 -0
- package/dist/esm/client/v2/algod/getBlockHash.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/getTransactionProof.js +0 -0
- package/dist/esm/client/v2/algod/getTransactionProof.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/healthCheck.js +0 -0
- package/dist/esm/client/v2/algod/healthCheck.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/lightBlockHeaderProof.js +0 -0
- package/dist/esm/client/v2/algod/lightBlockHeaderProof.js.map +1 -0
- package/dist/esm/client/v2/algod/models/types.js +1998 -0
- package/dist/esm/client/v2/algod/models/types.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/pendingTransactionInformation.js +0 -0
- package/dist/esm/client/v2/algod/pendingTransactionInformation.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/pendingTransactions.js +0 -0
- package/dist/esm/client/v2/algod/pendingTransactions.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/pendingTransactionsByAddress.js +0 -0
- package/dist/esm/client/v2/algod/pendingTransactionsByAddress.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/sendRawTransaction.js +0 -0
- package/dist/esm/client/v2/algod/sendRawTransaction.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/stateproof.js +0 -0
- package/dist/esm/client/v2/algod/stateproof.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/status.js +0 -0
- package/dist/esm/client/v2/algod/status.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/statusAfterBlock.js +0 -0
- package/dist/esm/client/v2/algod/statusAfterBlock.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/suggestedParams.js +0 -0
- package/dist/esm/client/v2/algod/suggestedParams.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/supply.js +0 -0
- package/dist/esm/client/v2/algod/supply.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/algod/versions.js +0 -0
- package/dist/esm/client/v2/algod/versions.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/basemodel.js +0 -0
- package/dist/esm/client/v2/basemodel.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/indexer/indexer.js +0 -0
- package/dist/esm/client/v2/indexer/indexer.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/indexer/lookupAccountAppLocalStates.js +0 -0
- package/dist/esm/client/v2/indexer/lookupAccountAppLocalStates.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/indexer/lookupAccountAssets.js +0 -0
- package/dist/esm/client/v2/indexer/lookupAccountAssets.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/indexer/lookupAccountByID.js +0 -0
- package/dist/esm/client/v2/indexer/lookupAccountByID.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/indexer/lookupAccountCreatedApplications.js +0 -0
- package/dist/esm/client/v2/indexer/lookupAccountCreatedApplications.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/indexer/lookupAccountCreatedAssets.js +0 -0
- package/dist/esm/client/v2/indexer/lookupAccountCreatedAssets.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/indexer/lookupAccountTransactions.js +0 -0
- package/dist/esm/client/v2/indexer/lookupAccountTransactions.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/indexer/lookupApplicationBoxByIDandName.js +0 -0
- package/dist/esm/client/v2/indexer/lookupApplicationBoxByIDandName.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/indexer/lookupApplicationLogs.js +0 -0
- package/dist/esm/client/v2/indexer/lookupApplicationLogs.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/indexer/lookupApplications.js +0 -0
- package/dist/esm/client/v2/indexer/lookupApplications.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/indexer/lookupAssetBalances.js +0 -0
- package/dist/esm/client/v2/indexer/lookupAssetBalances.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/indexer/lookupAssetByID.js +0 -0
- package/dist/esm/client/v2/indexer/lookupAssetByID.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/indexer/lookupAssetTransactions.js +0 -0
- package/dist/esm/client/v2/indexer/lookupAssetTransactions.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/indexer/lookupBlock.js +0 -0
- package/dist/esm/client/v2/indexer/lookupBlock.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/indexer/lookupTransactionByID.js +0 -0
- package/dist/esm/client/v2/indexer/lookupTransactionByID.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/indexer/makeHealthCheck.js +0 -0
- package/dist/esm/client/v2/indexer/makeHealthCheck.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/indexer/models/types.js +0 -0
- package/dist/esm/client/v2/indexer/models/types.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/indexer/searchAccounts.js +0 -0
- package/dist/esm/client/v2/indexer/searchAccounts.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/indexer/searchForApplicationBoxes.js +0 -0
- package/dist/esm/client/v2/indexer/searchForApplicationBoxes.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/indexer/searchForApplications.js +0 -0
- package/dist/esm/client/v2/indexer/searchForApplications.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/indexer/searchForAssets.js +0 -0
- package/dist/esm/client/v2/indexer/searchForAssets.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/indexer/searchForTransactions.js +0 -0
- package/dist/esm/client/v2/indexer/searchForTransactions.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/jsonrequest.js +0 -0
- package/dist/esm/client/v2/jsonrequest.js.map +1 -0
- package/dist/esm/{src/client → client}/v2/serviceClient.js +0 -0
- package/dist/esm/client/v2/serviceClient.js.map +1 -0
- package/dist/esm/{src/composer.js → composer.js} +0 -0
- package/dist/esm/composer.js.map +1 -0
- package/dist/esm/{src/convert.js → convert.js} +0 -0
- package/dist/esm/convert.js.map +1 -0
- package/dist/esm/{src/dryrun.js → dryrun.js} +0 -0
- package/dist/esm/dryrun.js.map +1 -0
- package/dist/esm/{src/encoding → encoding}/address.js +0 -0
- package/dist/esm/encoding/address.js.map +1 -0
- package/dist/esm/{src/encoding → encoding}/bigint.js +0 -0
- package/dist/esm/encoding/bigint.js.map +1 -0
- package/dist/esm/{src/encoding → encoding}/encoding.js +0 -0
- package/dist/esm/encoding/encoding.js.map +1 -0
- package/dist/esm/{src/encoding → encoding}/uint64.js +0 -0
- package/dist/esm/encoding/uint64.js.map +1 -0
- package/dist/esm/{src/group.js → group.js} +0 -0
- package/dist/esm/group.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{src/logic → logic}/langspec.json +0 -0
- package/dist/esm/{src/logic → logic}/logic.js +0 -0
- package/dist/esm/logic/logic.js.map +1 -0
- package/dist/esm/{src/logic → logic}/sourcemap.js +0 -0
- package/dist/esm/logic/sourcemap.js.map +1 -0
- package/dist/esm/{src/logicTemplates → logicTemplates}/dynamicfee.js +0 -0
- package/dist/esm/logicTemplates/dynamicfee.js.map +1 -0
- package/dist/esm/{src/logicTemplates → logicTemplates}/htlc.js +0 -0
- package/dist/esm/logicTemplates/htlc.js.map +1 -0
- package/dist/esm/{src/logicTemplates → logicTemplates}/index.js +0 -0
- package/dist/esm/logicTemplates/index.js.map +1 -0
- package/dist/esm/{src/logicTemplates → logicTemplates}/limitorder.js +0 -0
- package/dist/esm/logicTemplates/limitorder.js.map +1 -0
- package/dist/esm/{src/logicTemplates → logicTemplates}/periodicpayment.js +0 -0
- package/dist/esm/logicTemplates/periodicpayment.js.map +1 -0
- package/dist/esm/{src/logicTemplates → logicTemplates}/split.js +0 -0
- package/dist/esm/logicTemplates/split.js.map +1 -0
- package/dist/esm/{src/logicTemplates → logicTemplates}/templates.js +0 -0
- package/dist/esm/logicTemplates/templates.js.map +1 -0
- package/dist/esm/{src/logicsig.js → logicsig.js} +0 -0
- package/dist/esm/logicsig.js.map +1 -0
- package/dist/esm/{src/main.js → main.js} +0 -0
- package/dist/esm/main.js.map +1 -0
- package/dist/esm/{src/makeTxn.js → makeTxn.js} +0 -0
- package/dist/esm/makeTxn.js.map +1 -0
- package/dist/esm/{src/mnemonic → mnemonic}/mnemonic.js +0 -0
- package/dist/esm/mnemonic/mnemonic.js.map +1 -0
- package/dist/esm/{src/mnemonic → mnemonic}/wordlists/english.js +0 -0
- package/dist/esm/mnemonic/wordlists/english.js.map +1 -0
- package/dist/esm/multisig.js +364 -0
- package/dist/esm/multisig.js.map +1 -0
- package/dist/esm/{src/nacl → nacl}/naclWrappers.js +0 -0
- package/dist/esm/nacl/naclWrappers.js.map +1 -0
- package/dist/esm/{src/signer.js → signer.js} +0 -0
- package/dist/esm/signer.js.map +1 -0
- package/dist/esm/{src/transaction.js → transaction.js} +0 -0
- package/dist/esm/transaction.js.map +1 -0
- package/dist/esm/{src/types → types}/account.js +0 -0
- package/dist/esm/types/account.js.map +1 -0
- package/dist/esm/{src/types → types}/address.js +0 -0
- package/dist/esm/types/address.js.map +1 -0
- package/dist/esm/{src/types → types}/blockHeader.js +0 -0
- package/dist/esm/types/blockHeader.js.map +1 -0
- package/dist/esm/{src/types → types}/index.js +0 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/{src/types → types}/intDecoding.js +0 -0
- package/dist/esm/types/intDecoding.js.map +1 -0
- package/dist/esm/{src/types → types}/multisig.js +0 -0
- package/dist/esm/types/multisig.js.map +1 -0
- package/dist/esm/{src/types → types}/transactions/application.js +0 -0
- package/dist/esm/types/transactions/application.js.map +1 -0
- package/dist/esm/{src/types → types}/transactions/asset.js +0 -0
- package/dist/esm/types/transactions/asset.js.map +1 -0
- package/dist/esm/{src/types → types}/transactions/base.js +0 -0
- package/dist/esm/types/transactions/base.js.map +1 -0
- package/dist/esm/{src/types → types}/transactions/builder.js +0 -0
- package/dist/esm/types/transactions/builder.js.map +1 -0
- package/dist/esm/{src/types → types}/transactions/encoded.js +0 -0
- package/dist/esm/types/transactions/encoded.js.map +1 -0
- package/dist/esm/{src/types → types}/transactions/index.js +0 -0
- package/dist/esm/types/transactions/index.js.map +1 -0
- package/dist/esm/{src/types → types}/transactions/keyreg.js +0 -0
- package/dist/esm/types/transactions/keyreg.js.map +1 -0
- package/dist/esm/{src/types → types}/transactions/payment.js +0 -0
- package/dist/esm/types/transactions/payment.js.map +1 -0
- package/dist/esm/{src/types → types}/transactions/stateproof.js +0 -0
- package/dist/esm/types/transactions/stateproof.js.map +1 -0
- package/dist/esm/{src/types → types}/utils.js +0 -0
- package/dist/esm/types/utils.js.map +1 -0
- package/dist/esm/{src/utils → utils}/utils.js +0 -0
- package/dist/esm/utils/utils.js.map +1 -0
- package/dist/esm/{src/wait.js → wait.js} +0 -0
- package/dist/esm/wait.js.map +1 -0
- package/dist/types/{src/abi → abi}/abi_type.d.ts +0 -0
- package/dist/types/{src/abi → abi}/contract.d.ts +0 -0
- package/dist/types/{src/abi → abi}/index.d.ts +0 -0
- package/dist/types/{src/abi → abi}/interface.d.ts +0 -0
- package/dist/types/{src/abi → abi}/method.d.ts +0 -0
- package/dist/types/{src/abi → abi}/reference.d.ts +0 -0
- package/dist/types/{src/abi → abi}/transaction.d.ts +0 -0
- package/dist/types/{src/account.d.ts → account.d.ts} +0 -0
- package/dist/types/{src/bid.d.ts → bid.d.ts} +0 -0
- package/dist/types/{src/boxStorage.d.ts → boxStorage.d.ts} +0 -0
- package/dist/types/{src/client → client}/algod.d.ts +0 -0
- package/dist/types/{src/client → client}/baseHTTPClient.d.ts +0 -0
- package/dist/types/{src/client → client}/client.d.ts +0 -0
- package/dist/types/{src/client → client}/kmd.d.ts +0 -0
- package/dist/types/{src/client → client}/urlTokenBaseHTTPClient.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/accountApplicationInformation.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/accountAssetInformation.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/accountInformation.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/algod.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/block.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/compile.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/dryrun.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/genesis.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/getApplicationBoxByName.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/getApplicationBoxes.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/getApplicationByID.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/getAssetByID.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/getBlockHash.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/getTransactionProof.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/healthCheck.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/lightBlockHeaderProof.d.ts +0 -0
- package/dist/types/client/v2/algod/models/types.d.ts +1634 -0
- package/dist/types/{src/client → client}/v2/algod/pendingTransactionInformation.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/pendingTransactions.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/pendingTransactionsByAddress.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/sendRawTransaction.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/stateproof.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/status.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/statusAfterBlock.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/suggestedParams.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/supply.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/algod/versions.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/basemodel.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/indexer/indexer.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/indexer/lookupAccountAppLocalStates.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/indexer/lookupAccountAssets.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/indexer/lookupAccountByID.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/indexer/lookupAccountCreatedApplications.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/indexer/lookupAccountCreatedAssets.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/indexer/lookupAccountTransactions.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/indexer/lookupApplicationBoxByIDandName.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/indexer/lookupApplicationLogs.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/indexer/lookupApplications.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/indexer/lookupAssetBalances.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/indexer/lookupAssetByID.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/indexer/lookupAssetTransactions.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/indexer/lookupBlock.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/indexer/lookupTransactionByID.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/indexer/makeHealthCheck.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/indexer/models/types.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/indexer/searchAccounts.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/indexer/searchForApplicationBoxes.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/indexer/searchForApplications.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/indexer/searchForAssets.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/indexer/searchForTransactions.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/jsonrequest.d.ts +0 -0
- package/dist/types/{src/client → client}/v2/serviceClient.d.ts +0 -0
- package/dist/types/{src/composer.d.ts → composer.d.ts} +0 -0
- package/dist/types/{src/convert.d.ts → convert.d.ts} +0 -0
- package/dist/types/{src/dryrun.d.ts → dryrun.d.ts} +0 -0
- package/dist/types/{src/encoding → encoding}/address.d.ts +0 -0
- package/dist/types/{src/encoding → encoding}/bigint.d.ts +0 -0
- package/dist/types/{src/encoding → encoding}/encoding.d.ts +0 -0
- package/dist/types/{src/encoding → encoding}/uint64.d.ts +0 -0
- package/dist/types/{src/group.d.ts → group.d.ts} +0 -0
- package/dist/types/index.d.ts +2 -2
- package/dist/types/{src/logic → logic}/logic.d.ts +0 -0
- package/dist/types/{src/logic → logic}/sourcemap.d.ts +0 -0
- package/dist/types/{src/logicTemplates → logicTemplates}/dynamicfee.d.ts +0 -0
- package/dist/types/{src/logicTemplates → logicTemplates}/htlc.d.ts +0 -0
- package/dist/types/{src/logicTemplates → logicTemplates}/index.d.ts +0 -0
- package/dist/types/{src/logicTemplates → logicTemplates}/limitorder.d.ts +0 -0
- package/dist/types/{src/logicTemplates → logicTemplates}/periodicpayment.d.ts +0 -0
- package/dist/types/{src/logicTemplates → logicTemplates}/split.d.ts +0 -0
- package/dist/types/{src/logicTemplates → logicTemplates}/templates.d.ts +0 -0
- package/dist/types/{src/logicsig.d.ts → logicsig.d.ts} +0 -0
- package/dist/types/{src/main.d.ts → main.d.ts} +0 -0
- package/dist/types/{src/makeTxn.d.ts → makeTxn.d.ts} +0 -0
- package/dist/types/{src/mnemonic → mnemonic}/mnemonic.d.ts +0 -0
- package/dist/types/{src/mnemonic → mnemonic}/wordlists/english.d.ts +0 -0
- package/dist/types/multisig.d.ts +125 -0
- package/dist/types/{src/nacl → nacl}/naclWrappers.d.ts +0 -0
- package/dist/types/{src/signer.d.ts → signer.d.ts} +0 -0
- package/dist/types/{src/transaction.d.ts → transaction.d.ts} +0 -0
- package/dist/types/{src/types → types}/account.d.ts +0 -0
- package/dist/types/{src/types → types}/address.d.ts +0 -0
- package/dist/types/{src/types → types}/blockHeader.d.ts +0 -0
- package/dist/types/{src/types → types}/index.d.ts +0 -0
- package/dist/types/{src/types → types}/intDecoding.d.ts +0 -0
- package/dist/types/{src/types → types}/multisig.d.ts +0 -0
- package/dist/types/{src/types → types}/transactions/application.d.ts +0 -0
- package/dist/types/{src/types → types}/transactions/asset.d.ts +0 -0
- package/dist/types/{src/types → types}/transactions/base.d.ts +0 -0
- package/dist/types/{src/types → types}/transactions/builder.d.ts +0 -0
- package/dist/types/{src/types → types}/transactions/encoded.d.ts +0 -0
- package/dist/types/{src/types → types}/transactions/index.d.ts +0 -0
- package/dist/types/{src/types → types}/transactions/keyreg.d.ts +0 -0
- package/dist/types/{src/types → types}/transactions/payment.d.ts +0 -0
- package/dist/types/{src/types → types}/transactions/stateproof.d.ts +0 -0
- package/dist/types/{src/types → types}/utils.d.ts +0 -0
- package/dist/types/{src/utils → utils}/utils.d.ts +0 -0
- package/dist/types/{src/wait.d.ts → wait.d.ts} +0 -0
- package/package.json +10 -6
- package/src/abi/abi_type.ts +846 -0
- package/src/abi/contract.ts +51 -0
- package/src/abi/index.ts +6 -0
- package/src/abi/interface.ts +35 -0
- package/src/abi/method.ts +186 -0
- package/src/abi/reference.ts +24 -0
- package/src/abi/transaction.ts +61 -0
- package/src/account.ts +12 -0
- package/src/bid.ts +95 -0
- package/src/boxStorage.ts +42 -0
- package/src/client/algod.js +365 -0
- package/src/client/baseHTTPClient.ts +58 -0
- package/src/client/client.ts +306 -0
- package/src/client/kmd.ts +423 -0
- package/src/client/urlTokenBaseHTTPClient.ts +217 -0
- package/src/client/v2/algod/accountApplicationInformation.ts +20 -0
- package/src/client/v2/algod/accountAssetInformation.ts +20 -0
- package/src/client/v2/algod/accountInformation.ts +37 -0
- package/src/client/v2/algod/algod.ts +561 -0
- package/src/client/v2/algod/block.ts +30 -0
- package/src/client/v2/algod/compile.ts +50 -0
- package/src/client/v2/algod/dryrun.ts +33 -0
- package/src/client/v2/algod/genesis.ts +8 -0
- package/src/client/v2/algod/getApplicationBoxByName.ts +49 -0
- package/src/client/v2/algod/getApplicationBoxes.ts +61 -0
- package/src/client/v2/algod/getApplicationByID.ts +14 -0
- package/src/client/v2/algod/getAssetByID.ts +14 -0
- package/src/client/v2/algod/getBlockHash.ts +18 -0
- package/src/client/v2/algod/getTransactionProof.ts +43 -0
- package/src/client/v2/algod/healthCheck.ts +19 -0
- package/src/client/v2/algod/lightBlockHeaderProof.ts +15 -0
- package/src/client/v2/algod/models/types.ts +3662 -0
- package/src/client/v2/algod/pendingTransactionInformation.ts +32 -0
- package/src/client/v2/algod/pendingTransactions.ts +32 -0
- package/src/client/v2/algod/pendingTransactionsByAddress.ts +32 -0
- package/src/client/v2/algod/sendRawTransaction.ts +59 -0
- package/src/client/v2/algod/stateproof.ts +15 -0
- package/src/client/v2/algod/status.ts +8 -0
- package/src/client/v2/algod/statusAfterBlock.ts +15 -0
- package/src/client/v2/algod/suggestedParams.ts +24 -0
- package/src/client/v2/algod/supply.ts +8 -0
- package/src/client/v2/algod/versions.ts +11 -0
- package/src/client/v2/basemodel.ts +79 -0
- package/src/client/v2/indexer/indexer.ts +432 -0
- package/src/client/v2/indexer/lookupAccountAppLocalStates.ts +140 -0
- package/src/client/v2/indexer/lookupAccountAssets.ts +141 -0
- package/src/client/v2/indexer/lookupAccountByID.ts +109 -0
- package/src/client/v2/indexer/lookupAccountCreatedApplications.ts +141 -0
- package/src/client/v2/indexer/lookupAccountCreatedAssets.ts +142 -0
- package/src/client/v2/indexer/lookupAccountTransactions.ts +393 -0
- package/src/client/v2/indexer/lookupApplicationBoxByIDandName.ts +50 -0
- package/src/client/v2/indexer/lookupApplicationLogs.ts +156 -0
- package/src/client/v2/indexer/lookupApplications.ts +59 -0
- package/src/client/v2/indexer/lookupAssetBalances.ts +146 -0
- package/src/client/v2/indexer/lookupAssetByID.ts +58 -0
- package/src/client/v2/indexer/lookupAssetTransactions.ts +406 -0
- package/src/client/v2/indexer/lookupBlock.ts +39 -0
- package/src/client/v2/indexer/lookupTransactionByID.ts +30 -0
- package/src/client/v2/indexer/makeHealthCheck.ts +23 -0
- package/src/client/v2/indexer/models/types.ts +5667 -0
- package/src/client/v2/indexer/searchAccounts.ts +268 -0
- package/src/client/v2/indexer/searchForApplicationBoxes.ts +101 -0
- package/src/client/v2/indexer/searchForApplications.ts +134 -0
- package/src/client/v2/indexer/searchForAssets.ts +175 -0
- package/src/client/v2/indexer/searchForTransactions.ts +435 -0
- package/src/client/v2/jsonrequest.ts +103 -0
- package/src/client/v2/serviceClient.ts +86 -0
- package/src/composer.ts +688 -0
- package/src/convert.ts +25 -0
- package/src/dryrun.ts +468 -0
- package/src/encoding/address.ts +191 -0
- package/src/encoding/bigint.ts +33 -0
- package/src/encoding/encoding.ts +56 -0
- package/src/encoding/uint64.ts +84 -0
- package/src/group.ts +97 -0
- package/src/index.ts +4 -0
- package/src/logic/langspec.json +2014 -0
- package/src/logic/logic.ts +316 -0
- package/src/logic/sourcemap.ts +67 -0
- package/src/logicTemplates/dynamicfee.js +219 -0
- package/src/logicTemplates/htlc.js +165 -0
- package/src/logicTemplates/index.js +20 -0
- package/src/logicTemplates/limitorder.js +227 -0
- package/src/logicTemplates/periodicpayment.js +208 -0
- package/src/logicTemplates/split.js +208 -0
- package/src/logicTemplates/templates.js +78 -0
- package/src/logicsig.ts +523 -0
- package/src/main.ts +185 -0
- package/src/makeTxn.ts +1871 -0
- package/src/mnemonic/mnemonic.ts +181 -0
- package/src/mnemonic/wordlists/english.ts +2052 -0
- package/src/multisig.ts +495 -0
- package/src/nacl/naclWrappers.ts +49 -0
- package/src/signer.ts +105 -0
- package/src/transaction.ts +1363 -0
- package/src/types/account.ts +16 -0
- package/src/types/address.ts +7 -0
- package/src/types/blockHeader.ts +81 -0
- package/src/types/index.ts +3 -0
- package/src/types/intDecoding.ts +29 -0
- package/src/types/multisig.ts +22 -0
- package/src/types/transactions/application.ts +111 -0
- package/src/types/transactions/asset.ts +108 -0
- package/src/types/transactions/base.ts +428 -0
- package/src/types/transactions/builder.ts +69 -0
- package/src/types/transactions/encoded.ts +423 -0
- package/src/types/transactions/index.ts +72 -0
- package/src/types/transactions/keyreg.ts +23 -0
- package/src/types/transactions/payment.ts +14 -0
- package/src/types/transactions/stateproof.ts +17 -0
- package/src/types/utils.ts +63 -0
- package/src/utils/utils.ts +121 -0
- package/src/wait.ts +58 -0
- package/dist/cjs/src/abi/abi_type.js +0 -693
- package/dist/cjs/src/abi/abi_type.js.map +0 -1
- package/dist/cjs/src/abi/contract.js.map +0 -1
- package/dist/cjs/src/abi/index.js.map +0 -1
- package/dist/cjs/src/abi/interface.js.map +0 -1
- package/dist/cjs/src/abi/method.js.map +0 -1
- package/dist/cjs/src/abi/reference.js.map +0 -1
- package/dist/cjs/src/abi/transaction.js.map +0 -1
- package/dist/cjs/src/account.js.map +0 -1
- package/dist/cjs/src/bid.js.map +0 -1
- package/dist/cjs/src/boxStorage.js.map +0 -1
- package/dist/cjs/src/client/algod.js.map +0 -1
- package/dist/cjs/src/client/baseHTTPClient.js.map +0 -1
- package/dist/cjs/src/client/client.js.map +0 -1
- package/dist/cjs/src/client/kmd.js.map +0 -1
- package/dist/cjs/src/client/urlTokenBaseHTTPClient.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/accountApplicationInformation.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/accountAssetInformation.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/accountInformation.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/algod.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/block.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/compile.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/dryrun.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/genesis.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/getApplicationBoxByName.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/getApplicationBoxes.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/getApplicationByID.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/getAssetByID.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/getBlockHash.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/getTransactionProof.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/healthCheck.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/lightBlockHeaderProof.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/models/types.js +0 -2033
- package/dist/cjs/src/client/v2/algod/models/types.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/pendingTransactionInformation.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/pendingTransactions.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/pendingTransactionsByAddress.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/sendRawTransaction.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/stateproof.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/status.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/statusAfterBlock.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/suggestedParams.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/supply.js.map +0 -1
- package/dist/cjs/src/client/v2/algod/versions.js.map +0 -1
- package/dist/cjs/src/client/v2/basemodel.js.map +0 -1
- package/dist/cjs/src/client/v2/indexer/indexer.js.map +0 -1
- package/dist/cjs/src/client/v2/indexer/lookupAccountAppLocalStates.js.map +0 -1
- package/dist/cjs/src/client/v2/indexer/lookupAccountAssets.js.map +0 -1
- package/dist/cjs/src/client/v2/indexer/lookupAccountByID.js.map +0 -1
- package/dist/cjs/src/client/v2/indexer/lookupAccountCreatedApplications.js.map +0 -1
- package/dist/cjs/src/client/v2/indexer/lookupAccountCreatedAssets.js.map +0 -1
- package/dist/cjs/src/client/v2/indexer/lookupAccountTransactions.js.map +0 -1
- package/dist/cjs/src/client/v2/indexer/lookupApplicationBoxByIDandName.js.map +0 -1
- package/dist/cjs/src/client/v2/indexer/lookupApplicationLogs.js.map +0 -1
- package/dist/cjs/src/client/v2/indexer/lookupApplications.js.map +0 -1
- package/dist/cjs/src/client/v2/indexer/lookupAssetBalances.js.map +0 -1
- package/dist/cjs/src/client/v2/indexer/lookupAssetByID.js.map +0 -1
- package/dist/cjs/src/client/v2/indexer/lookupAssetTransactions.js.map +0 -1
- package/dist/cjs/src/client/v2/indexer/lookupBlock.js.map +0 -1
- package/dist/cjs/src/client/v2/indexer/lookupTransactionByID.js.map +0 -1
- package/dist/cjs/src/client/v2/indexer/makeHealthCheck.js.map +0 -1
- package/dist/cjs/src/client/v2/indexer/models/types.js.map +0 -1
- package/dist/cjs/src/client/v2/indexer/searchAccounts.js.map +0 -1
- package/dist/cjs/src/client/v2/indexer/searchForApplicationBoxes.js.map +0 -1
- package/dist/cjs/src/client/v2/indexer/searchForApplications.js.map +0 -1
- package/dist/cjs/src/client/v2/indexer/searchForAssets.js.map +0 -1
- package/dist/cjs/src/client/v2/indexer/searchForTransactions.js.map +0 -1
- package/dist/cjs/src/client/v2/jsonrequest.js.map +0 -1
- package/dist/cjs/src/client/v2/serviceClient.js.map +0 -1
- package/dist/cjs/src/composer.js.map +0 -1
- package/dist/cjs/src/convert.js.map +0 -1
- package/dist/cjs/src/dryrun.js.map +0 -1
- package/dist/cjs/src/encoding/address.js.map +0 -1
- package/dist/cjs/src/encoding/bigint.js.map +0 -1
- package/dist/cjs/src/encoding/encoding.js.map +0 -1
- package/dist/cjs/src/encoding/uint64.js.map +0 -1
- package/dist/cjs/src/group.js.map +0 -1
- package/dist/cjs/src/logic/logic.js.map +0 -1
- package/dist/cjs/src/logic/sourcemap.js.map +0 -1
- package/dist/cjs/src/logicTemplates/dynamicfee.js.map +0 -1
- package/dist/cjs/src/logicTemplates/htlc.js.map +0 -1
- package/dist/cjs/src/logicTemplates/index.js.map +0 -1
- package/dist/cjs/src/logicTemplates/limitorder.js.map +0 -1
- package/dist/cjs/src/logicTemplates/periodicpayment.js.map +0 -1
- package/dist/cjs/src/logicTemplates/split.js.map +0 -1
- package/dist/cjs/src/logicTemplates/templates.js.map +0 -1
- package/dist/cjs/src/logicsig.js.map +0 -1
- package/dist/cjs/src/main.js.map +0 -1
- package/dist/cjs/src/makeTxn.js.map +0 -1
- package/dist/cjs/src/mnemonic/mnemonic.js.map +0 -1
- package/dist/cjs/src/mnemonic/wordlists/english.js.map +0 -1
- package/dist/cjs/src/multisig.js +0 -398
- package/dist/cjs/src/multisig.js.map +0 -1
- package/dist/cjs/src/nacl/naclWrappers.js.map +0 -1
- package/dist/cjs/src/signer.js.map +0 -1
- package/dist/cjs/src/transaction.js.map +0 -1
- package/dist/cjs/src/types/account.js.map +0 -1
- package/dist/cjs/src/types/address.js.map +0 -1
- package/dist/cjs/src/types/blockHeader.js.map +0 -1
- package/dist/cjs/src/types/index.js.map +0 -1
- package/dist/cjs/src/types/intDecoding.js.map +0 -1
- package/dist/cjs/src/types/multisig.js.map +0 -1
- package/dist/cjs/src/types/transactions/application.js.map +0 -1
- package/dist/cjs/src/types/transactions/asset.js.map +0 -1
- package/dist/cjs/src/types/transactions/base.js.map +0 -1
- package/dist/cjs/src/types/transactions/builder.js.map +0 -1
- package/dist/cjs/src/types/transactions/encoded.js.map +0 -1
- package/dist/cjs/src/types/transactions/index.js.map +0 -1
- package/dist/cjs/src/types/transactions/keyreg.js.map +0 -1
- package/dist/cjs/src/types/transactions/payment.js.map +0 -1
- package/dist/cjs/src/types/transactions/stateproof.js.map +0 -1
- package/dist/cjs/src/types/utils.js.map +0 -1
- package/dist/cjs/src/utils/utils.js.map +0 -1
- package/dist/cjs/src/wait.js.map +0 -1
- package/dist/esm/src/abi/abi_type.js +0 -680
- package/dist/esm/src/abi/abi_type.js.map +0 -1
- package/dist/esm/src/abi/contract.js.map +0 -1
- package/dist/esm/src/abi/index.js.map +0 -1
- package/dist/esm/src/abi/interface.js.map +0 -1
- package/dist/esm/src/abi/method.js.map +0 -1
- package/dist/esm/src/abi/reference.js.map +0 -1
- package/dist/esm/src/abi/transaction.js.map +0 -1
- package/dist/esm/src/account.js.map +0 -1
- package/dist/esm/src/bid.js.map +0 -1
- package/dist/esm/src/boxStorage.js.map +0 -1
- package/dist/esm/src/client/algod.js.map +0 -1
- package/dist/esm/src/client/baseHTTPClient.js.map +0 -1
- package/dist/esm/src/client/client.js.map +0 -1
- package/dist/esm/src/client/kmd.js.map +0 -1
- package/dist/esm/src/client/urlTokenBaseHTTPClient.js.map +0 -1
- package/dist/esm/src/client/v2/algod/accountApplicationInformation.js.map +0 -1
- package/dist/esm/src/client/v2/algod/accountAssetInformation.js.map +0 -1
- package/dist/esm/src/client/v2/algod/accountInformation.js.map +0 -1
- package/dist/esm/src/client/v2/algod/algod.js.map +0 -1
- package/dist/esm/src/client/v2/algod/block.js.map +0 -1
- package/dist/esm/src/client/v2/algod/compile.js.map +0 -1
- package/dist/esm/src/client/v2/algod/dryrun.js.map +0 -1
- package/dist/esm/src/client/v2/algod/genesis.js.map +0 -1
- package/dist/esm/src/client/v2/algod/getApplicationBoxByName.js.map +0 -1
- package/dist/esm/src/client/v2/algod/getApplicationBoxes.js.map +0 -1
- package/dist/esm/src/client/v2/algod/getApplicationByID.js.map +0 -1
- package/dist/esm/src/client/v2/algod/getAssetByID.js.map +0 -1
- package/dist/esm/src/client/v2/algod/getBlockHash.js.map +0 -1
- package/dist/esm/src/client/v2/algod/getTransactionProof.js.map +0 -1
- package/dist/esm/src/client/v2/algod/healthCheck.js.map +0 -1
- package/dist/esm/src/client/v2/algod/lightBlockHeaderProof.js.map +0 -1
- package/dist/esm/src/client/v2/algod/models/types.js +0 -1984
- package/dist/esm/src/client/v2/algod/models/types.js.map +0 -1
- package/dist/esm/src/client/v2/algod/pendingTransactionInformation.js.map +0 -1
- package/dist/esm/src/client/v2/algod/pendingTransactions.js.map +0 -1
- package/dist/esm/src/client/v2/algod/pendingTransactionsByAddress.js.map +0 -1
- package/dist/esm/src/client/v2/algod/sendRawTransaction.js.map +0 -1
- package/dist/esm/src/client/v2/algod/stateproof.js.map +0 -1
- package/dist/esm/src/client/v2/algod/status.js.map +0 -1
- package/dist/esm/src/client/v2/algod/statusAfterBlock.js.map +0 -1
- package/dist/esm/src/client/v2/algod/suggestedParams.js.map +0 -1
- package/dist/esm/src/client/v2/algod/supply.js.map +0 -1
- package/dist/esm/src/client/v2/algod/versions.js.map +0 -1
- package/dist/esm/src/client/v2/basemodel.js.map +0 -1
- package/dist/esm/src/client/v2/indexer/indexer.js.map +0 -1
- package/dist/esm/src/client/v2/indexer/lookupAccountAppLocalStates.js.map +0 -1
- package/dist/esm/src/client/v2/indexer/lookupAccountAssets.js.map +0 -1
- package/dist/esm/src/client/v2/indexer/lookupAccountByID.js.map +0 -1
- package/dist/esm/src/client/v2/indexer/lookupAccountCreatedApplications.js.map +0 -1
- package/dist/esm/src/client/v2/indexer/lookupAccountCreatedAssets.js.map +0 -1
- package/dist/esm/src/client/v2/indexer/lookupAccountTransactions.js.map +0 -1
- package/dist/esm/src/client/v2/indexer/lookupApplicationBoxByIDandName.js.map +0 -1
- package/dist/esm/src/client/v2/indexer/lookupApplicationLogs.js.map +0 -1
- package/dist/esm/src/client/v2/indexer/lookupApplications.js.map +0 -1
- package/dist/esm/src/client/v2/indexer/lookupAssetBalances.js.map +0 -1
- package/dist/esm/src/client/v2/indexer/lookupAssetByID.js.map +0 -1
- package/dist/esm/src/client/v2/indexer/lookupAssetTransactions.js.map +0 -1
- package/dist/esm/src/client/v2/indexer/lookupBlock.js.map +0 -1
- package/dist/esm/src/client/v2/indexer/lookupTransactionByID.js.map +0 -1
- package/dist/esm/src/client/v2/indexer/makeHealthCheck.js.map +0 -1
- package/dist/esm/src/client/v2/indexer/models/types.js.map +0 -1
- package/dist/esm/src/client/v2/indexer/searchAccounts.js.map +0 -1
- package/dist/esm/src/client/v2/indexer/searchForApplicationBoxes.js.map +0 -1
- package/dist/esm/src/client/v2/indexer/searchForApplications.js.map +0 -1
- package/dist/esm/src/client/v2/indexer/searchForAssets.js.map +0 -1
- package/dist/esm/src/client/v2/indexer/searchForTransactions.js.map +0 -1
- package/dist/esm/src/client/v2/jsonrequest.js.map +0 -1
- package/dist/esm/src/client/v2/serviceClient.js.map +0 -1
- package/dist/esm/src/composer.js.map +0 -1
- package/dist/esm/src/convert.js.map +0 -1
- package/dist/esm/src/dryrun.js.map +0 -1
- package/dist/esm/src/encoding/address.js.map +0 -1
- package/dist/esm/src/encoding/bigint.js.map +0 -1
- package/dist/esm/src/encoding/encoding.js.map +0 -1
- package/dist/esm/src/encoding/uint64.js.map +0 -1
- package/dist/esm/src/group.js.map +0 -1
- package/dist/esm/src/logic/logic.js.map +0 -1
- package/dist/esm/src/logic/sourcemap.js.map +0 -1
- package/dist/esm/src/logicTemplates/dynamicfee.js.map +0 -1
- package/dist/esm/src/logicTemplates/htlc.js.map +0 -1
- package/dist/esm/src/logicTemplates/index.js.map +0 -1
- package/dist/esm/src/logicTemplates/limitorder.js.map +0 -1
- package/dist/esm/src/logicTemplates/periodicpayment.js.map +0 -1
- package/dist/esm/src/logicTemplates/split.js.map +0 -1
- package/dist/esm/src/logicTemplates/templates.js.map +0 -1
- package/dist/esm/src/logicsig.js.map +0 -1
- package/dist/esm/src/main.js.map +0 -1
- package/dist/esm/src/makeTxn.js.map +0 -1
- package/dist/esm/src/mnemonic/mnemonic.js.map +0 -1
- package/dist/esm/src/mnemonic/wordlists/english.js.map +0 -1
- package/dist/esm/src/multisig.js +0 -364
- package/dist/esm/src/multisig.js.map +0 -1
- package/dist/esm/src/nacl/naclWrappers.js.map +0 -1
- package/dist/esm/src/signer.js.map +0 -1
- package/dist/esm/src/transaction.js.map +0 -1
- package/dist/esm/src/types/account.js.map +0 -1
- package/dist/esm/src/types/address.js.map +0 -1
- package/dist/esm/src/types/blockHeader.js.map +0 -1
- package/dist/esm/src/types/index.js.map +0 -1
- package/dist/esm/src/types/intDecoding.js.map +0 -1
- package/dist/esm/src/types/multisig.js.map +0 -1
- package/dist/esm/src/types/transactions/application.js.map +0 -1
- package/dist/esm/src/types/transactions/asset.js.map +0 -1
- package/dist/esm/src/types/transactions/base.js.map +0 -1
- package/dist/esm/src/types/transactions/builder.js.map +0 -1
- package/dist/esm/src/types/transactions/encoded.js.map +0 -1
- package/dist/esm/src/types/transactions/index.js.map +0 -1
- package/dist/esm/src/types/transactions/keyreg.js.map +0 -1
- package/dist/esm/src/types/transactions/payment.js.map +0 -1
- package/dist/esm/src/types/transactions/stateproof.js.map +0 -1
- package/dist/esm/src/types/utils.js.map +0 -1
- package/dist/esm/src/utils/utils.js.map +0 -1
- package/dist/esm/src/wait.js.map +0 -1
- package/dist/types/src/client/v2/algod/models/types.d.ts +0 -1612
- package/dist/types/src/multisig.d.ts +0 -125
package/src/logicsig.ts
ADDED
|
@@ -0,0 +1,523 @@
|
|
|
1
|
+
import * as nacl from './nacl/naclWrappers';
|
|
2
|
+
import * as address from './encoding/address';
|
|
3
|
+
import * as encoding from './encoding/encoding';
|
|
4
|
+
import { verifyMultisig } from './multisig';
|
|
5
|
+
import * as utils from './utils/utils';
|
|
6
|
+
import * as txnBuilder from './transaction';
|
|
7
|
+
import { isValidAddress } from './encoding/address';
|
|
8
|
+
import {
|
|
9
|
+
EncodedLogicSig,
|
|
10
|
+
EncodedLogicSigAccount,
|
|
11
|
+
EncodedMultisig,
|
|
12
|
+
EncodedSignedTransaction,
|
|
13
|
+
} from './types/transactions/encoded';
|
|
14
|
+
import { MultisigMetadata } from './types/multisig';
|
|
15
|
+
|
|
16
|
+
interface LogicSigStorageStructure {
|
|
17
|
+
logic: Uint8Array;
|
|
18
|
+
args: Uint8Array[];
|
|
19
|
+
sig?: Uint8Array;
|
|
20
|
+
msig?: EncodedMultisig;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** sanityCheckProgram performs heuristic program validation:
|
|
24
|
+
* check if passed in bytes are Algorand address or is B64 encoded, rather than Teal bytes
|
|
25
|
+
*
|
|
26
|
+
* @param program - Program bytes to check
|
|
27
|
+
*/
|
|
28
|
+
export function sanityCheckProgram(program: Uint8Array) {
|
|
29
|
+
if (!program || program.length === 0) throw new Error('empty program');
|
|
30
|
+
|
|
31
|
+
const lineBreakOrd = '\n'.charCodeAt(0);
|
|
32
|
+
const blankSpaceOrd = ' '.charCodeAt(0);
|
|
33
|
+
const tildeOrd = '~'.charCodeAt(0);
|
|
34
|
+
|
|
35
|
+
const isPrintable = (x: number) => blankSpaceOrd <= x && x <= tildeOrd;
|
|
36
|
+
const isAsciiPrintable = program.every(
|
|
37
|
+
(x: number) => x === lineBreakOrd || isPrintable(x)
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
if (isAsciiPrintable) {
|
|
41
|
+
const programStr = Buffer.from(program).toString();
|
|
42
|
+
|
|
43
|
+
if (isValidAddress(programStr))
|
|
44
|
+
throw new Error('requesting program bytes, get Algorand address');
|
|
45
|
+
|
|
46
|
+
if (Buffer.from(programStr, 'base64').toString('base64') === programStr)
|
|
47
|
+
throw new Error('program should not be b64 encoded');
|
|
48
|
+
|
|
49
|
+
throw new Error(
|
|
50
|
+
'program bytes are all ASCII printable characters, not looking like Teal byte code'
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
LogicSig implementation
|
|
57
|
+
*/
|
|
58
|
+
export class LogicSig implements LogicSigStorageStructure {
|
|
59
|
+
tag = Buffer.from('Program');
|
|
60
|
+
|
|
61
|
+
logic: Uint8Array;
|
|
62
|
+
args: Uint8Array[];
|
|
63
|
+
sig?: Uint8Array;
|
|
64
|
+
msig?: EncodedMultisig;
|
|
65
|
+
|
|
66
|
+
constructor(
|
|
67
|
+
program: Uint8Array,
|
|
68
|
+
programArgs?: Array<Uint8Array | Buffer> | null
|
|
69
|
+
) {
|
|
70
|
+
if (
|
|
71
|
+
programArgs &&
|
|
72
|
+
(!Array.isArray(programArgs) ||
|
|
73
|
+
!programArgs.every(
|
|
74
|
+
(arg) => arg.constructor === Uint8Array || Buffer.isBuffer(arg)
|
|
75
|
+
))
|
|
76
|
+
) {
|
|
77
|
+
throw new TypeError('Invalid arguments');
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
let args: Uint8Array[] | undefined;
|
|
81
|
+
if (programArgs != null)
|
|
82
|
+
args = programArgs.map((arg) => new Uint8Array(arg));
|
|
83
|
+
|
|
84
|
+
sanityCheckProgram(program);
|
|
85
|
+
|
|
86
|
+
this.logic = program;
|
|
87
|
+
this.args = args;
|
|
88
|
+
this.sig = undefined;
|
|
89
|
+
this.msig = undefined;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// eslint-disable-next-line camelcase
|
|
93
|
+
get_obj_for_encoding() {
|
|
94
|
+
const obj: EncodedLogicSig = {
|
|
95
|
+
l: this.logic,
|
|
96
|
+
};
|
|
97
|
+
if (this.args) {
|
|
98
|
+
obj.arg = this.args;
|
|
99
|
+
}
|
|
100
|
+
if (this.sig) {
|
|
101
|
+
obj.sig = this.sig;
|
|
102
|
+
} else if (this.msig) {
|
|
103
|
+
obj.msig = this.msig;
|
|
104
|
+
}
|
|
105
|
+
return obj;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// eslint-disable-next-line camelcase
|
|
109
|
+
static from_obj_for_encoding(encoded: EncodedLogicSig) {
|
|
110
|
+
const lsig = new LogicSig(encoded.l, encoded.arg);
|
|
111
|
+
lsig.sig = encoded.sig;
|
|
112
|
+
lsig.msig = encoded.msig;
|
|
113
|
+
return lsig;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Performs signature verification
|
|
118
|
+
* @param publicKey - Verification key (derived from sender address or escrow address)
|
|
119
|
+
*/
|
|
120
|
+
verify(publicKey: Uint8Array) {
|
|
121
|
+
if (this.sig && this.msig) {
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
try {
|
|
126
|
+
sanityCheckProgram(this.logic);
|
|
127
|
+
} catch (e) {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
const toBeSigned = utils.concatArrays(this.tag, this.logic);
|
|
132
|
+
|
|
133
|
+
if (!this.sig && !this.msig) {
|
|
134
|
+
const hash = nacl.genericHash(toBeSigned);
|
|
135
|
+
return utils.arrayEqual(hash, publicKey);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
if (this.sig) {
|
|
139
|
+
return nacl.verify(toBeSigned, this.sig, publicKey);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
return verifyMultisig(toBeSigned, this.msig, publicKey);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Compute hash of the logic sig program (that is the same as escrow account address) as string address
|
|
147
|
+
* @returns String representation of the address
|
|
148
|
+
*/
|
|
149
|
+
address() {
|
|
150
|
+
const toBeSigned = utils.concatArrays(this.tag, this.logic);
|
|
151
|
+
const hash = nacl.genericHash(toBeSigned);
|
|
152
|
+
return address.encodeAddress(new Uint8Array(hash));
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Creates signature (if no msig provided) or multi signature otherwise
|
|
157
|
+
* @param secretKey - Secret key to sign with
|
|
158
|
+
* @param msig - Multisig account as \{version, threshold, addrs\}
|
|
159
|
+
*/
|
|
160
|
+
sign(secretKey: Uint8Array, msig?: MultisigMetadata) {
|
|
161
|
+
if (msig == null) {
|
|
162
|
+
this.sig = this.signProgram(secretKey);
|
|
163
|
+
} else {
|
|
164
|
+
const subsigs = msig.addrs.map((addr) => ({
|
|
165
|
+
pk: address.decodeAddress(addr).publicKey,
|
|
166
|
+
}));
|
|
167
|
+
|
|
168
|
+
this.msig = {
|
|
169
|
+
v: msig.version,
|
|
170
|
+
thr: msig.threshold,
|
|
171
|
+
subsig: subsigs,
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
const [sig, index] = this.singleSignMultisig(secretKey, this.msig);
|
|
175
|
+
this.msig.subsig[index].s = sig;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Appends a signature to multi signature
|
|
181
|
+
* @param secretKey - Secret key to sign with
|
|
182
|
+
*/
|
|
183
|
+
appendToMultisig(secretKey: Uint8Array) {
|
|
184
|
+
if (this.msig === undefined) {
|
|
185
|
+
throw new Error('no multisig present');
|
|
186
|
+
}
|
|
187
|
+
const [sig, index] = this.singleSignMultisig(secretKey, this.msig);
|
|
188
|
+
this.msig.subsig[index].s = sig;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
signProgram(secretKey: Uint8Array) {
|
|
192
|
+
const toBeSigned = utils.concatArrays(this.tag, this.logic);
|
|
193
|
+
const sig = nacl.sign(toBeSigned, secretKey);
|
|
194
|
+
return sig;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
singleSignMultisig(
|
|
198
|
+
secretKey: Uint8Array,
|
|
199
|
+
msig: EncodedMultisig
|
|
200
|
+
): [sig: Uint8Array, index: number] {
|
|
201
|
+
let index = -1;
|
|
202
|
+
const myPk = nacl.keyPairFromSecretKey(secretKey).publicKey;
|
|
203
|
+
for (let i = 0; i < msig.subsig.length; i++) {
|
|
204
|
+
const { pk } = msig.subsig[i];
|
|
205
|
+
if (utils.arrayEqual(pk, myPk)) {
|
|
206
|
+
index = i;
|
|
207
|
+
break;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
if (index === -1) {
|
|
211
|
+
throw new Error('invalid secret key');
|
|
212
|
+
}
|
|
213
|
+
const sig = this.signProgram(secretKey);
|
|
214
|
+
return [sig, index];
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
toByte() {
|
|
218
|
+
return encoding.encode(this.get_obj_for_encoding());
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
static fromByte(encoded: ArrayLike<any>) {
|
|
222
|
+
const decodedObj = encoding.decode(encoded) as EncodedLogicSig;
|
|
223
|
+
return LogicSig.from_obj_for_encoding(decodedObj);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* Represents an account that can sign with a LogicSig program.
|
|
229
|
+
*/
|
|
230
|
+
export class LogicSigAccount {
|
|
231
|
+
lsig: LogicSig;
|
|
232
|
+
sigkey?: Uint8Array;
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Create a new LogicSigAccount. By default this will create an escrow
|
|
236
|
+
* LogicSig account. Call `sign` or `signMultisig` on the newly created
|
|
237
|
+
* LogicSigAccount to make it a delegated account.
|
|
238
|
+
*
|
|
239
|
+
* @param program - The compiled TEAL program which contains the logic for
|
|
240
|
+
* this LogicSig.
|
|
241
|
+
* @param args - An optional array of arguments for the program.
|
|
242
|
+
*/
|
|
243
|
+
constructor(program: Uint8Array, args?: Array<Uint8Array | Buffer> | null) {
|
|
244
|
+
this.lsig = new LogicSig(program, args);
|
|
245
|
+
this.sigkey = undefined;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
// eslint-disable-next-line camelcase
|
|
249
|
+
get_obj_for_encoding() {
|
|
250
|
+
const obj: EncodedLogicSigAccount = {
|
|
251
|
+
lsig: this.lsig.get_obj_for_encoding(),
|
|
252
|
+
};
|
|
253
|
+
if (this.sigkey) {
|
|
254
|
+
obj.sigkey = this.sigkey;
|
|
255
|
+
}
|
|
256
|
+
return obj;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
// eslint-disable-next-line camelcase
|
|
260
|
+
static from_obj_for_encoding(encoded: EncodedLogicSigAccount) {
|
|
261
|
+
const lsigAccount = new LogicSigAccount(encoded.lsig.l, encoded.lsig.arg);
|
|
262
|
+
lsigAccount.lsig = LogicSig.from_obj_for_encoding(encoded.lsig);
|
|
263
|
+
lsigAccount.sigkey = encoded.sigkey;
|
|
264
|
+
return lsigAccount;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* Encode this object into msgpack.
|
|
269
|
+
*/
|
|
270
|
+
toByte() {
|
|
271
|
+
return encoding.encode(this.get_obj_for_encoding());
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* Decode a msgpack object into a LogicSigAccount.
|
|
276
|
+
* @param encoded - The encoded LogicSigAccount.
|
|
277
|
+
*/
|
|
278
|
+
static fromByte(encoded: ArrayLike<any>) {
|
|
279
|
+
const decodedObj = encoding.decode(encoded) as EncodedLogicSigAccount;
|
|
280
|
+
return LogicSigAccount.from_obj_for_encoding(decodedObj);
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* Check if this LogicSigAccount has been delegated to another account with a
|
|
285
|
+
* signature.
|
|
286
|
+
*
|
|
287
|
+
* Note this function only checks for the presence of a delegation signature.
|
|
288
|
+
* To verify the delegation signature, use `verify`.
|
|
289
|
+
*/
|
|
290
|
+
isDelegated() {
|
|
291
|
+
return !!(this.lsig.sig || this.lsig.msig);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Verifies this LogicSig's program and signatures.
|
|
296
|
+
* @returns true if and only if the LogicSig program and signatures are valid.
|
|
297
|
+
*/
|
|
298
|
+
verify() {
|
|
299
|
+
const addr = this.address();
|
|
300
|
+
return this.lsig.verify(address.decodeAddress(addr).publicKey);
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* Get the address of this LogicSigAccount.
|
|
305
|
+
*
|
|
306
|
+
* If the LogicSig is delegated to another account, this will return the
|
|
307
|
+
* address of that account.
|
|
308
|
+
*
|
|
309
|
+
* If the LogicSig is not delegated to another account, this will return an
|
|
310
|
+
* escrow address that is the hash of the LogicSig's program code.
|
|
311
|
+
*/
|
|
312
|
+
address() {
|
|
313
|
+
if (this.lsig.sig && this.lsig.msig) {
|
|
314
|
+
throw new Error(
|
|
315
|
+
'LogicSig has too many signatures. At most one of sig or msig may be present'
|
|
316
|
+
);
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
if (this.lsig.sig) {
|
|
320
|
+
if (!this.sigkey) {
|
|
321
|
+
throw new Error('Signing key for delegated account is missing');
|
|
322
|
+
}
|
|
323
|
+
return address.encodeAddress(this.sigkey);
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
if (this.lsig.msig) {
|
|
327
|
+
const msigMetadata = {
|
|
328
|
+
version: this.lsig.msig.v,
|
|
329
|
+
threshold: this.lsig.msig.thr,
|
|
330
|
+
pks: this.lsig.msig.subsig.map((subsig) => subsig.pk),
|
|
331
|
+
};
|
|
332
|
+
return address.encodeAddress(address.fromMultisigPreImg(msigMetadata));
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
return this.lsig.address();
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* Turns this LogicSigAccount into a delegated LogicSig. This type of LogicSig
|
|
340
|
+
* has the authority to sign transactions on behalf of another account, called
|
|
341
|
+
* the delegating account. Use this function if the delegating account is a
|
|
342
|
+
* multisig account.
|
|
343
|
+
*
|
|
344
|
+
* @param msig - The multisig delegating account
|
|
345
|
+
* @param secretKey - The secret key of one of the members of the delegating
|
|
346
|
+
* multisig account. Use `appendToMultisig` to add additional signatures
|
|
347
|
+
* from other members.
|
|
348
|
+
*/
|
|
349
|
+
signMultisig(msig: MultisigMetadata, secretKey: Uint8Array) {
|
|
350
|
+
this.lsig.sign(secretKey, msig);
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
/**
|
|
354
|
+
* Adds an additional signature from a member of the delegating multisig
|
|
355
|
+
* account.
|
|
356
|
+
*
|
|
357
|
+
* @param secretKey - The secret key of one of the members of the delegating
|
|
358
|
+
* multisig account.
|
|
359
|
+
*/
|
|
360
|
+
appendToMultisig(secretKey: Uint8Array) {
|
|
361
|
+
this.lsig.appendToMultisig(secretKey);
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
/**
|
|
365
|
+
* Turns this LogicSigAccount into a delegated LogicSig. This type of LogicSig
|
|
366
|
+
* has the authority to sign transactions on behalf of another account, called
|
|
367
|
+
* the delegating account. If the delegating account is a multisig account,
|
|
368
|
+
* use `signMultisig` instead.
|
|
369
|
+
*
|
|
370
|
+
* @param secretKey - The secret key of the delegating account.
|
|
371
|
+
*/
|
|
372
|
+
sign(secretKey: Uint8Array) {
|
|
373
|
+
this.lsig.sign(secretKey);
|
|
374
|
+
this.sigkey = nacl.keyPairFromSecretKey(secretKey).publicKey;
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
/**
|
|
379
|
+
* makeLogicSig creates LogicSig object from program and arguments
|
|
380
|
+
*
|
|
381
|
+
* @deprecated Use new LogicSigAccount(...) instead
|
|
382
|
+
*
|
|
383
|
+
* @param program - Program to make LogicSig from
|
|
384
|
+
* @param args - Arguments as array of Uint8Array
|
|
385
|
+
* @returns LogicSig object
|
|
386
|
+
*/
|
|
387
|
+
export function makeLogicSig(program: Uint8Array, args?: Uint8Array[]) {
|
|
388
|
+
return new LogicSig(program, args);
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
function signLogicSigTransactionWithAddress(
|
|
392
|
+
txn: txnBuilder.Transaction,
|
|
393
|
+
lsig: LogicSig,
|
|
394
|
+
lsigAddress: Uint8Array
|
|
395
|
+
) {
|
|
396
|
+
if (!lsig.verify(lsigAddress)) {
|
|
397
|
+
throw new Error(
|
|
398
|
+
'Logic signature verification failed. Ensure the program and signature are valid.'
|
|
399
|
+
);
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
const signedTxn: EncodedSignedTransaction = {
|
|
403
|
+
lsig: lsig.get_obj_for_encoding(),
|
|
404
|
+
txn: txn.get_obj_for_encoding(),
|
|
405
|
+
};
|
|
406
|
+
|
|
407
|
+
if (!nacl.bytesEqual(lsigAddress, txn.from.publicKey)) {
|
|
408
|
+
signedTxn.sgnr = Buffer.from(lsigAddress);
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
return {
|
|
412
|
+
txID: txn.txID().toString(),
|
|
413
|
+
blob: encoding.encode(signedTxn),
|
|
414
|
+
};
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
/**
|
|
418
|
+
* signLogicSigTransactionObject takes a transaction and a LogicSig object and
|
|
419
|
+
* returns a signed transaction.
|
|
420
|
+
*
|
|
421
|
+
* @param txn - The transaction to sign.
|
|
422
|
+
* @param lsigObject - The LogicSig object that will sign the transaction.
|
|
423
|
+
*
|
|
424
|
+
* @returns Object containing txID and blob representing signed transaction.
|
|
425
|
+
*/
|
|
426
|
+
export function signLogicSigTransactionObject(
|
|
427
|
+
txn: txnBuilder.Transaction,
|
|
428
|
+
lsigObject: LogicSig | LogicSigAccount
|
|
429
|
+
) {
|
|
430
|
+
let lsig: LogicSig;
|
|
431
|
+
let lsigAddress: Uint8Array;
|
|
432
|
+
|
|
433
|
+
if (lsigObject instanceof LogicSigAccount) {
|
|
434
|
+
lsig = lsigObject.lsig;
|
|
435
|
+
lsigAddress = address.decodeAddress(lsigObject.address()).publicKey;
|
|
436
|
+
} else {
|
|
437
|
+
lsig = lsigObject;
|
|
438
|
+
|
|
439
|
+
if (lsig.sig) {
|
|
440
|
+
// For a LogicSig with a non-multisig delegating account, we cannot derive
|
|
441
|
+
// the address of that account from only its signature, so assume the
|
|
442
|
+
// delegating account is the sender. If that's not the case, the signing
|
|
443
|
+
// will fail.
|
|
444
|
+
lsigAddress = txn.from.publicKey;
|
|
445
|
+
} else if (lsig.msig) {
|
|
446
|
+
const msigMetadata = {
|
|
447
|
+
version: lsig.msig.v,
|
|
448
|
+
threshold: lsig.msig.thr,
|
|
449
|
+
pks: lsig.msig.subsig.map((subsig) => subsig.pk),
|
|
450
|
+
};
|
|
451
|
+
lsigAddress = address.fromMultisigPreImg(msigMetadata);
|
|
452
|
+
} else {
|
|
453
|
+
lsigAddress = address.decodeAddress(lsig.address()).publicKey;
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
return signLogicSigTransactionWithAddress(txn, lsig, lsigAddress);
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
/**
|
|
461
|
+
* signLogicSigTransaction takes a transaction and a LogicSig object and returns
|
|
462
|
+
* a signed transaction.
|
|
463
|
+
*
|
|
464
|
+
* @param txn - The transaction to sign.
|
|
465
|
+
* @param lsigObject - The LogicSig object that will sign the transaction.
|
|
466
|
+
*
|
|
467
|
+
* @returns Object containing txID and blob representing signed transaction.
|
|
468
|
+
* @throws error on failure
|
|
469
|
+
*/
|
|
470
|
+
export function signLogicSigTransaction(
|
|
471
|
+
txn: txnBuilder.TransactionLike,
|
|
472
|
+
lsigObject: LogicSig | LogicSigAccount
|
|
473
|
+
) {
|
|
474
|
+
const algoTxn = txnBuilder.instantiateTxnIfNeeded(txn);
|
|
475
|
+
return signLogicSigTransactionObject(algoTxn, lsigObject);
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
/**
|
|
479
|
+
* logicSigFromByte accepts encoded logic sig bytes and attempts to call logicsig.fromByte on it,
|
|
480
|
+
* returning the result
|
|
481
|
+
*/
|
|
482
|
+
export function logicSigFromByte(encoded: Uint8Array) {
|
|
483
|
+
return LogicSig.fromByte(encoded);
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
const SIGN_PROGRAM_DATA_PREFIX = Buffer.from('ProgData');
|
|
487
|
+
|
|
488
|
+
/**
|
|
489
|
+
* tealSign creates a signature compatible with ed25519verify opcode from program hash
|
|
490
|
+
* @param sk - uint8array with secret key
|
|
491
|
+
* @param data - buffer with data to sign
|
|
492
|
+
* @param programHash - string representation of teal program hash (= contract address for LogicSigs)
|
|
493
|
+
*/
|
|
494
|
+
export function tealSign(
|
|
495
|
+
sk: Uint8Array,
|
|
496
|
+
data: Uint8Array | Buffer,
|
|
497
|
+
programHash: string
|
|
498
|
+
) {
|
|
499
|
+
const parts = utils.concatArrays(
|
|
500
|
+
address.decodeAddress(programHash).publicKey,
|
|
501
|
+
data
|
|
502
|
+
);
|
|
503
|
+
const toBeSigned = Buffer.from(
|
|
504
|
+
utils.concatArrays(SIGN_PROGRAM_DATA_PREFIX, parts)
|
|
505
|
+
);
|
|
506
|
+
return nacl.sign(toBeSigned, sk);
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
/**
|
|
510
|
+
* tealSignFromProgram creates a signature compatible with ed25519verify opcode from raw program bytes
|
|
511
|
+
* @param sk - uint8array with secret key
|
|
512
|
+
* @param data - buffer with data to sign
|
|
513
|
+
* @param program - buffer with teal program
|
|
514
|
+
*/
|
|
515
|
+
export function tealSignFromProgram(
|
|
516
|
+
sk: Uint8Array,
|
|
517
|
+
data: Uint8Array | Buffer,
|
|
518
|
+
program: Uint8Array
|
|
519
|
+
) {
|
|
520
|
+
const lsig = new LogicSig(program);
|
|
521
|
+
const contractAddress = lsig.address();
|
|
522
|
+
return tealSign(sk, data, contractAddress);
|
|
523
|
+
}
|
package/src/main.ts
ADDED
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import * as nacl from './nacl/naclWrappers';
|
|
2
|
+
import * as address from './encoding/address';
|
|
3
|
+
import * as encoding from './encoding/encoding';
|
|
4
|
+
import * as txnBuilder from './transaction';
|
|
5
|
+
import * as LogicTemplatesCommonJSExport from './logicTemplates';
|
|
6
|
+
import Bid, { BidOptions } from './bid';
|
|
7
|
+
import * as convert from './convert';
|
|
8
|
+
import * as utils from './utils/utils';
|
|
9
|
+
|
|
10
|
+
const SIGN_BYTES_PREFIX = Buffer.from([77, 88]); // "MX"
|
|
11
|
+
|
|
12
|
+
// Errors
|
|
13
|
+
export const MULTISIG_BAD_SENDER_ERROR_MSG =
|
|
14
|
+
'The transaction sender address and multisig preimage do not match.';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* signTransaction takes an object with either payment or key registration fields and
|
|
18
|
+
* a secret key and returns a signed blob.
|
|
19
|
+
*
|
|
20
|
+
* Payment transaction fields: from, to, amount, fee, firstRound, lastRound, genesisHash,
|
|
21
|
+
* note(optional), GenesisID(optional), closeRemainderTo(optional)
|
|
22
|
+
*
|
|
23
|
+
* Key registration fields: fee, firstRound, lastRound, voteKey, selectionKey, voteFirst,
|
|
24
|
+
* voteLast, voteKeyDilution, genesisHash, note(optional), GenesisID(optional)
|
|
25
|
+
*
|
|
26
|
+
* If flatFee is not set and the final calculated fee is lower than the protocol minimum fee, the fee will be increased to match the minimum.
|
|
27
|
+
* @param txn - object with either payment or key registration fields
|
|
28
|
+
* @param sk - Algorand Secret Key
|
|
29
|
+
* @returns object contains the binary signed transaction and its txID
|
|
30
|
+
*/
|
|
31
|
+
export function signTransaction(
|
|
32
|
+
txn: txnBuilder.TransactionLike,
|
|
33
|
+
sk: Uint8Array
|
|
34
|
+
) {
|
|
35
|
+
if (typeof txn.from === 'undefined') {
|
|
36
|
+
// Get pk from sk if no sender specified
|
|
37
|
+
const key = nacl.keyPairFromSecretKey(sk);
|
|
38
|
+
// eslint-disable-next-line no-param-reassign
|
|
39
|
+
txn.from = address.encodeAddress(key.publicKey);
|
|
40
|
+
}
|
|
41
|
+
const algoTxn = txnBuilder.instantiateTxnIfNeeded(txn);
|
|
42
|
+
|
|
43
|
+
return {
|
|
44
|
+
txID: algoTxn.txID().toString(),
|
|
45
|
+
blob: algoTxn.signTxn(sk),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* signBid takes an object with the following fields: bidder key, bid amount, max price, bid ID, auctionKey, auction ID,
|
|
51
|
+
* and a secret key and returns a signed blob to be inserted into a transaction Algorand note field.
|
|
52
|
+
* @param bid - Algorand Bid
|
|
53
|
+
* @param sk - Algorand secret key
|
|
54
|
+
* @returns Uint8Array binary signed bid
|
|
55
|
+
*/
|
|
56
|
+
export function signBid(bid: BidOptions, sk: Uint8Array) {
|
|
57
|
+
const signedBid = new Bid(bid);
|
|
58
|
+
return signedBid.signBid(sk);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* signBytes takes arbitrary bytes and a secret key, prepends the bytes with "MX" for domain separation, signs the bytes
|
|
63
|
+
* with the private key, and returns the signature.
|
|
64
|
+
* @param bytes - Uint8array
|
|
65
|
+
* @param sk - Algorand secret key
|
|
66
|
+
* @returns binary signature
|
|
67
|
+
*/
|
|
68
|
+
export function signBytes(bytes: Uint8Array, sk: Uint8Array) {
|
|
69
|
+
const toBeSigned = Buffer.from(utils.concatArrays(SIGN_BYTES_PREFIX, bytes));
|
|
70
|
+
const sig = nacl.sign(toBeSigned, sk);
|
|
71
|
+
return sig;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* verifyBytes takes array of bytes, an address, and a signature and verifies if the signature is correct for the public
|
|
76
|
+
* key and the bytes (the bytes should have been signed with "MX" prepended for domain separation).
|
|
77
|
+
* @param bytes - Uint8Array
|
|
78
|
+
* @param signature - binary signature
|
|
79
|
+
* @param addr - string address
|
|
80
|
+
* @returns bool
|
|
81
|
+
*/
|
|
82
|
+
export function verifyBytes(
|
|
83
|
+
bytes: Uint8Array,
|
|
84
|
+
signature: Uint8Array,
|
|
85
|
+
addr: string
|
|
86
|
+
) {
|
|
87
|
+
const toBeVerified = Buffer.from(
|
|
88
|
+
utils.concatArrays(SIGN_BYTES_PREFIX, bytes)
|
|
89
|
+
);
|
|
90
|
+
const pk = address.decodeAddress(addr).publicKey;
|
|
91
|
+
return nacl.verify(toBeVerified, signature, pk);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* encodeObj takes a javascript object and returns its msgpack encoding
|
|
96
|
+
* Note that the encoding sorts the fields alphabetically
|
|
97
|
+
* @param o - js obj
|
|
98
|
+
* @returns Uint8Array binary representation
|
|
99
|
+
*/
|
|
100
|
+
export function encodeObj(o: Record<string | number | symbol, any>) {
|
|
101
|
+
return new Uint8Array(encoding.encode(o));
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* decodeObj takes a Uint8Array and returns its javascript obj
|
|
106
|
+
* @param o - Uint8Array to decode
|
|
107
|
+
* @returns object
|
|
108
|
+
*/
|
|
109
|
+
export function decodeObj(o: ArrayLike<number>) {
|
|
110
|
+
return encoding.decode(o);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export const ERROR_MULTISIG_BAD_SENDER = new Error(
|
|
114
|
+
MULTISIG_BAD_SENDER_ERROR_MSG
|
|
115
|
+
);
|
|
116
|
+
export const ERROR_INVALID_MICROALGOS = new Error(
|
|
117
|
+
convert.INVALID_MICROALGOS_ERROR_MSG
|
|
118
|
+
);
|
|
119
|
+
|
|
120
|
+
export * from './client/algod';
|
|
121
|
+
export { default as Algodv2 } from './client/v2/algod/algod';
|
|
122
|
+
export { default as Kmd } from './client/kmd';
|
|
123
|
+
export { default as IntDecoding } from './types/intDecoding';
|
|
124
|
+
export { default as Account } from './types/account';
|
|
125
|
+
export { default as Indexer } from './client/v2/indexer/indexer';
|
|
126
|
+
export {
|
|
127
|
+
BaseHTTPClient,
|
|
128
|
+
BaseHTTPClientResponse,
|
|
129
|
+
BaseHTTPClientError,
|
|
130
|
+
} from './client/baseHTTPClient';
|
|
131
|
+
export { waitForConfirmation } from './wait';
|
|
132
|
+
export {
|
|
133
|
+
isValidAddress,
|
|
134
|
+
encodeAddress,
|
|
135
|
+
decodeAddress,
|
|
136
|
+
getApplicationAddress,
|
|
137
|
+
} from './encoding/address';
|
|
138
|
+
export { bytesToBigInt, bigIntToBytes } from './encoding/bigint';
|
|
139
|
+
export { encodeUint64, decodeUint64 } from './encoding/uint64';
|
|
140
|
+
export { default as generateAccount } from './account';
|
|
141
|
+
export * as modelsv2 from './client/v2/algod/models/types';
|
|
142
|
+
export * as indexerModels from './client/v2/indexer/models/types';
|
|
143
|
+
export {
|
|
144
|
+
mnemonicToMasterDerivationKey,
|
|
145
|
+
masterDerivationKeyToMnemonic,
|
|
146
|
+
secretKeyToMnemonic,
|
|
147
|
+
mnemonicToSecretKey,
|
|
148
|
+
seedFromMnemonic,
|
|
149
|
+
mnemonicFromSeed,
|
|
150
|
+
} from './mnemonic/mnemonic';
|
|
151
|
+
export {
|
|
152
|
+
microalgosToAlgos,
|
|
153
|
+
algosToMicroalgos,
|
|
154
|
+
INVALID_MICROALGOS_ERROR_MSG,
|
|
155
|
+
} from './convert';
|
|
156
|
+
export { computeGroupID, assignGroupID } from './group';
|
|
157
|
+
export {
|
|
158
|
+
LogicSigAccount,
|
|
159
|
+
makeLogicSig,
|
|
160
|
+
signLogicSigTransaction,
|
|
161
|
+
signLogicSigTransactionObject,
|
|
162
|
+
logicSigFromByte,
|
|
163
|
+
tealSign,
|
|
164
|
+
tealSignFromProgram,
|
|
165
|
+
} from './logicsig';
|
|
166
|
+
export {
|
|
167
|
+
signMultisigTransaction,
|
|
168
|
+
mergeMultisigTransactions,
|
|
169
|
+
appendSignMultisigTransaction,
|
|
170
|
+
createMultisigTransaction,
|
|
171
|
+
appendSignRawMultisigSignature,
|
|
172
|
+
verifyMultisig,
|
|
173
|
+
multisigAddress,
|
|
174
|
+
} from './multisig';
|
|
175
|
+
export { SourceMap } from './logic/sourcemap';
|
|
176
|
+
|
|
177
|
+
export const LogicTemplates = LogicTemplatesCommonJSExport.default;
|
|
178
|
+
|
|
179
|
+
export * from './dryrun';
|
|
180
|
+
export * from './makeTxn';
|
|
181
|
+
export * from './transaction';
|
|
182
|
+
export * from './signer';
|
|
183
|
+
export * from './composer';
|
|
184
|
+
export * from './types';
|
|
185
|
+
export * from './abi';
|