package
4.0.2-stable+incompatible
Repository: https://github.com/algorand/go-algorand.git
Documentation: pkg.go.dev
# Functions
MaxSize returns a maximum valid message size for this message type.
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.
MaxSize returns a maximum valid message size for this message type.
GetEncodingBuf returns a byte slice that can be used for encoding a temporary message.
MaxSize returns a maximum valid message size for this message type.
MaxSize returns a maximum valid message size for this message type.
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].
NewMsgpDecoderBytes returns a decoder object reading bytes from [b].
PutEncodingBuf places a byte slice into the pool of temporary buffers for encoding.
RandomizeObject returns a random object of the same type as template.
RandomizeObjectField returns a random object of the same type as template where a single field was modified.
RunEncodingTest runs several iterations of encoding/decoding consistency testing of object type specified by template.
MaxSize returns a maximum valid message size for this message type.
MaxSize returns a maximum valid message size for this message type.
MaxSize returns a maximum valid message size for this message type.
# Constants
Hash IDs for specific object types, in lexicographic order.
Tags, in lexicographic sort order of tag values to avoid duplicates.
AgreementVoteTagMaxSize is the maximum size of an AgreementVoteTag message.
Hash IDs for specific object types, in lexicographic order.
ApplicationCallTx allows creating, deleting, and interacting with an application.
ARCReserved is used to reserve prefixes starting with `arc` to ARCs-related hashes https://github.com/algorandfoundation/ARCs The prefix for ARC-XXXX should start with: "arcXXXX" (where "XXXX" is the 0-padded number of the ARC) For example ARC-0003 can use any prefix starting with "arc0003".
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.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
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.
Hash IDs for specific object types, in lexicographic order.
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.
HeartbeatTx demonstrates the account is alive.
KeyRegistrationTx indicates a transaction that registers participation keys.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
Tags, in lexicographic sort order of tag values to avoid duplicates.
MsgDigestSkipTagMaxSize is the maximum size of a MsgDigestSkipTag message.
Tags, in lexicographic sort order of tag values to avoid duplicates.
MsgOfInterestTagMaxSize is the maximum size of a MsgOfInterestTag message.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
Tags, in lexicographic sort order of tag values to avoid duplicates.
NetIDVerificationTagMaxSize is the maximum size of a NetIDVerificationTag message.
Hash IDs for specific object types, in lexicographic order.
Tags, in lexicographic sort order of tag values to avoid duplicates.
NetPrioResponseTagMaxSize is the maximum size of a NetPrioResponseTag message.
NumStateProofTypes is the max number of types of state proofs that we support.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
PaymentTx indicates a payment transaction.
Hash IDs for specific object types, in lexicographic order.
was removed in 3.2.1.
was removed in 3.2.1.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
Tags, in lexicographic sort order of tag values to avoid duplicates.
ProposalPayloadTagMaxSize is the maximum size of a ProposalPayloadTag message This value is dominated by the MaxTxnBytesPerBlock.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
StateProofBasic is our initial state proof setup.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
Tags, in lexicographic sort order of tag values to avoid duplicates.
StateProofSigTagMaxSize is the maximum size of a StateProofSigTag message.
StateProofTx records a state proof.
Hash IDs for specific object types, in lexicographic order.
TagLength specifies the length of protocol tags.
Hash IDs for specific object types, in lexicographic order.
Tags, in lexicographic sort order of tag values to avoid duplicates.
TopicMsgRespTagMaxSize is the maximum size of a TopicMsgRespTag message This is a response to a topic message request (either UE or MI) and the largest possible response is the largest possible block.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
Hash IDs for specific object types, in lexicographic order.
Tags, in lexicographic sort order of tag values to avoid duplicates.
TxnTagMaxSize is the maximum size of a TxnTag message.
UniCatchupReqTag Tag = "UC" was replaced by UniEnsBlockReqTag.
UniEnsBlockReqTagMaxSize is the maximum size of a UniEnsBlockReqTag message.
UnknownTx signals an error.
Hash IDs for specific object types, in lexicographic order.
UniEnsBlockResTag Tag = "US" was used for wsfetcherserviceUniCatchupResTag Tag = "UT" was used for wsfetcherservice.
VoteBundleTagMaxSize is the maximum size of a VoteBundleTag message Matches current network.MaxMessageLength.
# Variables
CodecHandle is used to instantiate msgpack encoders and decoders with our settings (canonical, paranoid about decoding errors).
DeprecatedTagList contains tags that are no longer used, but may still show up in MsgOfInterest messages.
DeprecatedTagMap is a map of all deprecated protocol tags.
ErrInvalidObject is used to state that an object decoding has failed because it's invalid.
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.
TagList is a list of all currently used protocol tags.
TagMap is a map of all currently used protocol tags.
# Structs
EncodingBuf is a wrapper for a byte slice that can be used for encoding.
MsgpDecoderBytes is a []byte decoder into msgp-encoded objects.
# 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.
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.
SortStateProofType implements sorting by StateProofType keys for canonical encoding of maps in msgpack format.
StateProofType identifies a particular configuration of state proofs.
Tag represents a message type identifier.
TxType is the type of the transaction written to the ledger.