package
2.10.1-stable+incompatible
Repository: https://github.com/algorand/go-algorand.git
Documentation: pkg.go.dev
# Functions
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.
DecodeMsgp attempts to decode a msgpack-encoded byte buffer into an object instance pointed to by objptr, requiring that we pre- generated the code for doing so using msgp.
DecodeReflect attempts to decode a msgpack-encoded byte buffer into an object instance pointed to by objptr, using reflection.
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.
EncodeJSONStrict returns a JSON-encoded byte buffer for a given object It is the same EncodeJSON but encodes map's int keys as strings.
EncodeMsgp returns a msgpack-encoded byte buffer, requiring that we pre-generated the code for doing so using msgp.
EncodeReflect returns a msgpack-encoded byte buffer for a given object, using reflection.
EncodeStream is like Encode but writes to an io.Writer instead.
EncodingTest tests that our two msgpack codecs (msgp and go-codec) agree on encodings and decodings of random values of the type of template, returning an error if there is a mismatch.
GetEncodingBuf returns a byte slice that can be used for encoding a temporary message.
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].
NewJSONEncoder returns an encoder object writing bytes into [w].
PutEncodingBuf places a byte slice into the pool of temporary buffers for encoding.
RandomizeObject returns a random object of the same type as template.
RunEncodingTest runs several iterations of encoding/decoding consistency testing of object type specified by template.
# Constants
Hash IDs for specific object types, in lexicographic order to avoid dups.
Tags, in lexicographic sort order of tag values to avoid duplicates.
ApplicationCallTx allows creating, deleting, and interacting with an application.
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.
CompactCertBasic is our initial compact cert setup, using Ed25519 ephemeral-key signatures and SHA512/256 hashes.
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.
CompactCertTx records a compact certificate.
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 teal 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.
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.
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.
Tags, in lexicographic sort order of tag values to avoid duplicates.
NumCompactCertTypes is the max number of types of compact certs that we support.
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.
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.
Replaced by UniEnsBlockReqTag.
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.
UniEnsBlockResTag Tag = "US" was used for wsfetcherserviceUniCatchupResTag Tag = "UT" was used for wsfetcherservice.
# 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).
JSONStrictHandle is the same as JSONHandle but with MapKeyAsString=true for correct maps[int]interface{} encoding.
# Interfaces
Decoder is our interface for a thing that can decode objects.
# Type aliases
CompactCertType identifies a particular configuration of compact certs.
ConsensusVersion is a string that identifies a version of the consensus protocol.
Error is used to indicate that an unsupported protocol has been detected.
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.
SortCompactCertType implements sorting by CompactCertType keys for canonical encoding of maps in msgpack format.msgp:ignore SortCompactCertTypemsgp:sort CompactCertType SortCompactCertType.
Tag represents a message type identifier.
TxType is the type of the transaction written to the ledger.