package
2.8.0
Repository: https://github.com/algorand/go-algorand-sdk.git
Documentation: pkg.go.dev

# Functions

DecodeAddress turns a checksum address string into an Address object.
DigestFromString converts a string to a Digest.
EncodeAddress turns a byte slice into the human readable representation of the address.
MakeTimestampedGenesisBalances returns the information needed to bootstrap the ledger based on a given time.
OAdd adds 2 values with overflow detection.
OAdd16 adds 2 uint16 values with overflow detection.
OMul multiplies 2 values with overflow detection.
OSub subtracts b from a with overflow detection.
ToMicroAlgos converts amount in Algos to microAlgos.

# Constants

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.
AssetMaxNumberOfDecimals is the maximum value of the Decimals field.
AssetMetadataHashLen is the length of the AssetMetadataHash in bytes.
AssetNameMaxLen is the max length in bytes for the asset name.
AssetTransferTx transfers assets between accounts (optionally closing).
AssetUnitNameMaxLen is the max length in bytes for the asset unit name.
AssetURLMaxLen is the max length in bytes for the asset url.
ClearStateOC is similar to CloseOutOC, but may never fail.
CloseOutOC indicates that an application transaction will deallocate some LocalState for the application from the user's account.
DeleteAction indicates that the value for a particular key should be deleted.
DeleteApplicationOC indicates that an application transaction will delete the AppParams for the application from the creator's balance record.
FalconPublicKeySize pulled out of falcon.go.
HeartbeatTx demonstrates the account is alive.
KeyRegistrationTx is the TxType for key registration transactions.
KeyStoreRootSize is the size, in bytes, of keyreg verifier.
MaxEncodedTreeDepth is the maximum tree depth (root only depth 0) for a tree which is being encoded (either by msbpack or by the fixed length encoding).
types of hashes.
MaxNumLeavesOnEncodedTree is the maximum number of leaves allowed for a tree which is being encoded (either by msbpack or by the fixed length encoding).
MaxReveals is a bound on allocation and on numReveals to limit log computation.
MaxTxGroupSize is max number of transactions in a single group.
MerkleSignatureSchemeRootSize is the size of the root of the merkle tree.
NoOpOC indicates that an application transaction will simply call its ApprovalProgram.
NoteBid indicates a SignedBid message.
NoteDeposit indicates a SignedDeposit message.
NoteParams indicates a SignedParams message.
NoteSettlement indicates a SignedSettlement message.
NotParticipating indicates that the associated account neither participates in the consensus, nor receives rewards.
NumStateProofTypes is the max number of types of state proofs that we support.
Offline indicates that the associated account receives rewards but does not participate in the consensus.
Online indicates that the associated account participates in the consensus and receive rewards.
OptInOC indicates that an application transaction will allocate some LocalState for the application in the sender's account.
PaymentTx is the TxType for payment transactions.
SetBytesAction indicates that a TEAL byte slice should be stored at a key.
SetUintAction indicates that a Uint should be stored at a key.
types of hashes.
Sizes of each hash.
types of hashes.
Sizes of each hash.
StateProofBasic is our initial state proof setup.
StateProofTx records a state proof.
types of hashes.
Sumhash512DigestSize The size in bytes of the sumhash checksum.
Sizes of each hash.
TealBytesType represents the type of a byte slice in a TEAL program.
TealUintType represents the type of a uint in a TEAL program.
UpdateApplicationOC indicates that an application transaction will update the ApprovalProgram and ClearStateProgram for the application.

# Variables

GenesisHashID is the Genesis HashID defined in go-algorand/protocol/hash.go.
ZeroAddress is Address with all zero bytes.

# Structs

Account contains the data associated with a given address.
AccountApp is used as a map key.
AccountAsset is used as a map key.
AccountBaseData contains base account info like balance, status and total number of resources.
AccountData provides users of the Balances interface per-account data (like basics.AccountData) but without any maps containing AppParams, AppLocalState, AssetHolding, or AssetParams.
AccountDeltas stores ordered accounts and allows fast lookup by address One key design aspect here was to ensure that we're able to access the written deltas in a deterministic order, while maintaining O(1) lookup.
AccountTotals represents the totals of algos in the system grouped by different account status values.
AlgoCount represents a total of algos of a certain class of accounts (split up by their Status value).
AppBoxReference names a box by the app ID.
ApplicationCallTxnFields captures the transaction fields used for all interactions with applications.
ApplicationFields are the fields that are common to all application.
AppLocalState stores the LocalState associated with an application.
AppLocalStateDelta tracks a changed AppLocalState, and whether it was deleted.
No description provided by the author
AppParams stores the global information associated with an application.
AppParamsDelta tracks a changed AppParams, and whether it was deleted.
AppResourceRecord represents AppParams and AppLocalState in deltas.
AssetConfigTxnFields captures the fields used for asset allocation, re-configuration, and destruction.
AssetFreezeTxnFields captures the fields used for freezing asset slots.
AssetHolding describes an asset held by an account.
AssetHoldingDelta records a changed AssetHolding, and whether it was deleted.
AssetParams describes the parameters of an asset.
AssetParamsDelta tracks a changed AssetParams, and whether it was deleted.
AssetResourceRecord represents AssetParams and AssetHolding in deltas.
AssetTransferTxnFields captures the fields used for asset transfers.
BalanceRecord is similar to basics.BalanceRecord but with decoupled base and voting data.
Bid represents a bid by a user as part of an auction.
No description provided by the author
No description provided by the author
BoxReference names a box by the index in the foreign app array.
EvalDelta stores StateDeltas for an application's global key/value store, as well as StateDeltas for some number of accounts holding local state for that application.
FalconSignatureStruct represents a signature in the merkle signature scheme using falcon signatures as an underlying crypto scheme.
FalconVerifier implements the type Verifier interface for the falcon signature scheme.
A Genesis object defines an Algorand "universe".
GenesisAllocation object represents an allocation of algos to an address in the genesis block.
GenesisBalances contains the information needed to generate a new ledger.
HashFactory is responsible for generating new hashes accordingly to the type it stores.
Header captures the fields common to every transaction type.
A HeartbeatProof is functionally equivalent to a OneTimeSignature (see below), but it has been cleaned up for use as a transaction field in heartbeat transactions.
HeartbeatTxnFields captures the fields used for an account to prove it is online (really, it proves that an entity with the account's part keys is able to submit transactions, so it should be able to propose/vote.).
IncludedTransactions defines the transactions included in a block, their index and last valid round.
KeyregTxnFields captures the fields used for key registration transactions.
A KvValueDelta shows how the Data associated with a key in the kvstore has changed.
LedgerStateDelta describes the delta between a given round to the previous round If adding a new field not explicitly allocated by PopulateStateDelta, make sure to reset it in .ReuseStateDelta to avoid dirty memory errors.
LightBlockHeader represents a minimal block header.
LogicSig contains logic for validating a transaction.
Message represents the message that the state proofs are attesting to.
ModifiedCreatable defines the changes to a single single creatable state.
MultisigSig holds multiple Subsigs, as well as threshold and version info.
MultisigSubsig contains a single public key and, optionally, a signature.
NoteField is the struct that represents an auction message.
A Participant corresponds to an account whose AccountData.Status is Online, and for which the expected sigRound satisfies AccountData.VoteFirstValid <= sigRound <= AccountData.VoteLastValid.
No description provided by the author
PaymentTxnFields captures the fields used by payment transactions.
Proof is used to convince a verifier about membership of leaves: h0,h1...hn at indexes i0,i1...in on a tree.
Reveal is a single array position revealed as part of a state proof.
No description provided by the author
SignedBid represents a signed bid by a bidder.
SignedTxn wraps a transaction and a signature.
No description provided by the author
No description provided by the author
SingleLeafProof is used to convince a verifier about membership of a specific leaf h at index i on a tree.
StateProof represents a proof on Algorand's state.
No description provided by the author
StateProofTxnFields captures the fields used for stateproof transactions.
StateSchema sets maximums on the number of each type that may be stored.
StateSchemas is a thin wrapper around the LocalStateSchema and the GlobalStateSchema, since they are often needed together.
SuggestedParams wraps the transaction parameters common to all transactions, typically received from the SuggestedParams endpoint of algod.
TealValue contains type information and a value, representing a value in a TEAL program.
Transaction describes a transaction that can appear in a block.
TxGroup describes a group of transactions that must appear together in a specific order in a block.
A Txlease is a transaction (sender, lease) pair which uniquely specifies a transaction lease.
No description provided by the author
No description provided by the author
No description provided by the author
ValueDelta links a DeltaAction with a value to be set.
Verifier is used to verify a merklesignature.Signature produced by merklesignature.Secrets.
VotingData holds participation information.

# Type aliases

Address represents an Algorand address.
AppIndex is the unique integer index of an application that can be used to look up the creator of the application, whose balance record contains the AppParams.
AssetIndex is the unique integer index of an asset that can be used to look up the creator of the asset, whose balance record contains the AssetParams.
No description provided by the author
Commitment represents the root of the vector commitment tree built upon the MSS keys.
CreatableIndex represents either an AssetIndex or AppIndex, which come from the same namespace of indices as each other (both assets and apps are "creatables").
CreatableType is an enum representing whether or not a given creatable is an application or an asset.
DeltaAction is an enum of actions that may be performed when applying a delta to a TEAL key/value store.
Digest is a SHA512_256 hash.
FalconPublicKey is a wrapper for cfalcon.PublicKeySizey (used for packing).
GenericDigest is a digest that implements CustomSizeDigest, and can be used as hash output.
HashType represents different hash functions.
MasterDerivationKey is the secret key used to derive keys in wallets.
MerkleSignature represents a Falcon signature in a compressed-form msgp:allocbound MerkleSignature FalconMaxSignatureSize.
MerkleVerifier is a state proof.
MessageHash represents the message that a state proof will attest to.
MicroAlgos are the base unit of currency in Algorand.
NoteFieldType indicates a type of auction message encoded into a transaction's Note field.
OnCompletion is an enum representing some layer 1 side effect that an ApplicationCall transaction will have if it is included in a block.
A OneTimeSignatureVerifier is used to identify the holder of OneTimeSignatureSecrets and prove the authenticity of OneTimeSignatures against some OneTimeSignatureIdentifier.
No description provided by the author
Round represents a round of the Algorand consensus protocol.
A Seed contains cryptographic entropy which can be used to determine a committee.
Signature is an ed25519 signature.
StateDelta is a map from key/value store keys to ValueDeltas, indicating what should happen for that key msgp:allocbound StateDelta config.MaxStateDeltaKeys.
StateProofType identifies a particular configuration of state proofs.
Status is the delegation status of an account's MicroAlgos.
TealKeyValue represents a key/value store for use in an application's LocalState or GlobalState msgp:allocbound TealKeyValue EncodedMaxKeyValueEntries.
TealType is an enum of the types in a TEAL program: Bytes and Uint.
Txid is a hash used to uniquely identify individual transactions.
TxType identifies the type of the transaction.
VotePK is the participation public key used in key registration transactions.
VRFPK is the VRF public key used in key registration transactions.
VRFVerifier is a deprecated name for VrfPubkey.