algosdk 2.9.0 → 3.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -4
- package/dist/browser/algosdk.min.js +1 -1
- package/dist/browser/algosdk.min.js.LICENSE.txt +0 -9
- package/dist/browser/algosdk.min.js.map +1 -1
- package/dist/cjs/abi/abi_type.js +34 -27
- package/dist/cjs/abi/abi_type.js.map +1 -1
- package/dist/cjs/abi/contract.js +3 -3
- package/dist/cjs/abi/contract.js.map +1 -1
- package/dist/cjs/abi/index.js +6 -6
- package/dist/cjs/abi/index.js.map +1 -1
- package/dist/cjs/abi/interface.js +3 -3
- package/dist/cjs/abi/interface.js.map +1 -1
- package/dist/cjs/abi/method.js +10 -10
- package/dist/cjs/abi/method.js.map +1 -1
- package/dist/cjs/abi/reference.js +1 -1
- package/dist/cjs/abi/reference.js.map +1 -1
- package/dist/cjs/abi/transaction.js +2 -2
- package/dist/cjs/abi/transaction.js.map +1 -1
- package/dist/cjs/account.js +4 -4
- package/dist/cjs/account.js.map +1 -1
- package/dist/cjs/boxStorage.js +17 -17
- package/dist/cjs/boxStorage.js.map +1 -1
- package/dist/cjs/client/client.js +77 -41
- package/dist/cjs/client/client.js.map +1 -1
- package/dist/cjs/client/index.js +29 -0
- package/dist/cjs/client/index.js.map +1 -0
- package/dist/cjs/client/kmd.js +69 -86
- package/dist/cjs/client/kmd.js.map +1 -1
- package/dist/cjs/client/urlTokenBaseHTTPClient.js +16 -11
- package/dist/cjs/client/urlTokenBaseHTTPClient.js.map +1 -1
- package/dist/cjs/client/v2/algod/accountApplicationInformation.js +11 -7
- package/dist/cjs/client/v2/algod/accountApplicationInformation.js.map +1 -1
- package/dist/cjs/client/v2/algod/accountAssetInformation.js +11 -7
- package/dist/cjs/client/v2/algod/accountAssetInformation.js.map +1 -1
- package/dist/cjs/client/v2/algod/accountInformation.js +11 -6
- package/dist/cjs/client/v2/algod/accountInformation.js.map +1 -1
- package/dist/cjs/client/v2/algod/algod.js +85 -83
- package/dist/cjs/client/v2/algod/algod.js.map +1 -1
- package/dist/cjs/client/v2/algod/block.js +6 -33
- package/dist/cjs/client/v2/algod/block.js.map +1 -1
- package/dist/cjs/client/v2/algod/compile.js +17 -11
- package/dist/cjs/client/v2/algod/compile.js.map +1 -1
- package/dist/cjs/client/v2/algod/disassemble.js +17 -11
- package/dist/cjs/client/v2/algod/disassemble.js.map +1 -1
- package/dist/cjs/client/v2/algod/dryrun.js +18 -37
- package/dist/cjs/client/v2/algod/dryrun.js.map +1 -1
- package/dist/cjs/client/v2/algod/genesis.js +6 -2
- package/dist/cjs/client/v2/algod/genesis.js.map +1 -1
- package/dist/cjs/client/v2/algod/getApplicationBoxByName.js +10 -10
- package/dist/cjs/client/v2/algod/getApplicationBoxByName.js.map +1 -1
- package/dist/cjs/client/v2/algod/getApplicationBoxes.js +8 -8
- package/dist/cjs/client/v2/algod/getApplicationBoxes.js.map +1 -1
- package/dist/cjs/client/v2/algod/getApplicationByID.js +10 -5
- package/dist/cjs/client/v2/algod/getApplicationByID.js.map +1 -1
- package/dist/cjs/client/v2/algod/getAssetByID.js +10 -5
- package/dist/cjs/client/v2/algod/getAssetByID.js.map +1 -1
- package/dist/cjs/client/v2/algod/getBlockHash.js +10 -6
- package/dist/cjs/client/v2/algod/getBlockHash.js.map +1 -1
- package/dist/cjs/client/v2/algod/getBlockOffsetTimestamp.js +6 -5
- package/dist/cjs/client/v2/algod/getBlockOffsetTimestamp.js.map +1 -1
- package/dist/cjs/client/v2/algod/getBlockTxids.js +10 -4
- package/dist/cjs/client/v2/algod/getBlockTxids.js.map +1 -1
- package/dist/cjs/client/v2/algod/getLedgerStateDelta.js +11 -6
- package/dist/cjs/client/v2/algod/getLedgerStateDelta.js.map +1 -1
- package/dist/cjs/client/v2/algod/getLedgerStateDeltaForTransactionGroup.js +11 -6
- package/dist/cjs/client/v2/algod/getLedgerStateDeltaForTransactionGroup.js.map +1 -1
- package/dist/cjs/client/v2/algod/getSyncRound.js +6 -5
- package/dist/cjs/client/v2/algod/getSyncRound.js.map +1 -1
- package/dist/cjs/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.js +9 -9
- package/dist/cjs/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.js.map +1 -1
- package/dist/cjs/client/v2/algod/getTransactionProof.js +10 -6
- package/dist/cjs/client/v2/algod/getTransactionProof.js.map +1 -1
- package/dist/cjs/client/v2/algod/healthCheck.js +4 -9
- package/dist/cjs/client/v2/algod/healthCheck.js.map +1 -1
- package/dist/cjs/{types → client/v2/algod}/index.js +5 -3
- package/dist/cjs/client/v2/algod/index.js.map +1 -0
- package/dist/cjs/client/v2/algod/lightBlockHeaderProof.js +10 -5
- package/dist/cjs/client/v2/algod/lightBlockHeaderProof.js.map +1 -1
- package/dist/cjs/client/v2/algod/models/types.js +3701 -1828
- package/dist/cjs/client/v2/algod/models/types.js.map +1 -1
- package/dist/cjs/client/v2/algod/pendingTransactionInformation.js +6 -32
- package/dist/cjs/client/v2/algod/pendingTransactionInformation.js.map +1 -1
- package/dist/cjs/client/v2/algod/pendingTransactions.js +6 -31
- package/dist/cjs/client/v2/algod/pendingTransactions.js.map +1 -1
- package/dist/cjs/client/v2/algod/pendingTransactionsByAddress.js +7 -33
- package/dist/cjs/client/v2/algod/pendingTransactionsByAddress.js.map +1 -1
- package/dist/cjs/client/v2/algod/ready.js +4 -2
- package/dist/cjs/client/v2/algod/ready.js.map +1 -1
- package/dist/cjs/client/v2/algod/sendRawTransaction.js +17 -8
- package/dist/cjs/client/v2/algod/sendRawTransaction.js.map +1 -1
- package/dist/cjs/client/v2/algod/setBlockOffsetTimestamp.js +13 -8
- package/dist/cjs/client/v2/algod/setBlockOffsetTimestamp.js.map +1 -1
- package/dist/cjs/client/v2/algod/setSyncRound.js +13 -8
- package/dist/cjs/client/v2/algod/setSyncRound.js.map +1 -1
- package/dist/cjs/client/v2/algod/simulateTransaction.js +15 -35
- package/dist/cjs/client/v2/algod/simulateTransaction.js.map +1 -1
- package/dist/cjs/client/v2/algod/stateproof.js +10 -5
- package/dist/cjs/client/v2/algod/stateproof.js.map +1 -1
- package/dist/cjs/client/v2/algod/status.js +8 -2
- package/dist/cjs/client/v2/algod/status.js.map +1 -1
- package/dist/cjs/client/v2/algod/statusAfterBlock.js +10 -5
- package/dist/cjs/client/v2/algod/statusAfterBlock.js.map +1 -1
- package/dist/cjs/client/v2/algod/suggestedParams.js +13 -9
- package/dist/cjs/client/v2/algod/suggestedParams.js.map +1 -1
- package/dist/cjs/client/v2/algod/supply.js +8 -2
- package/dist/cjs/client/v2/algod/supply.js.map +1 -1
- package/dist/cjs/client/v2/algod/unsetSyncRound.js +11 -5
- package/dist/cjs/client/v2/algod/unsetSyncRound.js.map +1 -1
- package/dist/cjs/client/v2/algod/versions.js +8 -2
- package/dist/cjs/client/v2/algod/versions.js.map +1 -1
- package/dist/cjs/client/v2/indexer/index.js +22 -0
- package/dist/cjs/client/v2/indexer/index.js.map +1 -0
- package/dist/cjs/client/v2/indexer/indexer.js +44 -43
- package/dist/cjs/client/v2/indexer/indexer.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupAccountAppLocalStates.js +11 -6
- package/dist/cjs/client/v2/indexer/lookupAccountAppLocalStates.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupAccountAssets.js +11 -6
- package/dist/cjs/client/v2/indexer/lookupAccountAssets.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupAccountByID.js +11 -6
- package/dist/cjs/client/v2/indexer/lookupAccountByID.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupAccountCreatedApplications.js +11 -6
- package/dist/cjs/client/v2/indexer/lookupAccountCreatedApplications.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupAccountCreatedAssets.js +11 -6
- package/dist/cjs/client/v2/indexer/lookupAccountCreatedAssets.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupAccountTransactions.js +19 -12
- package/dist/cjs/client/v2/indexer/lookupAccountTransactions.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupApplicationBoxByIDandName.js +10 -10
- package/dist/cjs/client/v2/indexer/lookupApplicationBoxByIDandName.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupApplicationLogs.js +10 -5
- package/dist/cjs/client/v2/indexer/lookupApplicationLogs.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupApplications.js +10 -5
- package/dist/cjs/client/v2/indexer/lookupApplications.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupAssetBalances.js +10 -5
- package/dist/cjs/client/v2/indexer/lookupAssetBalances.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupAssetByID.js +10 -5
- package/dist/cjs/client/v2/indexer/lookupAssetByID.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupAssetTransactions.js +19 -12
- package/dist/cjs/client/v2/indexer/lookupAssetTransactions.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupBlock.js +10 -5
- package/dist/cjs/client/v2/indexer/lookupBlock.js.map +1 -1
- package/dist/cjs/client/v2/indexer/lookupTransactionByID.js +10 -5
- package/dist/cjs/client/v2/indexer/lookupTransactionByID.js.map +1 -1
- package/dist/cjs/client/v2/indexer/makeHealthCheck.js +8 -2
- package/dist/cjs/client/v2/indexer/makeHealthCheck.js.map +1 -1
- package/dist/cjs/client/v2/indexer/models/types.js +3591 -1651
- package/dist/cjs/client/v2/indexer/models/types.js.map +1 -1
- package/dist/cjs/client/v2/indexer/searchAccounts.js +9 -3
- package/dist/cjs/client/v2/indexer/searchAccounts.js.map +1 -1
- package/dist/cjs/client/v2/indexer/searchForApplicationBoxes.js +8 -8
- package/dist/cjs/client/v2/indexer/searchForApplicationBoxes.js.map +1 -1
- package/dist/cjs/client/v2/indexer/searchForApplications.js +9 -3
- package/dist/cjs/client/v2/indexer/searchForApplications.js.map +1 -1
- package/dist/cjs/client/v2/indexer/searchForAssets.js +9 -3
- package/dist/cjs/client/v2/indexer/searchForAssets.js.map +1 -1
- package/dist/cjs/client/v2/indexer/searchForTransactions.js +17 -9
- package/dist/cjs/client/v2/indexer/searchForTransactions.js.map +1 -1
- package/dist/cjs/client/v2/jsonrequest.js +22 -54
- package/dist/cjs/client/v2/jsonrequest.js.map +1 -1
- package/dist/cjs/client/v2/serviceClient.js +5 -25
- package/dist/cjs/client/v2/serviceClient.js.map +1 -1
- package/dist/cjs/client/v2/untypedmodel.js +22 -0
- package/dist/cjs/client/v2/untypedmodel.js.map +1 -0
- package/dist/cjs/composer.js +64 -58
- package/dist/cjs/composer.js.map +1 -1
- package/dist/cjs/convert.js.map +1 -1
- package/dist/cjs/dryrun.js +107 -203
- package/dist/cjs/dryrun.js.map +1 -1
- package/dist/cjs/encoding/address.js +88 -104
- package/dist/cjs/encoding/address.js.map +1 -1
- package/dist/cjs/encoding/bigint.js +2 -3
- package/dist/cjs/encoding/bigint.js.map +1 -1
- package/dist/cjs/encoding/binarydata.js +82 -0
- package/dist/cjs/encoding/binarydata.js.map +1 -0
- package/dist/cjs/encoding/encoding.js +353 -38
- package/dist/cjs/encoding/encoding.js.map +1 -1
- package/dist/cjs/encoding/schema/address.js +41 -0
- package/dist/cjs/encoding/schema/address.js.map +1 -0
- package/dist/cjs/encoding/schema/array.js +43 -0
- package/dist/cjs/encoding/schema/array.js.map +1 -0
- package/dist/cjs/encoding/schema/binarystring.js +55 -0
- package/dist/cjs/encoding/schema/binarystring.js.map +1 -0
- package/dist/cjs/encoding/schema/blockhash.js +67 -0
- package/dist/cjs/encoding/schema/blockhash.js.map +1 -0
- package/dist/cjs/encoding/schema/boolean.js +42 -0
- package/dist/cjs/encoding/schema/boolean.js.map +1 -0
- package/dist/cjs/encoding/schema/bytearray.js +98 -0
- package/dist/cjs/encoding/schema/bytearray.js.map +1 -0
- package/dist/cjs/encoding/schema/index.js +34 -0
- package/dist/cjs/encoding/schema/index.js.map +1 -0
- package/dist/cjs/encoding/schema/map.js +528 -0
- package/dist/cjs/encoding/schema/map.js.map +1 -0
- package/dist/cjs/encoding/schema/optional.js +58 -0
- package/dist/cjs/encoding/schema/optional.js.map +1 -0
- package/dist/cjs/encoding/schema/string.js +43 -0
- package/dist/cjs/encoding/schema/string.js.map +1 -0
- package/dist/cjs/encoding/schema/uint64.js +36 -0
- package/dist/cjs/encoding/schema/uint64.js.map +1 -0
- package/dist/cjs/encoding/schema/untyped.js +33 -0
- package/dist/cjs/encoding/schema/untyped.js.map +1 -0
- package/dist/cjs/encoding/uint64.js +2 -2
- package/dist/cjs/encoding/uint64.js.map +1 -1
- package/dist/cjs/group.js +23 -60
- package/dist/cjs/group.js.map +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/logic/sourcemap.js +56 -25
- package/dist/cjs/logic/sourcemap.js.map +1 -1
- package/dist/cjs/logicsig.js +113 -146
- package/dist/cjs/logicsig.js.map +1 -1
- package/dist/cjs/main.js +113 -122
- package/dist/cjs/main.js.map +1 -1
- package/dist/cjs/makeTxn.js +310 -570
- package/dist/cjs/makeTxn.js.map +1 -1
- package/dist/cjs/mnemonic/mnemonic.js +8 -8
- package/dist/cjs/mnemonic/mnemonic.js.map +1 -1
- package/dist/cjs/multisig.js +60 -312
- package/dist/cjs/multisig.js.map +1 -1
- package/dist/cjs/multisigSigning.js +285 -0
- package/dist/cjs/multisigSigning.js.map +1 -0
- package/dist/cjs/nacl/naclWrappers.js +2 -2
- package/dist/cjs/nacl/naclWrappers.js.map +1 -1
- package/dist/cjs/signedTransaction.js +106 -0
- package/dist/cjs/signedTransaction.js.map +1 -0
- package/dist/cjs/signer.js +7 -7
- package/dist/cjs/signer.js.map +1 -1
- package/dist/cjs/signing.js +105 -0
- package/dist/cjs/signing.js.map +1 -0
- package/dist/cjs/stateproof.js +421 -0
- package/dist/cjs/stateproof.js.map +1 -0
- package/dist/cjs/transaction.js +724 -1009
- package/dist/cjs/transaction.js.map +1 -1
- package/dist/cjs/types/block.js +813 -0
- package/dist/cjs/types/block.js.map +1 -0
- package/dist/cjs/types/intDecoding.js +1 -1
- package/dist/cjs/types/intDecoding.js.map +1 -1
- package/dist/cjs/types/statedelta.js +1155 -0
- package/dist/cjs/types/statedelta.js.map +1 -0
- package/dist/cjs/types/transactions/base.js +22 -5
- package/dist/cjs/types/transactions/base.js.map +1 -1
- package/dist/cjs/types/transactions/encoded.js +67 -0
- package/dist/cjs/types/transactions/encoded.js.map +1 -1
- package/dist/cjs/types/transactions/index.js +2 -5
- package/dist/cjs/types/transactions/index.js.map +1 -1
- package/dist/cjs/utils/utils.js +86 -22
- package/dist/cjs/utils/utils.js.map +1 -1
- package/dist/cjs/wait.js +4 -4
- package/dist/cjs/wait.js.map +1 -1
- package/dist/esm/abi/abi_type.js +22 -15
- package/dist/esm/abi/abi_type.js.map +1 -1
- package/dist/esm/abi/contract.js +1 -1
- package/dist/esm/abi/contract.js.map +1 -1
- package/dist/esm/abi/index.js +6 -6
- package/dist/esm/abi/index.js.map +1 -1
- package/dist/esm/abi/interface.js +1 -1
- package/dist/esm/abi/interface.js.map +1 -1
- package/dist/esm/abi/method.js +4 -4
- package/dist/esm/abi/method.js.map +1 -1
- package/dist/esm/abi/transaction.js +1 -1
- package/dist/esm/abi/transaction.js.map +1 -1
- package/dist/esm/account.js +4 -4
- package/dist/esm/account.js.map +1 -1
- package/dist/esm/boxStorage.js +15 -15
- package/dist/esm/boxStorage.js.map +1 -1
- package/dist/esm/client/client.js +74 -40
- package/dist/esm/client/client.js.map +1 -1
- package/dist/esm/client/index.js +7 -0
- package/dist/esm/client/index.js.map +1 -0
- package/dist/esm/client/kmd.js +67 -62
- package/dist/esm/client/kmd.js.map +1 -1
- package/dist/esm/client/urlTokenBaseHTTPClient.js +16 -11
- package/dist/esm/client/urlTokenBaseHTTPClient.js.map +1 -1
- package/dist/esm/client/v2/algod/accountApplicationInformation.js +10 -6
- package/dist/esm/client/v2/algod/accountApplicationInformation.js.map +1 -1
- package/dist/esm/client/v2/algod/accountAssetInformation.js +10 -6
- package/dist/esm/client/v2/algod/accountAssetInformation.js.map +1 -1
- package/dist/esm/client/v2/algod/accountInformation.js +10 -5
- package/dist/esm/client/v2/algod/accountInformation.js.map +1 -1
- package/dist/esm/client/v2/algod/algod.js +71 -70
- package/dist/esm/client/v2/algod/algod.js.map +1 -1
- package/dist/esm/client/v2/algod/block.js +5 -9
- package/dist/esm/client/v2/algod/block.js.map +1 -1
- package/dist/esm/client/v2/algod/compile.js +16 -10
- package/dist/esm/client/v2/algod/compile.js.map +1 -1
- package/dist/esm/client/v2/algod/disassemble.js +16 -10
- package/dist/esm/client/v2/algod/disassemble.js.map +1 -1
- package/dist/esm/client/v2/algod/dryrun.js +16 -12
- package/dist/esm/client/v2/algod/dryrun.js.map +1 -1
- package/dist/esm/client/v2/algod/genesis.js +5 -1
- package/dist/esm/client/v2/algod/genesis.js.map +1 -1
- package/dist/esm/client/v2/algod/getApplicationBoxByName.js +9 -9
- package/dist/esm/client/v2/algod/getApplicationBoxByName.js.map +1 -1
- package/dist/esm/client/v2/algod/getApplicationBoxes.js +7 -7
- package/dist/esm/client/v2/algod/getApplicationBoxes.js.map +1 -1
- package/dist/esm/client/v2/algod/getApplicationByID.js +9 -4
- package/dist/esm/client/v2/algod/getApplicationByID.js.map +1 -1
- package/dist/esm/client/v2/algod/getAssetByID.js +9 -4
- package/dist/esm/client/v2/algod/getAssetByID.js.map +1 -1
- package/dist/esm/client/v2/algod/getBlockHash.js +9 -5
- package/dist/esm/client/v2/algod/getBlockHash.js.map +1 -1
- package/dist/esm/client/v2/algod/getBlockOffsetTimestamp.js +5 -4
- package/dist/esm/client/v2/algod/getBlockOffsetTimestamp.js.map +1 -1
- package/dist/esm/client/v2/algod/getBlockTxids.js +9 -3
- package/dist/esm/client/v2/algod/getBlockTxids.js.map +1 -1
- package/dist/esm/client/v2/algod/getLedgerStateDelta.js +10 -5
- package/dist/esm/client/v2/algod/getLedgerStateDelta.js.map +1 -1
- package/dist/esm/client/v2/algod/getLedgerStateDeltaForTransactionGroup.js +10 -5
- package/dist/esm/client/v2/algod/getLedgerStateDeltaForTransactionGroup.js.map +1 -1
- package/dist/esm/client/v2/algod/getSyncRound.js +5 -4
- package/dist/esm/client/v2/algod/getSyncRound.js.map +1 -1
- package/dist/esm/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.js +8 -8
- package/dist/esm/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.js.map +1 -1
- package/dist/esm/client/v2/algod/getTransactionProof.js +9 -5
- package/dist/esm/client/v2/algod/getTransactionProof.js.map +1 -1
- package/dist/esm/client/v2/algod/healthCheck.js +3 -8
- package/dist/esm/client/v2/algod/healthCheck.js.map +1 -1
- package/dist/esm/client/v2/algod/index.js +4 -0
- package/dist/esm/client/v2/algod/index.js.map +1 -0
- package/dist/esm/client/v2/algod/lightBlockHeaderProof.js +9 -4
- package/dist/esm/client/v2/algod/lightBlockHeaderProof.js.map +1 -1
- package/dist/esm/client/v2/algod/models/types.js +3701 -1825
- package/dist/esm/client/v2/algod/models/types.js.map +1 -1
- package/dist/esm/client/v2/algod/pendingTransactionInformation.js +5 -8
- package/dist/esm/client/v2/algod/pendingTransactionInformation.js.map +1 -1
- package/dist/esm/client/v2/algod/pendingTransactions.js +5 -7
- package/dist/esm/client/v2/algod/pendingTransactions.js.map +1 -1
- package/dist/esm/client/v2/algod/pendingTransactionsByAddress.js +6 -9
- package/dist/esm/client/v2/algod/pendingTransactionsByAddress.js.map +1 -1
- package/dist/esm/client/v2/algod/ready.js +3 -1
- package/dist/esm/client/v2/algod/ready.js.map +1 -1
- package/dist/esm/client/v2/algod/sendRawTransaction.js +15 -6
- package/dist/esm/client/v2/algod/sendRawTransaction.js.map +1 -1
- package/dist/esm/client/v2/algod/setBlockOffsetTimestamp.js +12 -7
- package/dist/esm/client/v2/algod/setBlockOffsetTimestamp.js.map +1 -1
- package/dist/esm/client/v2/algod/setSyncRound.js +12 -7
- package/dist/esm/client/v2/algod/setSyncRound.js.map +1 -1
- package/dist/esm/client/v2/algod/simulateTransaction.js +14 -11
- package/dist/esm/client/v2/algod/simulateTransaction.js.map +1 -1
- package/dist/esm/client/v2/algod/stateproof.js +9 -4
- package/dist/esm/client/v2/algod/stateproof.js.map +1 -1
- package/dist/esm/client/v2/algod/status.js +7 -1
- package/dist/esm/client/v2/algod/status.js.map +1 -1
- package/dist/esm/client/v2/algod/statusAfterBlock.js +9 -4
- package/dist/esm/client/v2/algod/statusAfterBlock.js.map +1 -1
- package/dist/esm/client/v2/algod/suggestedParams.js +12 -8
- package/dist/esm/client/v2/algod/suggestedParams.js.map +1 -1
- package/dist/esm/client/v2/algod/supply.js +7 -1
- package/dist/esm/client/v2/algod/supply.js.map +1 -1
- package/dist/esm/client/v2/algod/unsetSyncRound.js +10 -4
- package/dist/esm/client/v2/algod/unsetSyncRound.js.map +1 -1
- package/dist/esm/client/v2/algod/versions.js +7 -1
- package/dist/esm/client/v2/algod/versions.js.map +1 -1
- package/dist/esm/client/v2/indexer/index.js +4 -0
- package/dist/esm/client/v2/indexer/index.js.map +1 -0
- package/dist/esm/client/v2/indexer/indexer.js +42 -42
- package/dist/esm/client/v2/indexer/indexer.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupAccountAppLocalStates.js +10 -5
- package/dist/esm/client/v2/indexer/lookupAccountAppLocalStates.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupAccountAssets.js +10 -5
- package/dist/esm/client/v2/indexer/lookupAccountAssets.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupAccountByID.js +10 -5
- package/dist/esm/client/v2/indexer/lookupAccountByID.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupAccountCreatedApplications.js +10 -5
- package/dist/esm/client/v2/indexer/lookupAccountCreatedApplications.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupAccountCreatedAssets.js +10 -5
- package/dist/esm/client/v2/indexer/lookupAccountCreatedAssets.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupAccountTransactions.js +18 -11
- package/dist/esm/client/v2/indexer/lookupAccountTransactions.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupApplicationBoxByIDandName.js +9 -9
- package/dist/esm/client/v2/indexer/lookupApplicationBoxByIDandName.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupApplicationLogs.js +9 -4
- package/dist/esm/client/v2/indexer/lookupApplicationLogs.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupApplications.js +9 -4
- package/dist/esm/client/v2/indexer/lookupApplications.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupAssetBalances.js +9 -4
- package/dist/esm/client/v2/indexer/lookupAssetBalances.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupAssetByID.js +9 -4
- package/dist/esm/client/v2/indexer/lookupAssetByID.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupAssetTransactions.js +17 -10
- package/dist/esm/client/v2/indexer/lookupAssetTransactions.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupBlock.js +9 -4
- package/dist/esm/client/v2/indexer/lookupBlock.js.map +1 -1
- package/dist/esm/client/v2/indexer/lookupTransactionByID.js +9 -4
- package/dist/esm/client/v2/indexer/lookupTransactionByID.js.map +1 -1
- package/dist/esm/client/v2/indexer/makeHealthCheck.js +7 -1
- package/dist/esm/client/v2/indexer/makeHealthCheck.js.map +1 -1
- package/dist/esm/client/v2/indexer/models/types.js +3591 -1648
- package/dist/esm/client/v2/indexer/models/types.js.map +1 -1
- package/dist/esm/client/v2/indexer/searchAccounts.js +8 -2
- package/dist/esm/client/v2/indexer/searchAccounts.js.map +1 -1
- package/dist/esm/client/v2/indexer/searchForApplicationBoxes.js +7 -7
- package/dist/esm/client/v2/indexer/searchForApplicationBoxes.js.map +1 -1
- package/dist/esm/client/v2/indexer/searchForApplications.js +8 -2
- package/dist/esm/client/v2/indexer/searchForApplications.js.map +1 -1
- package/dist/esm/client/v2/indexer/searchForAssets.js +8 -2
- package/dist/esm/client/v2/indexer/searchForAssets.js.map +1 -1
- package/dist/esm/client/v2/indexer/searchForTransactions.js +15 -7
- package/dist/esm/client/v2/indexer/searchForTransactions.js.map +1 -1
- package/dist/esm/client/v2/jsonrequest.js +22 -51
- package/dist/esm/client/v2/jsonrequest.js.map +1 -1
- package/dist/esm/client/v2/serviceClient.js +3 -20
- package/dist/esm/client/v2/serviceClient.js.map +1 -1
- package/dist/esm/client/v2/untypedmodel.js +18 -0
- package/dist/esm/client/v2/untypedmodel.js.map +1 -0
- package/dist/esm/composer.js +43 -37
- package/dist/esm/composer.js.map +1 -1
- package/dist/esm/convert.js.map +1 -1
- package/dist/esm/dryrun.js +98 -195
- package/dist/esm/dryrun.js.map +1 -1
- package/dist/esm/encoding/address.js +85 -100
- package/dist/esm/encoding/address.js.map +1 -1
- package/dist/esm/encoding/bigint.js +2 -3
- package/dist/esm/encoding/bigint.js.map +1 -1
- package/dist/esm/encoding/binarydata.js +73 -0
- package/dist/esm/encoding/binarydata.js.map +1 -0
- package/dist/esm/encoding/encoding.js +337 -12
- package/dist/esm/encoding/encoding.js.map +1 -1
- package/dist/esm/encoding/schema/address.js +37 -0
- package/dist/esm/encoding/schema/address.js.map +1 -0
- package/dist/esm/encoding/schema/array.js +39 -0
- package/dist/esm/encoding/schema/array.js.map +1 -0
- package/dist/esm/encoding/schema/binarystring.js +51 -0
- package/dist/esm/encoding/schema/binarystring.js.map +1 -0
- package/dist/esm/encoding/schema/blockhash.js +60 -0
- package/dist/esm/encoding/schema/blockhash.js.map +1 -0
- package/dist/esm/encoding/schema/boolean.js +38 -0
- package/dist/esm/encoding/schema/boolean.js.map +1 -0
- package/dist/esm/encoding/schema/bytearray.js +93 -0
- package/dist/esm/encoding/schema/bytearray.js.map +1 -0
- package/dist/esm/encoding/schema/index.js +12 -0
- package/dist/esm/encoding/schema/index.js.map +1 -0
- package/dist/esm/encoding/schema/map.js +517 -0
- package/dist/esm/encoding/schema/map.js.map +1 -0
- package/dist/esm/encoding/schema/optional.js +54 -0
- package/dist/esm/encoding/schema/optional.js.map +1 -0
- package/dist/esm/encoding/schema/string.js +39 -0
- package/dist/esm/encoding/schema/string.js.map +1 -0
- package/dist/esm/encoding/schema/uint64.js +32 -0
- package/dist/esm/encoding/schema/uint64.js.map +1 -0
- package/dist/esm/encoding/schema/untyped.js +29 -0
- package/dist/esm/encoding/schema/untyped.js.map +1 -0
- package/dist/esm/encoding/uint64.js +1 -1
- package/dist/esm/encoding/uint64.js.map +1 -1
- package/dist/esm/group.js +22 -58
- package/dist/esm/group.js.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/logic/sourcemap.js +54 -23
- package/dist/esm/logic/sourcemap.js.map +1 -1
- package/dist/esm/logicsig.js +110 -141
- package/dist/esm/logicsig.js.map +1 -1
- package/dist/esm/main.js +47 -76
- package/dist/esm/main.js.map +1 -1
- package/dist/esm/makeTxn.js +304 -529
- package/dist/esm/makeTxn.js.map +1 -1
- package/dist/esm/mnemonic/mnemonic.js +5 -5
- package/dist/esm/mnemonic/mnemonic.js.map +1 -1
- package/dist/esm/multisig.js +56 -305
- package/dist/esm/multisig.js.map +1 -1
- package/dist/esm/multisigSigning.js +254 -0
- package/dist/esm/multisigSigning.js.map +1 -0
- package/dist/esm/nacl/naclWrappers.js +1 -1
- package/dist/esm/nacl/naclWrappers.js.map +1 -1
- package/dist/esm/package.json +1 -0
- package/dist/esm/signedTransaction.js +100 -0
- package/dist/esm/signedTransaction.js.map +1 -0
- package/dist/esm/signer.js +3 -3
- package/dist/esm/signer.js.map +1 -1
- package/dist/esm/signing.js +77 -0
- package/dist/esm/signing.js.map +1 -0
- package/dist/esm/stateproof.js +408 -0
- package/dist/esm/stateproof.js.map +1 -0
- package/dist/esm/transaction.js +723 -1005
- package/dist/esm/transaction.js.map +1 -1
- package/dist/esm/types/block.js +797 -0
- package/dist/esm/types/block.js.map +1 -0
- package/dist/esm/types/intDecoding.js +1 -1
- package/dist/esm/types/intDecoding.js.map +1 -1
- package/dist/esm/types/statedelta.js +1129 -0
- package/dist/esm/types/statedelta.js.map +1 -0
- package/dist/esm/types/transactions/base.js +18 -2
- package/dist/esm/types/transactions/base.js.map +1 -1
- package/dist/esm/types/transactions/encoded.js +62 -1
- package/dist/esm/types/transactions/encoded.js.map +1 -1
- package/dist/esm/types/transactions/index.js +2 -3
- package/dist/esm/types/transactions/index.js.map +1 -1
- package/dist/esm/utils/utils.js +80 -21
- package/dist/esm/utils/utils.js.map +1 -1
- package/dist/esm/wait.js +4 -4
- package/dist/esm/wait.js.map +1 -1
- package/dist/types/abi/abi_type.d.ts +1 -1
- package/dist/types/abi/contract.d.ts +2 -2
- package/dist/types/abi/index.d.ts +6 -6
- package/dist/types/abi/interface.d.ts +1 -1
- package/dist/types/abi/method.d.ts +6 -6
- package/dist/types/abi/transaction.d.ts +1 -1
- package/dist/types/account.d.ts +1 -1
- package/dist/types/boxStorage.d.ts +4 -5
- package/dist/types/client/baseHTTPClient.d.ts +9 -6
- package/dist/types/client/client.d.ts +59 -18
- package/dist/types/client/index.d.ts +5 -0
- package/dist/types/client/kmd.d.ts +12 -10
- package/dist/types/client/urlTokenBaseHTTPClient.d.ts +8 -5
- package/dist/types/client/v2/algod/accountApplicationInformation.d.ts +8 -6
- package/dist/types/client/v2/algod/accountAssetInformation.d.ts +8 -6
- package/dist/types/client/v2/algod/accountInformation.d.ts +7 -5
- package/dist/types/client/v2/algod/algod.d.ts +53 -52
- package/dist/types/client/v2/algod/block.d.ts +5 -4
- package/dist/types/client/v2/algod/compile.d.ts +7 -9
- package/dist/types/client/v2/algod/disassemble.d.ts +7 -9
- package/dist/types/client/v2/algod/dryrun.d.ts +7 -9
- package/dist/types/client/v2/algod/genesis.d.ts +4 -2
- package/dist/types/client/v2/algod/getApplicationBoxByName.d.ts +6 -7
- package/dist/types/client/v2/algod/getApplicationBoxes.d.ts +6 -7
- package/dist/types/client/v2/algod/getApplicationByID.d.ts +6 -5
- package/dist/types/client/v2/algod/getAssetByID.d.ts +6 -5
- package/dist/types/client/v2/algod/getBlockHash.d.ts +7 -6
- package/dist/types/client/v2/algod/getBlockOffsetTimestamp.d.ts +5 -4
- package/dist/types/client/v2/algod/getBlockTxids.d.ts +6 -5
- package/dist/types/client/v2/algod/getLedgerStateDelta.d.ts +6 -5
- package/dist/types/client/v2/algod/getLedgerStateDeltaForTransactionGroup.d.ts +6 -5
- package/dist/types/client/v2/algod/getSyncRound.d.ts +5 -4
- package/dist/types/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.d.ts +6 -7
- package/dist/types/client/v2/algod/getTransactionProof.d.ts +6 -5
- package/dist/types/client/v2/algod/healthCheck.d.ts +4 -3
- package/dist/types/client/v2/algod/index.d.ts +2 -0
- package/dist/types/client/v2/algod/lightBlockHeaderProof.d.ts +6 -5
- package/dist/types/client/v2/algod/models/types.d.ts +604 -317
- package/dist/types/client/v2/algod/pendingTransactionInformation.d.ts +5 -4
- package/dist/types/client/v2/algod/pendingTransactions.d.ts +5 -4
- package/dist/types/client/v2/algod/pendingTransactionsByAddress.d.ts +7 -5
- package/dist/types/client/v2/algod/ready.d.ts +4 -2
- package/dist/types/client/v2/algod/sendRawTransaction.d.ts +7 -5
- package/dist/types/client/v2/algod/setBlockOffsetTimestamp.d.ts +6 -6
- package/dist/types/client/v2/algod/setSyncRound.d.ts +6 -6
- package/dist/types/client/v2/algod/simulateTransaction.d.ts +7 -7
- package/dist/types/client/v2/algod/stateproof.d.ts +6 -5
- package/dist/types/client/v2/algod/status.d.ts +5 -2
- package/dist/types/client/v2/algod/statusAfterBlock.d.ts +6 -5
- package/dist/types/client/v2/algod/suggestedParams.d.ts +25 -4
- package/dist/types/client/v2/algod/supply.d.ts +5 -2
- package/dist/types/client/v2/algod/unsetSyncRound.d.ts +5 -3
- package/dist/types/client/v2/algod/versions.d.ts +5 -2
- package/dist/types/client/v2/indexer/index.d.ts +2 -0
- package/dist/types/client/v2/indexer/indexer.d.ts +31 -30
- package/dist/types/client/v2/indexer/lookupAccountAppLocalStates.d.ts +7 -5
- package/dist/types/client/v2/indexer/lookupAccountAssets.d.ts +7 -5
- package/dist/types/client/v2/indexer/lookupAccountByID.d.ts +7 -5
- package/dist/types/client/v2/indexer/lookupAccountCreatedApplications.d.ts +7 -5
- package/dist/types/client/v2/indexer/lookupAccountCreatedAssets.d.ts +7 -5
- package/dist/types/client/v2/indexer/lookupAccountTransactions.d.ts +11 -9
- package/dist/types/client/v2/indexer/lookupApplicationBoxByIDandName.d.ts +6 -7
- package/dist/types/client/v2/indexer/lookupApplicationLogs.d.ts +6 -5
- package/dist/types/client/v2/indexer/lookupApplications.d.ts +6 -5
- package/dist/types/client/v2/indexer/lookupAssetBalances.d.ts +6 -5
- package/dist/types/client/v2/indexer/lookupAssetByID.d.ts +6 -5
- package/dist/types/client/v2/indexer/lookupAssetTransactions.d.ts +12 -10
- package/dist/types/client/v2/indexer/lookupBlock.d.ts +6 -5
- package/dist/types/client/v2/indexer/lookupTransactionByID.d.ts +6 -5
- package/dist/types/client/v2/indexer/makeHealthCheck.d.ts +5 -2
- package/dist/types/client/v2/indexer/models/types.d.ts +513 -267
- package/dist/types/client/v2/indexer/searchAccounts.d.ts +7 -3
- package/dist/types/client/v2/indexer/searchForApplicationBoxes.d.ts +6 -7
- package/dist/types/client/v2/indexer/searchForApplications.d.ts +7 -3
- package/dist/types/client/v2/indexer/searchForAssets.d.ts +7 -3
- package/dist/types/client/v2/indexer/searchForTransactions.d.ts +11 -7
- package/dist/types/client/v2/jsonrequest.d.ts +20 -33
- package/dist/types/client/v2/serviceClient.d.ts +4 -18
- package/dist/types/client/v2/untypedmodel.d.ts +10 -0
- package/dist/types/composer.d.ts +18 -17
- package/dist/types/dryrun.d.ts +8 -80
- package/dist/types/encoding/address.d.ts +40 -31
- package/dist/types/encoding/binarydata.d.ts +30 -0
- package/dist/types/encoding/encoding.d.ts +219 -7
- package/dist/types/encoding/schema/address.d.ts +10 -0
- package/dist/types/encoding/schema/array.d.ts +11 -0
- package/dist/types/encoding/schema/binarystring.d.ts +18 -0
- package/dist/types/encoding/schema/blockhash.d.ts +16 -0
- package/dist/types/encoding/schema/boolean.d.ts +10 -0
- package/dist/types/encoding/schema/bytearray.d.ts +19 -0
- package/dist/types/encoding/schema/index.d.ts +11 -0
- package/dist/types/encoding/schema/map.d.ts +125 -0
- package/dist/types/encoding/schema/optional.d.ts +24 -0
- package/dist/types/encoding/schema/string.d.ts +9 -0
- package/dist/types/encoding/schema/uint64.d.ts +9 -0
- package/dist/types/encoding/schema/untyped.d.ts +9 -0
- package/dist/types/encoding/uint64.d.ts +1 -0
- package/dist/types/group.d.ts +6 -25
- package/dist/types/index.d.ts +2 -2
- package/dist/types/logic/sourcemap.d.ts +39 -13
- package/dist/types/logicsig.d.ts +27 -57
- package/dist/types/main.d.ts +43 -54
- package/dist/types/makeTxn.d.ts +117 -404
- package/dist/types/mnemonic/mnemonic.d.ts +1 -1
- package/dist/types/multisig.d.ts +28 -99
- package/dist/types/multisigSigning.d.ts +72 -0
- package/dist/types/signedTransaction.d.ts +55 -0
- package/dist/types/signer.d.ts +5 -5
- package/dist/types/signing.d.ts +29 -0
- package/dist/types/stateproof.d.ts +194 -0
- package/dist/types/transaction.d.ts +103 -182
- package/dist/types/types/account.d.ts +2 -1
- package/dist/types/types/block.d.ts +407 -0
- package/dist/types/types/intDecoding.d.ts +1 -1
- package/dist/types/types/statedelta.d.ts +575 -0
- package/dist/types/types/transactions/base.d.ts +206 -118
- package/dist/types/types/transactions/encoded.d.ts +7 -301
- package/dist/types/types/transactions/index.d.ts +2 -15
- package/dist/types/types/utils.d.ts +7 -7
- package/dist/types/utils/utils.d.ts +21 -16
- package/dist/types/wait.d.ts +3 -2
- package/package.json +48 -20
- package/src/abi/abi_type.ts +28 -18
- package/src/abi/contract.ts +2 -2
- package/src/abi/index.ts +6 -6
- package/src/abi/interface.ts +1 -1
- package/src/abi/method.ts +11 -9
- package/src/abi/transaction.ts +2 -2
- package/src/account.ts +5 -5
- package/src/boxStorage.ts +25 -23
- package/src/client/baseHTTPClient.ts +12 -6
- package/src/client/client.ts +147 -75
- package/src/client/index.ts +6 -0
- package/src/client/kmd.ts +79 -72
- package/src/client/urlTokenBaseHTTPClient.ts +25 -14
- package/src/client/v2/algod/accountApplicationInformation.ts +16 -9
- package/src/client/v2/algod/accountAssetInformation.ts +16 -9
- package/src/client/v2/algod/accountInformation.ts +16 -11
- package/src/client/v2/algod/algod.ts +83 -105
- package/src/client/v2/algod/block.ts +7 -11
- package/src/client/v2/algod/compile.ts +27 -19
- package/src/client/v2/algod/disassemble.ts +27 -19
- package/src/client/v2/algod/dryrun.ts +23 -19
- package/src/client/v2/algod/genesis.ts +8 -2
- package/src/client/v2/algod/getApplicationBoxByName.ts +10 -15
- package/src/client/v2/algod/getApplicationBoxes.ts +12 -13
- package/src/client/v2/algod/getApplicationByID.ts +15 -7
- package/src/client/v2/algod/getAssetByID.ts +15 -7
- package/src/client/v2/algod/getBlockHash.ts +13 -9
- package/src/client/v2/algod/getBlockOffsetTimestamp.ts +7 -8
- package/src/client/v2/algod/getBlockTxids.ts +12 -6
- package/src/client/v2/algod/getLedgerStateDelta.ts +16 -8
- package/src/client/v2/algod/getLedgerStateDeltaForTransactionGroup.ts +16 -8
- package/src/client/v2/algod/getSyncRound.ts +7 -8
- package/src/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.ts +15 -15
- package/src/client/v2/algod/getTransactionProof.ts +11 -9
- package/src/client/v2/algod/healthCheck.ts +5 -9
- package/src/client/v2/algod/index.ts +3 -0
- package/src/client/v2/algod/lightBlockHeaderProof.ts +15 -8
- package/src/client/v2/algod/models/types.ts +4699 -2263
- package/src/client/v2/algod/pendingTransactionInformation.ts +11 -11
- package/src/client/v2/algod/pendingTransactions.ts +7 -9
- package/src/client/v2/algod/pendingTransactionsByAddress.ts +12 -11
- package/src/client/v2/algod/ready.ts +6 -2
- package/src/client/v2/algod/sendRawTransaction.ts +24 -13
- package/src/client/v2/algod/setBlockOffsetTimestamp.ts +21 -11
- package/src/client/v2/algod/setSyncRound.ts +21 -11
- package/src/client/v2/algod/simulateTransaction.ts +22 -23
- package/src/client/v2/algod/stateproof.ts +15 -8
- package/src/client/v2/algod/status.ts +10 -2
- package/src/client/v2/algod/statusAfterBlock.ts +15 -7
- package/src/client/v2/algod/suggestedParams.ts +40 -10
- package/src/client/v2/algod/supply.ts +10 -2
- package/src/client/v2/algod/unsetSyncRound.ts +16 -5
- package/src/client/v2/algod/versions.ts +10 -2
- package/src/client/v2/indexer/index.ts +3 -0
- package/src/client/v2/indexer/indexer.ts +51 -59
- package/src/client/v2/indexer/lookupAccountAppLocalStates.ts +16 -11
- package/src/client/v2/indexer/lookupAccountAssets.ts +16 -11
- package/src/client/v2/indexer/lookupAccountByID.ts +16 -11
- package/src/client/v2/indexer/lookupAccountCreatedApplications.ts +16 -11
- package/src/client/v2/indexer/lookupAccountCreatedAssets.ts +16 -11
- package/src/client/v2/indexer/lookupAccountTransactions.ts +26 -19
- package/src/client/v2/indexer/lookupApplicationBoxByIDandName.ts +10 -15
- package/src/client/v2/indexer/lookupApplicationLogs.ts +15 -7
- package/src/client/v2/indexer/lookupApplications.ts +15 -7
- package/src/client/v2/indexer/lookupAssetBalances.ts +15 -7
- package/src/client/v2/indexer/lookupAssetByID.ts +15 -7
- package/src/client/v2/indexer/lookupAssetTransactions.ts +27 -16
- package/src/client/v2/indexer/lookupBlock.ts +15 -7
- package/src/client/v2/indexer/lookupTransactionByID.ts +15 -7
- package/src/client/v2/indexer/makeHealthCheck.ts +10 -2
- package/src/client/v2/indexer/models/types.ts +4454 -1988
- package/src/client/v2/indexer/searchAccounts.ts +13 -4
- package/src/client/v2/indexer/searchForApplicationBoxes.ts +12 -13
- package/src/client/v2/indexer/searchForApplications.ts +13 -4
- package/src/client/v2/indexer/searchForAssets.ts +13 -4
- package/src/client/v2/indexer/searchForTransactions.ts +22 -11
- package/src/client/v2/jsonrequest.ts +39 -57
- package/src/client/v2/serviceClient.ts +9 -31
- package/src/client/v2/untypedmodel.ts +25 -0
- package/src/composer.ts +83 -60
- package/src/dryrun.ts +129 -306
- package/src/encoding/address.ts +134 -146
- package/src/encoding/bigint.ts +2 -4
- package/src/encoding/binarydata.ts +80 -0
- package/src/encoding/encoding.ts +558 -13
- package/src/encoding/schema/address.ts +53 -0
- package/src/encoding/schema/array.ts +66 -0
- package/src/encoding/schema/binarystring.ts +73 -0
- package/src/encoding/schema/blockhash.ts +84 -0
- package/src/encoding/schema/boolean.ts +54 -0
- package/src/encoding/schema/bytearray.ts +127 -0
- package/src/encoding/schema/index.ts +26 -0
- package/src/encoding/schema/map.ts +713 -0
- package/src/encoding/schema/optional.ts +72 -0
- package/src/encoding/schema/string.ts +55 -0
- package/src/encoding/schema/uint64.ts +46 -0
- package/src/encoding/schema/untyped.ts +47 -0
- package/src/encoding/uint64.ts +2 -1
- package/src/group.ts +27 -75
- package/src/index.ts +2 -2
- package/src/logic/sourcemap.ts +94 -29
- package/src/logicsig.ts +154 -202
- package/src/main.ts +91 -94
- package/src/makeTxn.ts +660 -1338
- package/src/mnemonic/mnemonic.ts +14 -14
- package/src/multisig.ts +89 -403
- package/src/multisigSigning.ts +359 -0
- package/src/nacl/naclWrappers.ts +1 -1
- package/src/signedTransaction.ts +163 -0
- package/src/signer.ts +10 -5
- package/src/signing.ts +95 -0
- package/src/stateproof.ts +595 -0
- package/src/transaction.ts +986 -1242
- package/src/types/account.ts +3 -1
- package/src/types/block.ts +1278 -0
- package/src/types/intDecoding.ts +1 -1
- package/src/types/statedelta.ts +1717 -0
- package/src/types/transactions/base.ts +230 -122
- package/src/types/transactions/encoded.ts +81 -371
- package/src/types/transactions/index.ts +2 -72
- package/src/types/utils.ts +3 -3
- package/src/utils/utils.ts +96 -25
- package/src/wait.ts +8 -7
- package/dist/cjs/bid.js +0 -83
- package/dist/cjs/bid.js.map +0 -1
- package/dist/cjs/client/v2/basemodel.js +0 -67
- package/dist/cjs/client/v2/basemodel.js.map +0 -1
- package/dist/cjs/types/address.js +0 -3
- package/dist/cjs/types/address.js.map +0 -1
- package/dist/cjs/types/blockHeader.js +0 -3
- package/dist/cjs/types/blockHeader.js.map +0 -1
- package/dist/cjs/types/index.js.map +0 -1
- package/dist/cjs/types/multisig.js +0 -3
- package/dist/cjs/types/multisig.js.map +0 -1
- package/dist/cjs/types/transactions/application.js +0 -3
- package/dist/cjs/types/transactions/application.js.map +0 -1
- package/dist/cjs/types/transactions/asset.js +0 -3
- package/dist/cjs/types/transactions/asset.js.map +0 -1
- package/dist/cjs/types/transactions/builder.js +0 -3
- package/dist/cjs/types/transactions/builder.js.map +0 -1
- package/dist/cjs/types/transactions/keyreg.js +0 -3
- package/dist/cjs/types/transactions/keyreg.js.map +0 -1
- package/dist/cjs/types/transactions/payment.js +0 -3
- package/dist/cjs/types/transactions/payment.js.map +0 -1
- package/dist/cjs/types/transactions/stateproof.js +0 -3
- package/dist/cjs/types/transactions/stateproof.js.map +0 -1
- package/dist/esm/bid.js +0 -57
- package/dist/esm/bid.js.map +0 -1
- package/dist/esm/client/v2/basemodel.js +0 -64
- package/dist/esm/client/v2/basemodel.js.map +0 -1
- package/dist/esm/types/address.js +0 -2
- package/dist/esm/types/address.js.map +0 -1
- package/dist/esm/types/blockHeader.js +0 -2
- package/dist/esm/types/blockHeader.js.map +0 -1
- package/dist/esm/types/index.js +0 -4
- package/dist/esm/types/index.js.map +0 -1
- package/dist/esm/types/multisig.js +0 -2
- package/dist/esm/types/multisig.js.map +0 -1
- package/dist/esm/types/transactions/application.js +0 -2
- package/dist/esm/types/transactions/application.js.map +0 -1
- package/dist/esm/types/transactions/asset.js +0 -2
- package/dist/esm/types/transactions/asset.js.map +0 -1
- package/dist/esm/types/transactions/builder.js +0 -2
- package/dist/esm/types/transactions/builder.js.map +0 -1
- package/dist/esm/types/transactions/keyreg.js +0 -2
- package/dist/esm/types/transactions/keyreg.js.map +0 -1
- package/dist/esm/types/transactions/payment.js +0 -2
- package/dist/esm/types/transactions/payment.js.map +0 -1
- package/dist/esm/types/transactions/stateproof.js +0 -2
- package/dist/esm/types/transactions/stateproof.js.map +0 -1
- package/dist/types/bid.d.ts +0 -38
- package/dist/types/client/v2/basemodel.d.ts +0 -11
- package/dist/types/types/address.d.ts +0 -7
- package/dist/types/types/blockHeader.d.ts +0 -67
- package/dist/types/types/index.d.ts +0 -3
- package/dist/types/types/multisig.d.ts +0 -20
- package/dist/types/types/transactions/application.d.ts +0 -22
- package/dist/types/types/transactions/asset.d.ts +0 -28
- package/dist/types/types/transactions/builder.d.ts +0 -36
- package/dist/types/types/transactions/keyreg.d.ts +0 -8
- package/dist/types/types/transactions/payment.d.ts +0 -8
- package/dist/types/types/transactions/stateproof.d.ts +0 -8
- package/src/bid.ts +0 -96
- package/src/client/v2/basemodel.ts +0 -81
- package/src/types/address.ts +0 -7
- package/src/types/blockHeader.ts +0 -81
- package/src/types/index.ts +0 -3
- package/src/types/multisig.ts +0 -22
- package/src/types/transactions/application.ts +0 -111
- package/src/types/transactions/asset.ts +0 -108
- package/src/types/transactions/builder.ts +0 -69
- package/src/types/transactions/keyreg.ts +0 -23
- package/src/types/transactions/payment.ts +0 -14
- package/src/types/transactions/stateproof.ts +0 -17
|
@@ -0,0 +1,595 @@
|
|
|
1
|
+
import { Encodable, Schema } from './encoding/encoding.js';
|
|
2
|
+
import {
|
|
3
|
+
Uint64Schema,
|
|
4
|
+
ByteArraySchema,
|
|
5
|
+
FixedLengthByteArraySchema,
|
|
6
|
+
ArraySchema,
|
|
7
|
+
NamedMapSchema,
|
|
8
|
+
Uint64MapSchema,
|
|
9
|
+
allOmitEmpty,
|
|
10
|
+
convertMap,
|
|
11
|
+
} from './encoding/schema/index.js';
|
|
12
|
+
|
|
13
|
+
export class HashFactory implements Encodable {
|
|
14
|
+
public static readonly encodingSchema = new NamedMapSchema(
|
|
15
|
+
allOmitEmpty([
|
|
16
|
+
{ key: 't', valueSchema: new Uint64Schema() }, // hashType
|
|
17
|
+
])
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
public hashType: number;
|
|
21
|
+
|
|
22
|
+
public constructor(params: { hashType: number }) {
|
|
23
|
+
this.hashType = params.hashType;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// eslint-disable-next-line class-methods-use-this
|
|
27
|
+
public getEncodingSchema(): Schema {
|
|
28
|
+
return HashFactory.encodingSchema;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
public toEncodingData(): Map<string, unknown> {
|
|
32
|
+
return new Map<string, unknown>([['t', this.hashType]]);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
public static fromEncodingData(data: unknown): HashFactory {
|
|
36
|
+
if (!(data instanceof Map)) {
|
|
37
|
+
throw new Error(`Invalid decoded HashFactory: ${data}`);
|
|
38
|
+
}
|
|
39
|
+
return new HashFactory({
|
|
40
|
+
hashType: Number(data.get('t')),
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export class MerkleArrayProof implements Encodable {
|
|
46
|
+
public static readonly encodingSchema = new NamedMapSchema(
|
|
47
|
+
allOmitEmpty([
|
|
48
|
+
{
|
|
49
|
+
key: 'pth', // path
|
|
50
|
+
valueSchema: new ArraySchema(new ByteArraySchema()),
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
key: 'hsh', // hashFactory
|
|
54
|
+
valueSchema: HashFactory.encodingSchema,
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
key: 'td', // treeDepth
|
|
58
|
+
valueSchema: new Uint64Schema(),
|
|
59
|
+
},
|
|
60
|
+
])
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Path is bounded by MaxNumLeavesOnEncodedTree since there could be multiple reveals, and
|
|
65
|
+
* given the distribution of the elt positions and the depth of the tree, the path length can
|
|
66
|
+
* increase up to 2^MaxEncodedTreeDepth / 2
|
|
67
|
+
*/
|
|
68
|
+
public path: Uint8Array[];
|
|
69
|
+
|
|
70
|
+
public hashFactory: HashFactory;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* TreeDepth represents the depth of the tree that is being proven. It is the number of edges
|
|
74
|
+
* from the root to a leaf.
|
|
75
|
+
*/
|
|
76
|
+
public treeDepth: number;
|
|
77
|
+
|
|
78
|
+
public constructor(params: {
|
|
79
|
+
path: Uint8Array[];
|
|
80
|
+
hashFactory: HashFactory;
|
|
81
|
+
treeDepth: number;
|
|
82
|
+
}) {
|
|
83
|
+
this.path = params.path;
|
|
84
|
+
this.hashFactory = params.hashFactory;
|
|
85
|
+
this.treeDepth = params.treeDepth;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// eslint-disable-next-line class-methods-use-this
|
|
89
|
+
public getEncodingSchema(): Schema {
|
|
90
|
+
return MerkleArrayProof.encodingSchema;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
public toEncodingData(): Map<string, unknown> {
|
|
94
|
+
return new Map<string, unknown>([
|
|
95
|
+
['pth', this.path],
|
|
96
|
+
['hsh', this.hashFactory.toEncodingData()],
|
|
97
|
+
['td', this.treeDepth],
|
|
98
|
+
]);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
public static fromEncodingData(data: unknown): MerkleArrayProof {
|
|
102
|
+
if (!(data instanceof Map)) {
|
|
103
|
+
throw new Error(`Invalid decoded MerkleArrayProof: ${data}`);
|
|
104
|
+
}
|
|
105
|
+
return new MerkleArrayProof({
|
|
106
|
+
path: data.get('pth'),
|
|
107
|
+
hashFactory: HashFactory.fromEncodingData(data.get('hsh')),
|
|
108
|
+
treeDepth: Number(data.get('td')),
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* MerkleSignatureVerifier is used to verify a merkle signature.
|
|
115
|
+
*/
|
|
116
|
+
export class MerkleSignatureVerifier implements Encodable {
|
|
117
|
+
public static readonly encodingSchema = new NamedMapSchema(
|
|
118
|
+
allOmitEmpty([
|
|
119
|
+
{
|
|
120
|
+
key: 'cmt', // commitment
|
|
121
|
+
valueSchema: new FixedLengthByteArraySchema(64),
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
key: 'lf', // keyLifetime
|
|
125
|
+
valueSchema: new Uint64Schema(),
|
|
126
|
+
},
|
|
127
|
+
])
|
|
128
|
+
);
|
|
129
|
+
|
|
130
|
+
public commitment: Uint8Array;
|
|
131
|
+
|
|
132
|
+
public keyLifetime: bigint;
|
|
133
|
+
|
|
134
|
+
public constructor(params: { commitment: Uint8Array; keyLifetime: bigint }) {
|
|
135
|
+
this.commitment = params.commitment;
|
|
136
|
+
this.keyLifetime = params.keyLifetime;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// eslint-disable-next-line class-methods-use-this
|
|
140
|
+
public getEncodingSchema(): Schema {
|
|
141
|
+
return MerkleSignatureVerifier.encodingSchema;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
public toEncodingData(): Map<string, unknown> {
|
|
145
|
+
return new Map<string, unknown>([
|
|
146
|
+
['cmt', this.commitment],
|
|
147
|
+
['lf', this.keyLifetime],
|
|
148
|
+
]);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
public static fromEncodingData(data: unknown): MerkleSignatureVerifier {
|
|
152
|
+
if (!(data instanceof Map)) {
|
|
153
|
+
throw new Error(`Invalid decoded MerkleSignatureVerifier: ${data}`);
|
|
154
|
+
}
|
|
155
|
+
return new MerkleSignatureVerifier({
|
|
156
|
+
commitment: data.get('cmt'),
|
|
157
|
+
keyLifetime: data.get('lf'),
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* A Participant corresponds to an account whose AccountData.Status is Online, and for which the
|
|
164
|
+
* expected sigRound satisfies AccountData.VoteFirstValid <= sigRound <= AccountData.VoteLastValid.
|
|
165
|
+
*
|
|
166
|
+
* In the Algorand ledger, it is possible for multiple accounts to have the same PK. Thus, the PK is
|
|
167
|
+
* not necessarily unique among Participants. However, each account will produce a unique Participant
|
|
168
|
+
* struct, to avoid potential DoS attacks where one account claims to have the same VoteID PK as
|
|
169
|
+
* another account.
|
|
170
|
+
*/
|
|
171
|
+
export class Participant implements Encodable {
|
|
172
|
+
public static readonly encodingSchema = new NamedMapSchema(
|
|
173
|
+
allOmitEmpty([
|
|
174
|
+
{
|
|
175
|
+
key: 'p', // pk
|
|
176
|
+
valueSchema: MerkleSignatureVerifier.encodingSchema,
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
key: 'w', // weight
|
|
180
|
+
valueSchema: new Uint64Schema(),
|
|
181
|
+
},
|
|
182
|
+
])
|
|
183
|
+
);
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* pk is the identifier used to verify the signature for a specific participant
|
|
187
|
+
*/
|
|
188
|
+
public pk: MerkleSignatureVerifier;
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* weight is AccountData.MicroAlgos.
|
|
192
|
+
*/
|
|
193
|
+
public weight: bigint;
|
|
194
|
+
|
|
195
|
+
public constructor(params: { pk: MerkleSignatureVerifier; weight: bigint }) {
|
|
196
|
+
this.pk = params.pk;
|
|
197
|
+
this.weight = params.weight;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
// eslint-disable-next-line class-methods-use-this
|
|
201
|
+
public getEncodingSchema(): Schema {
|
|
202
|
+
return Participant.encodingSchema;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
public toEncodingData(): Map<string, unknown> {
|
|
206
|
+
return new Map<string, unknown>([
|
|
207
|
+
['p', this.pk.toEncodingData()],
|
|
208
|
+
['w', this.weight],
|
|
209
|
+
]);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
public static fromEncodingData(data: unknown): Participant {
|
|
213
|
+
if (!(data instanceof Map)) {
|
|
214
|
+
throw new Error(`Invalid decoded Participant: ${data}`);
|
|
215
|
+
}
|
|
216
|
+
return new Participant({
|
|
217
|
+
pk: MerkleSignatureVerifier.fromEncodingData(data.get('p')),
|
|
218
|
+
weight: data.get('w'),
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
export class FalconVerifier implements Encodable {
|
|
224
|
+
public static readonly encodingSchema = new NamedMapSchema(
|
|
225
|
+
allOmitEmpty([
|
|
226
|
+
{ key: 'k', valueSchema: new FixedLengthByteArraySchema(0x701) }, // publicKey
|
|
227
|
+
])
|
|
228
|
+
);
|
|
229
|
+
|
|
230
|
+
public publicKey: Uint8Array;
|
|
231
|
+
|
|
232
|
+
public constructor(params: { publicKey: Uint8Array }) {
|
|
233
|
+
this.publicKey = params.publicKey;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
// eslint-disable-next-line class-methods-use-this
|
|
237
|
+
public getEncodingSchema(): Schema {
|
|
238
|
+
return FalconVerifier.encodingSchema;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
public toEncodingData(): Map<string, unknown> {
|
|
242
|
+
return new Map<string, unknown>([['k', this.publicKey]]);
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
public static fromEncodingData(data: unknown): FalconVerifier {
|
|
246
|
+
if (!(data instanceof Map)) {
|
|
247
|
+
throw new Error(`Invalid decoded FalconVerifier: ${data}`);
|
|
248
|
+
}
|
|
249
|
+
return new FalconVerifier({
|
|
250
|
+
publicKey: data.get('k'),
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* FalconSignatureStruct represents a signature in the merkle signature scheme using falcon signatures
|
|
257
|
+
* as an underlying crypto scheme. It consists of an ephemeral public key, a signature, a merkle
|
|
258
|
+
* verification path and an index. The merkle signature considered valid only if the Signature is
|
|
259
|
+
* verified under the ephemeral public key and the Merkle verification path verifies that the
|
|
260
|
+
* ephemeral public key is located at the given index of the tree (for the root given in the
|
|
261
|
+
* long-term public key). More details can be found on Algorand's spec
|
|
262
|
+
*/
|
|
263
|
+
export class FalconSignatureStruct implements Encodable {
|
|
264
|
+
public static readonly encodingSchema = new NamedMapSchema(
|
|
265
|
+
allOmitEmpty([
|
|
266
|
+
{ key: 'sig', valueSchema: new ByteArraySchema() }, // signature
|
|
267
|
+
{ key: 'idx', valueSchema: new Uint64Schema() }, // index
|
|
268
|
+
{ key: 'prf', valueSchema: MerkleArrayProof.encodingSchema }, // proof
|
|
269
|
+
{ key: 'vkey', valueSchema: FalconVerifier.encodingSchema }, // verifyingKey
|
|
270
|
+
])
|
|
271
|
+
);
|
|
272
|
+
|
|
273
|
+
public signature: Uint8Array;
|
|
274
|
+
public vectorCommitmentIndex: bigint;
|
|
275
|
+
public proof: MerkleArrayProof;
|
|
276
|
+
public verifyingKey: FalconVerifier;
|
|
277
|
+
|
|
278
|
+
public constructor(params: {
|
|
279
|
+
signature: Uint8Array;
|
|
280
|
+
index: bigint;
|
|
281
|
+
proof: MerkleArrayProof;
|
|
282
|
+
verifyingKey: FalconVerifier;
|
|
283
|
+
}) {
|
|
284
|
+
this.signature = params.signature;
|
|
285
|
+
this.vectorCommitmentIndex = params.index;
|
|
286
|
+
this.proof = params.proof;
|
|
287
|
+
this.verifyingKey = params.verifyingKey;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
// eslint-disable-next-line class-methods-use-this
|
|
291
|
+
public getEncodingSchema(): Schema {
|
|
292
|
+
return FalconSignatureStruct.encodingSchema;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
public toEncodingData(): Map<string, unknown> {
|
|
296
|
+
return new Map<string, unknown>([
|
|
297
|
+
['sig', this.signature],
|
|
298
|
+
['idx', this.vectorCommitmentIndex],
|
|
299
|
+
['prf', this.proof.toEncodingData()],
|
|
300
|
+
['vkey', this.verifyingKey.toEncodingData()],
|
|
301
|
+
]);
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
public static fromEncodingData(data: unknown): FalconSignatureStruct {
|
|
305
|
+
if (!(data instanceof Map)) {
|
|
306
|
+
throw new Error(`Invalid decoded FalconSignatureStruct: ${data}`);
|
|
307
|
+
}
|
|
308
|
+
return new FalconSignatureStruct({
|
|
309
|
+
signature: data.get('sig'),
|
|
310
|
+
index: data.get('idx'),
|
|
311
|
+
proof: MerkleArrayProof.fromEncodingData(data.get('prf')),
|
|
312
|
+
verifyingKey: FalconVerifier.fromEncodingData(data.get('vkey')),
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
/**
|
|
318
|
+
* A SigslotCommit is a single slot in the sigs array that forms the state proof.
|
|
319
|
+
*/
|
|
320
|
+
export class SigslotCommit implements Encodable {
|
|
321
|
+
public static readonly encodingSchema = new NamedMapSchema(
|
|
322
|
+
allOmitEmpty([
|
|
323
|
+
{ key: 's', valueSchema: FalconSignatureStruct.encodingSchema }, // sigslot
|
|
324
|
+
{ key: 'l', valueSchema: new Uint64Schema() }, // l
|
|
325
|
+
])
|
|
326
|
+
);
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* Sig is a signature by the participant on the expected message.
|
|
330
|
+
*/
|
|
331
|
+
public sig: FalconSignatureStruct;
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* L is the total weight of signatures in lower-numbered slots. This is initialized once the builder
|
|
335
|
+
* has collected a sufficient number of signatures.
|
|
336
|
+
*/
|
|
337
|
+
public l: bigint;
|
|
338
|
+
|
|
339
|
+
public constructor(params: { sig: FalconSignatureStruct; l: bigint }) {
|
|
340
|
+
this.sig = params.sig;
|
|
341
|
+
this.l = params.l;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
// eslint-disable-next-line class-methods-use-this
|
|
345
|
+
public getEncodingSchema(): Schema {
|
|
346
|
+
return SigslotCommit.encodingSchema;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
public toEncodingData(): Map<string, unknown> {
|
|
350
|
+
return new Map<string, unknown>([
|
|
351
|
+
['s', this.sig.toEncodingData()],
|
|
352
|
+
['l', this.l],
|
|
353
|
+
]);
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
public static fromEncodingData(data: unknown): SigslotCommit {
|
|
357
|
+
if (!(data instanceof Map)) {
|
|
358
|
+
throw new Error(`Invalid decoded SigslotCommit: ${data}`);
|
|
359
|
+
}
|
|
360
|
+
return new SigslotCommit({
|
|
361
|
+
sig: FalconSignatureStruct.fromEncodingData(data.get('s')),
|
|
362
|
+
l: data.get('l'),
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
/**
|
|
368
|
+
* Reveal is a single array position revealed as part of a state proof. It reveals an element of the
|
|
369
|
+
* signature array and the corresponding element of the participants array.
|
|
370
|
+
*/
|
|
371
|
+
export class Reveal implements Encodable {
|
|
372
|
+
public static readonly encodingSchema = new NamedMapSchema(
|
|
373
|
+
allOmitEmpty([
|
|
374
|
+
{ key: 's', valueSchema: SigslotCommit.encodingSchema }, // sigslotCommit
|
|
375
|
+
{ key: 'p', valueSchema: Participant.encodingSchema }, // participant
|
|
376
|
+
])
|
|
377
|
+
);
|
|
378
|
+
|
|
379
|
+
public sigslot: SigslotCommit;
|
|
380
|
+
|
|
381
|
+
public participant: Participant;
|
|
382
|
+
|
|
383
|
+
public constructor(params: {
|
|
384
|
+
sigslot: SigslotCommit;
|
|
385
|
+
participant: Participant;
|
|
386
|
+
}) {
|
|
387
|
+
this.sigslot = params.sigslot;
|
|
388
|
+
this.participant = params.participant;
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
// eslint-disable-next-line class-methods-use-this
|
|
392
|
+
public getEncodingSchema(): Schema {
|
|
393
|
+
return Reveal.encodingSchema;
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
public toEncodingData(): Map<string, unknown> {
|
|
397
|
+
return new Map<string, unknown>([
|
|
398
|
+
['s', this.sigslot.toEncodingData()],
|
|
399
|
+
['p', this.participant.toEncodingData()],
|
|
400
|
+
]);
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
public static fromEncodingData(data: unknown): Reveal {
|
|
404
|
+
if (!(data instanceof Map)) {
|
|
405
|
+
throw new Error(`Invalid decoded Reveal: ${data}`);
|
|
406
|
+
}
|
|
407
|
+
return new Reveal({
|
|
408
|
+
sigslot: SigslotCommit.fromEncodingData(data.get('s')),
|
|
409
|
+
participant: Participant.fromEncodingData(data.get('p')),
|
|
410
|
+
});
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
export class StateProof implements Encodable {
|
|
415
|
+
public static readonly encodingSchema = new NamedMapSchema(
|
|
416
|
+
allOmitEmpty([
|
|
417
|
+
{
|
|
418
|
+
key: 'c', // sigCommit
|
|
419
|
+
valueSchema: new ByteArraySchema(),
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
key: 'w', // signedWeight
|
|
423
|
+
valueSchema: new Uint64Schema(),
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
key: 'S', // sigProofs
|
|
427
|
+
valueSchema: MerkleArrayProof.encodingSchema,
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
key: 'P', // partProofs
|
|
431
|
+
valueSchema: MerkleArrayProof.encodingSchema,
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
key: 'v', // merkleSignatureSaltVersion
|
|
435
|
+
valueSchema: new Uint64Schema(),
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
key: 'r', // reveals
|
|
439
|
+
valueSchema: new Uint64MapSchema(Reveal.encodingSchema),
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
key: 'pr', // positionsToReveal
|
|
443
|
+
valueSchema: new ArraySchema(new Uint64Schema()),
|
|
444
|
+
},
|
|
445
|
+
])
|
|
446
|
+
);
|
|
447
|
+
|
|
448
|
+
public sigCommit: Uint8Array;
|
|
449
|
+
|
|
450
|
+
public signedWeight: bigint;
|
|
451
|
+
|
|
452
|
+
public sigProofs: MerkleArrayProof;
|
|
453
|
+
|
|
454
|
+
public partProofs: MerkleArrayProof;
|
|
455
|
+
|
|
456
|
+
public merkleSignatureSaltVersion: number;
|
|
457
|
+
|
|
458
|
+
/**
|
|
459
|
+
* Reveals is a sparse map from the position being revealed to the corresponding elements from the
|
|
460
|
+
* sigs and participants arrays.
|
|
461
|
+
*/
|
|
462
|
+
public reveals: Map<bigint, Reveal>;
|
|
463
|
+
|
|
464
|
+
public positionsToReveal: bigint[];
|
|
465
|
+
|
|
466
|
+
public constructor(params: {
|
|
467
|
+
sigCommit: Uint8Array;
|
|
468
|
+
signedWeight: bigint;
|
|
469
|
+
sigProofs: MerkleArrayProof;
|
|
470
|
+
partProofs: MerkleArrayProof;
|
|
471
|
+
merkleSignatureSaltVersion: number;
|
|
472
|
+
reveals: Map<bigint, Reveal>;
|
|
473
|
+
positionsToReveal: bigint[];
|
|
474
|
+
}) {
|
|
475
|
+
this.sigCommit = params.sigCommit;
|
|
476
|
+
this.signedWeight = params.signedWeight;
|
|
477
|
+
this.sigProofs = params.sigProofs;
|
|
478
|
+
this.partProofs = params.partProofs;
|
|
479
|
+
this.merkleSignatureSaltVersion = params.merkleSignatureSaltVersion;
|
|
480
|
+
this.reveals = params.reveals;
|
|
481
|
+
this.positionsToReveal = params.positionsToReveal;
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
// eslint-disable-next-line class-methods-use-this
|
|
485
|
+
public getEncodingSchema(): Schema {
|
|
486
|
+
return StateProof.encodingSchema;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
public toEncodingData(): Map<string, unknown> {
|
|
490
|
+
return new Map<string, unknown>([
|
|
491
|
+
['c', this.sigCommit],
|
|
492
|
+
['w', this.signedWeight],
|
|
493
|
+
['S', this.sigProofs.toEncodingData()],
|
|
494
|
+
['P', this.partProofs.toEncodingData()],
|
|
495
|
+
['v', this.merkleSignatureSaltVersion],
|
|
496
|
+
[
|
|
497
|
+
'r',
|
|
498
|
+
convertMap(this.reveals, (key, value) => [key, value.toEncodingData()]),
|
|
499
|
+
],
|
|
500
|
+
['pr', this.positionsToReveal],
|
|
501
|
+
]);
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
public static fromEncodingData(data: unknown): StateProof {
|
|
505
|
+
if (!(data instanceof Map)) {
|
|
506
|
+
throw new Error(`Invalid decoded StateProof: ${data}`);
|
|
507
|
+
}
|
|
508
|
+
return new StateProof({
|
|
509
|
+
sigCommit: data.get('c'),
|
|
510
|
+
signedWeight: data.get('w'),
|
|
511
|
+
sigProofs: MerkleArrayProof.fromEncodingData(data.get('S')),
|
|
512
|
+
partProofs: MerkleArrayProof.fromEncodingData(data.get('P')),
|
|
513
|
+
merkleSignatureSaltVersion: Number(data.get('v')),
|
|
514
|
+
reveals: convertMap(data.get('r'), (key, value) => [
|
|
515
|
+
key as bigint,
|
|
516
|
+
Reveal.fromEncodingData(value),
|
|
517
|
+
]),
|
|
518
|
+
positionsToReveal: data.get('pr'),
|
|
519
|
+
});
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
export class StateProofMessage implements Encodable {
|
|
524
|
+
public static readonly encodingSchema = new NamedMapSchema(
|
|
525
|
+
allOmitEmpty([
|
|
526
|
+
{ key: 'b', valueSchema: new ByteArraySchema() }, // blockHeadersCommitment
|
|
527
|
+
{ key: 'v', valueSchema: new ByteArraySchema() }, // votersCommitment
|
|
528
|
+
{ key: 'P', valueSchema: new Uint64Schema() }, // lnProvenWeight
|
|
529
|
+
{ key: 'f', valueSchema: new Uint64Schema() }, // firstAttestedRound
|
|
530
|
+
{ key: 'l', valueSchema: new Uint64Schema() }, // lastAttestedRound
|
|
531
|
+
])
|
|
532
|
+
);
|
|
533
|
+
|
|
534
|
+
public blockHeadersCommitment: Uint8Array;
|
|
535
|
+
|
|
536
|
+
public votersCommitment: Uint8Array;
|
|
537
|
+
|
|
538
|
+
public lnProvenWeight: bigint;
|
|
539
|
+
|
|
540
|
+
public firstAttestedRound: bigint;
|
|
541
|
+
|
|
542
|
+
public lastAttestedRound: bigint;
|
|
543
|
+
|
|
544
|
+
public constructor(params: {
|
|
545
|
+
blockHeadersCommitment: Uint8Array;
|
|
546
|
+
votersCommitment: Uint8Array;
|
|
547
|
+
lnProvenWeight: bigint;
|
|
548
|
+
firstAttestedRound: bigint;
|
|
549
|
+
lastAttestedRound: bigint;
|
|
550
|
+
}) {
|
|
551
|
+
this.blockHeadersCommitment = params.blockHeadersCommitment;
|
|
552
|
+
this.votersCommitment = params.votersCommitment;
|
|
553
|
+
this.lnProvenWeight = params.lnProvenWeight;
|
|
554
|
+
this.firstAttestedRound = params.firstAttestedRound;
|
|
555
|
+
this.lastAttestedRound = params.lastAttestedRound;
|
|
556
|
+
}
|
|
557
|
+
|
|
558
|
+
// eslint-disable-next-line class-methods-use-this
|
|
559
|
+
public getEncodingSchema(): Schema {
|
|
560
|
+
return StateProofMessage.encodingSchema;
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
public toEncodingData(): Map<string, unknown> {
|
|
564
|
+
return new Map<string, unknown>([
|
|
565
|
+
['b', this.blockHeadersCommitment],
|
|
566
|
+
['v', this.votersCommitment],
|
|
567
|
+
['P', this.lnProvenWeight],
|
|
568
|
+
['f', this.firstAttestedRound],
|
|
569
|
+
['l', this.lastAttestedRound],
|
|
570
|
+
]);
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
public static fromEncodingData(data: unknown): StateProofMessage {
|
|
574
|
+
if (!(data instanceof Map)) {
|
|
575
|
+
throw new Error(`Invalid decoded StateProofMessage: ${data}`);
|
|
576
|
+
}
|
|
577
|
+
return new StateProofMessage({
|
|
578
|
+
blockHeadersCommitment: data.get('b'),
|
|
579
|
+
votersCommitment: data.get('v'),
|
|
580
|
+
lnProvenWeight: data.get('P'),
|
|
581
|
+
firstAttestedRound: data.get('f'),
|
|
582
|
+
lastAttestedRound: data.get('l'),
|
|
583
|
+
});
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
public static fromMap(data: Map<string, unknown>): StateProofMessage {
|
|
587
|
+
return new StateProofMessage({
|
|
588
|
+
blockHeadersCommitment: data.get('b') as Uint8Array,
|
|
589
|
+
votersCommitment: data.get('v') as Uint8Array,
|
|
590
|
+
lnProvenWeight: data.get('P') as bigint,
|
|
591
|
+
firstAttestedRound: data.get('f') as bigint,
|
|
592
|
+
lastAttestedRound: data.get('l') as bigint,
|
|
593
|
+
});
|
|
594
|
+
}
|
|
595
|
+
}
|