algosdk 1.24.0 → 2.0.0
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.LICENSE.txt +0 -18
- package/dist/browser/algosdk.min.js.map +1 -1
- package/dist/cjs/{src/abi → abi}/abi_type.js +0 -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}/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/client/v2/algod/algod.js +512 -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 +2085 -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/client/v2/indexer/lookupAssetTransactions.js +385 -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/dryrun.js +309 -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}/sourcemap.js +0 -0
- package/dist/cjs/logic/sourcemap.js.map +1 -0
- package/dist/cjs/logicsig.js +435 -0
- package/dist/cjs/logicsig.js.map +1 -0
- package/dist/cjs/main.js +197 -0
- package/dist/cjs/main.js.map +1 -0
- package/dist/cjs/makeTxn.js +670 -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/{src/multisig.js → multisig.js} +0 -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/{src/abi → abi}/abi_type.js +0 -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}/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/client/v2/algod/algod.js +506 -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 +2038 -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/client/v2/indexer/lookupAssetTransactions.js +379 -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/dryrun.js +304 -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}/sourcemap.js +0 -0
- package/dist/esm/logic/sourcemap.js.map +1 -0
- package/dist/esm/logicsig.js +401 -0
- package/dist/esm/logicsig.js.map +1 -0
- package/dist/esm/main.js +120 -0
- package/dist/esm/main.js.map +1 -0
- package/dist/esm/makeTxn.js +616 -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/{src/multisig.js → multisig.js} +0 -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}/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/client/v2/algod/algod.d.ts +456 -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 +1689 -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/client/v2/indexer/lookupAssetTransactions.d.ts +323 -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}/sourcemap.d.ts +0 -0
- package/dist/types/logicsig.d.ts +183 -0
- package/dist/types/main.d.ts +88 -0
- package/dist/types/makeTxn.d.ts +426 -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/{src/multisig.d.ts → multisig.d.ts} +0 -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/types/transactions/encoded.d.ts +329 -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/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 +3731 -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 +398 -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/sourcemap.ts +67 -0
- package/src/logicsig.ts +512 -0
- package/src/main.ts +181 -0
- package/src/makeTxn.ts +1450 -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 +406 -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.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 +0 -295
- 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 +0 -512
- 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 -2047
- 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 +0 -392
- 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 +0 -300
- 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/langspec.json +0 -2014
- package/dist/cjs/src/logic/logic.js +0 -262
- 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 +0 -192
- package/dist/cjs/src/logicTemplates/dynamicfee.js.map +0 -1
- package/dist/cjs/src/logicTemplates/htlc.js +0 -145
- package/dist/cjs/src/logicTemplates/htlc.js.map +0 -1
- package/dist/cjs/src/logicTemplates/index.js +0 -19
- package/dist/cjs/src/logicTemplates/index.js.map +0 -1
- package/dist/cjs/src/logicTemplates/limitorder.js +0 -167
- package/dist/cjs/src/logicTemplates/limitorder.js.map +0 -1
- package/dist/cjs/src/logicTemplates/periodicpayment.js +0 -163
- package/dist/cjs/src/logicTemplates/periodicpayment.js.map +0 -1
- package/dist/cjs/src/logicTemplates/split.js +0 -154
- package/dist/cjs/src/logicTemplates/split.js.map +0 -1
- package/dist/cjs/src/logicTemplates/templates.js +0 -67
- package/dist/cjs/src/logicTemplates/templates.js.map +0 -1
- package/dist/cjs/src/logicsig.js +0 -446
- package/dist/cjs/src/logicsig.js.map +0 -1
- package/dist/cjs/src/main.js +0 -200
- package/dist/cjs/src/main.js.map +0 -1
- package/dist/cjs/src/makeTxn.js +0 -862
- 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.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.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 +0 -295
- 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 +0 -506
- 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 -1998
- 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 +0 -386
- 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 +0 -295
- 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/langspec.json +0 -2014
- package/dist/esm/src/logic/logic.js +0 -249
- 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 +0 -192
- package/dist/esm/src/logicTemplates/dynamicfee.js.map +0 -1
- package/dist/esm/src/logicTemplates/htlc.js +0 -145
- package/dist/esm/src/logicTemplates/htlc.js.map +0 -1
- package/dist/esm/src/logicTemplates/index.js +0 -19
- package/dist/esm/src/logicTemplates/index.js.map +0 -1
- package/dist/esm/src/logicTemplates/limitorder.js +0 -167
- package/dist/esm/src/logicTemplates/limitorder.js.map +0 -1
- package/dist/esm/src/logicTemplates/periodicpayment.js +0 -163
- package/dist/esm/src/logicTemplates/periodicpayment.js.map +0 -1
- package/dist/esm/src/logicTemplates/split.js +0 -154
- package/dist/esm/src/logicTemplates/split.js.map +0 -1
- package/dist/esm/src/logicTemplates/templates.js +0 -67
- package/dist/esm/src/logicTemplates/templates.js.map +0 -1
- package/dist/esm/src/logicsig.js +0 -411
- package/dist/esm/src/logicsig.js.map +0 -1
- package/dist/esm/src/main.js +0 -123
- package/dist/esm/src/main.js.map +0 -1
- package/dist/esm/src/makeTxn.js +0 -801
- 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.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/algod.d.ts +0 -162
- package/dist/types/src/client/v2/algod/algod.d.ts +0 -456
- package/dist/types/src/client/v2/algod/models/types.d.ts +0 -1634
- package/dist/types/src/client/v2/indexer/lookupAssetTransactions.d.ts +0 -327
- package/dist/types/src/logic/logic.d.ts +0 -45
- package/dist/types/src/logicTemplates/dynamicfee.d.ts +0 -59
- package/dist/types/src/logicTemplates/htlc.d.ts +0 -51
- package/dist/types/src/logicTemplates/index.d.ts +0 -16
- package/dist/types/src/logicTemplates/limitorder.d.ts +0 -70
- package/dist/types/src/logicTemplates/periodicpayment.d.ts +0 -58
- package/dist/types/src/logicTemplates/split.d.ts +0 -57
- package/dist/types/src/logicTemplates/templates.d.ts +0 -6
- package/dist/types/src/logicsig.d.ts +0 -191
- package/dist/types/src/main.d.ts +0 -90
- package/dist/types/src/makeTxn.d.ts +0 -572
- package/dist/types/src/types/transactions/encoded.d.ts +0 -344
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
/* eslint-disable no-bitwise */
|
|
2
|
-
/**
|
|
3
|
-
* Utilities for working with program bytes.
|
|
4
|
-
*/
|
|
5
|
-
/** @deprecated langspec.json is deprecated aross all SDKs */
|
|
6
|
-
import langspec from './langspec.json';
|
|
7
|
-
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
8
|
-
let opcodes;
|
|
9
|
-
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
10
|
-
const maxCost = 20000;
|
|
11
|
-
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
12
|
-
const maxLength = 1000;
|
|
13
|
-
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
14
|
-
export function parseUvarint(array) {
|
|
15
|
-
let x = 0;
|
|
16
|
-
let s = 0;
|
|
17
|
-
for (let i = 0; i < array.length; i++) {
|
|
18
|
-
const b = array[i];
|
|
19
|
-
if (b < 0x80) {
|
|
20
|
-
if (i > 9 || (i === 9 && b > 1)) {
|
|
21
|
-
return [0, -(i + 1)];
|
|
22
|
-
}
|
|
23
|
-
return [x | (b << s), i + 1];
|
|
24
|
-
}
|
|
25
|
-
x += (b & 0x7f) << s;
|
|
26
|
-
s += 7;
|
|
27
|
-
}
|
|
28
|
-
return [0, 0];
|
|
29
|
-
}
|
|
30
|
-
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
31
|
-
function readIntConstBlock(program, pc) {
|
|
32
|
-
let size = 1;
|
|
33
|
-
const parsed = parseUvarint(program.slice(pc + size));
|
|
34
|
-
const numInts = parsed[0];
|
|
35
|
-
let bytesUsed = parsed[1];
|
|
36
|
-
if (bytesUsed <= 0) {
|
|
37
|
-
throw new Error(`could not decode int const block size at pc=${pc + size}`);
|
|
38
|
-
}
|
|
39
|
-
const ints = [];
|
|
40
|
-
size += bytesUsed;
|
|
41
|
-
for (let i = 0; i < numInts; i++) {
|
|
42
|
-
if (pc + size >= program.length) {
|
|
43
|
-
throw new Error('intcblock ran past end of program');
|
|
44
|
-
}
|
|
45
|
-
let numberFound;
|
|
46
|
-
[numberFound, bytesUsed] = parseUvarint(program.slice(pc + size));
|
|
47
|
-
if (bytesUsed <= 0) {
|
|
48
|
-
throw new Error(`could not decode int const[${i}] block size at pc=${pc + size}`);
|
|
49
|
-
}
|
|
50
|
-
ints.push(numberFound);
|
|
51
|
-
size += bytesUsed;
|
|
52
|
-
}
|
|
53
|
-
return [size, ints];
|
|
54
|
-
}
|
|
55
|
-
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
56
|
-
function readByteConstBlock(program, pc) {
|
|
57
|
-
let size = 1;
|
|
58
|
-
const parsed = parseUvarint(program.slice(pc + size));
|
|
59
|
-
const numInts = parsed[0];
|
|
60
|
-
let bytesUsed = parsed[1];
|
|
61
|
-
if (bytesUsed <= 0) {
|
|
62
|
-
throw new Error(`could not decode []byte const block size at pc=${pc + size}`);
|
|
63
|
-
}
|
|
64
|
-
const byteArrays = [];
|
|
65
|
-
size += bytesUsed;
|
|
66
|
-
for (let i = 0; i < numInts; i++) {
|
|
67
|
-
if (pc + size >= program.length) {
|
|
68
|
-
throw new Error('bytecblock ran past end of program');
|
|
69
|
-
}
|
|
70
|
-
let itemLen;
|
|
71
|
-
[itemLen, bytesUsed] = parseUvarint(program.slice(pc + size));
|
|
72
|
-
if (bytesUsed <= 0) {
|
|
73
|
-
throw new Error(`could not decode []byte] const[${i}] block size at pc=${pc + size}`);
|
|
74
|
-
}
|
|
75
|
-
size += bytesUsed;
|
|
76
|
-
if (pc + size + itemLen > program.length) {
|
|
77
|
-
throw new Error('bytecblock ran past end of program');
|
|
78
|
-
}
|
|
79
|
-
const byteArray = program.slice(pc + size, pc + size + itemLen);
|
|
80
|
-
byteArrays.push(byteArray);
|
|
81
|
-
size += itemLen;
|
|
82
|
-
}
|
|
83
|
-
return [size, byteArrays];
|
|
84
|
-
}
|
|
85
|
-
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
86
|
-
function readPushIntOp(program, pc) {
|
|
87
|
-
let size = 1;
|
|
88
|
-
const [numberFound, bytesUsed] = parseUvarint(program.slice(pc + size));
|
|
89
|
-
if (bytesUsed <= 0) {
|
|
90
|
-
throw new Error(`could not decode push int const at pc=${pc + size}`);
|
|
91
|
-
}
|
|
92
|
-
size += bytesUsed;
|
|
93
|
-
return [size, numberFound];
|
|
94
|
-
}
|
|
95
|
-
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
96
|
-
function readPushByteOp(program, pc) {
|
|
97
|
-
let size = 1;
|
|
98
|
-
const [itemLen, bytesUsed] = parseUvarint(program.slice(pc + size));
|
|
99
|
-
if (bytesUsed <= 0) {
|
|
100
|
-
throw new Error(`could not decode push []byte const size at pc=${pc + size}`);
|
|
101
|
-
}
|
|
102
|
-
size += bytesUsed;
|
|
103
|
-
if (pc + size + itemLen > program.length) {
|
|
104
|
-
throw new Error('pushbytes ran past end of program');
|
|
105
|
-
}
|
|
106
|
-
const byteArray = program.slice(pc + size, pc + size + itemLen);
|
|
107
|
-
size += itemLen;
|
|
108
|
-
return [size, byteArray];
|
|
109
|
-
}
|
|
110
|
-
/** readProgram validates program for length and running cost,
|
|
111
|
-
* and additionally provides the found int variables and byte blocks
|
|
112
|
-
*
|
|
113
|
-
* @deprecated Validation relies on metadata (`langspec.json`) that
|
|
114
|
-
* does not accurately represent opcode behavior across program versions.
|
|
115
|
-
* The behavior of `readProgram` relies on `langspec.json`.
|
|
116
|
-
* Thus, this method is being deprecated.
|
|
117
|
-
*
|
|
118
|
-
* @param program - Program to check
|
|
119
|
-
* @param args - Program arguments as array of Uint8Array arrays
|
|
120
|
-
* @throws
|
|
121
|
-
* @returns
|
|
122
|
-
*/
|
|
123
|
-
export function readProgram(program, args) {
|
|
124
|
-
const intcblockOpcode = 32;
|
|
125
|
-
const bytecblockOpcode = 38;
|
|
126
|
-
const pushbytesOpcode = 128;
|
|
127
|
-
const pushintOpcode = 129;
|
|
128
|
-
if (!program) {
|
|
129
|
-
throw new Error('empty program');
|
|
130
|
-
}
|
|
131
|
-
if (typeof args === 'undefined') {
|
|
132
|
-
// eslint-disable-next-line no-param-reassign
|
|
133
|
-
args = [];
|
|
134
|
-
}
|
|
135
|
-
if (!Array.isArray(args)) {
|
|
136
|
-
throw new Error('invalid arguments');
|
|
137
|
-
}
|
|
138
|
-
const [version, vlen] = parseUvarint(program);
|
|
139
|
-
if (vlen <= 0) {
|
|
140
|
-
throw new Error('version parsing error');
|
|
141
|
-
}
|
|
142
|
-
if (version > langspec.EvalMaxVersion) {
|
|
143
|
-
throw new Error('unsupported version');
|
|
144
|
-
}
|
|
145
|
-
let cost = 0;
|
|
146
|
-
let { length } = program;
|
|
147
|
-
for (const arg of args) {
|
|
148
|
-
length += arg.length;
|
|
149
|
-
}
|
|
150
|
-
if (length > maxLength) {
|
|
151
|
-
throw new Error('program too long');
|
|
152
|
-
}
|
|
153
|
-
if (!opcodes) {
|
|
154
|
-
opcodes = {};
|
|
155
|
-
for (const op of langspec.Ops) {
|
|
156
|
-
opcodes[op.Opcode] = op;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
let pc = vlen;
|
|
160
|
-
let ints = [];
|
|
161
|
-
let byteArrays = [];
|
|
162
|
-
while (pc < program.length) {
|
|
163
|
-
const op = opcodes[program[pc]];
|
|
164
|
-
if (op === undefined) {
|
|
165
|
-
throw new Error('invalid instruction');
|
|
166
|
-
}
|
|
167
|
-
cost += op.Cost;
|
|
168
|
-
let size = op.Size;
|
|
169
|
-
if (size === 0) {
|
|
170
|
-
switch (op.Opcode) {
|
|
171
|
-
case intcblockOpcode: {
|
|
172
|
-
let foundInts;
|
|
173
|
-
[size, foundInts] = readIntConstBlock(program, pc);
|
|
174
|
-
ints = ints.concat(foundInts);
|
|
175
|
-
break;
|
|
176
|
-
}
|
|
177
|
-
case bytecblockOpcode: {
|
|
178
|
-
let foundByteArrays;
|
|
179
|
-
[size, foundByteArrays] = readByteConstBlock(program, pc);
|
|
180
|
-
byteArrays = byteArrays.concat(foundByteArrays);
|
|
181
|
-
break;
|
|
182
|
-
}
|
|
183
|
-
case pushintOpcode: {
|
|
184
|
-
let foundInt;
|
|
185
|
-
[size, foundInt] = readPushIntOp(program, pc);
|
|
186
|
-
ints.push(foundInt);
|
|
187
|
-
break;
|
|
188
|
-
}
|
|
189
|
-
case pushbytesOpcode: {
|
|
190
|
-
let foundByteArray;
|
|
191
|
-
[size, foundByteArray] = readPushByteOp(program, pc);
|
|
192
|
-
byteArrays.push(foundByteArray);
|
|
193
|
-
break;
|
|
194
|
-
}
|
|
195
|
-
default: {
|
|
196
|
-
throw new Error('invalid instruction');
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
pc += size;
|
|
201
|
-
}
|
|
202
|
-
// costs calculated dynamically starting in v4
|
|
203
|
-
if (version < 4 && cost > maxCost) {
|
|
204
|
-
throw new Error('program too costly for version < 4. consider using v4.');
|
|
205
|
-
}
|
|
206
|
-
return [ints, byteArrays, true];
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* checkProgram validates program for length and running cost
|
|
210
|
-
*
|
|
211
|
-
* @deprecated Validation relies on metadata (`langspec.json`) that
|
|
212
|
-
* does not accurately represent opcode behavior across program versions.
|
|
213
|
-
* The behavior of `checkProgram` relies on `langspec.json`.
|
|
214
|
-
* Thus, this method is being deprecated.
|
|
215
|
-
*
|
|
216
|
-
* @param program - Program to check
|
|
217
|
-
* @param args - Program arguments as array of Uint8Array arrays
|
|
218
|
-
* @throws
|
|
219
|
-
* @returns true if success
|
|
220
|
-
*/
|
|
221
|
-
export function checkProgram(program, args) {
|
|
222
|
-
const [, , success] = readProgram(program, args);
|
|
223
|
-
return success;
|
|
224
|
-
}
|
|
225
|
-
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
226
|
-
export function checkIntConstBlock(program, pc) {
|
|
227
|
-
const [size] = readIntConstBlock(program, pc);
|
|
228
|
-
return size;
|
|
229
|
-
}
|
|
230
|
-
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
231
|
-
export function checkByteConstBlock(program, pc) {
|
|
232
|
-
const [size] = readByteConstBlock(program, pc);
|
|
233
|
-
return size;
|
|
234
|
-
}
|
|
235
|
-
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
236
|
-
export function checkPushIntOp(program, pc) {
|
|
237
|
-
const [size] = readPushIntOp(program, pc);
|
|
238
|
-
return size;
|
|
239
|
-
}
|
|
240
|
-
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
241
|
-
export function checkPushByteOp(program, pc) {
|
|
242
|
-
const [size] = readPushByteOp(program, pc);
|
|
243
|
-
return size;
|
|
244
|
-
}
|
|
245
|
-
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
246
|
-
export const langspecEvalMaxVersion = langspec.EvalMaxVersion;
|
|
247
|
-
/** @deprecated for langspec.json is deprecated aross all SDKs */
|
|
248
|
-
export const langspecLogicSigVersion = langspec.LogicSigVersion;
|
|
249
|
-
//# sourceMappingURL=logic.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../../src/logic/logic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sourcemap.js","sourceRoot":"","sources":["../../../../src/logic/sourcemap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,MAAM,OAAO,SAAS;IASpB,YAAY,EACV,OAAO,EACP,OAAO,EACP,KAAK,EACL,QAAQ,GAMT;QACC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAEtE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAC7B,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;QAEJ,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAChD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1C,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEnB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE;YAC9C,qEAAqE;YACrE,uBAAuB;YACvB,IAAI,SAAS,KAAK,SAAS,EAAE;gBAC3B,QAAQ,IAAI,SAAS,CAAC;aACvB;YAED,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;gBAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YAE/D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;SAC9B;IACH,CAAC;IAED,YAAY,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -1,192 +0,0 @@
|
|
|
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
|
-
class DynamicFee {
|
|
10
|
-
/**
|
|
11
|
-
* DynamicFee contract allows you to create a transaction without
|
|
12
|
-
* specifying the fee. The fee will be determined at the moment of
|
|
13
|
-
* transfer.
|
|
14
|
-
*
|
|
15
|
-
* @deprecated This feature will be removed in v2.
|
|
16
|
-
*
|
|
17
|
-
* Constructor Parameters:
|
|
18
|
-
* @param {string} receiver: address to receive the assets
|
|
19
|
-
* @param {int} amount: amount of assets to transfer
|
|
20
|
-
* @param {int} firstValid: first valid round for the transaction
|
|
21
|
-
* @param {int} lastValid: last valid round for the transaction
|
|
22
|
-
* @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
|
|
23
|
-
* @param {string} lease: leave undefined to generate a random lease, or supply a lease as base64
|
|
24
|
-
* @returns {DynamicFee}
|
|
25
|
-
*/
|
|
26
|
-
constructor(receiver, amount, firstValid, lastValid, closeRemainder, lease) {
|
|
27
|
-
// don't need to validate receiver, closeremainderto - insert will handle that
|
|
28
|
-
if (!Number.isSafeInteger(amount) || amount < 0)
|
|
29
|
-
throw Error('amount must be a positive number and smaller than 2^53-1');
|
|
30
|
-
if (!Number.isSafeInteger(firstValid) || firstValid < 0)
|
|
31
|
-
throw Error('firstValid must be a positive number and smaller than 2^53-1');
|
|
32
|
-
if (!Number.isSafeInteger(lastValid) || lastValid < 0)
|
|
33
|
-
throw Error('lastValid must be a positive number and smaller than 2^53-1');
|
|
34
|
-
if (typeof closeRemainder === 'undefined') {
|
|
35
|
-
// eslint-disable-next-line no-param-reassign
|
|
36
|
-
closeRemainder = address.ALGORAND_ZERO_ADDRESS_STRING;
|
|
37
|
-
}
|
|
38
|
-
if (typeof lease === 'undefined') {
|
|
39
|
-
const leaseBytes = nacl.randomBytes(32);
|
|
40
|
-
// eslint-disable-next-line no-param-reassign
|
|
41
|
-
lease = Buffer.from(leaseBytes).toString('base64');
|
|
42
|
-
}
|
|
43
|
-
const referenceProgramB64 = 'ASAFAgEHBgUmAyD+vKC7FEpaTqe0OKRoGsgObKEFvLYH/FZTJclWlfaiEyDmmpYeby1feshmB5JlUr6YI17TM2PKiJGLuck4qRW2+SB/g7Flf/H8U7ktwYFIodZd/C1LH6PWdyhK3dIAEm2QaTIEIhIzABAjEhAzAAcxABIQMwAIMQESEDEWIxIQMRAjEhAxBygSEDEJKRIQMQgkEhAxAiUSEDEEIQQSEDEGKhIQ';
|
|
44
|
-
const referenceProgramBytes = Buffer.from(referenceProgramB64, 'base64');
|
|
45
|
-
const referenceOffsets = [
|
|
46
|
-
5 /* firstValid */,
|
|
47
|
-
6 /* lastValid */,
|
|
48
|
-
7 /* receiver */,
|
|
49
|
-
11 /* closeRemainder */,
|
|
50
|
-
44 /* lease */,
|
|
51
|
-
76,
|
|
52
|
-
];
|
|
53
|
-
const injectionVector = [
|
|
54
|
-
amount,
|
|
55
|
-
firstValid,
|
|
56
|
-
lastValid,
|
|
57
|
-
receiver,
|
|
58
|
-
closeRemainder,
|
|
59
|
-
lease,
|
|
60
|
-
];
|
|
61
|
-
const injectionTypes = [
|
|
62
|
-
templates.valTypes.INT,
|
|
63
|
-
templates.valTypes.INT,
|
|
64
|
-
templates.valTypes.INT,
|
|
65
|
-
templates.valTypes.ADDRESS,
|
|
66
|
-
templates.valTypes.ADDRESS,
|
|
67
|
-
templates.valTypes.BASE64,
|
|
68
|
-
];
|
|
69
|
-
const injectedBytes = templates.inject(referenceProgramBytes, referenceOffsets, injectionVector, injectionTypes);
|
|
70
|
-
this.programBytes = injectedBytes;
|
|
71
|
-
const lsig = new logicSig.LogicSig(injectedBytes, undefined);
|
|
72
|
-
this.address = lsig.address();
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* returns the program bytes
|
|
76
|
-
* @returns {Uint8Array}
|
|
77
|
-
*/
|
|
78
|
-
getProgram() {
|
|
79
|
-
return this.programBytes;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* returns the string address of the contract
|
|
83
|
-
* @returns {string}
|
|
84
|
-
*/
|
|
85
|
-
getAddress() {
|
|
86
|
-
return this.address;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* signDynamicFee returns the main transaction and signed logic needed to complete the transfer.
|
|
91
|
-
* These should be sent to the fee payer, who can use GetDynamicFeeTransactions
|
|
92
|
-
*
|
|
93
|
-
* @deprecated This feature will be removed in v2.
|
|
94
|
-
*
|
|
95
|
-
* @param {Uint8Array} contract: the bytearray representing the contract
|
|
96
|
-
* @param {Uint8Array} secretKey: the secret key for building the logic sig
|
|
97
|
-
* @param {string} genesisHash: the genesisHash to use for the txn
|
|
98
|
-
* @returns {Object} object containing json of txnbuilder constructor arguments under "txn" and signed logicsig under "lsig"
|
|
99
|
-
*/
|
|
100
|
-
function signDynamicFee(contract, secretKey, genesisHash) {
|
|
101
|
-
const programOutputs = logic.readProgram(contract, undefined);
|
|
102
|
-
const ints = programOutputs[0];
|
|
103
|
-
const byteArrays = programOutputs[1];
|
|
104
|
-
const keys = nacl.keyPairFromSecretKey(secretKey);
|
|
105
|
-
const from = address.encodeAddress(keys.publicKey);
|
|
106
|
-
const to = address.encodeAddress(byteArrays[0]);
|
|
107
|
-
const fee = 0;
|
|
108
|
-
const amount = ints[2];
|
|
109
|
-
const closeRemainderTo = address.encodeAddress(byteArrays[1]);
|
|
110
|
-
const firstRound = ints[3];
|
|
111
|
-
const lastRound = ints[4];
|
|
112
|
-
const lease = new Uint8Array(byteArrays[2]);
|
|
113
|
-
const txn = {
|
|
114
|
-
from,
|
|
115
|
-
to,
|
|
116
|
-
fee,
|
|
117
|
-
amount,
|
|
118
|
-
closeRemainderTo,
|
|
119
|
-
firstRound,
|
|
120
|
-
lastRound,
|
|
121
|
-
genesisHash,
|
|
122
|
-
type: 'pay',
|
|
123
|
-
lease,
|
|
124
|
-
};
|
|
125
|
-
const lsig = new logicSig.LogicSig(contract, undefined);
|
|
126
|
-
lsig.sign(secretKey);
|
|
127
|
-
return { txn, lsig };
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* getDynamicFeeTransactions creates and signs the secondary dynamic fee transaction, updates
|
|
131
|
-
* transaction fields, and signs as the fee payer; it returns both
|
|
132
|
-
* transactions as bytes suitable for sendRaw.
|
|
133
|
-
*
|
|
134
|
-
* @deprecated This feature will be removed in v2.
|
|
135
|
-
*
|
|
136
|
-
* Parameters:
|
|
137
|
-
* @param {dict} txn - main transaction from payer's signDynamicFee output (a dict of constructor arguments, NOT a transaction.Transaction)
|
|
138
|
-
* @param {LogicSig} lsig - the signed logic received from the payer's signDynamicFee output
|
|
139
|
-
* @param {Uint8Array} privateKey - the private key for the account that pays the fee
|
|
140
|
-
* @param {int} fee - fee per byte for both transactions
|
|
141
|
-
*
|
|
142
|
-
* @throws on invalid lsig
|
|
143
|
-
*/
|
|
144
|
-
/* eslint-disable no-param-reassign */
|
|
145
|
-
function getDynamicFeeTransactions(txn, lsig, privateKey, fee) {
|
|
146
|
-
if (!lsig.verify(address.decodeAddress(txn.from).publicKey)) {
|
|
147
|
-
throw new Error('invalid signature');
|
|
148
|
-
}
|
|
149
|
-
txn.fee = fee;
|
|
150
|
-
if (txn.fee < transaction.ALGORAND_MIN_TX_FEE) {
|
|
151
|
-
txn.fee = transaction.ALGORAND_MIN_TX_FEE;
|
|
152
|
-
}
|
|
153
|
-
const keys = nacl.keyPairFromSecretKey(privateKey);
|
|
154
|
-
const from = address.encodeAddress(keys.publicKey);
|
|
155
|
-
// must remove lease and re-add using addLease so that fee calculation will match other SDKs
|
|
156
|
-
const { lease } = txn;
|
|
157
|
-
delete txn.lease;
|
|
158
|
-
const txnObj = new transaction.Transaction(txn);
|
|
159
|
-
txnObj.addLease(lease, fee);
|
|
160
|
-
const feePayTxn = {
|
|
161
|
-
from,
|
|
162
|
-
to: txn.from,
|
|
163
|
-
fee,
|
|
164
|
-
amount: txnObj.fee,
|
|
165
|
-
firstRound: txn.firstRound,
|
|
166
|
-
lastRound: txn.lastRound,
|
|
167
|
-
genesisHash: txn.genesisHash,
|
|
168
|
-
type: 'pay',
|
|
169
|
-
};
|
|
170
|
-
const feePayTxnObj = new transaction.Transaction(feePayTxn);
|
|
171
|
-
feePayTxnObj.addLease(lease, fee);
|
|
172
|
-
const txnGroup = group.assignGroupID([feePayTxnObj, txnObj], undefined);
|
|
173
|
-
const feePayTxnWithGroup = txnGroup[0];
|
|
174
|
-
const txnObjWithGroup = txnGroup[1];
|
|
175
|
-
const lstx = {
|
|
176
|
-
lsig: lsig.get_obj_for_encoding(),
|
|
177
|
-
txn: txnObjWithGroup.get_obj_for_encoding(),
|
|
178
|
-
};
|
|
179
|
-
const stx1 = feePayTxnWithGroup.signTxn(privateKey);
|
|
180
|
-
const stx2 = encoding.encode(lstx);
|
|
181
|
-
const concatStx = new Uint8Array(stx1.length + stx2.length);
|
|
182
|
-
concatStx.set(stx1);
|
|
183
|
-
concatStx.set(stx2, stx1.length);
|
|
184
|
-
return concatStx;
|
|
185
|
-
}
|
|
186
|
-
/* eslint-enable no-param-reassign */
|
|
187
|
-
module.exports = {
|
|
188
|
-
DynamicFee,
|
|
189
|
-
getDynamicFeeTransactions,
|
|
190
|
-
signDynamicFee,
|
|
191
|
-
};
|
|
192
|
-
//# sourceMappingURL=dynamicfee.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dynamicfee.js","sourceRoot":"","sources":["../../../../src/logicTemplates/dynamicfee.js"],"names":[],"mappings":"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"}
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
const sha256 = require('js-sha256');
|
|
2
|
-
const { keccak256 } = require('js-sha3');
|
|
3
|
-
const logic = require('../logic/logic');
|
|
4
|
-
const logicSig = require('../logicsig');
|
|
5
|
-
const templates = require('./templates');
|
|
6
|
-
const transaction = require('../transaction');
|
|
7
|
-
class HTLC {
|
|
8
|
-
/**
|
|
9
|
-
* HTLC allows a user to receive the Algo prior to a deadline (in terms of a round) by proving a knowledge
|
|
10
|
-
* of a special value or to forfeit the ability to claim, returning it to the payer.
|
|
11
|
-
* This contract is usually used to perform cross-chained atomic swaps
|
|
12
|
-
*
|
|
13
|
-
* More formally -
|
|
14
|
-
* Algos can be transferred under only two circumstances:
|
|
15
|
-
* 1. To receiver if hash_function(arg_0) = hash_value
|
|
16
|
-
* 2. To owner if txn.FirstValid > expiry_round
|
|
17
|
-
* ...
|
|
18
|
-
*
|
|
19
|
-
* @deprecated This feature will be removed in v2.
|
|
20
|
-
*
|
|
21
|
-
*Parameters
|
|
22
|
-
*----------
|
|
23
|
-
* @param {string} owner: an address that can receive the asset after the expiry round
|
|
24
|
-
* @param {string} receiver: address to receive Algos
|
|
25
|
-
* @param {string} hashFunction: the hash function to be used (must be either sha256 or keccak256)
|
|
26
|
-
* @param {string} hashImage: the hash image in base64
|
|
27
|
-
* @param {int} expiryRound: the round on which the assets can be transferred back to owner
|
|
28
|
-
* @param {int} maxFee: the maximum fee that can be paid to the network by the account
|
|
29
|
-
* @returns {HTLC}
|
|
30
|
-
*/
|
|
31
|
-
constructor(owner, receiver, hashFunction, hashImage, expiryRound, maxFee) {
|
|
32
|
-
// don't need to validate owner, receiver - they'll be validated by template.insert
|
|
33
|
-
if (!Number.isSafeInteger(expiryRound) || expiryRound < 0)
|
|
34
|
-
throw Error('expiryRound must be a positive number and smaller than 2^53-1');
|
|
35
|
-
if (!Number.isSafeInteger(maxFee) || maxFee < 0)
|
|
36
|
-
throw Error('maxFee must be a positive number and smaller than 2^53-1');
|
|
37
|
-
let referenceProgramB64 = '';
|
|
38
|
-
if (hashFunction === 'sha256') {
|
|
39
|
-
referenceProgramB64 =
|
|
40
|
-
'ASAECAEACSYDIOaalh5vLV96yGYHkmVSvpgjXtMzY8qIkYu5yTipFbb5IH+DsWV/8fxTuS3BgUih1l38LUsfo9Z3KErd0gASbZBpIP68oLsUSlpOp7Q4pGgayA5soQW8tgf8VlMlyVaV9qITMQEiDjEQIxIQMQcyAxIQMQgkEhAxCSgSLQEpEhAxCSoSMQIlDRAREA==';
|
|
41
|
-
}
|
|
42
|
-
else if (hashFunction === 'keccak256') {
|
|
43
|
-
referenceProgramB64 =
|
|
44
|
-
'ASAECAEACSYDIOaalh5vLV96yGYHkmVSvpgjXtMzY8qIkYu5yTipFbb5IH+DsWV/8fxTuS3BgUih1l38LUsfo9Z3KErd0gASbZBpIP68oLsUSlpOp7Q4pGgayA5soQW8tgf8VlMlyVaV9qITMQEiDjEQIxIQMQcyAxIQMQgkEhAxCSgSLQIpEhAxCSoSMQIlDRAREA==';
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
throw Error('hash function unrecognized');
|
|
48
|
-
}
|
|
49
|
-
// validate hashImage length
|
|
50
|
-
const hashImageBytes = Buffer.from(hashImage, 'base64');
|
|
51
|
-
if (hashImageBytes.length !== 32)
|
|
52
|
-
throw Error('hash image must be 32 bytes');
|
|
53
|
-
const referenceProgramBytes = Buffer.from(referenceProgramB64, 'base64');
|
|
54
|
-
const referenceOffsets = [
|
|
55
|
-
3 /* expiryRound */,
|
|
56
|
-
6 /* receiver */,
|
|
57
|
-
10 /* hashImage */,
|
|
58
|
-
42 /* owner */,
|
|
59
|
-
76,
|
|
60
|
-
];
|
|
61
|
-
const injectionVector = [maxFee, expiryRound, receiver, hashImage, owner];
|
|
62
|
-
const injectionTypes = [
|
|
63
|
-
templates.valTypes.INT,
|
|
64
|
-
templates.valTypes.INT,
|
|
65
|
-
templates.valTypes.ADDRESS,
|
|
66
|
-
templates.valTypes.BASE64,
|
|
67
|
-
templates.valTypes.ADDRESS,
|
|
68
|
-
];
|
|
69
|
-
const injectedBytes = templates.inject(referenceProgramBytes, referenceOffsets, injectionVector, injectionTypes);
|
|
70
|
-
this.programBytes = injectedBytes;
|
|
71
|
-
const lsig = new logicSig.LogicSig(injectedBytes, undefined);
|
|
72
|
-
this.address = lsig.address();
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* returns the program bytes
|
|
76
|
-
* @returns {Uint8Array}
|
|
77
|
-
*/
|
|
78
|
-
getProgram() {
|
|
79
|
-
return this.programBytes;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* returns the string address of the contract
|
|
83
|
-
* @returns {string}
|
|
84
|
-
*/
|
|
85
|
-
getAddress() {
|
|
86
|
-
return this.address;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* signTransactionWithHTLCUnlock accepts a transaction, such as a payment, and builds the HTLC-unlocking signature around that transaction
|
|
91
|
-
*
|
|
92
|
-
* @deprecated This feature will be removed in v2.
|
|
93
|
-
*
|
|
94
|
-
* @param {Uint8Array} contract : byte representation of the HTLC
|
|
95
|
-
* @param {Object} txn dictionary containing constructor arguments for a transaction
|
|
96
|
-
* @param {string} preImageAsBase64 : preimage of the hash as base64 string
|
|
97
|
-
*
|
|
98
|
-
* @returns {Object} Object containing txID and blob representing signed transaction.
|
|
99
|
-
* @throws error on validation failure
|
|
100
|
-
*/
|
|
101
|
-
function signTransactionWithHTLCUnlock(contract, txn, preImageAsBase64) {
|
|
102
|
-
const preImageBytes = Buffer.from(preImageAsBase64, 'base64');
|
|
103
|
-
// hash validation
|
|
104
|
-
const readResult = logic.readProgram(contract, undefined);
|
|
105
|
-
const ints = readResult[0];
|
|
106
|
-
const byteArrays = readResult[1];
|
|
107
|
-
const expectedHashedOutput = byteArrays[1];
|
|
108
|
-
const hashFunction = contract[contract.length - 15];
|
|
109
|
-
if (hashFunction === 1) {
|
|
110
|
-
const hash = sha256.create();
|
|
111
|
-
hash.update(preImageBytes);
|
|
112
|
-
const actualHashedOutput = Buffer.from(hash.hex(), 'hex');
|
|
113
|
-
if (!actualHashedOutput.equals(expectedHashedOutput)) {
|
|
114
|
-
throw new Error('sha256 hash of preimage did not match stored contract hash');
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
else if (hashFunction === 2) {
|
|
118
|
-
const hash = keccak256.create();
|
|
119
|
-
hash.update(preImageBytes);
|
|
120
|
-
const actualHashedOutput = Buffer.from(hash.hex(), 'hex');
|
|
121
|
-
if (!actualHashedOutput.equals(expectedHashedOutput)) {
|
|
122
|
-
throw new Error('keccak256 hash of preimage did not match stored contract hash');
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
throw new Error('hash function in contract unrecognized');
|
|
127
|
-
}
|
|
128
|
-
const args = [preImageBytes]; // array of one element, the Uint8Array preimage
|
|
129
|
-
const lsig = new logicSig.LogicSig(contract, args);
|
|
130
|
-
// clear out receiver just in case
|
|
131
|
-
// eslint-disable-next-line no-param-reassign
|
|
132
|
-
delete txn.to;
|
|
133
|
-
const maxFee = ints[0];
|
|
134
|
-
// check fee
|
|
135
|
-
const tempTxn = new transaction.Transaction(txn);
|
|
136
|
-
if (tempTxn.fee > maxFee) {
|
|
137
|
-
throw new Error(`final fee of payment transaction${tempTxn.fee.toString()}greater than transaction max fee${maxFee.toString()}`);
|
|
138
|
-
}
|
|
139
|
-
return logicSig.signLogicSigTransaction(txn, lsig);
|
|
140
|
-
}
|
|
141
|
-
module.exports = {
|
|
142
|
-
HTLC,
|
|
143
|
-
signTransactionWithHTLCUnlock,
|
|
144
|
-
};
|
|
145
|
-
//# sourceMappingURL=htlc.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"htlc.js","sourceRoot":"","sources":["../../../../src/logicTemplates/htlc.js"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
const dynamicFeeTemplate = require('./dynamicfee');
|
|
2
|
-
const htlcTemplate = require('./htlc');
|
|
3
|
-
const limitOrderTemplate = require('./limitorder');
|
|
4
|
-
const splitTemplate = require('./split');
|
|
5
|
-
const periodicPayTemplate = require('./periodicpayment');
|
|
6
|
-
module.exports = {
|
|
7
|
-
DynamicFee: dynamicFeeTemplate.DynamicFee,
|
|
8
|
-
getDynamicFeeTransactions: dynamicFeeTemplate.getDynamicFeeTransactions,
|
|
9
|
-
signDynamicFee: dynamicFeeTemplate.signDynamicFee,
|
|
10
|
-
HTLC: htlcTemplate.HTLC,
|
|
11
|
-
signTransactionWithHTLCUnlock: htlcTemplate.signTransactionWithHTLCUnlock,
|
|
12
|
-
LimitOrder: limitOrderTemplate.LimitOrder,
|
|
13
|
-
getSwapAssetsTransaction: limitOrderTemplate.getSwapAssetsTransaction,
|
|
14
|
-
Split: splitTemplate.Split,
|
|
15
|
-
getSplitFundsTransaction: splitTemplate.getSplitFundsTransaction,
|
|
16
|
-
PeriodicPayment: periodicPayTemplate.PeriodicPayment,
|
|
17
|
-
getPeriodicPaymentWithdrawalTransaction: periodicPayTemplate.getPeriodicPaymentWithdrawalTransaction,
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/logicTemplates/index.js"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AACnD,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACvC,MAAM,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AACnD,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACzC,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAEzD,MAAM,CAAC,OAAO,GAAG;IACf,UAAU,EAAE,kBAAkB,CAAC,UAAU;IACzC,yBAAyB,EAAE,kBAAkB,CAAC,yBAAyB;IACvE,cAAc,EAAE,kBAAkB,CAAC,cAAc;IACjD,IAAI,EAAE,YAAY,CAAC,IAAI;IACvB,6BAA6B,EAAE,YAAY,CAAC,6BAA6B;IACzE,UAAU,EAAE,kBAAkB,CAAC,UAAU;IACzC,wBAAwB,EAAE,kBAAkB,CAAC,wBAAwB;IACrE,KAAK,EAAE,aAAa,CAAC,KAAK;IAC1B,wBAAwB,EAAE,aAAa,CAAC,wBAAwB;IAChE,eAAe,EAAE,mBAAmB,CAAC,eAAe;IACpD,uCAAuC,EACrC,mBAAmB,CAAC,uCAAuC;CAC9D,CAAC"}
|