@algorandfoundation/algokit-utils 10.0.0-alpha.14 → 10.0.0-alpha.15

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/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "**"
7
7
  ],
8
8
  "name": "@algorandfoundation/algokit-utils",
9
- "version": "10.0.0-alpha.14",
9
+ "version": "10.0.0-alpha.15",
10
10
  "private": false,
11
11
  "description": "A set of core Algorand utilities written in TypeScript and released via npm that make it easier to build solutions on Algorand.",
12
12
  "author": "Algorand Foundation",
@@ -144,7 +144,7 @@ type BlockHeader = {
144
144
  /** Protocol upgrade state. */
145
145
  upgradeState: UpgradeState;
146
146
  /** Protocol upgrade vote parameters. */
147
- upgradeVote: UpgradeVote;
147
+ upgradeVote?: UpgradeVote;
148
148
  /** [tc] Transaction counter. */
149
149
  txnCounter?: bigint;
150
150
  /** [spt] State proof tracking data keyed by state proof type. */
@@ -1 +1 @@
1
- {"version":3,"file":"block.js","names":["BlockEvalDeltaMeta: ObjectModelMetadata<BlockEvalDelta>","numberCodec","bytesCodec","bigIntCodec","BlockAppEvalDeltaMeta: ObjectModelMetadata<BlockAppEvalDelta>","MapCodec","ObjectModelCodec","ArrayCodec","addressArrayCodec","bytesArrayCodec","BlockStateProofTrackingDataMeta: ObjectModelMetadata<BlockStateProofTrackingData>","ApplyDataMeta: ObjectModelMetadata<ApplyData>","SignedTxnWithADMeta: ObjectModelMetadata<SignedTxnWithAD>","SignedTransactionMeta","SignedTxnInBlockMeta: ObjectModelMetadata<SignedTxnInBlock>","booleanCodec","ParticipationUpdatesMeta: ObjectModelMetadata<ParticipationUpdates>","TxnCommitmentsMeta: ObjectModelMetadata<TxnCommitments>","fixedBytes32Codec","fixedBytes64Codec","RewardStateMeta: ObjectModelMetadata<RewardState>","addressCodec","UpgradeStateMeta: ObjectModelMetadata<UpgradeState>","stringCodec","UpgradeVoteMeta: ObjectModelMetadata<UpgradeVote>","BlockMeta: ObjectModelMetadata<Block>"],"sources":["../../../../../packages/algod_client/src/models/block.ts"],"sourcesContent":["import {\n Address,\n ArrayCodec,\n MapCodec,\n ObjectModelCodec,\n type EncodingFormat,\n type ObjectModelMetadata,\n type WireObject,\n addressArrayCodec,\n addressCodec,\n bigIntCodec,\n booleanCodec,\n bytesArrayCodec,\n bytesCodec,\n fixedBytes32Codec,\n fixedBytes64Codec,\n numberCodec,\n stringCodec,\n} from '@algorandfoundation/algokit-common'\nimport { type SignedTransaction, SignedTransactionMeta } from '@algorandfoundation/algokit-transact'\n\n/** BlockEvalDelta represents a TEAL value delta (block/msgpack wire keys). */\nexport type BlockEvalDelta = {\n /** [at] delta action. */\n action: number\n /** [bs] bytes value. */\n bytes?: Uint8Array\n /** [ui] uint value. */\n uint?: bigint\n}\n\nconst BlockEvalDeltaMeta: ObjectModelMetadata<BlockEvalDelta> = {\n name: 'BlockEvalDelta',\n kind: 'object',\n fields: [\n { name: 'action', wireKey: 'at', optional: false, codec: numberCodec },\n { name: 'bytes', wireKey: 'bs', optional: true, codec: bytesCodec },\n { name: 'uint', wireKey: 'ui', optional: true, codec: bigIntCodec },\n ],\n}\n\n/**\n * State changes from application execution, including inner transactions and logs.\n */\nexport type BlockAppEvalDelta = {\n /** [gd] Global state delta for the application. */\n globalDelta?: Map<Uint8Array, BlockEvalDelta>\n /** [ld] Local state deltas keyed by address index. */\n localDeltas?: Map<number, Map<Uint8Array, BlockEvalDelta>>\n /** [itx] Inner transactions produced by this application execution. */\n innerTxns?: SignedTxnWithAD[]\n /** [sa] Shared accounts referenced by local deltas. */\n sharedAccounts?: Address[]\n /** [lg] Application log outputs. */\n logs?: Uint8Array[]\n}\n\nconst BlockAppEvalDeltaMeta: ObjectModelMetadata<BlockAppEvalDelta> = {\n name: 'BlockAppEvalDelta',\n kind: 'object',\n fields: [\n {\n name: 'globalDelta',\n wireKey: 'gd',\n optional: true,\n codec: new MapCodec(bytesCodec, new ObjectModelCodec(BlockEvalDeltaMeta)),\n },\n {\n name: 'localDeltas',\n wireKey: 'ld',\n optional: true,\n codec: new MapCodec(numberCodec, new MapCodec(bytesCodec, new ObjectModelCodec(BlockEvalDeltaMeta))),\n },\n {\n name: 'innerTxns',\n wireKey: 'itx',\n optional: true,\n codec: new ArrayCodec(new ObjectModelCodec(() => SignedTxnWithADMeta)),\n },\n {\n name: 'sharedAccounts',\n wireKey: 'sa',\n optional: true,\n codec: addressArrayCodec,\n },\n { name: 'logs', wireKey: 'lg', optional: true, codec: bytesArrayCodec },\n ],\n}\n\n/** Tracking metadata for a specific StateProofType. */\nexport type BlockStateProofTrackingData = {\n /** [v] Vector commitment root of state proof voters. */\n stateProofVotersCommitment?: Uint8Array\n /** [t] Online total weight during state proof round. */\n stateProofOnlineTotalWeight?: bigint\n /** [n] Next round for which state proofs are accepted. */\n stateProofNextRound?: bigint\n}\n\nconst BlockStateProofTrackingDataMeta: ObjectModelMetadata<BlockStateProofTrackingData> = {\n name: 'BlockStateProofTrackingData',\n kind: 'object',\n fields: [\n { name: 'stateProofVotersCommitment', wireKey: 'v', optional: true, codec: bytesCodec },\n { name: 'stateProofOnlineTotalWeight', wireKey: 't', optional: true, codec: bigIntCodec },\n { name: 'stateProofNextRound', wireKey: 'n', optional: true, codec: bigIntCodec },\n ],\n}\n\nexport type ApplyData = {\n closingAmount?: bigint\n assetClosingAmount?: bigint\n senderRewards?: bigint\n receiverRewards?: bigint\n closeRewards?: bigint\n evalDelta?: BlockAppEvalDelta\n configAsset?: bigint\n applicationId?: bigint\n}\n\nconst ApplyDataMeta: ObjectModelMetadata<ApplyData> = {\n name: 'SignedTxnInBlock',\n kind: 'object',\n fields: [\n { name: 'closingAmount', wireKey: 'ca', optional: true, codec: bigIntCodec },\n { name: 'assetClosingAmount', wireKey: 'aca', optional: true, codec: bigIntCodec },\n { name: 'senderRewards', wireKey: 'rs', optional: true, codec: bigIntCodec },\n { name: 'receiverRewards', wireKey: 'rr', optional: true, codec: bigIntCodec },\n { name: 'closeRewards', wireKey: 'rc', optional: true, codec: bigIntCodec },\n { name: 'evalDelta', wireKey: 'dt', optional: true, codec: new ObjectModelCodec(BlockAppEvalDeltaMeta) },\n { name: 'configAsset', wireKey: 'caid', optional: true, codec: bigIntCodec },\n { name: 'applicationId', wireKey: 'apid', optional: true, codec: bigIntCodec },\n ],\n}\n\n/**\n * SignedTxnWithAD is a SignedTransaction with additional ApplyData.\n */\nexport type SignedTxnWithAD = {\n /** The signed transaction. */\n signedTxn: SignedTransaction\n /** Apply data containing transaction execution information. */\n applyData?: ApplyData\n}\n\nconst SignedTxnWithADMeta: ObjectModelMetadata<SignedTxnWithAD> = {\n name: 'SignedTxnWithAD',\n kind: 'object',\n fields: [\n {\n name: 'signedTxn',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(SignedTransactionMeta),\n },\n {\n name: 'applyData',\n flattened: true,\n optional: true,\n codec: new ObjectModelCodec(ApplyDataMeta),\n },\n ],\n}\n\n/**\n * SignedTxnInBlock is a SignedTransaction with additional ApplyData and block-specific metadata.\n */\nexport type SignedTxnInBlock = {\n signedTxn: SignedTxnWithAD\n hasGenesisId?: boolean\n hasGenesisHash?: boolean\n}\n\nconst SignedTxnInBlockMeta: ObjectModelMetadata<SignedTxnInBlock> = {\n name: 'SignedTxnInBlock',\n kind: 'object',\n fields: [\n {\n name: 'signedTxn',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(SignedTxnWithADMeta),\n },\n { name: 'hasGenesisId', wireKey: 'hgi', optional: true, codec: booleanCodec },\n { name: 'hasGenesisHash', wireKey: 'hgh', optional: true, codec: booleanCodec },\n ],\n}\n\nexport type ParticipationUpdates = {\n /** [partupdrmv] Expired participation accounts. */\n expiredParticipationAccounts: string[]\n /** [partupdabs] Absent participation accounts. */\n absentParticipationAccounts: string[]\n}\n\nconst ParticipationUpdatesMeta: ObjectModelMetadata<ParticipationUpdates> = {\n name: 'ParticipationUpdates',\n kind: 'object',\n fields: [\n {\n name: 'expiredParticipationAccounts',\n wireKey: 'partupdrmv',\n optional: false,\n codec: addressArrayCodec,\n },\n {\n name: 'absentParticipationAccounts',\n wireKey: 'partupdabs',\n optional: false,\n codec: addressArrayCodec,\n },\n ],\n}\n\n/** Transaction commitment hashes for the block. */\nexport type TxnCommitments = {\n /** [txn] Root of transaction merkle tree using SHA512_256. */\n nativeSha512_256Commitment: Uint8Array\n /** [txn256] Root of transaction vector commitment using SHA256. */\n sha256Commitment?: Uint8Array\n /** [txn512] Root of transaction vector commitment using SHA512. */\n sha512Commitment?: Uint8Array\n}\n\nconst TxnCommitmentsMeta: ObjectModelMetadata<TxnCommitments> = {\n name: 'TxnCommitments',\n kind: 'object',\n fields: [\n { name: 'nativeSha512_256Commitment', wireKey: 'txn', optional: false, codec: fixedBytes32Codec },\n { name: 'sha256Commitment', wireKey: 'txn256', optional: true, codec: fixedBytes32Codec },\n { name: 'sha512Commitment', wireKey: 'txn512', optional: true, codec: fixedBytes64Codec },\n ],\n}\n\n/** Reward distribution state for the block. */\nexport type RewardState = {\n /** [fees] FeeSink address. */\n feeSink: Address\n /** [rwd] RewardsPool address. */\n rewardsPool: Address\n /** [earn] Rewards level. */\n rewardsLevel: bigint\n /** [rate] Rewards rate. */\n rewardsRate: bigint\n /** [frac] Rewards residue. */\n rewardsResidue: bigint\n /** [rwcalr] Rewards recalculation round. */\n rewardsRecalculationRound: bigint\n}\n\nconst RewardStateMeta: ObjectModelMetadata<RewardState> = {\n name: 'RewardState',\n kind: 'object',\n fields: [\n { name: 'feeSink', wireKey: 'fees', optional: false, codec: addressCodec },\n { name: 'rewardsPool', wireKey: 'rwd', optional: false, codec: addressCodec },\n { name: 'rewardsLevel', wireKey: 'earn', optional: false, codec: bigIntCodec },\n { name: 'rewardsRate', wireKey: 'rate', optional: false, codec: bigIntCodec },\n { name: 'rewardsResidue', wireKey: 'frac', optional: false, codec: bigIntCodec },\n { name: 'rewardsRecalculationRound', wireKey: 'rwcalr', optional: false, codec: bigIntCodec },\n ],\n}\n\n/** Protocol upgrade state for the block. */\nexport type UpgradeState = {\n /** [proto] Current consensus protocol. */\n currentProtocol: string\n /** [nextproto] Next proposed protocol. */\n nextProtocol?: string\n /** [nextyes] Next protocol approvals. */\n nextProtocolApprovals?: bigint\n /** [nextbefore] Next protocol vote deadline. */\n nextProtocolVoteBefore?: bigint\n /** [nextswitch] Next protocol switch round. */\n nextProtocolSwitchOn?: bigint\n}\n\nconst UpgradeStateMeta: ObjectModelMetadata<UpgradeState> = {\n name: 'UpgradeState',\n kind: 'object',\n fields: [\n { name: 'currentProtocol', wireKey: 'proto', optional: false, codec: stringCodec },\n { name: 'nextProtocol', wireKey: 'nextproto', optional: true, codec: stringCodec },\n { name: 'nextProtocolApprovals', wireKey: 'nextyes', optional: true, codec: bigIntCodec },\n { name: 'nextProtocolVoteBefore', wireKey: 'nextbefore', optional: true, codec: bigIntCodec },\n { name: 'nextProtocolSwitchOn', wireKey: 'nextswitch', optional: true, codec: bigIntCodec },\n ],\n}\n\n/** Protocol upgrade vote parameters for the block. */\nexport type UpgradeVote = {\n /** [upgradeprop] Upgrade proposal. */\n upgradePropose?: string\n /** [upgradedelay] Upgrade delay in rounds. */\n upgradeDelay?: bigint\n /** [upgradeyes] Upgrade approval flag. */\n upgradeApprove?: boolean\n}\n\nconst UpgradeVoteMeta: ObjectModelMetadata<UpgradeVote> = {\n name: 'UpgradeVote',\n kind: 'object',\n fields: [\n { name: 'upgradePropose', wireKey: 'upgradeprop', optional: true, codec: stringCodec },\n { name: 'upgradeDelay', wireKey: 'upgradedelay', optional: true, codec: bigIntCodec },\n { name: 'upgradeApprove', wireKey: 'upgradeyes', optional: true, codec: booleanCodec },\n ],\n}\n\nexport type BlockHeader = {\n /** [rnd] Round number. */\n round: bigint\n /** [prev] Previous block hash. */\n previousBlockHash: Uint8Array\n /** [prev512] Previous block hash using SHA-512. */\n previousBlockHash512?: Uint8Array\n /** [seed] Sortition seed. */\n seed: Uint8Array\n /** Authenticates the set of transactions appearing in the block. */\n txnCommitments: TxnCommitments\n /** [ts] Block timestamp in seconds since epoch. */\n timestamp: bigint\n /** [gen] Genesis ID. */\n genesisId: string\n /** [gh] Genesis hash. */\n genesisHash: Uint8Array\n /** [prp] Proposer address. */\n proposer?: Address\n /** [fc] Fees collected in this block. */\n feesCollected?: bigint\n /** [bi] Bonus incentive for block proposal. */\n bonus?: bigint\n /** [pp] Proposer payout. */\n proposerPayout?: bigint\n /** Reward distribution state. */\n rewardState: RewardState\n /** Protocol upgrade state. */\n upgradeState: UpgradeState\n /** Protocol upgrade vote parameters. */\n upgradeVote: UpgradeVote\n /** [tc] Transaction counter. */\n txnCounter?: bigint\n /** [spt] State proof tracking data keyed by state proof type. */\n stateProofTracking?: Map<number, BlockStateProofTrackingData>\n /** Represents participation account data that needs to be checked/acted on by the network */\n participationUpdates: ParticipationUpdates\n}\n\nconst BlockHeaderMeta: ObjectModelMetadata<BlockHeader> = {\n name: 'BlockHeader',\n kind: 'object',\n fields: [\n { name: 'round', wireKey: 'rnd', optional: false, codec: bigIntCodec },\n { name: 'previousBlockHash', wireKey: 'prev', optional: false, codec: fixedBytes32Codec },\n { name: 'previousBlockHash512', wireKey: 'prev512', optional: true, codec: fixedBytes64Codec },\n { name: 'seed', wireKey: 'seed', optional: false, codec: bytesCodec },\n {\n name: 'txnCommitments',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(TxnCommitmentsMeta),\n },\n { name: 'timestamp', wireKey: 'ts', optional: false, codec: bigIntCodec },\n { name: 'genesisId', wireKey: 'gen', optional: false, codec: stringCodec },\n { name: 'genesisHash', wireKey: 'gh', optional: false, codec: fixedBytes32Codec },\n { name: 'proposer', wireKey: 'prp', optional: true, codec: addressCodec },\n { name: 'feesCollected', wireKey: 'fc', optional: true, codec: bigIntCodec },\n { name: 'bonus', wireKey: 'bi', optional: true, codec: bigIntCodec },\n { name: 'proposerPayout', wireKey: 'pp', optional: true, codec: bigIntCodec },\n {\n name: 'rewardState',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(RewardStateMeta),\n },\n {\n name: 'upgradeState',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(UpgradeStateMeta),\n },\n {\n name: 'upgradeVote',\n flattened: true,\n optional: true,\n codec: new ObjectModelCodec(UpgradeVoteMeta),\n },\n { name: 'txnCounter', wireKey: 'tc', optional: true, codec: bigIntCodec },\n {\n name: 'stateProofTracking',\n wireKey: 'spt',\n optional: true,\n codec: new MapCodec(numberCodec, new ObjectModelCodec(BlockStateProofTrackingDataMeta)),\n },\n {\n name: 'participationUpdates',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(ParticipationUpdatesMeta),\n },\n ],\n}\n\n/**\n * Block contains the BlockHeader and the list of transactions (Payset).\n */\nexport type Block = {\n /** The block information (Header) */\n header: BlockHeader\n\n /** [txns] Block transactions (Payset). */\n payset: SignedTxnInBlock[]\n}\n\nconst BlockMeta: ObjectModelMetadata<Block> = {\n name: 'Block',\n kind: 'object',\n fields: [\n { name: 'header', flattened: true, optional: false, codec: new ObjectModelCodec(BlockHeaderMeta) },\n {\n name: 'payset',\n wireKey: 'txns',\n optional: false,\n codec: new ArrayCodec(new ObjectModelCodec(SignedTxnInBlockMeta)),\n },\n ],\n}\n\n/**\n * Custom codec for Block that populates genesis information on transactions after decoding.\n *\n * When blocks are returned from algod, transactions may not include the genesisId\n * and genesisHash fields even though they are required for correct transaction ID calculation.\n * The block contains `hasGenesisId` and `hasGenesisHash` flags that indicate whether these\n * fields should be populated from the block header.\n *\n * This codec automatically populates these fields after decoding to ensure transaction IDs\n * can be calculated correctly.\n */\nclass BlockCodec extends ObjectModelCodec<Block> {\n constructor() {\n super(BlockMeta)\n }\n\n protected fromEncoded(value: WireObject, format: EncodingFormat): Block {\n const block = super.fromEncoded(value, format)\n\n // Populate genesis id and hash on transactions if required to ensure tx id's are correct\n const genesisId = block.header.genesisId\n const genesisHash = block.header.genesisHash\n\n for (const txnInBlock of block.payset ?? []) {\n const txn = txnInBlock.signedTxn.signedTxn.txn\n\n if (txnInBlock.hasGenesisId && txn.genesisId === undefined) {\n txn.genesisId = genesisId\n }\n\n // The following assumes that Consensus.RequireGenesisHash is true\n // so assigns genesis hash unless explicitly set to false\n if (txnInBlock.hasGenesisHash !== false && txn.genesisHash === undefined) {\n txn.genesisHash = genesisHash\n }\n }\n\n return block\n }\n}\n\nexport const blockCodec = new BlockCodec()\n"],"mappings":"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"}
1
+ {"version":3,"file":"block.js","names":["BlockEvalDeltaMeta: ObjectModelMetadata<BlockEvalDelta>","numberCodec","bytesCodec","bigIntCodec","BlockAppEvalDeltaMeta: ObjectModelMetadata<BlockAppEvalDelta>","MapCodec","ObjectModelCodec","ArrayCodec","addressArrayCodec","bytesArrayCodec","BlockStateProofTrackingDataMeta: ObjectModelMetadata<BlockStateProofTrackingData>","ApplyDataMeta: ObjectModelMetadata<ApplyData>","SignedTxnWithADMeta: ObjectModelMetadata<SignedTxnWithAD>","SignedTransactionMeta","SignedTxnInBlockMeta: ObjectModelMetadata<SignedTxnInBlock>","booleanCodec","ParticipationUpdatesMeta: ObjectModelMetadata<ParticipationUpdates>","TxnCommitmentsMeta: ObjectModelMetadata<TxnCommitments>","fixedBytes32Codec","fixedBytes64Codec","RewardStateMeta: ObjectModelMetadata<RewardState>","addressCodec","UpgradeStateMeta: ObjectModelMetadata<UpgradeState>","stringCodec","UpgradeVoteMeta: ObjectModelMetadata<UpgradeVote>","BlockMeta: ObjectModelMetadata<Block>"],"sources":["../../../../../packages/algod_client/src/models/block.ts"],"sourcesContent":["import {\n Address,\n ArrayCodec,\n type EncodingFormat,\n MapCodec,\n ObjectModelCodec,\n type ObjectModelMetadata,\n type WireObject,\n addressArrayCodec,\n addressCodec,\n bigIntCodec,\n booleanCodec,\n bytesArrayCodec,\n bytesCodec,\n fixedBytes32Codec,\n fixedBytes64Codec,\n numberCodec,\n stringCodec,\n} from '@algorandfoundation/algokit-common'\nimport { type SignedTransaction, SignedTransactionMeta } from '@algorandfoundation/algokit-transact'\n\n/** BlockEvalDelta represents a TEAL value delta (block/msgpack wire keys). */\nexport type BlockEvalDelta = {\n /** [at] delta action. */\n action: number\n /** [bs] bytes value. */\n bytes?: Uint8Array\n /** [ui] uint value. */\n uint?: bigint\n}\n\nconst BlockEvalDeltaMeta: ObjectModelMetadata<BlockEvalDelta> = {\n name: 'BlockEvalDelta',\n kind: 'object',\n fields: [\n { name: 'action', wireKey: 'at', optional: false, codec: numberCodec },\n { name: 'bytes', wireKey: 'bs', optional: true, codec: bytesCodec },\n { name: 'uint', wireKey: 'ui', optional: true, codec: bigIntCodec },\n ],\n}\n\n/**\n * State changes from application execution, including inner transactions and logs.\n */\nexport type BlockAppEvalDelta = {\n /** [gd] Global state delta for the application. */\n globalDelta?: Map<Uint8Array, BlockEvalDelta>\n /** [ld] Local state deltas keyed by address index. */\n localDeltas?: Map<number, Map<Uint8Array, BlockEvalDelta>>\n /** [itx] Inner transactions produced by this application execution. */\n innerTxns?: SignedTxnWithAD[]\n /** [sa] Shared accounts referenced by local deltas. */\n sharedAccounts?: Address[]\n /** [lg] Application log outputs. */\n logs?: Uint8Array[]\n}\n\nconst BlockAppEvalDeltaMeta: ObjectModelMetadata<BlockAppEvalDelta> = {\n name: 'BlockAppEvalDelta',\n kind: 'object',\n fields: [\n {\n name: 'globalDelta',\n wireKey: 'gd',\n optional: true,\n codec: new MapCodec(bytesCodec, new ObjectModelCodec(BlockEvalDeltaMeta)),\n },\n {\n name: 'localDeltas',\n wireKey: 'ld',\n optional: true,\n codec: new MapCodec(numberCodec, new MapCodec(bytesCodec, new ObjectModelCodec(BlockEvalDeltaMeta))),\n },\n {\n name: 'innerTxns',\n wireKey: 'itx',\n optional: true,\n codec: new ArrayCodec(new ObjectModelCodec(() => SignedTxnWithADMeta)),\n },\n {\n name: 'sharedAccounts',\n wireKey: 'sa',\n optional: true,\n codec: addressArrayCodec,\n },\n { name: 'logs', wireKey: 'lg', optional: true, codec: bytesArrayCodec },\n ],\n}\n\n/** Tracking metadata for a specific StateProofType. */\nexport type BlockStateProofTrackingData = {\n /** [v] Vector commitment root of state proof voters. */\n stateProofVotersCommitment?: Uint8Array\n /** [t] Online total weight during state proof round. */\n stateProofOnlineTotalWeight?: bigint\n /** [n] Next round for which state proofs are accepted. */\n stateProofNextRound?: bigint\n}\n\nconst BlockStateProofTrackingDataMeta: ObjectModelMetadata<BlockStateProofTrackingData> = {\n name: 'BlockStateProofTrackingData',\n kind: 'object',\n fields: [\n { name: 'stateProofVotersCommitment', wireKey: 'v', optional: true, codec: bytesCodec },\n { name: 'stateProofOnlineTotalWeight', wireKey: 't', optional: true, codec: bigIntCodec },\n { name: 'stateProofNextRound', wireKey: 'n', optional: true, codec: bigIntCodec },\n ],\n}\n\nexport type ApplyData = {\n closingAmount?: bigint\n assetClosingAmount?: bigint\n senderRewards?: bigint\n receiverRewards?: bigint\n closeRewards?: bigint\n evalDelta?: BlockAppEvalDelta\n configAsset?: bigint\n applicationId?: bigint\n}\n\nconst ApplyDataMeta: ObjectModelMetadata<ApplyData> = {\n name: 'SignedTxnInBlock',\n kind: 'object',\n fields: [\n { name: 'closingAmount', wireKey: 'ca', optional: true, codec: bigIntCodec },\n { name: 'assetClosingAmount', wireKey: 'aca', optional: true, codec: bigIntCodec },\n { name: 'senderRewards', wireKey: 'rs', optional: true, codec: bigIntCodec },\n { name: 'receiverRewards', wireKey: 'rr', optional: true, codec: bigIntCodec },\n { name: 'closeRewards', wireKey: 'rc', optional: true, codec: bigIntCodec },\n { name: 'evalDelta', wireKey: 'dt', optional: true, codec: new ObjectModelCodec(BlockAppEvalDeltaMeta) },\n { name: 'configAsset', wireKey: 'caid', optional: true, codec: bigIntCodec },\n { name: 'applicationId', wireKey: 'apid', optional: true, codec: bigIntCodec },\n ],\n}\n\n/**\n * SignedTxnWithAD is a SignedTransaction with additional ApplyData.\n */\nexport type SignedTxnWithAD = {\n /** The signed transaction. */\n signedTxn: SignedTransaction\n /** Apply data containing transaction execution information. */\n applyData?: ApplyData\n}\n\nconst SignedTxnWithADMeta: ObjectModelMetadata<SignedTxnWithAD> = {\n name: 'SignedTxnWithAD',\n kind: 'object',\n fields: [\n {\n name: 'signedTxn',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(SignedTransactionMeta),\n },\n {\n name: 'applyData',\n flattened: true,\n optional: true,\n codec: new ObjectModelCodec(ApplyDataMeta),\n },\n ],\n}\n\n/**\n * SignedTxnInBlock is a SignedTransaction with additional ApplyData and block-specific metadata.\n */\nexport type SignedTxnInBlock = {\n signedTxn: SignedTxnWithAD\n hasGenesisId?: boolean\n hasGenesisHash?: boolean\n}\n\nconst SignedTxnInBlockMeta: ObjectModelMetadata<SignedTxnInBlock> = {\n name: 'SignedTxnInBlock',\n kind: 'object',\n fields: [\n {\n name: 'signedTxn',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(SignedTxnWithADMeta),\n },\n { name: 'hasGenesisId', wireKey: 'hgi', optional: true, codec: booleanCodec },\n { name: 'hasGenesisHash', wireKey: 'hgh', optional: true, codec: booleanCodec },\n ],\n}\n\nexport type ParticipationUpdates = {\n /** [partupdrmv] Expired participation accounts. */\n expiredParticipationAccounts: string[]\n /** [partupdabs] Absent participation accounts. */\n absentParticipationAccounts: string[]\n}\n\nconst ParticipationUpdatesMeta: ObjectModelMetadata<ParticipationUpdates> = {\n name: 'ParticipationUpdates',\n kind: 'object',\n fields: [\n {\n name: 'expiredParticipationAccounts',\n wireKey: 'partupdrmv',\n optional: false,\n codec: addressArrayCodec,\n },\n {\n name: 'absentParticipationAccounts',\n wireKey: 'partupdabs',\n optional: false,\n codec: addressArrayCodec,\n },\n ],\n}\n\n/** Transaction commitment hashes for the block. */\nexport type TxnCommitments = {\n /** [txn] Root of transaction merkle tree using SHA512_256. */\n nativeSha512_256Commitment: Uint8Array\n /** [txn256] Root of transaction vector commitment using SHA256. */\n sha256Commitment?: Uint8Array\n /** [txn512] Root of transaction vector commitment using SHA512. */\n sha512Commitment?: Uint8Array\n}\n\nconst TxnCommitmentsMeta: ObjectModelMetadata<TxnCommitments> = {\n name: 'TxnCommitments',\n kind: 'object',\n fields: [\n { name: 'nativeSha512_256Commitment', wireKey: 'txn', optional: false, codec: fixedBytes32Codec },\n { name: 'sha256Commitment', wireKey: 'txn256', optional: true, codec: fixedBytes32Codec },\n { name: 'sha512Commitment', wireKey: 'txn512', optional: true, codec: fixedBytes64Codec },\n ],\n}\n\n/** Reward distribution state for the block. */\nexport type RewardState = {\n /** [fees] FeeSink address. */\n feeSink: Address\n /** [rwd] RewardsPool address. */\n rewardsPool: Address\n /** [earn] Rewards level. */\n rewardsLevel: bigint\n /** [rate] Rewards rate. */\n rewardsRate: bigint\n /** [frac] Rewards residue. */\n rewardsResidue: bigint\n /** [rwcalr] Rewards recalculation round. */\n rewardsRecalculationRound: bigint\n}\n\nconst RewardStateMeta: ObjectModelMetadata<RewardState> = {\n name: 'RewardState',\n kind: 'object',\n fields: [\n { name: 'feeSink', wireKey: 'fees', optional: false, codec: addressCodec },\n { name: 'rewardsPool', wireKey: 'rwd', optional: false, codec: addressCodec },\n { name: 'rewardsLevel', wireKey: 'earn', optional: false, codec: bigIntCodec },\n { name: 'rewardsRate', wireKey: 'rate', optional: false, codec: bigIntCodec },\n { name: 'rewardsResidue', wireKey: 'frac', optional: false, codec: bigIntCodec },\n { name: 'rewardsRecalculationRound', wireKey: 'rwcalr', optional: false, codec: bigIntCodec },\n ],\n}\n\n/** Protocol upgrade state for the block. */\nexport type UpgradeState = {\n /** [proto] Current consensus protocol. */\n currentProtocol: string\n /** [nextproto] Next proposed protocol. */\n nextProtocol?: string\n /** [nextyes] Next protocol approvals. */\n nextProtocolApprovals?: bigint\n /** [nextbefore] Next protocol vote deadline. */\n nextProtocolVoteBefore?: bigint\n /** [nextswitch] Next protocol switch round. */\n nextProtocolSwitchOn?: bigint\n}\n\nconst UpgradeStateMeta: ObjectModelMetadata<UpgradeState> = {\n name: 'UpgradeState',\n kind: 'object',\n fields: [\n { name: 'currentProtocol', wireKey: 'proto', optional: false, codec: stringCodec },\n { name: 'nextProtocol', wireKey: 'nextproto', optional: true, codec: stringCodec },\n { name: 'nextProtocolApprovals', wireKey: 'nextyes', optional: true, codec: bigIntCodec },\n { name: 'nextProtocolVoteBefore', wireKey: 'nextbefore', optional: true, codec: bigIntCodec },\n { name: 'nextProtocolSwitchOn', wireKey: 'nextswitch', optional: true, codec: bigIntCodec },\n ],\n}\n\n/** Protocol upgrade vote parameters for the block. */\nexport type UpgradeVote = {\n /** [upgradeprop] Upgrade proposal. */\n upgradePropose?: string\n /** [upgradedelay] Upgrade delay in rounds. */\n upgradeDelay?: bigint\n /** [upgradeyes] Upgrade approval flag. */\n upgradeApprove?: boolean\n}\n\nconst UpgradeVoteMeta: ObjectModelMetadata<UpgradeVote> = {\n name: 'UpgradeVote',\n kind: 'object',\n fields: [\n { name: 'upgradePropose', wireKey: 'upgradeprop', optional: true, codec: stringCodec },\n { name: 'upgradeDelay', wireKey: 'upgradedelay', optional: true, codec: bigIntCodec },\n { name: 'upgradeApprove', wireKey: 'upgradeyes', optional: true, codec: booleanCodec },\n ],\n}\n\nexport type BlockHeader = {\n /** [rnd] Round number. */\n round: bigint\n /** [prev] Previous block hash. */\n previousBlockHash: Uint8Array\n /** [prev512] Previous block hash using SHA-512. */\n previousBlockHash512?: Uint8Array\n /** [seed] Sortition seed. */\n seed: Uint8Array\n /** Authenticates the set of transactions appearing in the block. */\n txnCommitments: TxnCommitments\n /** [ts] Block timestamp in seconds since epoch. */\n timestamp: bigint\n /** [gen] Genesis ID. */\n genesisId: string\n /** [gh] Genesis hash. */\n genesisHash: Uint8Array\n /** [prp] Proposer address. */\n proposer?: Address\n /** [fc] Fees collected in this block. */\n feesCollected?: bigint\n /** [bi] Bonus incentive for block proposal. */\n bonus?: bigint\n /** [pp] Proposer payout. */\n proposerPayout?: bigint\n /** Reward distribution state. */\n rewardState: RewardState\n /** Protocol upgrade state. */\n upgradeState: UpgradeState\n /** Protocol upgrade vote parameters. */\n upgradeVote?: UpgradeVote\n /** [tc] Transaction counter. */\n txnCounter?: bigint\n /** [spt] State proof tracking data keyed by state proof type. */\n stateProofTracking?: Map<number, BlockStateProofTrackingData>\n /** Represents participation account data that needs to be checked/acted on by the network */\n participationUpdates: ParticipationUpdates\n}\n\nconst BlockHeaderMeta: ObjectModelMetadata<BlockHeader> = {\n name: 'BlockHeader',\n kind: 'object',\n fields: [\n { name: 'round', wireKey: 'rnd', optional: false, codec: bigIntCodec },\n { name: 'previousBlockHash', wireKey: 'prev', optional: false, codec: fixedBytes32Codec },\n { name: 'previousBlockHash512', wireKey: 'prev512', optional: true, codec: fixedBytes64Codec },\n { name: 'seed', wireKey: 'seed', optional: false, codec: bytesCodec },\n {\n name: 'txnCommitments',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(TxnCommitmentsMeta),\n },\n { name: 'timestamp', wireKey: 'ts', optional: false, codec: bigIntCodec },\n { name: 'genesisId', wireKey: 'gen', optional: false, codec: stringCodec },\n { name: 'genesisHash', wireKey: 'gh', optional: false, codec: fixedBytes32Codec },\n { name: 'proposer', wireKey: 'prp', optional: true, codec: addressCodec },\n { name: 'feesCollected', wireKey: 'fc', optional: true, codec: bigIntCodec },\n { name: 'bonus', wireKey: 'bi', optional: true, codec: bigIntCodec },\n { name: 'proposerPayout', wireKey: 'pp', optional: true, codec: bigIntCodec },\n {\n name: 'rewardState',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(RewardStateMeta),\n },\n {\n name: 'upgradeState',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(UpgradeStateMeta),\n },\n {\n name: 'upgradeVote',\n flattened: true,\n optional: true,\n codec: new ObjectModelCodec(UpgradeVoteMeta),\n },\n { name: 'txnCounter', wireKey: 'tc', optional: true, codec: bigIntCodec },\n {\n name: 'stateProofTracking',\n wireKey: 'spt',\n optional: true,\n codec: new MapCodec(numberCodec, new ObjectModelCodec(BlockStateProofTrackingDataMeta)),\n },\n {\n name: 'participationUpdates',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(ParticipationUpdatesMeta),\n },\n ],\n}\n\n/**\n * Block contains the BlockHeader and the list of transactions (Payset).\n */\nexport type Block = {\n /** The block information (Header) */\n header: BlockHeader\n\n /** [txns] Block transactions (Payset). */\n payset: SignedTxnInBlock[]\n}\n\nconst BlockMeta: ObjectModelMetadata<Block> = {\n name: 'Block',\n kind: 'object',\n fields: [\n { name: 'header', flattened: true, optional: false, codec: new ObjectModelCodec(BlockHeaderMeta) },\n {\n name: 'payset',\n wireKey: 'txns',\n optional: false,\n codec: new ArrayCodec(new ObjectModelCodec(SignedTxnInBlockMeta)),\n },\n ],\n}\n\n/**\n * Custom codec for Block that populates genesis information on transactions after decoding.\n *\n * When blocks are returned from algod, transactions may not include the genesisId\n * and genesisHash fields even though they are required for correct transaction ID calculation.\n * The block contains `hasGenesisId` and `hasGenesisHash` flags that indicate whether these\n * fields should be populated from the block header.\n *\n * This codec automatically populates these fields after decoding to ensure transaction IDs\n * can be calculated correctly.\n */\nclass BlockCodec extends ObjectModelCodec<Block> {\n constructor() {\n super(BlockMeta)\n }\n\n protected fromEncoded(value: WireObject, format: EncodingFormat): Block {\n const block = super.fromEncoded(value, format)\n\n // Populate genesis id and hash on transactions if required to ensure tx id's are correct\n const genesisId = block.header.genesisId\n const genesisHash = block.header.genesisHash\n\n for (const txnInBlock of block.payset ?? []) {\n const txn = txnInBlock.signedTxn.signedTxn.txn\n\n if (txnInBlock.hasGenesisId && txn.genesisId === undefined) {\n txn.genesisId = genesisId\n }\n\n // The following assumes that Consensus.RequireGenesisHash is true\n // so assigns genesis hash unless explicitly set to false\n if (txnInBlock.hasGenesisHash !== false && txn.genesisHash === undefined) {\n txn.genesisHash = genesisHash\n }\n }\n\n return block\n }\n}\n\nexport const blockCodec = new BlockCodec()\n"],"mappings":";;;;;;;;;;;;;AA+BA,MAAMA,qBAA0D;CAC9D,MAAM;CACN,MAAM;CACN,QAAQ;EACN;GAAE,MAAM;GAAU,SAAS;GAAM,UAAU;GAAO,OAAOC;GAAa;EACtE;GAAE,MAAM;GAAS,SAAS;GAAM,UAAU;GAAM,OAAOC;GAAY;EACnE;GAAE,MAAM;GAAQ,SAAS;GAAM,UAAU;GAAM,OAAOC;GAAa;EACpE;CACF;AAkBD,MAAMC,wBAAgE;CACpE,MAAM;CACN,MAAM;CACN,QAAQ;EACN;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO,IAAIC,qBAASH,0BAAY,IAAII,sCAAiB,mBAAmB,CAAC;GAC1E;EACD;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO,IAAID,qBAASJ,4BAAa,IAAII,qBAASH,0BAAY,IAAII,sCAAiB,mBAAmB,CAAC,CAAC;GACrG;EACD;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO,IAAIC,yBAAW,IAAID,4CAAuB,oBAAoB,CAAC;GACvE;EACD;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAOE;GACR;EACD;GAAE,MAAM;GAAQ,SAAS;GAAM,UAAU;GAAM,OAAOC;GAAiB;EACxE;CACF;AAYD,MAAMC,kCAAoF;CACxF,MAAM;CACN,MAAM;CACN,QAAQ;EACN;GAAE,MAAM;GAA8B,SAAS;GAAK,UAAU;GAAM,OAAOR;GAAY;EACvF;GAAE,MAAM;GAA+B,SAAS;GAAK,UAAU;GAAM,OAAOC;GAAa;EACzF;GAAE,MAAM;GAAuB,SAAS;GAAK,UAAU;GAAM,OAAOA;GAAa;EAClF;CACF;AAaD,MAAMQ,gBAAgD;CACpD,MAAM;CACN,MAAM;CACN,QAAQ;EACN;GAAE,MAAM;GAAiB,SAAS;GAAM,UAAU;GAAM,OAAOR;GAAa;EAC5E;GAAE,MAAM;GAAsB,SAAS;GAAO,UAAU;GAAM,OAAOA;GAAa;EAClF;GAAE,MAAM;GAAiB,SAAS;GAAM,UAAU;GAAM,OAAOA;GAAa;EAC5E;GAAE,MAAM;GAAmB,SAAS;GAAM,UAAU;GAAM,OAAOA;GAAa;EAC9E;GAAE,MAAM;GAAgB,SAAS;GAAM,UAAU;GAAM,OAAOA;GAAa;EAC3E;GAAE,MAAM;GAAa,SAAS;GAAM,UAAU;GAAM,OAAO,IAAIG,sCAAiB,sBAAsB;GAAE;EACxG;GAAE,MAAM;GAAe,SAAS;GAAQ,UAAU;GAAM,OAAOH;GAAa;EAC5E;GAAE,MAAM;GAAiB,SAAS;GAAQ,UAAU;GAAM,OAAOA;GAAa;EAC/E;CACF;AAYD,MAAMS,sBAA4D;CAChE,MAAM;CACN,MAAM;CACN,QAAQ,CACN;EACE,MAAM;EACN,WAAW;EACX,UAAU;EACV,OAAO,IAAIN,sCAAiBO,sDAAsB;EACnD,EACD;EACE,MAAM;EACN,WAAW;EACX,UAAU;EACV,OAAO,IAAIP,sCAAiB,cAAc;EAC3C,CACF;CACF;AAWD,MAAMQ,uBAA8D;CAClE,MAAM;CACN,MAAM;CACN,QAAQ;EACN;GACE,MAAM;GACN,WAAW;GACX,UAAU;GACV,OAAO,IAAIR,sCAAiB,oBAAoB;GACjD;EACD;GAAE,MAAM;GAAgB,SAAS;GAAO,UAAU;GAAM,OAAOS;GAAc;EAC7E;GAAE,MAAM;GAAkB,SAAS;GAAO,UAAU;GAAM,OAAOA;GAAc;EAChF;CACF;AASD,MAAMC,2BAAsE;CAC1E,MAAM;CACN,MAAM;CACN,QAAQ,CACN;EACE,MAAM;EACN,SAAS;EACT,UAAU;EACV,OAAOR;EACR,EACD;EACE,MAAM;EACN,SAAS;EACT,UAAU;EACV,OAAOA;EACR,CACF;CACF;AAYD,MAAMS,qBAA0D;CAC9D,MAAM;CACN,MAAM;CACN,QAAQ;EACN;GAAE,MAAM;GAA8B,SAAS;GAAO,UAAU;GAAO,OAAOC;GAAmB;EACjG;GAAE,MAAM;GAAoB,SAAS;GAAU,UAAU;GAAM,OAAOA;GAAmB;EACzF;GAAE,MAAM;GAAoB,SAAS;GAAU,UAAU;GAAM,OAAOC;GAAmB;EAC1F;CACF;AAkBD,MAAMC,kBAAoD;CACxD,MAAM;CACN,MAAM;CACN,QAAQ;EACN;GAAE,MAAM;GAAW,SAAS;GAAQ,UAAU;GAAO,OAAOC;GAAc;EAC1E;GAAE,MAAM;GAAe,SAAS;GAAO,UAAU;GAAO,OAAOA;GAAc;EAC7E;GAAE,MAAM;GAAgB,SAAS;GAAQ,UAAU;GAAO,OAAOlB;GAAa;EAC9E;GAAE,MAAM;GAAe,SAAS;GAAQ,UAAU;GAAO,OAAOA;GAAa;EAC7E;GAAE,MAAM;GAAkB,SAAS;GAAQ,UAAU;GAAO,OAAOA;GAAa;EAChF;GAAE,MAAM;GAA6B,SAAS;GAAU,UAAU;GAAO,OAAOA;GAAa;EAC9F;CACF;AAgBD,MAAMmB,mBAAsD;CAC1D,MAAM;CACN,MAAM;CACN,QAAQ;EACN;GAAE,MAAM;GAAmB,SAAS;GAAS,UAAU;GAAO,OAAOC;GAAa;EAClF;GAAE,MAAM;GAAgB,SAAS;GAAa,UAAU;GAAM,OAAOA;GAAa;EAClF;GAAE,MAAM;GAAyB,SAAS;GAAW,UAAU;GAAM,OAAOpB;GAAa;EACzF;GAAE,MAAM;GAA0B,SAAS;GAAc,UAAU;GAAM,OAAOA;GAAa;EAC7F;GAAE,MAAM;GAAwB,SAAS;GAAc,UAAU;GAAM,OAAOA;GAAa;EAC5F;CACF;AAYD,MAAMqB,kBAAoD;CACxD,MAAM;CACN,MAAM;CACN,QAAQ;EACN;GAAE,MAAM;GAAkB,SAAS;GAAe,UAAU;GAAM,OAAOD;GAAa;EACtF;GAAE,MAAM;GAAgB,SAAS;GAAgB,UAAU;GAAM,OAAOpB;GAAa;EACrF;GAAE,MAAM;GAAkB,SAAS;GAAc,UAAU;GAAM,OAAOY;GAAc;EACvF;CACF;AA2GD,MAAMU,YAAwC;CAC5C,MAAM;CACN,MAAM;CACN,QAAQ,CACN;EAAE,MAAM;EAAU,WAAW;EAAM,UAAU;EAAO,OAAO,IAAInB,sCAtET;GACxD,MAAM;GACN,MAAM;GACN,QAAQ;IACN;KAAE,MAAM;KAAS,SAAS;KAAO,UAAU;KAAO,OAAOH;KAAa;IACtE;KAAE,MAAM;KAAqB,SAAS;KAAQ,UAAU;KAAO,OAAOe;KAAmB;IACzF;KAAE,MAAM;KAAwB,SAAS;KAAW,UAAU;KAAM,OAAOC;KAAmB;IAC9F;KAAE,MAAM;KAAQ,SAAS;KAAQ,UAAU;KAAO,OAAOjB;KAAY;IACrE;KACE,MAAM;KACN,WAAW;KACX,UAAU;KACV,OAAO,IAAII,sCAAiB,mBAAmB;KAChD;IACD;KAAE,MAAM;KAAa,SAAS;KAAM,UAAU;KAAO,OAAOH;KAAa;IACzE;KAAE,MAAM;KAAa,SAAS;KAAO,UAAU;KAAO,OAAOoB;KAAa;IAC1E;KAAE,MAAM;KAAe,SAAS;KAAM,UAAU;KAAO,OAAOL;KAAmB;IACjF;KAAE,MAAM;KAAY,SAAS;KAAO,UAAU;KAAM,OAAOG;KAAc;IACzE;KAAE,MAAM;KAAiB,SAAS;KAAM,UAAU;KAAM,OAAOlB;KAAa;IAC5E;KAAE,MAAM;KAAS,SAAS;KAAM,UAAU;KAAM,OAAOA;KAAa;IACpE;KAAE,MAAM;KAAkB,SAAS;KAAM,UAAU;KAAM,OAAOA;KAAa;IAC7E;KACE,MAAM;KACN,WAAW;KACX,UAAU;KACV,OAAO,IAAIG,sCAAiB,gBAAgB;KAC7C;IACD;KACE,MAAM;KACN,WAAW;KACX,UAAU;KACV,OAAO,IAAIA,sCAAiB,iBAAiB;KAC9C;IACD;KACE,MAAM;KACN,WAAW;KACX,UAAU;KACV,OAAO,IAAIA,sCAAiB,gBAAgB;KAC7C;IACD;KAAE,MAAM;KAAc,SAAS;KAAM,UAAU;KAAM,OAAOH;KAAa;IACzE;KACE,MAAM;KACN,SAAS;KACT,UAAU;KACV,OAAO,IAAIE,qBAASJ,4BAAa,IAAIK,sCAAiB,gCAAgC,CAAC;KACxF;IACD;KACE,MAAM;KACN,WAAW;KACX,UAAU;KACV,OAAO,IAAIA,sCAAiB,yBAAyB;KACtD;IACF;GACF,CAiBmG;EAAE,EAClG;EACE,MAAM;EACN,SAAS;EACT,UAAU;EACV,OAAO,IAAIC,yBAAW,IAAID,sCAAiB,qBAAqB,CAAC;EAClE,CACF;CACF;;;;;;;;;;;;AAaD,IAAM,aAAN,cAAyBA,sCAAwB;CAC/C,cAAc;AACZ,QAAM,UAAU;;CAGlB,AAAU,YAAY,OAAmB,QAA+B;EACtE,MAAM,QAAQ,MAAM,YAAY,OAAO,OAAO;EAG9C,MAAM,YAAY,MAAM,OAAO;EAC/B,MAAM,cAAc,MAAM,OAAO;AAEjC,OAAK,MAAM,cAAc,MAAM,UAAU,EAAE,EAAE;GAC3C,MAAM,MAAM,WAAW,UAAU,UAAU;AAE3C,OAAI,WAAW,gBAAgB,IAAI,cAAc,OAC/C,KAAI,YAAY;AAKlB,OAAI,WAAW,mBAAmB,SAAS,IAAI,gBAAgB,OAC7D,KAAI,cAAc;;AAItB,SAAO;;;AAIX,MAAa,aAAa,IAAI,YAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"block.mjs","names":["BlockEvalDeltaMeta: ObjectModelMetadata<BlockEvalDelta>","BlockAppEvalDeltaMeta: ObjectModelMetadata<BlockAppEvalDelta>","BlockStateProofTrackingDataMeta: ObjectModelMetadata<BlockStateProofTrackingData>","ApplyDataMeta: ObjectModelMetadata<ApplyData>","SignedTxnWithADMeta: ObjectModelMetadata<SignedTxnWithAD>","SignedTxnInBlockMeta: ObjectModelMetadata<SignedTxnInBlock>","ParticipationUpdatesMeta: ObjectModelMetadata<ParticipationUpdates>","TxnCommitmentsMeta: ObjectModelMetadata<TxnCommitments>","RewardStateMeta: ObjectModelMetadata<RewardState>","UpgradeStateMeta: ObjectModelMetadata<UpgradeState>","UpgradeVoteMeta: ObjectModelMetadata<UpgradeVote>","BlockMeta: ObjectModelMetadata<Block>"],"sources":["../../../../../packages/algod_client/src/models/block.ts"],"sourcesContent":["import {\n Address,\n ArrayCodec,\n MapCodec,\n ObjectModelCodec,\n type EncodingFormat,\n type ObjectModelMetadata,\n type WireObject,\n addressArrayCodec,\n addressCodec,\n bigIntCodec,\n booleanCodec,\n bytesArrayCodec,\n bytesCodec,\n fixedBytes32Codec,\n fixedBytes64Codec,\n numberCodec,\n stringCodec,\n} from '@algorandfoundation/algokit-common'\nimport { type SignedTransaction, SignedTransactionMeta } from '@algorandfoundation/algokit-transact'\n\n/** BlockEvalDelta represents a TEAL value delta (block/msgpack wire keys). */\nexport type BlockEvalDelta = {\n /** [at] delta action. */\n action: number\n /** [bs] bytes value. */\n bytes?: Uint8Array\n /** [ui] uint value. */\n uint?: bigint\n}\n\nconst BlockEvalDeltaMeta: ObjectModelMetadata<BlockEvalDelta> = {\n name: 'BlockEvalDelta',\n kind: 'object',\n fields: [\n { name: 'action', wireKey: 'at', optional: false, codec: numberCodec },\n { name: 'bytes', wireKey: 'bs', optional: true, codec: bytesCodec },\n { name: 'uint', wireKey: 'ui', optional: true, codec: bigIntCodec },\n ],\n}\n\n/**\n * State changes from application execution, including inner transactions and logs.\n */\nexport type BlockAppEvalDelta = {\n /** [gd] Global state delta for the application. */\n globalDelta?: Map<Uint8Array, BlockEvalDelta>\n /** [ld] Local state deltas keyed by address index. */\n localDeltas?: Map<number, Map<Uint8Array, BlockEvalDelta>>\n /** [itx] Inner transactions produced by this application execution. */\n innerTxns?: SignedTxnWithAD[]\n /** [sa] Shared accounts referenced by local deltas. */\n sharedAccounts?: Address[]\n /** [lg] Application log outputs. */\n logs?: Uint8Array[]\n}\n\nconst BlockAppEvalDeltaMeta: ObjectModelMetadata<BlockAppEvalDelta> = {\n name: 'BlockAppEvalDelta',\n kind: 'object',\n fields: [\n {\n name: 'globalDelta',\n wireKey: 'gd',\n optional: true,\n codec: new MapCodec(bytesCodec, new ObjectModelCodec(BlockEvalDeltaMeta)),\n },\n {\n name: 'localDeltas',\n wireKey: 'ld',\n optional: true,\n codec: new MapCodec(numberCodec, new MapCodec(bytesCodec, new ObjectModelCodec(BlockEvalDeltaMeta))),\n },\n {\n name: 'innerTxns',\n wireKey: 'itx',\n optional: true,\n codec: new ArrayCodec(new ObjectModelCodec(() => SignedTxnWithADMeta)),\n },\n {\n name: 'sharedAccounts',\n wireKey: 'sa',\n optional: true,\n codec: addressArrayCodec,\n },\n { name: 'logs', wireKey: 'lg', optional: true, codec: bytesArrayCodec },\n ],\n}\n\n/** Tracking metadata for a specific StateProofType. */\nexport type BlockStateProofTrackingData = {\n /** [v] Vector commitment root of state proof voters. */\n stateProofVotersCommitment?: Uint8Array\n /** [t] Online total weight during state proof round. */\n stateProofOnlineTotalWeight?: bigint\n /** [n] Next round for which state proofs are accepted. */\n stateProofNextRound?: bigint\n}\n\nconst BlockStateProofTrackingDataMeta: ObjectModelMetadata<BlockStateProofTrackingData> = {\n name: 'BlockStateProofTrackingData',\n kind: 'object',\n fields: [\n { name: 'stateProofVotersCommitment', wireKey: 'v', optional: true, codec: bytesCodec },\n { name: 'stateProofOnlineTotalWeight', wireKey: 't', optional: true, codec: bigIntCodec },\n { name: 'stateProofNextRound', wireKey: 'n', optional: true, codec: bigIntCodec },\n ],\n}\n\nexport type ApplyData = {\n closingAmount?: bigint\n assetClosingAmount?: bigint\n senderRewards?: bigint\n receiverRewards?: bigint\n closeRewards?: bigint\n evalDelta?: BlockAppEvalDelta\n configAsset?: bigint\n applicationId?: bigint\n}\n\nconst ApplyDataMeta: ObjectModelMetadata<ApplyData> = {\n name: 'SignedTxnInBlock',\n kind: 'object',\n fields: [\n { name: 'closingAmount', wireKey: 'ca', optional: true, codec: bigIntCodec },\n { name: 'assetClosingAmount', wireKey: 'aca', optional: true, codec: bigIntCodec },\n { name: 'senderRewards', wireKey: 'rs', optional: true, codec: bigIntCodec },\n { name: 'receiverRewards', wireKey: 'rr', optional: true, codec: bigIntCodec },\n { name: 'closeRewards', wireKey: 'rc', optional: true, codec: bigIntCodec },\n { name: 'evalDelta', wireKey: 'dt', optional: true, codec: new ObjectModelCodec(BlockAppEvalDeltaMeta) },\n { name: 'configAsset', wireKey: 'caid', optional: true, codec: bigIntCodec },\n { name: 'applicationId', wireKey: 'apid', optional: true, codec: bigIntCodec },\n ],\n}\n\n/**\n * SignedTxnWithAD is a SignedTransaction with additional ApplyData.\n */\nexport type SignedTxnWithAD = {\n /** The signed transaction. */\n signedTxn: SignedTransaction\n /** Apply data containing transaction execution information. */\n applyData?: ApplyData\n}\n\nconst SignedTxnWithADMeta: ObjectModelMetadata<SignedTxnWithAD> = {\n name: 'SignedTxnWithAD',\n kind: 'object',\n fields: [\n {\n name: 'signedTxn',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(SignedTransactionMeta),\n },\n {\n name: 'applyData',\n flattened: true,\n optional: true,\n codec: new ObjectModelCodec(ApplyDataMeta),\n },\n ],\n}\n\n/**\n * SignedTxnInBlock is a SignedTransaction with additional ApplyData and block-specific metadata.\n */\nexport type SignedTxnInBlock = {\n signedTxn: SignedTxnWithAD\n hasGenesisId?: boolean\n hasGenesisHash?: boolean\n}\n\nconst SignedTxnInBlockMeta: ObjectModelMetadata<SignedTxnInBlock> = {\n name: 'SignedTxnInBlock',\n kind: 'object',\n fields: [\n {\n name: 'signedTxn',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(SignedTxnWithADMeta),\n },\n { name: 'hasGenesisId', wireKey: 'hgi', optional: true, codec: booleanCodec },\n { name: 'hasGenesisHash', wireKey: 'hgh', optional: true, codec: booleanCodec },\n ],\n}\n\nexport type ParticipationUpdates = {\n /** [partupdrmv] Expired participation accounts. */\n expiredParticipationAccounts: string[]\n /** [partupdabs] Absent participation accounts. */\n absentParticipationAccounts: string[]\n}\n\nconst ParticipationUpdatesMeta: ObjectModelMetadata<ParticipationUpdates> = {\n name: 'ParticipationUpdates',\n kind: 'object',\n fields: [\n {\n name: 'expiredParticipationAccounts',\n wireKey: 'partupdrmv',\n optional: false,\n codec: addressArrayCodec,\n },\n {\n name: 'absentParticipationAccounts',\n wireKey: 'partupdabs',\n optional: false,\n codec: addressArrayCodec,\n },\n ],\n}\n\n/** Transaction commitment hashes for the block. */\nexport type TxnCommitments = {\n /** [txn] Root of transaction merkle tree using SHA512_256. */\n nativeSha512_256Commitment: Uint8Array\n /** [txn256] Root of transaction vector commitment using SHA256. */\n sha256Commitment?: Uint8Array\n /** [txn512] Root of transaction vector commitment using SHA512. */\n sha512Commitment?: Uint8Array\n}\n\nconst TxnCommitmentsMeta: ObjectModelMetadata<TxnCommitments> = {\n name: 'TxnCommitments',\n kind: 'object',\n fields: [\n { name: 'nativeSha512_256Commitment', wireKey: 'txn', optional: false, codec: fixedBytes32Codec },\n { name: 'sha256Commitment', wireKey: 'txn256', optional: true, codec: fixedBytes32Codec },\n { name: 'sha512Commitment', wireKey: 'txn512', optional: true, codec: fixedBytes64Codec },\n ],\n}\n\n/** Reward distribution state for the block. */\nexport type RewardState = {\n /** [fees] FeeSink address. */\n feeSink: Address\n /** [rwd] RewardsPool address. */\n rewardsPool: Address\n /** [earn] Rewards level. */\n rewardsLevel: bigint\n /** [rate] Rewards rate. */\n rewardsRate: bigint\n /** [frac] Rewards residue. */\n rewardsResidue: bigint\n /** [rwcalr] Rewards recalculation round. */\n rewardsRecalculationRound: bigint\n}\n\nconst RewardStateMeta: ObjectModelMetadata<RewardState> = {\n name: 'RewardState',\n kind: 'object',\n fields: [\n { name: 'feeSink', wireKey: 'fees', optional: false, codec: addressCodec },\n { name: 'rewardsPool', wireKey: 'rwd', optional: false, codec: addressCodec },\n { name: 'rewardsLevel', wireKey: 'earn', optional: false, codec: bigIntCodec },\n { name: 'rewardsRate', wireKey: 'rate', optional: false, codec: bigIntCodec },\n { name: 'rewardsResidue', wireKey: 'frac', optional: false, codec: bigIntCodec },\n { name: 'rewardsRecalculationRound', wireKey: 'rwcalr', optional: false, codec: bigIntCodec },\n ],\n}\n\n/** Protocol upgrade state for the block. */\nexport type UpgradeState = {\n /** [proto] Current consensus protocol. */\n currentProtocol: string\n /** [nextproto] Next proposed protocol. */\n nextProtocol?: string\n /** [nextyes] Next protocol approvals. */\n nextProtocolApprovals?: bigint\n /** [nextbefore] Next protocol vote deadline. */\n nextProtocolVoteBefore?: bigint\n /** [nextswitch] Next protocol switch round. */\n nextProtocolSwitchOn?: bigint\n}\n\nconst UpgradeStateMeta: ObjectModelMetadata<UpgradeState> = {\n name: 'UpgradeState',\n kind: 'object',\n fields: [\n { name: 'currentProtocol', wireKey: 'proto', optional: false, codec: stringCodec },\n { name: 'nextProtocol', wireKey: 'nextproto', optional: true, codec: stringCodec },\n { name: 'nextProtocolApprovals', wireKey: 'nextyes', optional: true, codec: bigIntCodec },\n { name: 'nextProtocolVoteBefore', wireKey: 'nextbefore', optional: true, codec: bigIntCodec },\n { name: 'nextProtocolSwitchOn', wireKey: 'nextswitch', optional: true, codec: bigIntCodec },\n ],\n}\n\n/** Protocol upgrade vote parameters for the block. */\nexport type UpgradeVote = {\n /** [upgradeprop] Upgrade proposal. */\n upgradePropose?: string\n /** [upgradedelay] Upgrade delay in rounds. */\n upgradeDelay?: bigint\n /** [upgradeyes] Upgrade approval flag. */\n upgradeApprove?: boolean\n}\n\nconst UpgradeVoteMeta: ObjectModelMetadata<UpgradeVote> = {\n name: 'UpgradeVote',\n kind: 'object',\n fields: [\n { name: 'upgradePropose', wireKey: 'upgradeprop', optional: true, codec: stringCodec },\n { name: 'upgradeDelay', wireKey: 'upgradedelay', optional: true, codec: bigIntCodec },\n { name: 'upgradeApprove', wireKey: 'upgradeyes', optional: true, codec: booleanCodec },\n ],\n}\n\nexport type BlockHeader = {\n /** [rnd] Round number. */\n round: bigint\n /** [prev] Previous block hash. */\n previousBlockHash: Uint8Array\n /** [prev512] Previous block hash using SHA-512. */\n previousBlockHash512?: Uint8Array\n /** [seed] Sortition seed. */\n seed: Uint8Array\n /** Authenticates the set of transactions appearing in the block. */\n txnCommitments: TxnCommitments\n /** [ts] Block timestamp in seconds since epoch. */\n timestamp: bigint\n /** [gen] Genesis ID. */\n genesisId: string\n /** [gh] Genesis hash. */\n genesisHash: Uint8Array\n /** [prp] Proposer address. */\n proposer?: Address\n /** [fc] Fees collected in this block. */\n feesCollected?: bigint\n /** [bi] Bonus incentive for block proposal. */\n bonus?: bigint\n /** [pp] Proposer payout. */\n proposerPayout?: bigint\n /** Reward distribution state. */\n rewardState: RewardState\n /** Protocol upgrade state. */\n upgradeState: UpgradeState\n /** Protocol upgrade vote parameters. */\n upgradeVote: UpgradeVote\n /** [tc] Transaction counter. */\n txnCounter?: bigint\n /** [spt] State proof tracking data keyed by state proof type. */\n stateProofTracking?: Map<number, BlockStateProofTrackingData>\n /** Represents participation account data that needs to be checked/acted on by the network */\n participationUpdates: ParticipationUpdates\n}\n\nconst BlockHeaderMeta: ObjectModelMetadata<BlockHeader> = {\n name: 'BlockHeader',\n kind: 'object',\n fields: [\n { name: 'round', wireKey: 'rnd', optional: false, codec: bigIntCodec },\n { name: 'previousBlockHash', wireKey: 'prev', optional: false, codec: fixedBytes32Codec },\n { name: 'previousBlockHash512', wireKey: 'prev512', optional: true, codec: fixedBytes64Codec },\n { name: 'seed', wireKey: 'seed', optional: false, codec: bytesCodec },\n {\n name: 'txnCommitments',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(TxnCommitmentsMeta),\n },\n { name: 'timestamp', wireKey: 'ts', optional: false, codec: bigIntCodec },\n { name: 'genesisId', wireKey: 'gen', optional: false, codec: stringCodec },\n { name: 'genesisHash', wireKey: 'gh', optional: false, codec: fixedBytes32Codec },\n { name: 'proposer', wireKey: 'prp', optional: true, codec: addressCodec },\n { name: 'feesCollected', wireKey: 'fc', optional: true, codec: bigIntCodec },\n { name: 'bonus', wireKey: 'bi', optional: true, codec: bigIntCodec },\n { name: 'proposerPayout', wireKey: 'pp', optional: true, codec: bigIntCodec },\n {\n name: 'rewardState',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(RewardStateMeta),\n },\n {\n name: 'upgradeState',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(UpgradeStateMeta),\n },\n {\n name: 'upgradeVote',\n flattened: true,\n optional: true,\n codec: new ObjectModelCodec(UpgradeVoteMeta),\n },\n { name: 'txnCounter', wireKey: 'tc', optional: true, codec: bigIntCodec },\n {\n name: 'stateProofTracking',\n wireKey: 'spt',\n optional: true,\n codec: new MapCodec(numberCodec, new ObjectModelCodec(BlockStateProofTrackingDataMeta)),\n },\n {\n name: 'participationUpdates',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(ParticipationUpdatesMeta),\n },\n ],\n}\n\n/**\n * Block contains the BlockHeader and the list of transactions (Payset).\n */\nexport type Block = {\n /** The block information (Header) */\n header: BlockHeader\n\n /** [txns] Block transactions (Payset). */\n payset: SignedTxnInBlock[]\n}\n\nconst BlockMeta: ObjectModelMetadata<Block> = {\n name: 'Block',\n kind: 'object',\n fields: [\n { name: 'header', flattened: true, optional: false, codec: new ObjectModelCodec(BlockHeaderMeta) },\n {\n name: 'payset',\n wireKey: 'txns',\n optional: false,\n codec: new ArrayCodec(new ObjectModelCodec(SignedTxnInBlockMeta)),\n },\n ],\n}\n\n/**\n * Custom codec for Block that populates genesis information on transactions after decoding.\n *\n * When blocks are returned from algod, transactions may not include the genesisId\n * and genesisHash fields even though they are required for correct transaction ID calculation.\n * The block contains `hasGenesisId` and `hasGenesisHash` flags that indicate whether these\n * fields should be populated from the block header.\n *\n * This codec automatically populates these fields after decoding to ensure transaction IDs\n * can be calculated correctly.\n */\nclass BlockCodec extends ObjectModelCodec<Block> {\n constructor() {\n super(BlockMeta)\n }\n\n protected fromEncoded(value: WireObject, format: EncodingFormat): Block {\n const block = super.fromEncoded(value, format)\n\n // Populate genesis id and hash on transactions if required to ensure tx id's are correct\n const genesisId = block.header.genesisId\n const genesisHash = block.header.genesisHash\n\n for (const txnInBlock of block.payset ?? []) {\n const txn = txnInBlock.signedTxn.signedTxn.txn\n\n if (txnInBlock.hasGenesisId && txn.genesisId === undefined) {\n txn.genesisId = genesisId\n }\n\n // The following assumes that Consensus.RequireGenesisHash is true\n // so assigns genesis hash unless explicitly set to false\n if (txnInBlock.hasGenesisHash !== false && txn.genesisHash === undefined) {\n txn.genesisHash = genesisHash\n }\n }\n\n return block\n }\n}\n\nexport const blockCodec = new BlockCodec()\n"],"mappings":"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"}
1
+ {"version":3,"file":"block.mjs","names":["BlockEvalDeltaMeta: ObjectModelMetadata<BlockEvalDelta>","BlockAppEvalDeltaMeta: ObjectModelMetadata<BlockAppEvalDelta>","BlockStateProofTrackingDataMeta: ObjectModelMetadata<BlockStateProofTrackingData>","ApplyDataMeta: ObjectModelMetadata<ApplyData>","SignedTxnWithADMeta: ObjectModelMetadata<SignedTxnWithAD>","SignedTxnInBlockMeta: ObjectModelMetadata<SignedTxnInBlock>","ParticipationUpdatesMeta: ObjectModelMetadata<ParticipationUpdates>","TxnCommitmentsMeta: ObjectModelMetadata<TxnCommitments>","RewardStateMeta: ObjectModelMetadata<RewardState>","UpgradeStateMeta: ObjectModelMetadata<UpgradeState>","UpgradeVoteMeta: ObjectModelMetadata<UpgradeVote>","BlockMeta: ObjectModelMetadata<Block>"],"sources":["../../../../../packages/algod_client/src/models/block.ts"],"sourcesContent":["import {\n Address,\n ArrayCodec,\n type EncodingFormat,\n MapCodec,\n ObjectModelCodec,\n type ObjectModelMetadata,\n type WireObject,\n addressArrayCodec,\n addressCodec,\n bigIntCodec,\n booleanCodec,\n bytesArrayCodec,\n bytesCodec,\n fixedBytes32Codec,\n fixedBytes64Codec,\n numberCodec,\n stringCodec,\n} from '@algorandfoundation/algokit-common'\nimport { type SignedTransaction, SignedTransactionMeta } from '@algorandfoundation/algokit-transact'\n\n/** BlockEvalDelta represents a TEAL value delta (block/msgpack wire keys). */\nexport type BlockEvalDelta = {\n /** [at] delta action. */\n action: number\n /** [bs] bytes value. */\n bytes?: Uint8Array\n /** [ui] uint value. */\n uint?: bigint\n}\n\nconst BlockEvalDeltaMeta: ObjectModelMetadata<BlockEvalDelta> = {\n name: 'BlockEvalDelta',\n kind: 'object',\n fields: [\n { name: 'action', wireKey: 'at', optional: false, codec: numberCodec },\n { name: 'bytes', wireKey: 'bs', optional: true, codec: bytesCodec },\n { name: 'uint', wireKey: 'ui', optional: true, codec: bigIntCodec },\n ],\n}\n\n/**\n * State changes from application execution, including inner transactions and logs.\n */\nexport type BlockAppEvalDelta = {\n /** [gd] Global state delta for the application. */\n globalDelta?: Map<Uint8Array, BlockEvalDelta>\n /** [ld] Local state deltas keyed by address index. */\n localDeltas?: Map<number, Map<Uint8Array, BlockEvalDelta>>\n /** [itx] Inner transactions produced by this application execution. */\n innerTxns?: SignedTxnWithAD[]\n /** [sa] Shared accounts referenced by local deltas. */\n sharedAccounts?: Address[]\n /** [lg] Application log outputs. */\n logs?: Uint8Array[]\n}\n\nconst BlockAppEvalDeltaMeta: ObjectModelMetadata<BlockAppEvalDelta> = {\n name: 'BlockAppEvalDelta',\n kind: 'object',\n fields: [\n {\n name: 'globalDelta',\n wireKey: 'gd',\n optional: true,\n codec: new MapCodec(bytesCodec, new ObjectModelCodec(BlockEvalDeltaMeta)),\n },\n {\n name: 'localDeltas',\n wireKey: 'ld',\n optional: true,\n codec: new MapCodec(numberCodec, new MapCodec(bytesCodec, new ObjectModelCodec(BlockEvalDeltaMeta))),\n },\n {\n name: 'innerTxns',\n wireKey: 'itx',\n optional: true,\n codec: new ArrayCodec(new ObjectModelCodec(() => SignedTxnWithADMeta)),\n },\n {\n name: 'sharedAccounts',\n wireKey: 'sa',\n optional: true,\n codec: addressArrayCodec,\n },\n { name: 'logs', wireKey: 'lg', optional: true, codec: bytesArrayCodec },\n ],\n}\n\n/** Tracking metadata for a specific StateProofType. */\nexport type BlockStateProofTrackingData = {\n /** [v] Vector commitment root of state proof voters. */\n stateProofVotersCommitment?: Uint8Array\n /** [t] Online total weight during state proof round. */\n stateProofOnlineTotalWeight?: bigint\n /** [n] Next round for which state proofs are accepted. */\n stateProofNextRound?: bigint\n}\n\nconst BlockStateProofTrackingDataMeta: ObjectModelMetadata<BlockStateProofTrackingData> = {\n name: 'BlockStateProofTrackingData',\n kind: 'object',\n fields: [\n { name: 'stateProofVotersCommitment', wireKey: 'v', optional: true, codec: bytesCodec },\n { name: 'stateProofOnlineTotalWeight', wireKey: 't', optional: true, codec: bigIntCodec },\n { name: 'stateProofNextRound', wireKey: 'n', optional: true, codec: bigIntCodec },\n ],\n}\n\nexport type ApplyData = {\n closingAmount?: bigint\n assetClosingAmount?: bigint\n senderRewards?: bigint\n receiverRewards?: bigint\n closeRewards?: bigint\n evalDelta?: BlockAppEvalDelta\n configAsset?: bigint\n applicationId?: bigint\n}\n\nconst ApplyDataMeta: ObjectModelMetadata<ApplyData> = {\n name: 'SignedTxnInBlock',\n kind: 'object',\n fields: [\n { name: 'closingAmount', wireKey: 'ca', optional: true, codec: bigIntCodec },\n { name: 'assetClosingAmount', wireKey: 'aca', optional: true, codec: bigIntCodec },\n { name: 'senderRewards', wireKey: 'rs', optional: true, codec: bigIntCodec },\n { name: 'receiverRewards', wireKey: 'rr', optional: true, codec: bigIntCodec },\n { name: 'closeRewards', wireKey: 'rc', optional: true, codec: bigIntCodec },\n { name: 'evalDelta', wireKey: 'dt', optional: true, codec: new ObjectModelCodec(BlockAppEvalDeltaMeta) },\n { name: 'configAsset', wireKey: 'caid', optional: true, codec: bigIntCodec },\n { name: 'applicationId', wireKey: 'apid', optional: true, codec: bigIntCodec },\n ],\n}\n\n/**\n * SignedTxnWithAD is a SignedTransaction with additional ApplyData.\n */\nexport type SignedTxnWithAD = {\n /** The signed transaction. */\n signedTxn: SignedTransaction\n /** Apply data containing transaction execution information. */\n applyData?: ApplyData\n}\n\nconst SignedTxnWithADMeta: ObjectModelMetadata<SignedTxnWithAD> = {\n name: 'SignedTxnWithAD',\n kind: 'object',\n fields: [\n {\n name: 'signedTxn',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(SignedTransactionMeta),\n },\n {\n name: 'applyData',\n flattened: true,\n optional: true,\n codec: new ObjectModelCodec(ApplyDataMeta),\n },\n ],\n}\n\n/**\n * SignedTxnInBlock is a SignedTransaction with additional ApplyData and block-specific metadata.\n */\nexport type SignedTxnInBlock = {\n signedTxn: SignedTxnWithAD\n hasGenesisId?: boolean\n hasGenesisHash?: boolean\n}\n\nconst SignedTxnInBlockMeta: ObjectModelMetadata<SignedTxnInBlock> = {\n name: 'SignedTxnInBlock',\n kind: 'object',\n fields: [\n {\n name: 'signedTxn',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(SignedTxnWithADMeta),\n },\n { name: 'hasGenesisId', wireKey: 'hgi', optional: true, codec: booleanCodec },\n { name: 'hasGenesisHash', wireKey: 'hgh', optional: true, codec: booleanCodec },\n ],\n}\n\nexport type ParticipationUpdates = {\n /** [partupdrmv] Expired participation accounts. */\n expiredParticipationAccounts: string[]\n /** [partupdabs] Absent participation accounts. */\n absentParticipationAccounts: string[]\n}\n\nconst ParticipationUpdatesMeta: ObjectModelMetadata<ParticipationUpdates> = {\n name: 'ParticipationUpdates',\n kind: 'object',\n fields: [\n {\n name: 'expiredParticipationAccounts',\n wireKey: 'partupdrmv',\n optional: false,\n codec: addressArrayCodec,\n },\n {\n name: 'absentParticipationAccounts',\n wireKey: 'partupdabs',\n optional: false,\n codec: addressArrayCodec,\n },\n ],\n}\n\n/** Transaction commitment hashes for the block. */\nexport type TxnCommitments = {\n /** [txn] Root of transaction merkle tree using SHA512_256. */\n nativeSha512_256Commitment: Uint8Array\n /** [txn256] Root of transaction vector commitment using SHA256. */\n sha256Commitment?: Uint8Array\n /** [txn512] Root of transaction vector commitment using SHA512. */\n sha512Commitment?: Uint8Array\n}\n\nconst TxnCommitmentsMeta: ObjectModelMetadata<TxnCommitments> = {\n name: 'TxnCommitments',\n kind: 'object',\n fields: [\n { name: 'nativeSha512_256Commitment', wireKey: 'txn', optional: false, codec: fixedBytes32Codec },\n { name: 'sha256Commitment', wireKey: 'txn256', optional: true, codec: fixedBytes32Codec },\n { name: 'sha512Commitment', wireKey: 'txn512', optional: true, codec: fixedBytes64Codec },\n ],\n}\n\n/** Reward distribution state for the block. */\nexport type RewardState = {\n /** [fees] FeeSink address. */\n feeSink: Address\n /** [rwd] RewardsPool address. */\n rewardsPool: Address\n /** [earn] Rewards level. */\n rewardsLevel: bigint\n /** [rate] Rewards rate. */\n rewardsRate: bigint\n /** [frac] Rewards residue. */\n rewardsResidue: bigint\n /** [rwcalr] Rewards recalculation round. */\n rewardsRecalculationRound: bigint\n}\n\nconst RewardStateMeta: ObjectModelMetadata<RewardState> = {\n name: 'RewardState',\n kind: 'object',\n fields: [\n { name: 'feeSink', wireKey: 'fees', optional: false, codec: addressCodec },\n { name: 'rewardsPool', wireKey: 'rwd', optional: false, codec: addressCodec },\n { name: 'rewardsLevel', wireKey: 'earn', optional: false, codec: bigIntCodec },\n { name: 'rewardsRate', wireKey: 'rate', optional: false, codec: bigIntCodec },\n { name: 'rewardsResidue', wireKey: 'frac', optional: false, codec: bigIntCodec },\n { name: 'rewardsRecalculationRound', wireKey: 'rwcalr', optional: false, codec: bigIntCodec },\n ],\n}\n\n/** Protocol upgrade state for the block. */\nexport type UpgradeState = {\n /** [proto] Current consensus protocol. */\n currentProtocol: string\n /** [nextproto] Next proposed protocol. */\n nextProtocol?: string\n /** [nextyes] Next protocol approvals. */\n nextProtocolApprovals?: bigint\n /** [nextbefore] Next protocol vote deadline. */\n nextProtocolVoteBefore?: bigint\n /** [nextswitch] Next protocol switch round. */\n nextProtocolSwitchOn?: bigint\n}\n\nconst UpgradeStateMeta: ObjectModelMetadata<UpgradeState> = {\n name: 'UpgradeState',\n kind: 'object',\n fields: [\n { name: 'currentProtocol', wireKey: 'proto', optional: false, codec: stringCodec },\n { name: 'nextProtocol', wireKey: 'nextproto', optional: true, codec: stringCodec },\n { name: 'nextProtocolApprovals', wireKey: 'nextyes', optional: true, codec: bigIntCodec },\n { name: 'nextProtocolVoteBefore', wireKey: 'nextbefore', optional: true, codec: bigIntCodec },\n { name: 'nextProtocolSwitchOn', wireKey: 'nextswitch', optional: true, codec: bigIntCodec },\n ],\n}\n\n/** Protocol upgrade vote parameters for the block. */\nexport type UpgradeVote = {\n /** [upgradeprop] Upgrade proposal. */\n upgradePropose?: string\n /** [upgradedelay] Upgrade delay in rounds. */\n upgradeDelay?: bigint\n /** [upgradeyes] Upgrade approval flag. */\n upgradeApprove?: boolean\n}\n\nconst UpgradeVoteMeta: ObjectModelMetadata<UpgradeVote> = {\n name: 'UpgradeVote',\n kind: 'object',\n fields: [\n { name: 'upgradePropose', wireKey: 'upgradeprop', optional: true, codec: stringCodec },\n { name: 'upgradeDelay', wireKey: 'upgradedelay', optional: true, codec: bigIntCodec },\n { name: 'upgradeApprove', wireKey: 'upgradeyes', optional: true, codec: booleanCodec },\n ],\n}\n\nexport type BlockHeader = {\n /** [rnd] Round number. */\n round: bigint\n /** [prev] Previous block hash. */\n previousBlockHash: Uint8Array\n /** [prev512] Previous block hash using SHA-512. */\n previousBlockHash512?: Uint8Array\n /** [seed] Sortition seed. */\n seed: Uint8Array\n /** Authenticates the set of transactions appearing in the block. */\n txnCommitments: TxnCommitments\n /** [ts] Block timestamp in seconds since epoch. */\n timestamp: bigint\n /** [gen] Genesis ID. */\n genesisId: string\n /** [gh] Genesis hash. */\n genesisHash: Uint8Array\n /** [prp] Proposer address. */\n proposer?: Address\n /** [fc] Fees collected in this block. */\n feesCollected?: bigint\n /** [bi] Bonus incentive for block proposal. */\n bonus?: bigint\n /** [pp] Proposer payout. */\n proposerPayout?: bigint\n /** Reward distribution state. */\n rewardState: RewardState\n /** Protocol upgrade state. */\n upgradeState: UpgradeState\n /** Protocol upgrade vote parameters. */\n upgradeVote?: UpgradeVote\n /** [tc] Transaction counter. */\n txnCounter?: bigint\n /** [spt] State proof tracking data keyed by state proof type. */\n stateProofTracking?: Map<number, BlockStateProofTrackingData>\n /** Represents participation account data that needs to be checked/acted on by the network */\n participationUpdates: ParticipationUpdates\n}\n\nconst BlockHeaderMeta: ObjectModelMetadata<BlockHeader> = {\n name: 'BlockHeader',\n kind: 'object',\n fields: [\n { name: 'round', wireKey: 'rnd', optional: false, codec: bigIntCodec },\n { name: 'previousBlockHash', wireKey: 'prev', optional: false, codec: fixedBytes32Codec },\n { name: 'previousBlockHash512', wireKey: 'prev512', optional: true, codec: fixedBytes64Codec },\n { name: 'seed', wireKey: 'seed', optional: false, codec: bytesCodec },\n {\n name: 'txnCommitments',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(TxnCommitmentsMeta),\n },\n { name: 'timestamp', wireKey: 'ts', optional: false, codec: bigIntCodec },\n { name: 'genesisId', wireKey: 'gen', optional: false, codec: stringCodec },\n { name: 'genesisHash', wireKey: 'gh', optional: false, codec: fixedBytes32Codec },\n { name: 'proposer', wireKey: 'prp', optional: true, codec: addressCodec },\n { name: 'feesCollected', wireKey: 'fc', optional: true, codec: bigIntCodec },\n { name: 'bonus', wireKey: 'bi', optional: true, codec: bigIntCodec },\n { name: 'proposerPayout', wireKey: 'pp', optional: true, codec: bigIntCodec },\n {\n name: 'rewardState',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(RewardStateMeta),\n },\n {\n name: 'upgradeState',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(UpgradeStateMeta),\n },\n {\n name: 'upgradeVote',\n flattened: true,\n optional: true,\n codec: new ObjectModelCodec(UpgradeVoteMeta),\n },\n { name: 'txnCounter', wireKey: 'tc', optional: true, codec: bigIntCodec },\n {\n name: 'stateProofTracking',\n wireKey: 'spt',\n optional: true,\n codec: new MapCodec(numberCodec, new ObjectModelCodec(BlockStateProofTrackingDataMeta)),\n },\n {\n name: 'participationUpdates',\n flattened: true,\n optional: false,\n codec: new ObjectModelCodec(ParticipationUpdatesMeta),\n },\n ],\n}\n\n/**\n * Block contains the BlockHeader and the list of transactions (Payset).\n */\nexport type Block = {\n /** The block information (Header) */\n header: BlockHeader\n\n /** [txns] Block transactions (Payset). */\n payset: SignedTxnInBlock[]\n}\n\nconst BlockMeta: ObjectModelMetadata<Block> = {\n name: 'Block',\n kind: 'object',\n fields: [\n { name: 'header', flattened: true, optional: false, codec: new ObjectModelCodec(BlockHeaderMeta) },\n {\n name: 'payset',\n wireKey: 'txns',\n optional: false,\n codec: new ArrayCodec(new ObjectModelCodec(SignedTxnInBlockMeta)),\n },\n ],\n}\n\n/**\n * Custom codec for Block that populates genesis information on transactions after decoding.\n *\n * When blocks are returned from algod, transactions may not include the genesisId\n * and genesisHash fields even though they are required for correct transaction ID calculation.\n * The block contains `hasGenesisId` and `hasGenesisHash` flags that indicate whether these\n * fields should be populated from the block header.\n *\n * This codec automatically populates these fields after decoding to ensure transaction IDs\n * can be calculated correctly.\n */\nclass BlockCodec extends ObjectModelCodec<Block> {\n constructor() {\n super(BlockMeta)\n }\n\n protected fromEncoded(value: WireObject, format: EncodingFormat): Block {\n const block = super.fromEncoded(value, format)\n\n // Populate genesis id and hash on transactions if required to ensure tx id's are correct\n const genesisId = block.header.genesisId\n const genesisHash = block.header.genesisHash\n\n for (const txnInBlock of block.payset ?? []) {\n const txn = txnInBlock.signedTxn.signedTxn.txn\n\n if (txnInBlock.hasGenesisId && txn.genesisId === undefined) {\n txn.genesisId = genesisId\n }\n\n // The following assumes that Consensus.RequireGenesisHash is true\n // so assigns genesis hash unless explicitly set to false\n if (txnInBlock.hasGenesisHash !== false && txn.genesisHash === undefined) {\n txn.genesisHash = genesisHash\n }\n }\n\n return block\n }\n}\n\nexport const blockCodec = new BlockCodec()\n"],"mappings":"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"}
@@ -349,8 +349,8 @@ declare class AlgorandClientTransactionCreator {
349
349
  */
350
350
  appCreate: (params: {
351
351
  args?: Uint8Array[] | undefined;
352
- signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
353
352
  sender: SendingAddress;
353
+ signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
354
354
  rekeyTo?: ReadableAddress | undefined;
355
355
  note?: string | Uint8Array | undefined;
356
356
  lease?: string | Uint8Array | undefined;
@@ -568,8 +568,9 @@ declare class AlgorandClientTransactionCreator {
568
568
  * @returns The application ABI method create transaction
569
569
  */
570
570
  appCreateMethodCall: (params: {
571
- signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
571
+ appId?: 0 | undefined;
572
572
  sender: SendingAddress;
573
+ signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
573
574
  rekeyTo?: ReadableAddress | undefined;
574
575
  note?: string | Uint8Array | undefined;
575
576
  lease?: string | Uint8Array | undefined;
@@ -579,9 +580,6 @@ declare class AlgorandClientTransactionCreator {
579
580
  validityWindow?: number | bigint | undefined;
580
581
  firstValidRound?: bigint | undefined;
581
582
  lastValidRound?: bigint | undefined;
582
- appId?: 0 | undefined;
583
- approvalProgram: string | Uint8Array;
584
- clearStateProgram: string | Uint8Array;
585
583
  onComplete?: OnApplicationComplete.NoOp | OnApplicationComplete.OptIn | OnApplicationComplete.CloseOut | OnApplicationComplete.UpdateApplication | OnApplicationComplete.DeleteApplication | undefined;
586
584
  accountReferences?: ReadableAddress[] | undefined;
587
585
  appReferences?: bigint[] | undefined;
@@ -589,6 +587,8 @@ declare class AlgorandClientTransactionCreator {
589
587
  boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
590
588
  accessReferences?: ResourceReference[] | undefined;
591
589
  rejectVersion?: number | undefined;
590
+ approvalProgram: string | Uint8Array;
591
+ clearStateProgram: string | Uint8Array;
592
592
  schema?: {
593
593
  globalInts: number;
594
594
  globalByteSlices: number;
@@ -597,7 +597,8 @@ declare class AlgorandClientTransactionCreator {
597
597
  } | undefined;
598
598
  extraProgramPages?: number | undefined;
599
599
  method: ABIMethod;
600
- args?: (ABIValue | Transaction | TransactionWithSigner | AppMethodCall<{
600
+ args?: (Transaction | ABIValue | TransactionWithSigner | AppMethodCall<{
601
+ args?: Uint8Array[] | undefined;
601
602
  sender: SendingAddress;
602
603
  signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
603
604
  rekeyTo?: ReadableAddress | undefined;
@@ -609,21 +610,26 @@ declare class AlgorandClientTransactionCreator {
609
610
  validityWindow?: number | bigint | undefined;
610
611
  firstValidRound?: bigint | undefined;
611
612
  lastValidRound?: bigint | undefined;
612
- appId: bigint;
613
- onComplete?: OnApplicationComplete.UpdateApplication | undefined;
614
- args?: Uint8Array[] | undefined;
613
+ onComplete?: OnApplicationComplete.NoOp | OnApplicationComplete.OptIn | OnApplicationComplete.CloseOut | OnApplicationComplete.UpdateApplication | OnApplicationComplete.DeleteApplication | undefined;
615
614
  accountReferences?: ReadableAddress[] | undefined;
616
615
  appReferences?: bigint[] | undefined;
617
616
  assetReferences?: bigint[] | undefined;
618
617
  boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
619
618
  accessReferences?: ResourceReference[] | undefined;
620
619
  rejectVersion?: number | undefined;
620
+ appId?: 0 | undefined;
621
621
  approvalProgram: string | Uint8Array;
622
622
  clearStateProgram: string | Uint8Array;
623
+ schema?: {
624
+ globalInts: number;
625
+ globalByteSlices: number;
626
+ localInts: number;
627
+ localByteSlices: number;
628
+ } | undefined;
629
+ extraProgramPages?: number | undefined;
623
630
  }> | AppMethodCall<{
624
- args?: Uint8Array[] | undefined;
625
- signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
626
631
  sender: SendingAddress;
632
+ signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
627
633
  rekeyTo?: ReadableAddress | undefined;
628
634
  note?: string | Uint8Array | undefined;
629
635
  lease?: string | Uint8Array | undefined;
@@ -633,24 +639,18 @@ declare class AlgorandClientTransactionCreator {
633
639
  validityWindow?: number | bigint | undefined;
634
640
  firstValidRound?: bigint | undefined;
635
641
  lastValidRound?: bigint | undefined;
636
- onComplete?: OnApplicationComplete.NoOp | OnApplicationComplete.OptIn | OnApplicationComplete.CloseOut | OnApplicationComplete.UpdateApplication | OnApplicationComplete.DeleteApplication | undefined;
642
+ appId: bigint;
643
+ onComplete?: OnApplicationComplete.UpdateApplication | undefined;
644
+ args?: Uint8Array[] | undefined;
637
645
  accountReferences?: ReadableAddress[] | undefined;
638
646
  appReferences?: bigint[] | undefined;
639
647
  assetReferences?: bigint[] | undefined;
640
648
  boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
641
649
  accessReferences?: ResourceReference[] | undefined;
642
650
  rejectVersion?: number | undefined;
643
- appId?: 0 | undefined;
644
651
  approvalProgram: string | Uint8Array;
645
652
  clearStateProgram: string | Uint8Array;
646
- schema?: {
647
- globalInts: number;
648
- globalByteSlices: number;
649
- localInts: number;
650
- localByteSlices: number;
651
- } | undefined;
652
- extraProgramPages?: number | undefined;
653
- }> | Promise<Transaction> | AppMethodCall<AppMethodCallParams> | undefined)[] | undefined;
653
+ }> | AppMethodCall<AppMethodCallParams> | Promise<Transaction> | undefined)[] | undefined;
654
654
  }) => Promise<Expand<BuiltTransactions>>;
655
655
  /** Create an application update call with ABI method call transaction.
656
656
  *
@@ -702,8 +702,9 @@ declare class AlgorandClientTransactionCreator {
702
702
  * @returns The application ABI method update transaction
703
703
  */
704
704
  appUpdateMethodCall: (params: {
705
- signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
705
+ appId: bigint;
706
706
  sender: SendingAddress;
707
+ signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
707
708
  rekeyTo?: ReadableAddress | undefined;
708
709
  note?: string | Uint8Array | undefined;
709
710
  lease?: string | Uint8Array | undefined;
@@ -713,9 +714,6 @@ declare class AlgorandClientTransactionCreator {
713
714
  validityWindow?: number | bigint | undefined;
714
715
  firstValidRound?: bigint | undefined;
715
716
  lastValidRound?: bigint | undefined;
716
- appId: bigint;
717
- approvalProgram: string | Uint8Array;
718
- clearStateProgram: string | Uint8Array;
719
717
  onComplete?: OnApplicationComplete.UpdateApplication | undefined;
720
718
  accountReferences?: ReadableAddress[] | undefined;
721
719
  appReferences?: bigint[] | undefined;
@@ -723,8 +721,11 @@ declare class AlgorandClientTransactionCreator {
723
721
  boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
724
722
  accessReferences?: ResourceReference[] | undefined;
725
723
  rejectVersion?: number | undefined;
724
+ approvalProgram: string | Uint8Array;
725
+ clearStateProgram: string | Uint8Array;
726
726
  method: ABIMethod;
727
- args?: (ABIValue | Transaction | TransactionWithSigner | AppMethodCall<{
727
+ args?: (Transaction | ABIValue | TransactionWithSigner | AppMethodCall<{
728
+ args?: Uint8Array[] | undefined;
728
729
  sender: SendingAddress;
729
730
  signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
730
731
  rekeyTo?: ReadableAddress | undefined;
@@ -736,21 +737,26 @@ declare class AlgorandClientTransactionCreator {
736
737
  validityWindow?: number | bigint | undefined;
737
738
  firstValidRound?: bigint | undefined;
738
739
  lastValidRound?: bigint | undefined;
739
- appId: bigint;
740
- onComplete?: OnApplicationComplete.UpdateApplication | undefined;
741
- args?: Uint8Array[] | undefined;
740
+ onComplete?: OnApplicationComplete.NoOp | OnApplicationComplete.OptIn | OnApplicationComplete.CloseOut | OnApplicationComplete.UpdateApplication | OnApplicationComplete.DeleteApplication | undefined;
742
741
  accountReferences?: ReadableAddress[] | undefined;
743
742
  appReferences?: bigint[] | undefined;
744
743
  assetReferences?: bigint[] | undefined;
745
744
  boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
746
745
  accessReferences?: ResourceReference[] | undefined;
747
746
  rejectVersion?: number | undefined;
747
+ appId?: 0 | undefined;
748
748
  approvalProgram: string | Uint8Array;
749
749
  clearStateProgram: string | Uint8Array;
750
+ schema?: {
751
+ globalInts: number;
752
+ globalByteSlices: number;
753
+ localInts: number;
754
+ localByteSlices: number;
755
+ } | undefined;
756
+ extraProgramPages?: number | undefined;
750
757
  }> | AppMethodCall<{
751
- args?: Uint8Array[] | undefined;
752
- signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
753
758
  sender: SendingAddress;
759
+ signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
754
760
  rekeyTo?: ReadableAddress | undefined;
755
761
  note?: string | Uint8Array | undefined;
756
762
  lease?: string | Uint8Array | undefined;
@@ -760,24 +766,18 @@ declare class AlgorandClientTransactionCreator {
760
766
  validityWindow?: number | bigint | undefined;
761
767
  firstValidRound?: bigint | undefined;
762
768
  lastValidRound?: bigint | undefined;
763
- onComplete?: OnApplicationComplete.NoOp | OnApplicationComplete.OptIn | OnApplicationComplete.CloseOut | OnApplicationComplete.UpdateApplication | OnApplicationComplete.DeleteApplication | undefined;
769
+ appId: bigint;
770
+ onComplete?: OnApplicationComplete.UpdateApplication | undefined;
771
+ args?: Uint8Array[] | undefined;
764
772
  accountReferences?: ReadableAddress[] | undefined;
765
773
  appReferences?: bigint[] | undefined;
766
774
  assetReferences?: bigint[] | undefined;
767
775
  boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
768
776
  accessReferences?: ResourceReference[] | undefined;
769
777
  rejectVersion?: number | undefined;
770
- appId?: 0 | undefined;
771
778
  approvalProgram: string | Uint8Array;
772
779
  clearStateProgram: string | Uint8Array;
773
- schema?: {
774
- globalInts: number;
775
- globalByteSlices: number;
776
- localInts: number;
777
- localByteSlices: number;
778
- } | undefined;
779
- extraProgramPages?: number | undefined;
780
- }> | Promise<Transaction> | AppMethodCall<AppMethodCallParams> | undefined)[] | undefined;
780
+ }> | AppMethodCall<AppMethodCallParams> | Promise<Transaction> | undefined)[] | undefined;
781
781
  }) => Promise<Expand<BuiltTransactions>>;
782
782
  /** Create an application delete call with ABI method call transaction.
783
783
  *
@@ -827,8 +827,9 @@ declare class AlgorandClientTransactionCreator {
827
827
  * @returns The application ABI method delete transaction
828
828
  */
829
829
  appDeleteMethodCall: (params: {
830
- signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
830
+ appId: bigint;
831
831
  sender: SendingAddress;
832
+ signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
832
833
  rekeyTo?: ReadableAddress | undefined;
833
834
  note?: string | Uint8Array | undefined;
834
835
  lease?: string | Uint8Array | undefined;
@@ -838,7 +839,6 @@ declare class AlgorandClientTransactionCreator {
838
839
  validityWindow?: number | bigint | undefined;
839
840
  firstValidRound?: bigint | undefined;
840
841
  lastValidRound?: bigint | undefined;
841
- appId: bigint;
842
842
  onComplete?: OnApplicationComplete.DeleteApplication | undefined;
843
843
  accountReferences?: ReadableAddress[] | undefined;
844
844
  appReferences?: bigint[] | undefined;
@@ -847,7 +847,8 @@ declare class AlgorandClientTransactionCreator {
847
847
  accessReferences?: ResourceReference[] | undefined;
848
848
  rejectVersion?: number | undefined;
849
849
  method: ABIMethod;
850
- args?: (ABIValue | Transaction | TransactionWithSigner | AppMethodCall<{
850
+ args?: (Transaction | ABIValue | TransactionWithSigner | AppMethodCall<{
851
+ args?: Uint8Array[] | undefined;
851
852
  sender: SendingAddress;
852
853
  signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
853
854
  rekeyTo?: ReadableAddress | undefined;
@@ -859,21 +860,26 @@ declare class AlgorandClientTransactionCreator {
859
860
  validityWindow?: number | bigint | undefined;
860
861
  firstValidRound?: bigint | undefined;
861
862
  lastValidRound?: bigint | undefined;
862
- appId: bigint;
863
- onComplete?: OnApplicationComplete.UpdateApplication | undefined;
864
- args?: Uint8Array[] | undefined;
863
+ onComplete?: OnApplicationComplete.NoOp | OnApplicationComplete.OptIn | OnApplicationComplete.CloseOut | OnApplicationComplete.UpdateApplication | OnApplicationComplete.DeleteApplication | undefined;
865
864
  accountReferences?: ReadableAddress[] | undefined;
866
865
  appReferences?: bigint[] | undefined;
867
866
  assetReferences?: bigint[] | undefined;
868
867
  boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
869
868
  accessReferences?: ResourceReference[] | undefined;
870
869
  rejectVersion?: number | undefined;
870
+ appId?: 0 | undefined;
871
871
  approvalProgram: string | Uint8Array;
872
872
  clearStateProgram: string | Uint8Array;
873
+ schema?: {
874
+ globalInts: number;
875
+ globalByteSlices: number;
876
+ localInts: number;
877
+ localByteSlices: number;
878
+ } | undefined;
879
+ extraProgramPages?: number | undefined;
873
880
  }> | AppMethodCall<{
874
- args?: Uint8Array[] | undefined;
875
- signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
876
881
  sender: SendingAddress;
882
+ signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
877
883
  rekeyTo?: ReadableAddress | undefined;
878
884
  note?: string | Uint8Array | undefined;
879
885
  lease?: string | Uint8Array | undefined;
@@ -883,24 +889,18 @@ declare class AlgorandClientTransactionCreator {
883
889
  validityWindow?: number | bigint | undefined;
884
890
  firstValidRound?: bigint | undefined;
885
891
  lastValidRound?: bigint | undefined;
886
- onComplete?: OnApplicationComplete.NoOp | OnApplicationComplete.OptIn | OnApplicationComplete.CloseOut | OnApplicationComplete.UpdateApplication | OnApplicationComplete.DeleteApplication | undefined;
892
+ appId: bigint;
893
+ onComplete?: OnApplicationComplete.UpdateApplication | undefined;
894
+ args?: Uint8Array[] | undefined;
887
895
  accountReferences?: ReadableAddress[] | undefined;
888
896
  appReferences?: bigint[] | undefined;
889
897
  assetReferences?: bigint[] | undefined;
890
898
  boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
891
899
  accessReferences?: ResourceReference[] | undefined;
892
900
  rejectVersion?: number | undefined;
893
- appId?: 0 | undefined;
894
901
  approvalProgram: string | Uint8Array;
895
902
  clearStateProgram: string | Uint8Array;
896
- schema?: {
897
- globalInts: number;
898
- globalByteSlices: number;
899
- localInts: number;
900
- localByteSlices: number;
901
- } | undefined;
902
- extraProgramPages?: number | undefined;
903
- }> | Promise<Transaction> | AppMethodCall<AppMethodCallParams> | undefined)[] | undefined;
903
+ }> | AppMethodCall<AppMethodCallParams> | Promise<Transaction> | undefined)[] | undefined;
904
904
  }) => Promise<Expand<BuiltTransactions>>;
905
905
  /** Create an application call with ABI method call transaction.
906
906
  *
@@ -950,8 +950,9 @@ declare class AlgorandClientTransactionCreator {
950
950
  * @returns The application ABI method call transaction
951
951
  */
952
952
  appCallMethodCall: (params: {
953
- signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
953
+ appId: bigint;
954
954
  sender: SendingAddress;
955
+ signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
955
956
  rekeyTo?: ReadableAddress | undefined;
956
957
  note?: string | Uint8Array | undefined;
957
958
  lease?: string | Uint8Array | undefined;
@@ -961,7 +962,6 @@ declare class AlgorandClientTransactionCreator {
961
962
  validityWindow?: number | bigint | undefined;
962
963
  firstValidRound?: bigint | undefined;
963
964
  lastValidRound?: bigint | undefined;
964
- appId: bigint;
965
965
  onComplete?: OnApplicationComplete.NoOp | OnApplicationComplete.OptIn | OnApplicationComplete.CloseOut | OnApplicationComplete.DeleteApplication | undefined;
966
966
  accountReferences?: ReadableAddress[] | undefined;
967
967
  appReferences?: bigint[] | undefined;
@@ -970,7 +970,8 @@ declare class AlgorandClientTransactionCreator {
970
970
  accessReferences?: ResourceReference[] | undefined;
971
971
  rejectVersion?: number | undefined;
972
972
  method: ABIMethod;
973
- args?: (ABIValue | Transaction | TransactionWithSigner | AppMethodCall<{
973
+ args?: (Transaction | ABIValue | TransactionWithSigner | AppMethodCall<{
974
+ args?: Uint8Array[] | undefined;
974
975
  sender: SendingAddress;
975
976
  signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
976
977
  rekeyTo?: ReadableAddress | undefined;
@@ -982,21 +983,26 @@ declare class AlgorandClientTransactionCreator {
982
983
  validityWindow?: number | bigint | undefined;
983
984
  firstValidRound?: bigint | undefined;
984
985
  lastValidRound?: bigint | undefined;
985
- appId: bigint;
986
- onComplete?: OnApplicationComplete.UpdateApplication | undefined;
987
- args?: Uint8Array[] | undefined;
986
+ onComplete?: OnApplicationComplete.NoOp | OnApplicationComplete.OptIn | OnApplicationComplete.CloseOut | OnApplicationComplete.UpdateApplication | OnApplicationComplete.DeleteApplication | undefined;
988
987
  accountReferences?: ReadableAddress[] | undefined;
989
988
  appReferences?: bigint[] | undefined;
990
989
  assetReferences?: bigint[] | undefined;
991
990
  boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
992
991
  accessReferences?: ResourceReference[] | undefined;
993
992
  rejectVersion?: number | undefined;
993
+ appId?: 0 | undefined;
994
994
  approvalProgram: string | Uint8Array;
995
995
  clearStateProgram: string | Uint8Array;
996
+ schema?: {
997
+ globalInts: number;
998
+ globalByteSlices: number;
999
+ localInts: number;
1000
+ localByteSlices: number;
1001
+ } | undefined;
1002
+ extraProgramPages?: number | undefined;
996
1003
  }> | AppMethodCall<{
997
- args?: Uint8Array[] | undefined;
998
- signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
999
1004
  sender: SendingAddress;
1005
+ signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
1000
1006
  rekeyTo?: ReadableAddress | undefined;
1001
1007
  note?: string | Uint8Array | undefined;
1002
1008
  lease?: string | Uint8Array | undefined;
@@ -1006,24 +1012,18 @@ declare class AlgorandClientTransactionCreator {
1006
1012
  validityWindow?: number | bigint | undefined;
1007
1013
  firstValidRound?: bigint | undefined;
1008
1014
  lastValidRound?: bigint | undefined;
1009
- onComplete?: OnApplicationComplete.NoOp | OnApplicationComplete.OptIn | OnApplicationComplete.CloseOut | OnApplicationComplete.UpdateApplication | OnApplicationComplete.DeleteApplication | undefined;
1015
+ appId: bigint;
1016
+ onComplete?: OnApplicationComplete.UpdateApplication | undefined;
1017
+ args?: Uint8Array[] | undefined;
1010
1018
  accountReferences?: ReadableAddress[] | undefined;
1011
1019
  appReferences?: bigint[] | undefined;
1012
1020
  assetReferences?: bigint[] | undefined;
1013
1021
  boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
1014
1022
  accessReferences?: ResourceReference[] | undefined;
1015
1023
  rejectVersion?: number | undefined;
1016
- appId?: 0 | undefined;
1017
1024
  approvalProgram: string | Uint8Array;
1018
1025
  clearStateProgram: string | Uint8Array;
1019
- schema?: {
1020
- globalInts: number;
1021
- globalByteSlices: number;
1022
- localInts: number;
1023
- localByteSlices: number;
1024
- } | undefined;
1025
- extraProgramPages?: number | undefined;
1026
- }> | Promise<Transaction> | AppMethodCall<AppMethodCallParams> | undefined)[] | undefined;
1026
+ }> | AppMethodCall<AppMethodCallParams> | Promise<Transaction> | undefined)[] | undefined;
1027
1027
  }) => Promise<Expand<BuiltTransactions>>;
1028
1028
  /**
1029
1029
  * Create an online key registration transaction.