# Functions
ConsensusTestFastUpgrade is meant for testing of protocol upgrades: during testing, it is equivalent to another protocol with the exception of the upgrade parameters, which allow for upgrades to take place after only a few rounds.
Decode attempts to decode a msgpack-encoded byte buffer into an object instance pointed to by objptr.
DecodeJSON attempts to decode a JSON-encoded byte buffer into an object instance pointed to by objptr.
DecodeStream is like Decode but reads from an io.Reader instead.
Encode returns a msgpack-encoded byte buffer for a given object.
EncodeJSON returns a JSON-encoded byte buffer for a given object.
EncodeLen returns len(Encode(obj)).
EncodeStream is like Encode but writes to an io.Writer instead.
NewDecoder returns a decoder object reading bytes from [r].
NewDecoderBytes returns a decoder object reading bytes from [b].
NewEncoder returns an encoder object writing bytes into [w].
NewJSONDecoder returns a json decoder object reading bytes from [r].
# Constants
Hash IDs for specific object types, in lexicographic order to avoid dups.
Tags, in lexicographic sort order of tag values to avoid duplicates.
AssetConfigTx creates, re-configures, or destroys an asset.
AssetFreezeTx changes the freeze status of an asset.
AssetTransferTx transfers assets between accounts (optionally closing).
Hash IDs for specific object types, in lexicographic order to avoid dups.
Hash IDs for specific object types, in lexicographic order to avoid dups.
Hash IDs for specific object types, in lexicographic order to avoid dups.
Hash IDs for specific object types, in lexicographic order to avoid dups.
Hash IDs for specific object types, in lexicographic order to avoid dups.
Hash IDs for specific object types, in lexicographic order to avoid dups.
Hash IDs for specific object types, in lexicographic order to avoid dups.
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.
ConsensusTest0 is a version of ConsensusV0 used for testing (it has different approved upgrade paths).
ConsensusTest1 is an extension of ConsensusTest0 that supports a sorted-list balance commitment.
ConsensusTestBigBlocks is a version of ConsensusV0 used for testing with big block size (large MaxTxnBytesPerBlock).
ConsensusTestRapidRewardRecalculation is a version of ConsensusCurrentVersion that decreases the RewardRecalculationInterval greatly.
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.
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.
Hash IDs for specific object types, in lexicographic order to avoid dups.
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.
Hash IDs for specific object types, in lexicographic order to avoid dups.
KeyRegistrationTx indicates a transaction that registers participation keys.
Hash IDs for specific object types, in lexicographic order to avoid dups.
Tags, in lexicographic sort order of tag values to avoid duplicates.
Hash IDs for specific object types, in lexicographic order to avoid dups.
Tags, in lexicographic sort order of tag values to avoid duplicates.
Hash IDs for specific object types, in lexicographic order to avoid dups.
Hash IDs for specific object types, in lexicographic order to avoid dups.
Hash IDs for specific object types, in lexicographic order to avoid dups.
PaymentTx indicates a payment transaction.
Hash IDs for specific object types, in lexicographic order to avoid dups.
Tags, in lexicographic sort order of tag values to avoid duplicates.
Tags, in lexicographic sort order of tag values to avoid duplicates.
Hash IDs for specific object types, in lexicographic order to avoid dups.
Hash IDs for specific object types, in lexicographic order to avoid dups.
Tags, in lexicographic sort order of tag values to avoid duplicates.
Hash IDs for specific object types, in lexicographic order to avoid dups.
Hash IDs for specific object types, in lexicographic order to avoid dups.
Hash IDs for specific object types, in lexicographic order to avoid dups.
Hash IDs for specific object types, in lexicographic order to avoid dups.
Hash IDs for specific object types, in lexicographic order to avoid dups.
Tags, in lexicographic sort order of tag values to avoid duplicates.
Tags, in lexicographic sort order of tag values to avoid duplicates.
Tags, in lexicographic sort order of tag values to avoid duplicates.
Tags, in lexicographic sort order of tag values to avoid duplicates.
Tags, in lexicographic sort order of tag values to avoid duplicates.
Tags, in lexicographic sort order of tag values to avoid duplicates.
UnknownTx signals an error.
Hash IDs for specific object types, in lexicographic order to avoid dups.
Tags, in lexicographic sort order of tag values to avoid duplicates.
# Variables
CodecHandle is used to instantiate msgpack encoders and decoders with our settings (canonical, paranoid about decoding errors).
JSONHandle is used to instantiate JSON encoders and decoders with our settings (canonical, paranoid about decoding errors).
# Structs
CountingWriter is an implementation of io.Writer that tracks the number of bytes written (but discards the actual bytes).
# Interfaces
Decoder is our interface for a thing that can decode objects.
# Type aliases
ConsensusVersion is a string that identifies a version of the consensus protocol.
HashID is a domain separation prefix for an object type that might be hashed This ensures, for example, the hash of a transaction will never collide with the hash of a vote.
The NetworkID type is used for strings that identify distinct named networks.
Tag represents a message type identifier.
TxType is the type of the transaction written to the ledger.