# Packages
No description provided by the author
# Constants
ConsensusCurrentVersion is the latest version and should be used when a specific version is not provided.
ConsensusFuture is a protocol that should not appear in any production network, but is used to test features before they are released.
ConsensusV10 introduces fast partition recovery.
ConsensusV11 introduces efficient encoding of SignedTxn using SignedTxnInBlock.
ConsensusV12 increases the maximum length of a version string.
ConsensusV13 makes the consensus version a meaningful string.
ConsensusV14 adds tracking of closing amounts in ApplyData, and enables genesis hash in transactions.
ConsensusV15 adds tracking of reward distributions in ApplyData.
ConsensusV16 fixes domain separation in Credentials and requires GenesisHash.
ConsensusV17 points to 'final' spec commit for 2019 june release.
ConsensusV18 points to reward calculation spec commit.
ConsensusV19 points to 'final' spec commit for 2019 nov release.
ConsensusV20 points to adding the decimals field to assets.
ConsensusV21 fixes a bug in credential.lowestOutput.
ConsensusV22 allows tuning the upgrade delay.
ConsensusV23 fixes lease behavior.
ConsensusV24 include the applications, rekeying and AVM v2.
ConsensusV25 adds support for AssetCloseAmount in the ApplyData.
ConsensusV26 adds support for TEAL 3, initial rewards calculation and merkle tree hash commitments.
ConsensusV27 updates ApplyDelta.EvalDelta.LocalDeltas format.
ConsensusV28 introduces new TEAL features, larger program size, fee pooling and longer asset max URL.
ConsensusV29 fixes application update by using ExtraProgramPages in size calculations.
ConsensusV30 introduces AVM 1.0 and TEAL 5, increases the app opt in limit to 50, and allows costs to be pooled in grouped stateful transactions.
ConsensusV31 enables the batch verification for ed25519 signatures, Fix reward calculation issue, introduces the ability to force an expired participation offline, enables TEAL 6 ( AVM 1.1 ) and add support for creating state proof keys.
ConsensusV32 enables the unlimited assets.
ConsensusV33 enables large blocks, the deeper block history for TEAL and catchpoint generation round after lowering in-memory deltas size (320 -> 4).
ConsensusV34 enables the TEAL v7 opcodes, stateproofs, shorter lambda to 1.7s.
ConsensusV35 updates the calculation of total stake in state proofs.
ConsensusV36 adds box storage in TEAL v8.
ConsensusV37 is a technical upgrade and released in the same time as ConsensusV38.
ConsensusV38 enables state proof verification using a special tracker, TEAL v9 resources sharing, pre-check ECDSA curve and extra features, and shortens the lambda to 1.5s.
ConsensusV39 enables dynamic filter timeouts, a deadline timeout of 4 seconds, TEAL v10 logicSig opcode budget pooling along with elliptic curve ops on some pairing friendly curves.
ConsensusV40 enables consensus incentives and TEAL v11 featuring the mimc opcode.
ConsensusV7 increases MaxBalLookback to 320 in preparation for the twin seeds change.
ConsensusV8 uses the new parameters and seed derivation policy from the agreement protocol's security analysis.
ConsensusV9 increases min balance to 100,000 microAlgos.
ConsensusVAlpha1 is the first consensus protocol for AlphaNet, which is the same as v32, but with a 2-second filter timeout and 5M block size.
ConsensusVAlpha2 is the second consensus protocol for AlphaNet, which increases the filter timeout to 3.5 seconds and uses 5MiB blocks.
ConsensusVAlpha3 uses the same parameters as ConsensusV33.
ConsensusVAlpha4 uses the same parameters as ConsensusV34.
ConsensusVAlpha5 uses the same parameters as ConsensusV36.
DEPRECATEDConsensusV0 is a baseline version of the Algorand consensus protocol.
DEPRECATEDConsensusV1 adds support for Genesis ID in transactions, but does not require it (transactions missing a GenesisID value are still allowed).
DEPRECATEDConsensusV2 fixes a bug in the agreement protocol where proposalValues fail to commit to the original period and sender of a block.
DEPRECATEDConsensusV3 adds support for fine-grained ephemeral keys.
DEPRECATEDConsensusV4 adds support for a min balance and a transaction that closes out an account.
DEPRECATEDConsensusV5 sets MinTxnFee to 1000 and fixes a blance lookback bug.
DEPRECATEDConsensusV6 adds support for explicit ephemeral-key parameters.
# Type aliases
ConsensusVersion is a string that identifies a version of the consensus protocol.
Error is used to indicate that an unsupported protocol has been detected.