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
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
/* eslint-disable no-bitwise */
|
|
2
|
+
/**
|
|
3
|
+
* Utilities for working with program bytes.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/** @deprecated langspec.json is deprecated aross all SDKs */
|
|
7
|
+
import langspec from './langspec.json';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Langspec Op Structure
|
|
11
|
+
* @deprecated for langspec.json is deprecated aross all SDKs
|
|
12
|
+
*/
|
|
13
|
+
interface OpStructure {
|
|
14
|
+
Opcode: number;
|
|
15
|
+
Name: string;
|
|
16
|
+
Args?: string;
|
|
17
|
+
Returns?: string;
|
|
18
|
+
Cost: number;
|
|
19
|
+
Size: number;
|
|
20
|
+
ArgEnum?: string[];
|
|
21
|
+
ArgEnumTypes?: string;
|
|
22
|
+
Doc: string;
|
|
23
|
+
DocExtra?: string;
|
|
24
|
+
ImmediateNote?: string;
|
|
25
|
+
Groups: string[];
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
29
|
+
let opcodes: {
|
|
30
|
+
[key: number]: OpStructure;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
34
|
+
const maxCost = 20000;
|
|
35
|
+
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
36
|
+
const maxLength = 1000;
|
|
37
|
+
|
|
38
|
+
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
39
|
+
export function parseUvarint(
|
|
40
|
+
array: Uint8Array
|
|
41
|
+
): [numberFound: number, size: number] {
|
|
42
|
+
let x = 0;
|
|
43
|
+
let s = 0;
|
|
44
|
+
for (let i = 0; i < array.length; i++) {
|
|
45
|
+
const b = array[i];
|
|
46
|
+
if (b < 0x80) {
|
|
47
|
+
if (i > 9 || (i === 9 && b > 1)) {
|
|
48
|
+
return [0, -(i + 1)];
|
|
49
|
+
}
|
|
50
|
+
return [x | (b << s), i + 1];
|
|
51
|
+
}
|
|
52
|
+
x += (b & 0x7f) << s;
|
|
53
|
+
s += 7;
|
|
54
|
+
}
|
|
55
|
+
return [0, 0];
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
59
|
+
function readIntConstBlock(
|
|
60
|
+
program: Uint8Array,
|
|
61
|
+
pc: number
|
|
62
|
+
): [size: number, ints: number[]] {
|
|
63
|
+
let size = 1;
|
|
64
|
+
const parsed = parseUvarint(program.slice(pc + size));
|
|
65
|
+
const numInts = parsed[0];
|
|
66
|
+
let bytesUsed = parsed[1];
|
|
67
|
+
if (bytesUsed <= 0) {
|
|
68
|
+
throw new Error(`could not decode int const block size at pc=${pc + size}`);
|
|
69
|
+
}
|
|
70
|
+
const ints: number[] = [];
|
|
71
|
+
size += bytesUsed;
|
|
72
|
+
for (let i = 0; i < numInts; i++) {
|
|
73
|
+
if (pc + size >= program.length) {
|
|
74
|
+
throw new Error('intcblock ran past end of program');
|
|
75
|
+
}
|
|
76
|
+
let numberFound: number;
|
|
77
|
+
[numberFound, bytesUsed] = parseUvarint(program.slice(pc + size));
|
|
78
|
+
if (bytesUsed <= 0) {
|
|
79
|
+
throw new Error(
|
|
80
|
+
`could not decode int const[${i}] block size at pc=${pc + size}`
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
ints.push(numberFound);
|
|
84
|
+
size += bytesUsed;
|
|
85
|
+
}
|
|
86
|
+
return [size, ints];
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
90
|
+
function readByteConstBlock(
|
|
91
|
+
program: Uint8Array,
|
|
92
|
+
pc: number
|
|
93
|
+
): [size: number, byteArrays: Uint8Array[]] {
|
|
94
|
+
let size = 1;
|
|
95
|
+
const parsed = parseUvarint(program.slice(pc + size));
|
|
96
|
+
const numInts = parsed[0];
|
|
97
|
+
let bytesUsed = parsed[1];
|
|
98
|
+
if (bytesUsed <= 0) {
|
|
99
|
+
throw new Error(
|
|
100
|
+
`could not decode []byte const block size at pc=${pc + size}`
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
const byteArrays: Uint8Array[] = [];
|
|
104
|
+
size += bytesUsed;
|
|
105
|
+
for (let i = 0; i < numInts; i++) {
|
|
106
|
+
if (pc + size >= program.length) {
|
|
107
|
+
throw new Error('bytecblock ran past end of program');
|
|
108
|
+
}
|
|
109
|
+
let itemLen: number;
|
|
110
|
+
[itemLen, bytesUsed] = parseUvarint(program.slice(pc + size));
|
|
111
|
+
if (bytesUsed <= 0) {
|
|
112
|
+
throw new Error(
|
|
113
|
+
`could not decode []byte] const[${i}] block size at pc=${pc + size}`
|
|
114
|
+
);
|
|
115
|
+
}
|
|
116
|
+
size += bytesUsed;
|
|
117
|
+
if (pc + size + itemLen > program.length) {
|
|
118
|
+
throw new Error('bytecblock ran past end of program');
|
|
119
|
+
}
|
|
120
|
+
const byteArray = program.slice(pc + size, pc + size + itemLen);
|
|
121
|
+
byteArrays.push(byteArray);
|
|
122
|
+
size += itemLen;
|
|
123
|
+
}
|
|
124
|
+
return [size, byteArrays];
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
128
|
+
function readPushIntOp(
|
|
129
|
+
program: Uint8Array,
|
|
130
|
+
pc: number
|
|
131
|
+
): [size: number, numberFound: number] {
|
|
132
|
+
let size = 1;
|
|
133
|
+
const [numberFound, bytesUsed] = parseUvarint(program.slice(pc + size));
|
|
134
|
+
if (bytesUsed <= 0) {
|
|
135
|
+
throw new Error(`could not decode push int const at pc=${pc + size}`);
|
|
136
|
+
}
|
|
137
|
+
size += bytesUsed;
|
|
138
|
+
return [size, numberFound];
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
142
|
+
function readPushByteOp(
|
|
143
|
+
program: Uint8Array,
|
|
144
|
+
pc: number
|
|
145
|
+
): [size: number, byteArray: Uint8Array] {
|
|
146
|
+
let size = 1;
|
|
147
|
+
const [itemLen, bytesUsed] = parseUvarint(program.slice(pc + size));
|
|
148
|
+
if (bytesUsed <= 0) {
|
|
149
|
+
throw new Error(
|
|
150
|
+
`could not decode push []byte const size at pc=${pc + size}`
|
|
151
|
+
);
|
|
152
|
+
}
|
|
153
|
+
size += bytesUsed;
|
|
154
|
+
if (pc + size + itemLen > program.length) {
|
|
155
|
+
throw new Error('pushbytes ran past end of program');
|
|
156
|
+
}
|
|
157
|
+
const byteArray = program.slice(pc + size, pc + size + itemLen);
|
|
158
|
+
size += itemLen;
|
|
159
|
+
return [size, byteArray];
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/** readProgram validates program for length and running cost,
|
|
163
|
+
* and additionally provides the found int variables and byte blocks
|
|
164
|
+
*
|
|
165
|
+
* @deprecated Validation relies on metadata (`langspec.json`) that
|
|
166
|
+
* does not accurately represent opcode behavior across program versions.
|
|
167
|
+
* The behavior of `readProgram` relies on `langspec.json`.
|
|
168
|
+
* Thus, this method is being deprecated.
|
|
169
|
+
*
|
|
170
|
+
* @param program - Program to check
|
|
171
|
+
* @param args - Program arguments as array of Uint8Array arrays
|
|
172
|
+
* @throws
|
|
173
|
+
* @returns
|
|
174
|
+
*/
|
|
175
|
+
export function readProgram(
|
|
176
|
+
program: Uint8Array,
|
|
177
|
+
args?: Uint8Array[]
|
|
178
|
+
): [ints: number[], byteArrays: Uint8Array[], valid: boolean] {
|
|
179
|
+
const intcblockOpcode = 32;
|
|
180
|
+
const bytecblockOpcode = 38;
|
|
181
|
+
const pushbytesOpcode = 128;
|
|
182
|
+
const pushintOpcode = 129;
|
|
183
|
+
|
|
184
|
+
if (!program) {
|
|
185
|
+
throw new Error('empty program');
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
if (typeof args === 'undefined') {
|
|
189
|
+
// eslint-disable-next-line no-param-reassign
|
|
190
|
+
args = [];
|
|
191
|
+
}
|
|
192
|
+
if (!Array.isArray(args)) {
|
|
193
|
+
throw new Error('invalid arguments');
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
const [version, vlen] = parseUvarint(program);
|
|
197
|
+
if (vlen <= 0) {
|
|
198
|
+
throw new Error('version parsing error');
|
|
199
|
+
}
|
|
200
|
+
if (version > langspec.EvalMaxVersion) {
|
|
201
|
+
throw new Error('unsupported version');
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
let cost = 0;
|
|
205
|
+
let { length } = program;
|
|
206
|
+
for (const arg of args) {
|
|
207
|
+
length += arg.length;
|
|
208
|
+
}
|
|
209
|
+
if (length > maxLength) {
|
|
210
|
+
throw new Error('program too long');
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
if (!opcodes) {
|
|
214
|
+
opcodes = {};
|
|
215
|
+
for (const op of langspec.Ops) {
|
|
216
|
+
opcodes[op.Opcode] = op;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
let pc = vlen;
|
|
221
|
+
let ints: number[] = [];
|
|
222
|
+
let byteArrays: Uint8Array[] = [];
|
|
223
|
+
while (pc < program.length) {
|
|
224
|
+
const op = opcodes[program[pc]];
|
|
225
|
+
if (op === undefined) {
|
|
226
|
+
throw new Error('invalid instruction');
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
cost += op.Cost;
|
|
230
|
+
let size = op.Size;
|
|
231
|
+
if (size === 0) {
|
|
232
|
+
switch (op.Opcode) {
|
|
233
|
+
case intcblockOpcode: {
|
|
234
|
+
let foundInts: number[];
|
|
235
|
+
[size, foundInts] = readIntConstBlock(program, pc);
|
|
236
|
+
ints = ints.concat(foundInts);
|
|
237
|
+
break;
|
|
238
|
+
}
|
|
239
|
+
case bytecblockOpcode: {
|
|
240
|
+
let foundByteArrays: Uint8Array[];
|
|
241
|
+
[size, foundByteArrays] = readByteConstBlock(program, pc);
|
|
242
|
+
byteArrays = byteArrays.concat(foundByteArrays);
|
|
243
|
+
break;
|
|
244
|
+
}
|
|
245
|
+
case pushintOpcode: {
|
|
246
|
+
let foundInt: number;
|
|
247
|
+
[size, foundInt] = readPushIntOp(program, pc);
|
|
248
|
+
ints.push(foundInt);
|
|
249
|
+
break;
|
|
250
|
+
}
|
|
251
|
+
case pushbytesOpcode: {
|
|
252
|
+
let foundByteArray;
|
|
253
|
+
[size, foundByteArray] = readPushByteOp(program, pc);
|
|
254
|
+
byteArrays.push(foundByteArray);
|
|
255
|
+
break;
|
|
256
|
+
}
|
|
257
|
+
default: {
|
|
258
|
+
throw new Error('invalid instruction');
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
pc += size;
|
|
263
|
+
}
|
|
264
|
+
// costs calculated dynamically starting in v4
|
|
265
|
+
if (version < 4 && cost > maxCost) {
|
|
266
|
+
throw new Error('program too costly for version < 4. consider using v4.');
|
|
267
|
+
}
|
|
268
|
+
return [ints, byteArrays, true];
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* checkProgram validates program for length and running cost
|
|
273
|
+
*
|
|
274
|
+
* @deprecated Validation relies on metadata (`langspec.json`) that
|
|
275
|
+
* does not accurately represent opcode behavior across program versions.
|
|
276
|
+
* The behavior of `checkProgram` relies on `langspec.json`.
|
|
277
|
+
* Thus, this method is being deprecated.
|
|
278
|
+
*
|
|
279
|
+
* @param program - Program to check
|
|
280
|
+
* @param args - Program arguments as array of Uint8Array arrays
|
|
281
|
+
* @throws
|
|
282
|
+
* @returns true if success
|
|
283
|
+
*/
|
|
284
|
+
export function checkProgram(program: Uint8Array, args?: Uint8Array[]) {
|
|
285
|
+
const [, , success] = readProgram(program, args);
|
|
286
|
+
return success;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
290
|
+
export function checkIntConstBlock(program: Uint8Array, pc: number) {
|
|
291
|
+
const [size] = readIntConstBlock(program, pc);
|
|
292
|
+
return size;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
296
|
+
export function checkByteConstBlock(program: Uint8Array, pc: number) {
|
|
297
|
+
const [size] = readByteConstBlock(program, pc);
|
|
298
|
+
return size;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
302
|
+
export function checkPushIntOp(program: Uint8Array, pc: number) {
|
|
303
|
+
const [size] = readPushIntOp(program, pc);
|
|
304
|
+
return size;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
308
|
+
export function checkPushByteOp(program: Uint8Array, pc: number) {
|
|
309
|
+
const [size] = readPushByteOp(program, pc);
|
|
310
|
+
return size;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
314
|
+
export const langspecEvalMaxVersion = langspec.EvalMaxVersion;
|
|
315
|
+
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
316
|
+
export const langspecLogicSigVersion = langspec.LogicSigVersion;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import * as vlq from 'vlq';
|
|
2
|
+
|
|
3
|
+
export class SourceMap {
|
|
4
|
+
version: number;
|
|
5
|
+
sources: string[];
|
|
6
|
+
names: string[];
|
|
7
|
+
mappings: string;
|
|
8
|
+
|
|
9
|
+
pcToLine: { [key: number]: number };
|
|
10
|
+
lineToPc: { [key: number]: number[] };
|
|
11
|
+
|
|
12
|
+
constructor({
|
|
13
|
+
version,
|
|
14
|
+
sources,
|
|
15
|
+
names,
|
|
16
|
+
mappings,
|
|
17
|
+
}: {
|
|
18
|
+
version: number;
|
|
19
|
+
sources: string[];
|
|
20
|
+
names: string[];
|
|
21
|
+
mappings: string;
|
|
22
|
+
}) {
|
|
23
|
+
this.version = version;
|
|
24
|
+
this.sources = sources;
|
|
25
|
+
this.names = names;
|
|
26
|
+
this.mappings = mappings;
|
|
27
|
+
|
|
28
|
+
if (this.version !== 3)
|
|
29
|
+
throw new Error(`Only version 3 is supported, got ${this.version}`);
|
|
30
|
+
|
|
31
|
+
if (this.mappings === undefined)
|
|
32
|
+
throw new Error(
|
|
33
|
+
'mapping undefined, cannot build source map without `mapping`'
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
const pcList = this.mappings.split(';').map((m) => {
|
|
37
|
+
const decoded = vlq.decode(m);
|
|
38
|
+
if (decoded.length > 2) return decoded[2];
|
|
39
|
+
return undefined;
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
this.pcToLine = {};
|
|
43
|
+
this.lineToPc = {};
|
|
44
|
+
|
|
45
|
+
let lastLine = 0;
|
|
46
|
+
for (const [pc, lineDelta] of pcList.entries()) {
|
|
47
|
+
// If the delta is not undefined, the lastLine should be updated with
|
|
48
|
+
// lastLine + the delta
|
|
49
|
+
if (lineDelta !== undefined) {
|
|
50
|
+
lastLine += lineDelta;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (!(lastLine in this.lineToPc)) this.lineToPc[lastLine] = [];
|
|
54
|
+
|
|
55
|
+
this.lineToPc[lastLine].push(pc);
|
|
56
|
+
this.pcToLine[pc] = lastLine;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
getLineForPc(pc: number): number | undefined {
|
|
61
|
+
return this.pcToLine[pc];
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
getPcsForLine(line: number): number[] | undefined {
|
|
65
|
+
return this.lineToPc[line];
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
const address = require('../encoding/address');
|
|
2
|
+
const encoding = require('../encoding/encoding');
|
|
3
|
+
const group = require('../group');
|
|
4
|
+
const logic = require('../logic/logic');
|
|
5
|
+
const logicSig = require('../logicsig');
|
|
6
|
+
const nacl = require('../nacl/naclWrappers');
|
|
7
|
+
const templates = require('./templates');
|
|
8
|
+
const transaction = require('../transaction');
|
|
9
|
+
|
|
10
|
+
class DynamicFee {
|
|
11
|
+
/**
|
|
12
|
+
* DynamicFee contract allows you to create a transaction without
|
|
13
|
+
* specifying the fee. The fee will be determined at the moment of
|
|
14
|
+
* transfer.
|
|
15
|
+
*
|
|
16
|
+
* @deprecated This feature will be removed in v2.
|
|
17
|
+
*
|
|
18
|
+
* Constructor Parameters:
|
|
19
|
+
* @param {string} receiver: address to receive the assets
|
|
20
|
+
* @param {int} amount: amount of assets to transfer
|
|
21
|
+
* @param {int} firstValid: first valid round for the transaction
|
|
22
|
+
* @param {int} lastValid: last valid round for the transaction
|
|
23
|
+
* @param {string} closeRemainder: if you would like to close the account after the transfer, specify the address that would recieve the remainder, else leave undefined
|
|
24
|
+
* @param {string} lease: leave undefined to generate a random lease, or supply a lease as base64
|
|
25
|
+
* @returns {DynamicFee}
|
|
26
|
+
*/
|
|
27
|
+
constructor(receiver, amount, firstValid, lastValid, closeRemainder, lease) {
|
|
28
|
+
// don't need to validate receiver, closeremainderto - insert will handle that
|
|
29
|
+
if (!Number.isSafeInteger(amount) || amount < 0)
|
|
30
|
+
throw Error('amount must be a positive number and smaller than 2^53-1');
|
|
31
|
+
if (!Number.isSafeInteger(firstValid) || firstValid < 0)
|
|
32
|
+
throw Error(
|
|
33
|
+
'firstValid must be a positive number and smaller than 2^53-1'
|
|
34
|
+
);
|
|
35
|
+
if (!Number.isSafeInteger(lastValid) || lastValid < 0)
|
|
36
|
+
throw Error(
|
|
37
|
+
'lastValid must be a positive number and smaller than 2^53-1'
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
if (typeof closeRemainder === 'undefined') {
|
|
41
|
+
// eslint-disable-next-line no-param-reassign
|
|
42
|
+
closeRemainder = address.ALGORAND_ZERO_ADDRESS_STRING;
|
|
43
|
+
}
|
|
44
|
+
if (typeof lease === 'undefined') {
|
|
45
|
+
const leaseBytes = nacl.randomBytes(32);
|
|
46
|
+
// eslint-disable-next-line no-param-reassign
|
|
47
|
+
lease = Buffer.from(leaseBytes).toString('base64');
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const referenceProgramB64 =
|
|
51
|
+
'ASAFAgEHBgUmAyD+vKC7FEpaTqe0OKRoGsgObKEFvLYH/FZTJclWlfaiEyDmmpYeby1feshmB5JlUr6YI17TM2PKiJGLuck4qRW2+SB/g7Flf/H8U7ktwYFIodZd/C1LH6PWdyhK3dIAEm2QaTIEIhIzABAjEhAzAAcxABIQMwAIMQESEDEWIxIQMRAjEhAxBygSEDEJKRIQMQgkEhAxAiUSEDEEIQQSEDEGKhIQ';
|
|
52
|
+
const referenceProgramBytes = Buffer.from(referenceProgramB64, 'base64');
|
|
53
|
+
const referenceOffsets = [
|
|
54
|
+
5 /* firstValid */,
|
|
55
|
+
6 /* lastValid */,
|
|
56
|
+
7 /* receiver */,
|
|
57
|
+
11 /* closeRemainder */,
|
|
58
|
+
44 /* lease */,
|
|
59
|
+
76,
|
|
60
|
+
];
|
|
61
|
+
const injectionVector = [
|
|
62
|
+
amount,
|
|
63
|
+
firstValid,
|
|
64
|
+
lastValid,
|
|
65
|
+
receiver,
|
|
66
|
+
closeRemainder,
|
|
67
|
+
lease,
|
|
68
|
+
];
|
|
69
|
+
const injectionTypes = [
|
|
70
|
+
templates.valTypes.INT,
|
|
71
|
+
templates.valTypes.INT,
|
|
72
|
+
templates.valTypes.INT,
|
|
73
|
+
templates.valTypes.ADDRESS,
|
|
74
|
+
templates.valTypes.ADDRESS,
|
|
75
|
+
templates.valTypes.BASE64,
|
|
76
|
+
];
|
|
77
|
+
const injectedBytes = templates.inject(
|
|
78
|
+
referenceProgramBytes,
|
|
79
|
+
referenceOffsets,
|
|
80
|
+
injectionVector,
|
|
81
|
+
injectionTypes
|
|
82
|
+
);
|
|
83
|
+
this.programBytes = injectedBytes;
|
|
84
|
+
const lsig = new logicSig.LogicSig(injectedBytes, undefined);
|
|
85
|
+
this.address = lsig.address();
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* returns the program bytes
|
|
90
|
+
* @returns {Uint8Array}
|
|
91
|
+
*/
|
|
92
|
+
getProgram() {
|
|
93
|
+
return this.programBytes;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* returns the string address of the contract
|
|
98
|
+
* @returns {string}
|
|
99
|
+
*/
|
|
100
|
+
getAddress() {
|
|
101
|
+
return this.address;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* signDynamicFee returns the main transaction and signed logic needed to complete the transfer.
|
|
106
|
+
* These should be sent to the fee payer, who can use GetDynamicFeeTransactions
|
|
107
|
+
*
|
|
108
|
+
* @deprecated This feature will be removed in v2.
|
|
109
|
+
*
|
|
110
|
+
* @param {Uint8Array} contract: the bytearray representing the contract
|
|
111
|
+
* @param {Uint8Array} secretKey: the secret key for building the logic sig
|
|
112
|
+
* @param {string} genesisHash: the genesisHash to use for the txn
|
|
113
|
+
* @returns {Object} object containing json of txnbuilder constructor arguments under "txn" and signed logicsig under "lsig"
|
|
114
|
+
*/
|
|
115
|
+
function signDynamicFee(contract, secretKey, genesisHash) {
|
|
116
|
+
const programOutputs = logic.readProgram(contract, undefined);
|
|
117
|
+
const ints = programOutputs[0];
|
|
118
|
+
const byteArrays = programOutputs[1];
|
|
119
|
+
const keys = nacl.keyPairFromSecretKey(secretKey);
|
|
120
|
+
const from = address.encodeAddress(keys.publicKey);
|
|
121
|
+
const to = address.encodeAddress(byteArrays[0]);
|
|
122
|
+
const fee = 0;
|
|
123
|
+
const amount = ints[2];
|
|
124
|
+
const closeRemainderTo = address.encodeAddress(byteArrays[1]);
|
|
125
|
+
const firstRound = ints[3];
|
|
126
|
+
const lastRound = ints[4];
|
|
127
|
+
const lease = new Uint8Array(byteArrays[2]);
|
|
128
|
+
const txn = {
|
|
129
|
+
from,
|
|
130
|
+
to,
|
|
131
|
+
fee,
|
|
132
|
+
amount,
|
|
133
|
+
closeRemainderTo,
|
|
134
|
+
firstRound,
|
|
135
|
+
lastRound,
|
|
136
|
+
genesisHash,
|
|
137
|
+
type: 'pay',
|
|
138
|
+
lease,
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
const lsig = new logicSig.LogicSig(contract, undefined);
|
|
142
|
+
lsig.sign(secretKey);
|
|
143
|
+
return { txn, lsig };
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* getDynamicFeeTransactions creates and signs the secondary dynamic fee transaction, updates
|
|
148
|
+
* transaction fields, and signs as the fee payer; it returns both
|
|
149
|
+
* transactions as bytes suitable for sendRaw.
|
|
150
|
+
*
|
|
151
|
+
* @deprecated This feature will be removed in v2.
|
|
152
|
+
*
|
|
153
|
+
* Parameters:
|
|
154
|
+
* @param {dict} txn - main transaction from payer's signDynamicFee output (a dict of constructor arguments, NOT a transaction.Transaction)
|
|
155
|
+
* @param {LogicSig} lsig - the signed logic received from the payer's signDynamicFee output
|
|
156
|
+
* @param {Uint8Array} privateKey - the private key for the account that pays the fee
|
|
157
|
+
* @param {int} fee - fee per byte for both transactions
|
|
158
|
+
*
|
|
159
|
+
* @throws on invalid lsig
|
|
160
|
+
*/
|
|
161
|
+
/* eslint-disable no-param-reassign */
|
|
162
|
+
function getDynamicFeeTransactions(txn, lsig, privateKey, fee) {
|
|
163
|
+
if (!lsig.verify(address.decodeAddress(txn.from).publicKey)) {
|
|
164
|
+
throw new Error('invalid signature');
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
txn.fee = fee;
|
|
168
|
+
if (txn.fee < transaction.ALGORAND_MIN_TX_FEE) {
|
|
169
|
+
txn.fee = transaction.ALGORAND_MIN_TX_FEE;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
const keys = nacl.keyPairFromSecretKey(privateKey);
|
|
173
|
+
const from = address.encodeAddress(keys.publicKey);
|
|
174
|
+
|
|
175
|
+
// must remove lease and re-add using addLease so that fee calculation will match other SDKs
|
|
176
|
+
const { lease } = txn;
|
|
177
|
+
delete txn.lease;
|
|
178
|
+
|
|
179
|
+
const txnObj = new transaction.Transaction(txn);
|
|
180
|
+
txnObj.addLease(lease, fee);
|
|
181
|
+
|
|
182
|
+
const feePayTxn = {
|
|
183
|
+
from,
|
|
184
|
+
to: txn.from,
|
|
185
|
+
fee,
|
|
186
|
+
amount: txnObj.fee, // calculated after txnObj is built to have the correct fee
|
|
187
|
+
firstRound: txn.firstRound,
|
|
188
|
+
lastRound: txn.lastRound,
|
|
189
|
+
genesisHash: txn.genesisHash,
|
|
190
|
+
type: 'pay',
|
|
191
|
+
};
|
|
192
|
+
const feePayTxnObj = new transaction.Transaction(feePayTxn);
|
|
193
|
+
feePayTxnObj.addLease(lease, fee);
|
|
194
|
+
|
|
195
|
+
const txnGroup = group.assignGroupID([feePayTxnObj, txnObj], undefined);
|
|
196
|
+
const feePayTxnWithGroup = txnGroup[0];
|
|
197
|
+
const txnObjWithGroup = txnGroup[1];
|
|
198
|
+
|
|
199
|
+
const lstx = {
|
|
200
|
+
lsig: lsig.get_obj_for_encoding(),
|
|
201
|
+
txn: txnObjWithGroup.get_obj_for_encoding(),
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
const stx1 = feePayTxnWithGroup.signTxn(privateKey);
|
|
205
|
+
const stx2 = encoding.encode(lstx);
|
|
206
|
+
|
|
207
|
+
const concatStx = new Uint8Array(stx1.length + stx2.length);
|
|
208
|
+
concatStx.set(stx1);
|
|
209
|
+
concatStx.set(stx2, stx1.length);
|
|
210
|
+
|
|
211
|
+
return concatStx;
|
|
212
|
+
}
|
|
213
|
+
/* eslint-enable no-param-reassign */
|
|
214
|
+
|
|
215
|
+
module.exports = {
|
|
216
|
+
DynamicFee,
|
|
217
|
+
getDynamicFeeTransactions,
|
|
218
|
+
signDynamicFee,
|
|
219
|
+
};
|