models

package
v2.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 8, 2024 License: MIT Imports: 1 Imported by: 17

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {
	// Address the account public key
	Address string `json:"address"`

	// Amount total number of MicroAlgos in the account
	Amount uint64 `json:"amount"`

	// AmountWithoutPendingRewards specifies the amount of MicroAlgos in the account,
	// without the pending rewards.
	AmountWithoutPendingRewards uint64 `json:"amount-without-pending-rewards"`

	// AppsLocalState application local data stored in this account.
	// Note the raw object uses `map[int] -> AppLocalState` for this type.
	AppsLocalState []ApplicationLocalState `json:"apps-local-state,omitempty"`

	// AppsTotalExtraPages the sum of all extra application program pages for this
	// account.
	AppsTotalExtraPages uint64 `json:"apps-total-extra-pages,omitempty"`

	// AppsTotalSchema the sum of all of the local schemas and global schemas in this
	// account.
	// Note: the raw account uses `StateSchema` for this type.
	AppsTotalSchema ApplicationStateSchema `json:"apps-total-schema,omitempty"`

	// Assets assets held by this account.
	// Note the raw object uses `map[int] -> AssetHolding` for this type.
	Assets []AssetHolding `json:"assets,omitempty"`

	// AuthAddr the address against which signing should be checked. If empty, the
	// address of the current account is used. This field can be updated in any
	// transaction by setting the RekeyTo field.
	AuthAddr string `json:"auth-addr,omitempty"`

	// ClosedAtRound round during which this account was most recently closed.
	ClosedAtRound uint64 `json:"closed-at-round,omitempty"`

	// CreatedApps parameters of applications created by this account including app
	// global data.
	// Note: the raw account uses `map[int] -> AppParams` for this type.
	CreatedApps []Application `json:"created-apps,omitempty"`

	// CreatedAssets parameters of assets created by this account.
	// Note: the raw account uses `map[int] -> Asset` for this type.
	CreatedAssets []Asset `json:"created-assets,omitempty"`

	// CreatedAtRound round during which this account first appeared in a transaction.
	CreatedAtRound uint64 `json:"created-at-round,omitempty"`

	// Deleted whether or not this account is currently closed.
	Deleted bool `json:"deleted,omitempty"`

	// IncentiveEligible can the account receive block incentives if its balance is in
	// range at proposal time.
	IncentiveEligible bool `json:"incentive-eligible,omitempty"`

	// LastHeartbeat the round in which this account last went online, or explicitly
	// renewed their online status.
	LastHeartbeat uint64 `json:"last-heartbeat,omitempty"`

	// LastProposed the round in which this account last proposed the block.
	LastProposed uint64 `json:"last-proposed,omitempty"`

	// Participation accountParticipation describes the parameters used by this account
	// in consensus protocol.
	Participation AccountParticipation `json:"participation,omitempty"`

	// PendingRewards amount of MicroAlgos of pending rewards in this account.
	PendingRewards uint64 `json:"pending-rewards"`

	// RewardBase used as part of the rewards computation. Only applicable to accounts
	// which are participating.
	RewardBase uint64 `json:"reward-base,omitempty"`

	// Rewards total rewards of MicroAlgos the account has received, including pending
	// rewards.
	Rewards uint64 `json:"rewards"`

	// Round the round for which this information is relevant.
	Round uint64 `json:"round"`

	// SigType the type of signature used by this account, must be one of:
	// * sig
	// * msig
	// * lsig
	// * or null if unknown
	SigType string `json:"sig-type,omitempty"`

	// Status voting status of the account's MicroAlgos
	// * Offline - indicates that the associated account is delegated.
	// * Online - indicates that the associated account used as part of the delegation
	// pool.
	// * NotParticipating - indicates that the associated account is neither a
	// delegator nor a delegate.
	Status string `json:"status"`

	// TotalAppsOptedIn the count of all applications that have been opted in,
	// equivalent to the count of application local data (AppLocalState objects) stored
	// in this account.
	TotalAppsOptedIn uint64 `json:"total-apps-opted-in"`

	// TotalAssetsOptedIn the count of all assets that have been opted in, equivalent
	// to the count of AssetHolding objects held by this account.
	TotalAssetsOptedIn uint64 `json:"total-assets-opted-in"`

	// TotalBoxBytes for app-accounts only. The total number of bytes allocated for the
	// keys and values of boxes which belong to the associated application.
	TotalBoxBytes uint64 `json:"total-box-bytes"`

	// TotalBoxes for app-accounts only. The total number of boxes which belong to the
	// associated application.
	TotalBoxes uint64 `json:"total-boxes"`

	// TotalCreatedApps the count of all apps (AppParams objects) created by this
	// account.
	TotalCreatedApps uint64 `json:"total-created-apps"`

	// TotalCreatedAssets the count of all assets (AssetParams objects) created by this
	// account.
	TotalCreatedAssets uint64 `json:"total-created-assets"`
}

Account account information at a given round. Definition: data/basics/userBalance.go : AccountData

type AccountApplicationResponse

type AccountApplicationResponse struct {
	// AppLocalState (appl) the application local data stored in this account.
	// The raw account uses `AppLocalState` for this type.
	AppLocalState ApplicationLocalState `json:"app-local-state,omitempty"`

	// CreatedApp (appp) parameters of the application created by this account
	// including app global data.
	// The raw account uses `AppParams` for this type.
	CreatedApp ApplicationParams `json:"created-app,omitempty"`

	// Round the round for which this information is relevant.
	Round uint64 `json:"round"`
}

AccountApplicationResponse accountApplicationResponse describes the account's application local state and global state (AppLocalState and AppParams, if either exists) for a specific application ID. Global state will only be returned if the provided address is the application's creator.

type AccountAssetResponse

type AccountAssetResponse struct {
	// AssetHolding (asset) Details about the asset held by this account.
	// The raw account uses `AssetHolding` for this type.
	AssetHolding AssetHolding `json:"asset-holding,omitempty"`

	// CreatedAsset (apar) parameters of the asset created by this account.
	// The raw account uses `AssetParams` for this type.
	CreatedAsset AssetParams `json:"created-asset,omitempty"`

	// Round the round for which this information is relevant.
	Round uint64 `json:"round"`
}

AccountAssetResponse accountAssetResponse describes the account's asset holding and asset parameters (if either exist) for a specific asset ID. Asset parameters will only be returned if the provided address is the asset's creator.

type AccountErrorResponse

type AccountErrorResponse struct {
	// Data
	Data string `json:"data,omitempty"`

	// MaxResults
	MaxResults uint64 `json:"max-results,omitempty"`

	// Message
	Message string `json:"message"`

	// TotalAppsLocalState
	TotalAppsLocalState uint64 `json:"total-apps-local-state,omitempty"`

	// TotalAssets
	TotalAssets uint64 `json:"total-assets,omitempty"`

	// TotalCreatedApps
	TotalCreatedApps uint64 `json:"total-created-apps,omitempty"`

	// TotalCreatedAssets
	TotalCreatedAssets uint64 `json:"total-created-assets,omitempty"`
}

AccountErrorResponse an error response for the AccountInformation endpoint, with optional information about limits that were exceeded.

type AccountParticipation

type AccountParticipation struct {
	// SelectionParticipationKey selection public key (if any) currently registered for
	// this round.
	SelectionParticipationKey []byte `json:"selection-participation-key"`

	// StateProofKey root of the state proof key (if any)
	StateProofKey []byte `json:"state-proof-key,omitempty"`

	// VoteFirstValid first round for which this participation is valid.
	VoteFirstValid uint64 `json:"vote-first-valid"`

	// VoteKeyDilution number of subkeys in each batch of participation keys.
	VoteKeyDilution uint64 `json:"vote-key-dilution"`

	// VoteLastValid last round for which this participation is valid.
	VoteLastValid uint64 `json:"vote-last-valid"`

	// VoteParticipationKey root participation public key (if any) currently registered
	// for this round.
	VoteParticipationKey []byte `json:"vote-participation-key"`
}

AccountParticipation accountParticipation describes the parameters used by this account in consensus protocol.

type AccountResponse

type AccountResponse struct {
	// Account account information at a given round.
	// Definition:
	// data/basics/userBalance.go : AccountData
	Account Account `json:"account"`

	// CurrentRound round at which the results were computed.
	CurrentRound uint64 `json:"current-round"`
}

AccountResponse

type AccountStateDelta

type AccountStateDelta struct {
	// Address
	Address string `json:"address"`

	// Delta application state delta.
	Delta []EvalDeltaKeyValue `json:"delta"`
}

AccountStateDelta application state delta.

type AccountsResponse

type AccountsResponse struct {
	// Accounts
	Accounts []Account `json:"accounts"`

	// CurrentRound round at which the results were computed.
	CurrentRound uint64 `json:"current-round"`

	// NextToken used for pagination, when making another request provide this token
	// with the next parameter.
	NextToken string `json:"next-token,omitempty"`
}

AccountsResponse

type AppCallLogs added in v2.5.0

type AppCallLogs struct {
	// ApplicationIndex the application from which the logs were generated
	ApplicationIndex uint64 `json:"application-index"`

	// Logs an array of logs
	Logs [][]byte `json:"logs"`

	// Txid the transaction ID of the outer app call that lead to these logs
	Txid string `json:"txId"`
}

AppCallLogs the logged messages from an app call along with the app ID and outer transaction ID. Logs appear in the same order that they were emitted.

type Application

type Application struct {
	// CreatedAtRound round when this application was created.
	CreatedAtRound uint64 `json:"created-at-round,omitempty"`

	// Deleted whether or not this application is currently deleted.
	Deleted bool `json:"deleted,omitempty"`

	// DeletedAtRound round when this application was deleted.
	DeletedAtRound uint64 `json:"deleted-at-round,omitempty"`

	// Id application index.
	Id uint64 `json:"id"`

	// Params application parameters.
	Params ApplicationParams `json:"params"`
}

Application application index and its parameters

type ApplicationInitialStates added in v2.3.0

type ApplicationInitialStates struct {
	// AppBoxes an application's global/local/box state.
	AppBoxes ApplicationKVStorage `json:"app-boxes,omitempty"`

	// AppGlobals an application's global/local/box state.
	AppGlobals ApplicationKVStorage `json:"app-globals,omitempty"`

	// AppLocals an application's initial local states tied to different accounts.
	AppLocals []ApplicationKVStorage `json:"app-locals,omitempty"`

	// Id application index.
	Id uint64 `json:"id"`
}

ApplicationInitialStates an application's initial global/local/box states that were accessed during simulation.

type ApplicationKVStorage added in v2.3.0

type ApplicationKVStorage struct {
	// Account the address of the account associated with the local state.
	Account string `json:"account,omitempty"`

	// Kvs key-Value pairs representing application states.
	Kvs []AvmKeyValue `json:"kvs"`
}

ApplicationKVStorage an application's global/local/box state.

type ApplicationLocalReference added in v2.3.0

type ApplicationLocalReference struct {
	// Account address of the account with the local state.
	Account string `json:"account"`

	// App application ID of the local state application.
	App uint64 `json:"app"`
}

ApplicationLocalReference references an account's local state for an application.

type ApplicationLocalState

type ApplicationLocalState struct {
	// ClosedOutAtRound round when account closed out of the application.
	ClosedOutAtRound uint64 `json:"closed-out-at-round,omitempty"`

	// Deleted whether or not the application local state is currently deleted from its
	// account.
	Deleted bool `json:"deleted,omitempty"`

	// Id the application which this local state is for.
	Id uint64 `json:"id"`

	// KeyValue storage.
	KeyValue []TealKeyValue `json:"key-value,omitempty"`

	// OptedInAtRound round when the account opted into the application.
	OptedInAtRound uint64 `json:"opted-in-at-round,omitempty"`

	// Schema schema.
	Schema ApplicationStateSchema `json:"schema"`
}

ApplicationLocalState stores local state associated with an application.

type ApplicationLocalStatesResponse

type ApplicationLocalStatesResponse struct {
	// AppsLocalStates
	AppsLocalStates []ApplicationLocalState `json:"apps-local-states"`

	// CurrentRound round at which the results were computed.
	CurrentRound uint64 `json:"current-round"`

	// NextToken used for pagination, when making another request provide this token
	// with the next parameter.
	NextToken string `json:"next-token,omitempty"`
}

ApplicationLocalStatesResponse

type ApplicationLogData

type ApplicationLogData struct {
	// Logs logs for the application being executed by the transaction.
	Logs [][]byte `json:"logs"`

	// Txid transaction ID
	Txid string `json:"txid"`
}

ApplicationLogData stores the global information associated with an application.

type ApplicationLogsResponse

type ApplicationLogsResponse struct {
	// ApplicationId (appidx) application index.
	ApplicationId uint64 `json:"application-id"`

	// CurrentRound round at which the results were computed.
	CurrentRound uint64 `json:"current-round"`

	// LogData
	LogData []ApplicationLogData `json:"log-data,omitempty"`

	// NextToken used for pagination, when making another request provide this token
	// with the next parameter.
	NextToken string `json:"next-token,omitempty"`
}

ApplicationLogsResponse

type ApplicationParams

type ApplicationParams struct {
	// ApprovalProgram approval program.
	ApprovalProgram []byte `json:"approval-program"`

	// ClearStateProgram clear state program.
	ClearStateProgram []byte `json:"clear-state-program"`

	// Creator the address that created this application. This is the address where the
	// parameters and global state for this application can be found.
	Creator string `json:"creator,omitempty"`

	// ExtraProgramPages the number of extra program pages available to this app.
	ExtraProgramPages uint64 `json:"extra-program-pages,omitempty"`

	// GlobalState global state
	GlobalState []TealKeyValue `json:"global-state,omitempty"`

	// GlobalStateSchema global schema
	GlobalStateSchema ApplicationStateSchema `json:"global-state-schema,omitempty"`

	// LocalStateSchema local schema
	LocalStateSchema ApplicationStateSchema `json:"local-state-schema,omitempty"`
}

ApplicationParams stores the global information associated with an application.

type ApplicationResponse

type ApplicationResponse struct {
	// Application application index and its parameters
	Application Application `json:"application,omitempty"`

	// CurrentRound round at which the results were computed.
	CurrentRound uint64 `json:"current-round"`
}

ApplicationResponse

type ApplicationStateOperation added in v2.3.0

type ApplicationStateOperation struct {
	// Account for local state changes, the address of the account associated with the
	// local state.
	Account string `json:"account,omitempty"`

	// AppStateType type of application state. Value `g` is **global state**, `l` is
	// **local state**, `b` is **boxes**.
	AppStateType string `json:"app-state-type"`

	// Key the key (name) of the global/local/box state.
	Key []byte `json:"key"`

	// NewValue represents an AVM value.
	NewValue AvmValue `json:"new-value,omitempty"`

	// Operation operation type. Value `w` is **write**, `d` is **delete**.
	Operation string `json:"operation"`
}

ApplicationStateOperation an operation against an application's global/local/box state.

type ApplicationStateSchema

type ApplicationStateSchema struct {
	// NumByteSlice number of byte slices.
	NumByteSlice uint64 `json:"num-byte-slice"`

	// NumUint number of uints.
	NumUint uint64 `json:"num-uint"`
}

ApplicationStateSchema specifies maximums on the number of each type that may be stored.

type ApplicationsResponse

type ApplicationsResponse struct {
	// Applications
	Applications []Application `json:"applications"`

	// CurrentRound round at which the results were computed.
	CurrentRound uint64 `json:"current-round"`

	// NextToken used for pagination, when making another request provide this token
	// with the next parameter.
	NextToken string `json:"next-token,omitempty"`
}

ApplicationsResponse

type Asset

type Asset struct {
	// CreatedAtRound round during which this asset was created.
	CreatedAtRound uint64 `json:"created-at-round,omitempty"`

	// Deleted whether or not this asset is currently deleted.
	Deleted bool `json:"deleted,omitempty"`

	// DestroyedAtRound round during which this asset was destroyed.
	DestroyedAtRound uint64 `json:"destroyed-at-round,omitempty"`

	// Index unique asset identifier
	Index uint64 `json:"index"`

	// Params assetParams specifies the parameters for an asset.
	// (apar) when part of an AssetConfig transaction.
	// Definition:
	// data/transactions/asset.go : AssetParams
	Params AssetParams `json:"params"`
}

Asset specifies both the unique identifier and the parameters for an asset

type AssetBalancesResponse

type AssetBalancesResponse struct {
	// Balances
	Balances []MiniAssetHolding `json:"balances"`

	// CurrentRound round at which the results were computed.
	CurrentRound uint64 `json:"current-round"`

	// NextToken used for pagination, when making another request provide this token
	// with the next parameter.
	NextToken string `json:"next-token,omitempty"`
}

AssetBalancesResponse

type AssetHolding

type AssetHolding struct {
	// Amount number of units held.
	Amount uint64 `json:"amount"`

	// AssetId asset ID of the holding.
	AssetId uint64 `json:"asset-id"`

	// Deleted whether or not the asset holding is currently deleted from its account.
	Deleted bool `json:"deleted,omitempty"`

	// IsFrozen whether or not the holding is frozen.
	IsFrozen bool `json:"is-frozen"`

	// OptedInAtRound round during which the account opted into this asset holding.
	OptedInAtRound uint64 `json:"opted-in-at-round,omitempty"`

	// OptedOutAtRound round during which the account opted out of this asset holding.
	OptedOutAtRound uint64 `json:"opted-out-at-round,omitempty"`
}

AssetHolding describes an asset held by an account. Definition: data/basics/userBalance.go : AssetHolding

type AssetHoldingReference added in v2.3.0

type AssetHoldingReference struct {
	// Account address of the account holding the asset.
	Account string `json:"account"`

	// Asset asset ID of the holding.
	Asset uint64 `json:"asset"`
}

AssetHoldingReference references an asset held by an account.

type AssetHoldingsResponse

type AssetHoldingsResponse struct {
	// Assets
	Assets []AssetHolding `json:"assets"`

	// CurrentRound round at which the results were computed.
	CurrentRound uint64 `json:"current-round"`

	// NextToken used for pagination, when making another request provide this token
	// with the next parameter.
	NextToken string `json:"next-token,omitempty"`
}

AssetHoldingsResponse

type AssetParams

type AssetParams struct {
	// Clawback address of account used to clawback holdings of this asset. If empty,
	// clawback is not permitted.
	Clawback string `json:"clawback,omitempty"`

	// Creator the address that created this asset. This is the address where the
	// parameters for this asset can be found, and also the address where unwanted
	// asset units can be sent in the worst case.
	Creator string `json:"creator"`

	// Decimals the number of digits to use after the decimal point when displaying
	// this asset. If 0, the asset is not divisible. If 1, the base unit of the asset
	// is in tenths. If 2, the base unit of the asset is in hundredths, and so on. This
	// value must be between 0 and 19 (inclusive).
	Decimals uint64 `json:"decimals"`

	// DefaultFrozen whether holdings of this asset are frozen by default.
	DefaultFrozen bool `json:"default-frozen,omitempty"`

	// Freeze address of account used to freeze holdings of this asset. If empty,
	// freezing is not permitted.
	Freeze string `json:"freeze,omitempty"`

	// Manager address of account used to manage the keys of this asset and to destroy
	// it.
	Manager string `json:"manager,omitempty"`

	// MetadataHash a commitment to some unspecified asset metadata. The format of this
	// metadata is up to the application.
	MetadataHash []byte `json:"metadata-hash,omitempty"`

	// Name name of this asset, as supplied by the creator. Included only when the
	// asset name is composed of printable utf-8 characters.
	Name string `json:"name,omitempty"`

	// NameB64 base64 encoded name of this asset, as supplied by the creator.
	NameB64 []byte `json:"name-b64,omitempty"`

	// Reserve address of account holding reserve (non-minted) units of this asset.
	Reserve string `json:"reserve,omitempty"`

	// Total the total number of units of this asset.
	Total uint64 `json:"total"`

	// UnitName name of a unit of this asset, as supplied by the creator. Included only
	// when the name of a unit of this asset is composed of printable utf-8 characters.
	UnitName string `json:"unit-name,omitempty"`

	// UnitNameB64 base64 encoded name of a unit of this asset, as supplied by the
	// creator.
	UnitNameB64 []byte `json:"unit-name-b64,omitempty"`

	// Url uRL where more information about the asset can be retrieved. Included only
	// when the URL is composed of printable utf-8 characters.
	Url string `json:"url,omitempty"`

	// UrlB64 base64 encoded URL where more information about the asset can be
	// retrieved.
	UrlB64 []byte `json:"url-b64,omitempty"`
}

AssetParams assetParams specifies the parameters for an asset. (apar) when part of an AssetConfig transaction. Definition: data/transactions/asset.go : AssetParams

type AssetResponse

type AssetResponse struct {
	// Asset specifies both the unique identifier and the parameters for an asset
	Asset Asset `json:"asset"`

	// CurrentRound round at which the results were computed.
	CurrentRound uint64 `json:"current-round"`
}

AssetResponse

type AssetsResponse

type AssetsResponse struct {
	// Assets
	Assets []Asset `json:"assets"`

	// CurrentRound round at which the results were computed.
	CurrentRound uint64 `json:"current-round"`

	// NextToken used for pagination, when making another request provide this token
	// with the next parameter.
	NextToken string `json:"next-token,omitempty"`
}

AssetsResponse

type AvmKeyValue added in v2.3.0

type AvmKeyValue struct {
	// Key
	Key []byte `json:"key"`

	// Value represents an AVM value.
	Value AvmValue `json:"value"`
}

AvmKeyValue represents an AVM key-value pair in an application store.

type AvmValue added in v2.3.0

type AvmValue struct {
	// Bytes bytes value.
	Bytes []byte `json:"bytes,omitempty"`

	// Type value type. Value `1` refers to **bytes**, value `2` refers to **uint64**
	Type uint64 `json:"type"`

	// Uint uint value.
	Uint uint64 `json:"uint,omitempty"`
}

AvmValue represents an AVM value.

type Block

type Block struct {
	// Bonus the potential bonus payout for this block.
	Bonus uint64 `json:"bonus,omitempty"`

	// FeesCollected the sum of all fees paid by transactions in this block.
	FeesCollected uint64 `json:"fees-collected,omitempty"`

	// GenesisHash (gh) hash to which this block belongs.
	GenesisHash []byte `json:"genesis-hash"`

	// GenesisId (gen) ID to which this block belongs.
	GenesisId string `json:"genesis-id"`

	// ParticipationUpdates participation account data that needs to be checked/acted
	// on by the network.
	ParticipationUpdates ParticipationUpdates `json:"participation-updates,omitempty"`

	// PreviousBlockHash (prev) Previous block hash.
	PreviousBlockHash []byte `json:"previous-block-hash"`

	// Proposer the proposer of this block.
	Proposer string `json:"proposer,omitempty"`

	// ProposerPayout the actual amount transferred to the proposer from the fee sink.
	ProposerPayout uint64 `json:"proposer-payout,omitempty"`

	// Rewards fields relating to rewards,
	Rewards BlockRewards `json:"rewards,omitempty"`

	// Round (rnd) Current round on which this block was appended to the chain.
	Round uint64 `json:"round"`

	// Seed (seed) Sortition seed.
	Seed []byte `json:"seed"`

	// StateProofTracking tracks the status of state proofs.
	StateProofTracking []StateProofTracking `json:"state-proof-tracking,omitempty"`

	// Timestamp (ts) Block creation timestamp in seconds since eposh
	Timestamp uint64 `json:"timestamp"`

	// Transactions (txns) list of transactions corresponding to a given round.
	Transactions []Transaction `json:"transactions,omitempty"`

	// TransactionsRoot (txn) TransactionsRoot authenticates the set of transactions
	// appearing in the block. More specifically, it's the root of a merkle tree whose
	// leaves are the block's Txids, in lexicographic order. For the empty block, it's
	// 0. Note that the TxnRoot does not authenticate the signatures on the
	// transactions, only the transactions themselves. Two blocks with the same
	// transactions but in a different order and with different signatures will have
	// the same TxnRoot.
	TransactionsRoot []byte `json:"transactions-root"`

	// TransactionsRootSha256 (txn256) TransactionsRootSHA256 is an auxiliary
	// TransactionRoot, built using a vector commitment instead of a merkle tree, and
	// SHA256 hash function instead of the default SHA512_256. This commitment can be
	// used on environments where only the SHA256 function exists.
	TransactionsRootSha256 []byte `json:"transactions-root-sha256"`

	// TxnCounter (tc) TxnCounter counts the number of transactions committed in the
	// ledger, from the time at which support for this feature was introduced.
	// Specifically, TxnCounter is the number of the next transaction that will be
	// committed after this block. It is 0 when no transactions have ever been
	// committed (since TxnCounter started being supported).
	TxnCounter uint64 `json:"txn-counter,omitempty"`

	// UpgradeState fields relating to a protocol upgrade.
	UpgradeState BlockUpgradeState `json:"upgrade-state,omitempty"`

	// UpgradeVote fields relating to voting for a protocol upgrade.
	UpgradeVote BlockUpgradeVote `json:"upgrade-vote,omitempty"`
}

Block block information. Definition: data/bookkeeping/block.go : Block

type BlockHashResponse

type BlockHashResponse struct {
	// Blockhash block header hash.
	Blockhash string `json:"blockHash"`
}

BlockHashResponse hash of a block header.

type BlockLogsResponse added in v2.5.0

type BlockLogsResponse struct {
	// Logs
	Logs []AppCallLogs `json:"logs"`
}

BlockLogsResponse all logs emitted in the given round. Each app call, whether top-level or inner, that contains logs results in a separate AppCallLogs object. Therefore there may be multiple AppCallLogs with the same application ID and outer transaction ID in the event of multiple inner app calls to the same app. App calls with no logs are not included in the response. AppCallLogs are returned in the same order that their corresponding app call appeared in the block (pre-order traversal of inner app calls)

type BlockResponse

type BlockResponse struct {
	// Block block header data.
	Block types.Block `json:"block"`

	// Cert optional certificate object. This is only included when the format is set
	// to message pack.
	Cert *map[string]interface{} `json:"cert,omitempty"`
}

BlockResponse encoded block object.

type BlockRewards

type BlockRewards struct {
	// FeeSink (fees) accepts transaction fees, it can only spend to the incentive
	// pool.
	FeeSink string `json:"fee-sink"`

	// RewardsCalculationRound (rwcalr) number of leftover MicroAlgos after the
	// distribution of rewards-rate MicroAlgos for every reward unit in the next round.
	RewardsCalculationRound uint64 `json:"rewards-calculation-round"`

	// RewardsLevel (earn) How many rewards, in MicroAlgos, have been distributed to
	// each RewardUnit of MicroAlgos since genesis.
	RewardsLevel uint64 `json:"rewards-level"`

	// RewardsPool (rwd) accepts periodic injections from the fee-sink and continually
	// redistributes them as rewards.
	RewardsPool string `json:"rewards-pool"`

	// RewardsRate (rate) Number of new MicroAlgos added to the participation stake
	// from rewards at the next round.
	RewardsRate uint64 `json:"rewards-rate"`

	// RewardsResidue (frac) Number of leftover MicroAlgos after the distribution of
	// RewardsRate/rewardUnits MicroAlgos for every reward unit in the next round.
	RewardsResidue uint64 `json:"rewards-residue"`
}

BlockRewards fields relating to rewards,

type BlockTxidsResponse added in v2.3.0

type BlockTxidsResponse struct {
	// Blocktxids block transaction IDs.
	Blocktxids []string `json:"blockTxids"`
}

BlockTxidsResponse top level transaction IDs in a block.

type BlockUpgradeState

type BlockUpgradeState struct {
	// CurrentProtocol (proto) The current protocol version.
	CurrentProtocol string `json:"current-protocol"`

	// NextProtocol (nextproto) The next proposed protocol version.
	NextProtocol string `json:"next-protocol,omitempty"`

	// NextProtocolApprovals (nextyes) Number of blocks which approved the protocol
	// upgrade.
	NextProtocolApprovals uint64 `json:"next-protocol-approvals,omitempty"`

	// NextProtocolSwitchOn (nextswitch) Round on which the protocol upgrade will take
	// effect.
	NextProtocolSwitchOn uint64 `json:"next-protocol-switch-on,omitempty"`

	// NextProtocolVoteBefore (nextbefore) Deadline round for this protocol upgrade (No
	// votes will be consider after this round).
	NextProtocolVoteBefore uint64 `json:"next-protocol-vote-before,omitempty"`
}

BlockUpgradeState fields relating to a protocol upgrade.

type BlockUpgradeVote

type BlockUpgradeVote struct {
	// UpgradeApprove (upgradeyes) Indicates a yes vote for the current proposal.
	UpgradeApprove bool `json:"upgrade-approve,omitempty"`

	// UpgradeDelay (upgradedelay) Indicates the time between acceptance and execution.
	UpgradeDelay uint64 `json:"upgrade-delay,omitempty"`

	// UpgradePropose (upgradeprop) Indicates a proposed upgrade.
	UpgradePropose string `json:"upgrade-propose,omitempty"`
}

BlockUpgradeVote fields relating to voting for a protocol upgrade.

type Box

type Box struct {
	// Name (name) box name, base64 encoded
	Name []byte `json:"name"`

	// Round the round for which this information is relevant
	Round uint64 `json:"round"`

	// Value (value) box value, base64 encoded.
	Value []byte `json:"value"`
}

Box box name and its content.

type BoxDescriptor

type BoxDescriptor struct {
	// Name base64 encoded box name
	Name []byte `json:"name"`
}

BoxDescriptor box descriptor describes an app box without a value.

type BoxReference added in v2.3.0

type BoxReference struct {
	// App application ID which this box belongs to
	App uint64 `json:"app"`

	// Name base64 encoded box name
	Name []byte `json:"name"`
}

BoxReference references a box of an application.

type BoxesResponse

type BoxesResponse struct {
	// ApplicationId (appidx) application index.
	ApplicationId uint64 `json:"application-id"`

	// Boxes
	Boxes []BoxDescriptor `json:"boxes"`

	// NextToken used for pagination, when making another request provide this token
	// with the next parameter.
	NextToken string `json:"next-token,omitempty"`
}

BoxesResponse box names of an application

type BuildVersion

type BuildVersion struct {
	// Branch
	Branch string `json:"branch"`

	// BuildNumber
	BuildNumber uint64 `json:"build_number"`

	// Channel
	Channel string `json:"channel"`

	// CommitHash
	CommitHash string `json:"commit_hash"`

	// Major
	Major uint64 `json:"major"`

	// Minor
	Minor uint64 `json:"minor"`
}

BuildVersion defines a model for BuildVersion.

type CompileResponse

type CompileResponse struct {
	// Hash base32 SHA512_256 of program bytes (Address style)
	Hash string `json:"hash"`

	// Result base64 encoded program bytes
	Result string `json:"result"`

	// Sourcemap jSON of the source map
	Sourcemap *map[string]interface{} `json:"sourcemap,omitempty"`
}

CompileResponse teal compile Result

type DisassembleResponse

type DisassembleResponse struct {
	// Result disassembled Teal code
	Result string `json:"result"`
}

DisassembleResponse teal disassembly Result

type DryrunRequest

type DryrunRequest struct {
	// Accounts
	Accounts []Account `json:"accounts"`

	// Apps
	Apps []Application `json:"apps"`

	// LatestTimestamp latestTimestamp is available to some TEAL scripts. Defaults to
	// the latest confirmed timestamp this algod is attached to.
	LatestTimestamp uint64 `json:"latest-timestamp"`

	// ProtocolVersion protocolVersion specifies a specific version string to operate
	// under, otherwise whatever the current protocol of the network this algod is
	// running in.
	ProtocolVersion string `json:"protocol-version"`

	// Round round is available to some TEAL scripts. Defaults to the current round on
	// the network this algod is attached to.
	Round uint64 `json:"round"`

	// Sources
	Sources []DryrunSource `json:"sources"`

	// Txns
	Txns []types.SignedTxn `json:"txns"`
}

DryrunRequest request data type for dryrun endpoint. Given the Transactions and simulated ledger state upload, run TEAL scripts and return debugging information.

type DryrunResponse

type DryrunResponse struct {
	// Error
	Error string `json:"error"`

	// ProtocolVersion protocol version is the protocol version Dryrun was operated
	// under.
	ProtocolVersion string `json:"protocol-version"`

	// Txns
	Txns []DryrunTxnResult `json:"txns"`
}

DryrunResponse dryrunResponse contains per-txn debug information from a dryrun.

type DryrunSource

type DryrunSource struct {
	// AppIndex
	AppIndex uint64 `json:"app-index"`

	// FieldName fieldName is what kind of sources this is. If lsig then it goes into
	// the transactions[this.TxnIndex].LogicSig. If approv or clearp it goes into the
	// Approval Program or Clear State Program of application[this.AppIndex].
	FieldName string `json:"field-name"`

	// Source
	Source string `json:"source"`

	// TxnIndex
	TxnIndex uint64 `json:"txn-index"`
}

DryrunSource dryrunSource is TEAL source text that gets uploaded, compiled, and inserted into transactions or application state.

type DryrunState

type DryrunState struct {
	// Error evaluation error if any
	Error string `json:"error,omitempty"`

	// Line line number
	Line uint64 `json:"line"`

	// Pc program counter
	Pc uint64 `json:"pc"`

	// Scratch
	Scratch []TealValue `json:"scratch,omitempty"`

	// Stack
	Stack []TealValue `json:"stack"`
}

DryrunState stores the TEAL eval step data

type DryrunTxnResult

type DryrunTxnResult struct {
	// AppCallMessages
	AppCallMessages []string `json:"app-call-messages,omitempty"`

	// AppCallTrace
	AppCallTrace []DryrunState `json:"app-call-trace,omitempty"`

	// BudgetAdded budget added during execution of app call transaction.
	BudgetAdded uint64 `json:"budget-added,omitempty"`

	// BudgetConsumed budget consumed during execution of app call transaction.
	BudgetConsumed uint64 `json:"budget-consumed,omitempty"`

	// Disassembly disassembled program line by line.
	Disassembly []string `json:"disassembly"`

	// GlobalDelta application state delta.
	GlobalDelta []EvalDeltaKeyValue `json:"global-delta,omitempty"`

	// LocalDeltas
	LocalDeltas []AccountStateDelta `json:"local-deltas,omitempty"`

	// LogicSigDisassembly disassembled lsig program line by line.
	LogicSigDisassembly []string `json:"logic-sig-disassembly,omitempty"`

	// LogicSigMessages
	LogicSigMessages []string `json:"logic-sig-messages,omitempty"`

	// LogicSigTrace
	LogicSigTrace []DryrunState `json:"logic-sig-trace,omitempty"`

	// Logs
	Logs [][]byte `json:"logs,omitempty"`
}

DryrunTxnResult dryrunTxnResult contains any LogicSig or ApplicationCall program debug information and state updates from a dryrun.

type ErrorResponse

type ErrorResponse struct {
	// Data
	Data *map[string]interface{} `json:"data,omitempty"`

	// Message
	Message string `json:"message"`
}

ErrorResponse response for errors

type EvalDelta

type EvalDelta struct {
	// Action (at) delta action.
	Action uint64 `json:"action"`

	// Bytes (bs) bytes value.
	Bytes string `json:"bytes,omitempty"`

	// Uint (ui) uint value.
	Uint uint64 `json:"uint,omitempty"`
}

EvalDelta represents a TEAL value delta.

type EvalDeltaKeyValue

type EvalDeltaKeyValue struct {
	// Key
	Key string `json:"key"`

	// Value represents a TEAL value delta.
	Value EvalDelta `json:"value"`
}

EvalDeltaKeyValue key-value pairs for StateDelta.

type GetBlockTimeStampOffsetResponse added in v2.1.0

type GetBlockTimeStampOffsetResponse struct {
	// Offset timestamp offset in seconds.
	Offset uint64 `json:"offset"`
}

GetBlockTimeStampOffsetResponse response containing the timestamp offset in seconds

type GetSyncRoundResponse

type GetSyncRoundResponse struct {
	// Round the minimum sync round for the ledger.
	Round uint64 `json:"round"`
}

GetSyncRoundResponse response containing the ledger's minimum sync round

type HashFactory

type HashFactory struct {
	// HashType (t)
	HashType uint64 `json:"hash-type,omitempty"`
}

HashFactory defines a model for HashFactory.

type HealthCheck

type HealthCheck struct {
	// Data
	Data *map[string]interface{} `json:"data,omitempty"`

	// DbAvailable
	DbAvailable bool `json:"db-available"`

	// Errors
	Errors []string `json:"errors,omitempty"`

	// IsMigrating
	IsMigrating bool `json:"is-migrating"`

	// Message
	Message string `json:"message"`

	// Round
	Round uint64 `json:"round"`

	// Version current version.
	Version string `json:"version"`
}

HealthCheck a health check response.

type HealthCheckResponse

type HealthCheckResponse HealthCheck

HealthCheckResponse defines model for HealthCheckResponse.

type IndexerStateProofMessage

type IndexerStateProofMessage struct {
	// BlockHeadersCommitment (b)
	BlockHeadersCommitment []byte `json:"block-headers-commitment,omitempty"`

	// FirstAttestedRound (f)
	FirstAttestedRound uint64 `json:"first-attested-round,omitempty"`

	// LatestAttestedRound (l)
	LatestAttestedRound uint64 `json:"latest-attested-round,omitempty"`

	// LnProvenWeight (P)
	LnProvenWeight uint64 `json:"ln-proven-weight,omitempty"`

	// VotersCommitment (v)
	VotersCommitment []byte `json:"voters-commitment,omitempty"`
}

IndexerStateProofMessage defines a model for IndexerStateProofMessage.

type KvDelta

type KvDelta struct {
	// Key the key, base64 encoded.
	Key []byte `json:"key,omitempty"`

	// Value the new value of the KV store entry, base64 encoded.
	Value []byte `json:"value,omitempty"`
}

KvDelta a single Delta containing the key, the previous value and the current value for a single round.

type LedgerStateDeltaForTransactionGroup added in v2.2.0

type LedgerStateDeltaForTransactionGroup struct {
	// Delta ledger StateDelta object
	Delta *map[string]interface{} `json:"Delta"`

	// Ids
	Ids []string `json:"Ids"`
}

LedgerStateDeltaForTransactionGroup contains a ledger delta for a single transaction group

type LightBlockHeaderProof

type LightBlockHeaderProof struct {
	// Index the index of the light block header in the vector commitment tree
	Index uint64 `json:"index"`

	// Proof the encoded proof.
	Proof []byte `json:"proof"`

	// Treedepth represents the depth of the tree that is being proven, i.e. the number
	// of edges from a leaf to the root.
	Treedepth uint64 `json:"treedepth"`
}

LightBlockHeaderProof proof of membership and position of a light block header.

type MerkleArrayProof

type MerkleArrayProof struct {
	// HashFactory
	HashFactory HashFactory `json:"hash-factory,omitempty"`

	// Path (pth)
	Path [][]byte `json:"path,omitempty"`

	// TreeDepth (td)
	TreeDepth uint64 `json:"tree-depth,omitempty"`
}

MerkleArrayProof defines a model for MerkleArrayProof.

type MiniAssetHolding

type MiniAssetHolding struct {
	// Address
	Address string `json:"address"`

	// Amount
	Amount uint64 `json:"amount"`

	// Deleted whether or not this asset holding is currently deleted from its account.
	Deleted bool `json:"deleted,omitempty"`

	// IsFrozen
	IsFrozen bool `json:"is-frozen"`

	// OptedInAtRound round during which the account opted into the asset.
	OptedInAtRound uint64 `json:"opted-in-at-round,omitempty"`

	// OptedOutAtRound round during which the account opted out of the asset.
	OptedOutAtRound uint64 `json:"opted-out-at-round,omitempty"`
}

MiniAssetHolding a simplified version of AssetHolding

type NodeStatus

type NodeStatus NodeStatusResponse

NodeStatus is the algod status report.

type NodeStatusResponse

type NodeStatusResponse struct {
	// Catchpoint the current catchpoint that is being caught up to
	Catchpoint string `json:"catchpoint,omitempty"`

	// CatchpointAcquiredBlocks the number of blocks that have already been obtained by
	// the node as part of the catchup
	CatchpointAcquiredBlocks uint64 `json:"catchpoint-acquired-blocks,omitempty"`

	// CatchpointProcessedAccounts the number of accounts from the current catchpoint
	// that have been processed so far as part of the catchup
	CatchpointProcessedAccounts uint64 `json:"catchpoint-processed-accounts,omitempty"`

	// CatchpointProcessedKvs the number of key-values (KVs) from the current
	// catchpoint that have been processed so far as part of the catchup
	CatchpointProcessedKvs uint64 `json:"catchpoint-processed-kvs,omitempty"`

	// CatchpointTotalAccounts the total number of accounts included in the current
	// catchpoint
	CatchpointTotalAccounts uint64 `json:"catchpoint-total-accounts,omitempty"`

	// CatchpointTotalBlocks the total number of blocks that are required to complete
	// the current catchpoint catchup
	CatchpointTotalBlocks uint64 `json:"catchpoint-total-blocks,omitempty"`

	// CatchpointTotalKvs the total number of key-values (KVs) included in the current
	// catchpoint
	CatchpointTotalKvs uint64 `json:"catchpoint-total-kvs,omitempty"`

	// CatchpointVerifiedAccounts the number of accounts from the current catchpoint
	// that have been verified so far as part of the catchup
	CatchpointVerifiedAccounts uint64 `json:"catchpoint-verified-accounts,omitempty"`

	// CatchpointVerifiedKvs the number of key-values (KVs) from the current catchpoint
	// that have been verified so far as part of the catchup
	CatchpointVerifiedKvs uint64 `json:"catchpoint-verified-kvs,omitempty"`

	// CatchupTime catchupTime in nanoseconds
	CatchupTime uint64 `json:"catchup-time"`

	// LastCatchpoint the last catchpoint seen by the node
	LastCatchpoint string `json:"last-catchpoint,omitempty"`

	// LastRound lastRound indicates the last round seen
	LastRound uint64 `json:"last-round"`

	// LastVersion lastVersion indicates the last consensus version supported
	LastVersion string `json:"last-version"`

	// NextVersion nextVersion of consensus protocol to use
	NextVersion string `json:"next-version"`

	// NextVersionRound nextVersionRound is the round at which the next consensus
	// version will apply
	NextVersionRound uint64 `json:"next-version-round"`

	// NextVersionSupported nextVersionSupported indicates whether the next consensus
	// version is supported by this node
	NextVersionSupported bool `json:"next-version-supported"`

	// StoppedAtUnsupportedRound stoppedAtUnsupportedRound indicates that the node does
	// not support the new rounds and has stopped making progress
	StoppedAtUnsupportedRound bool `json:"stopped-at-unsupported-round"`

	// TimeSinceLastRound timeSinceLastRound in nanoseconds
	TimeSinceLastRound uint64 `json:"time-since-last-round"`

	// UpgradeDelay upgrade delay
	UpgradeDelay uint64 `json:"upgrade-delay,omitempty"`

	// UpgradeNextProtocolVoteBefore next protocol round
	UpgradeNextProtocolVoteBefore uint64 `json:"upgrade-next-protocol-vote-before,omitempty"`

	// UpgradeNoVotes no votes cast for consensus upgrade
	UpgradeNoVotes uint64 `json:"upgrade-no-votes,omitempty"`

	// UpgradeNodeVote this node's upgrade vote
	UpgradeNodeVote bool `json:"upgrade-node-vote,omitempty"`

	// UpgradeVoteRounds total voting rounds for current upgrade
	UpgradeVoteRounds uint64 `json:"upgrade-vote-rounds,omitempty"`

	// UpgradeVotes total votes cast for consensus upgrade
	UpgradeVotes uint64 `json:"upgrade-votes,omitempty"`

	// UpgradeVotesRequired yes votes required for consensus upgrade
	UpgradeVotesRequired uint64 `json:"upgrade-votes-required,omitempty"`

	// UpgradeYesVotes yes votes cast for consensus upgrade
	UpgradeYesVotes uint64 `json:"upgrade-yes-votes,omitempty"`
}

NodeStatusResponse

type ParticipationUpdates

type ParticipationUpdates struct {
	// AbsentParticipationAccounts (partupabs) a list of online accounts that need to
	// be suspended.
	AbsentParticipationAccounts []string `json:"absent-participation-accounts,omitempty"`

	// ExpiredParticipationAccounts (partupdrmv) a list of online accounts that needs
	// to be converted to offline since their participation key expired.
	ExpiredParticipationAccounts []string `json:"expired-participation-accounts,omitempty"`
}

ParticipationUpdates participation account data that needs to be checked/acted on by the network.

type PendingTransactionInfoResponse

type PendingTransactionInfoResponse PendingTransactionResponse

PendingTransactionInfoResponse is the single pending transaction response.

type PendingTransactionResponse

type PendingTransactionResponse struct {
	// ApplicationIndex the application index if the transaction was found and it
	// created an application.
	ApplicationIndex uint64 `json:"application-index,omitempty"`

	// AssetClosingAmount the number of the asset's unit that were transferred to the
	// close-to address.
	AssetClosingAmount uint64 `json:"asset-closing-amount,omitempty"`

	// AssetIndex the asset index if the transaction was found and it created an asset.
	AssetIndex uint64 `json:"asset-index,omitempty"`

	// CloseRewards rewards in microalgos applied to the close remainder to account.
	CloseRewards uint64 `json:"close-rewards,omitempty"`

	// ClosingAmount closing amount for the transaction.
	ClosingAmount uint64 `json:"closing-amount,omitempty"`

	// ConfirmedRound the round where this transaction was confirmed, if present.
	ConfirmedRound uint64 `json:"confirmed-round,omitempty"`

	// GlobalStateDelta global state key/value changes for the application being
	// executed by this transaction.
	GlobalStateDelta []EvalDeltaKeyValue `json:"global-state-delta,omitempty"`

	// InnerTxns inner transactions produced by application execution.
	InnerTxns []PendingTransactionResponse `json:"inner-txns,omitempty"`

	// LocalStateDelta local state key/value changes for the application being executed
	// by this transaction.
	LocalStateDelta []AccountStateDelta `json:"local-state-delta,omitempty"`

	// Logs logs for the application being executed by this transaction.
	Logs [][]byte `json:"logs,omitempty"`

	// PoolError indicates that the transaction was kicked out of this node's
	// transaction pool (and specifies why that happened). An empty string indicates
	// the transaction wasn't kicked out of this node's txpool due to an error.
	PoolError string `json:"pool-error"`

	// ReceiverRewards rewards in microalgos applied to the receiver account.
	ReceiverRewards uint64 `json:"receiver-rewards,omitempty"`

	// SenderRewards rewards in microalgos applied to the sender account.
	SenderRewards uint64 `json:"sender-rewards,omitempty"`

	// Transaction the raw signed transaction.
	Transaction types.SignedTxn `json:"txn"`
}

PendingTransactionResponse details about a pending transaction. If the transaction was recently confirmed, includes confirmation details like the round and reward details.

type PendingTransactionsResponse

type PendingTransactionsResponse struct {
	// TopTransactions an array of signed transaction objects.
	TopTransactions []types.SignedTxn `json:"top-transactions"`

	// TotalTransactions total number of transactions in the pool.
	TotalTransactions uint64 `json:"total-transactions"`
}

PendingTransactionsResponse a potentially truncated list of transactions currently in the node's transaction pool. You can compute whether or not the list is truncated if the number of elements in the **top-transactions** array is fewer than **total-transactions**.

type PostTransactionsResponse

type PostTransactionsResponse struct {
	// Txid encoding of the transaction hash.
	Txid string `json:"txId"`
}

PostTransactionsResponse transaction ID of the submission.

type ScratchChange added in v2.3.0

type ScratchChange struct {
	// NewValue represents an AVM value.
	NewValue AvmValue `json:"new-value"`

	// Slot the scratch slot written.
	Slot uint64 `json:"slot"`
}

ScratchChange a write operation into a scratch slot.

type SimulateInitialStates added in v2.3.0

type SimulateInitialStates struct {
	// AppInitialStates the initial states of accessed application before simulation.
	// The order of this array is arbitrary.
	AppInitialStates []ApplicationInitialStates `json:"app-initial-states,omitempty"`
}

SimulateInitialStates initial states of resources that were accessed during simulation.

type SimulateRequest added in v2.1.0

type SimulateRequest struct {
	// AllowEmptySignatures allows transactions without signatures to be simulated as
	// if they had correct signatures.
	AllowEmptySignatures bool `json:"allow-empty-signatures,omitempty"`

	// AllowMoreLogging lifts limits on log opcode usage during simulation.
	AllowMoreLogging bool `json:"allow-more-logging,omitempty"`

	// AllowUnnamedResources allows access to unnamed resources during simulation.
	AllowUnnamedResources bool `json:"allow-unnamed-resources,omitempty"`

	// ExecTraceConfig an object that configures simulation execution trace.
	ExecTraceConfig SimulateTraceConfig `json:"exec-trace-config,omitempty"`

	// ExtraOpcodeBudget applies extra opcode budget during simulation for each
	// transaction group.
	ExtraOpcodeBudget uint64 `json:"extra-opcode-budget,omitempty"`

	// Round if provided, specifies the round preceding the simulation. State changes
	// through this round will be used to run this simulation. Usually only the 4 most
	// recent rounds will be available (controlled by the node config value
	// MaxAcctLookback). If not specified, defaults to the latest available round.
	Round uint64 `json:"round,omitempty"`

	// TxnGroups the transaction groups to simulate.
	TxnGroups []SimulateRequestTransactionGroup `json:"txn-groups"`
}

SimulateRequest request type for simulation endpoint.

type SimulateRequestTransactionGroup added in v2.1.0

type SimulateRequestTransactionGroup struct {
	// Txns an atomic transaction group.
	Txns []types.SignedTxn `json:"txns"`
}

SimulateRequestTransactionGroup a transaction group to simulate.

type SimulateResponse added in v2.1.0

type SimulateResponse struct {
	// EvalOverrides the set of parameters and limits override during simulation. If
	// this set of parameters is present, then evaluation parameters may differ from
	// standard evaluation in certain ways.
	EvalOverrides SimulationEvalOverrides `json:"eval-overrides,omitempty"`

	// ExecTraceConfig an object that configures simulation execution trace.
	ExecTraceConfig SimulateTraceConfig `json:"exec-trace-config,omitempty"`

	// InitialStates initial states of resources that were accessed during simulation.
	InitialStates SimulateInitialStates `json:"initial-states,omitempty"`

	// LastRound the round immediately preceding this simulation. State changes through
	// this round were used to run this simulation.
	LastRound uint64 `json:"last-round"`

	// TxnGroups a result object for each transaction group that was simulated.
	TxnGroups []SimulateTransactionGroupResult `json:"txn-groups"`

	// Version the version of this response object.
	Version uint64 `json:"version"`
}

SimulateResponse result of a transaction group simulation.

type SimulateTraceConfig added in v2.2.0

type SimulateTraceConfig struct {
	// Enable a boolean option for opting in execution trace features simulation
	// endpoint.
	Enable bool `json:"enable,omitempty"`

	// ScratchChange a boolean option enabling returning scratch slot changes together
	// with execution trace during simulation.
	ScratchChange bool `json:"scratch-change,omitempty"`

	// StackChange a boolean option enabling returning stack changes together with
	// execution trace during simulation.
	StackChange bool `json:"stack-change,omitempty"`

	// StateChange a boolean option enabling returning application state changes
	// (global, local, and box changes) with the execution trace during simulation.
	StateChange bool `json:"state-change,omitempty"`
}

SimulateTraceConfig an object that configures simulation execution trace.

type SimulateTransactionGroupResult added in v2.1.0

type SimulateTransactionGroupResult struct {
	// AppBudgetAdded total budget added during execution of app calls in the
	// transaction group.
	AppBudgetAdded uint64 `json:"app-budget-added,omitempty"`

	// AppBudgetConsumed total budget consumed during execution of app calls in the
	// transaction group.
	AppBudgetConsumed uint64 `json:"app-budget-consumed,omitempty"`

	// FailedAt if present, indicates which transaction in this group caused the
	// failure. This array represents the path to the failing transaction. Indexes are
	// zero based, the first element indicates the top-level transaction, and
	// successive elements indicate deeper inner transactions.
	FailedAt []uint64 `json:"failed-at,omitempty"`

	// FailureMessage if present, indicates that the transaction group failed and
	// specifies why that happened
	FailureMessage string `json:"failure-message,omitempty"`

	// TxnResults simulation result for individual transactions
	TxnResults []SimulateTransactionResult `json:"txn-results"`

	// UnnamedResourcesAccessed these are resources that were accessed by this group
	// that would normally have caused failure, but were allowed in simulation.
	// Depending on where this object is in the response, the unnamed resources it
	// contains may or may not qualify for group resource sharing. If this is a field
	// in SimulateTransactionGroupResult, the resources do qualify, but if this is a
	// field in SimulateTransactionResult, they do not qualify. In order to make this
	// group valid for actual submission, resources that qualify for group sharing can
	// be made available by any transaction of the group; otherwise, resources must be
	// placed in the same transaction which accessed them.
	UnnamedResourcesAccessed SimulateUnnamedResourcesAccessed `json:"unnamed-resources-accessed,omitempty"`
}

SimulateTransactionGroupResult simulation result for an atomic transaction group

type SimulateTransactionResult added in v2.1.0

type SimulateTransactionResult struct {
	// AppBudgetConsumed budget used during execution of an app call transaction. This
	// value includes budged used by inner app calls spawned by this transaction.
	AppBudgetConsumed uint64 `json:"app-budget-consumed,omitempty"`

	// ExecTrace the execution trace of calling an app or a logic sig, containing the
	// inner app call trace in a recursive way.
	ExecTrace SimulationTransactionExecTrace `json:"exec-trace,omitempty"`

	// LogicSigBudgetConsumed budget used during execution of a logic sig transaction.
	LogicSigBudgetConsumed uint64 `json:"logic-sig-budget-consumed,omitempty"`

	// TxnResult details about a pending transaction. If the transaction was recently
	// confirmed, includes confirmation details like the round and reward details.
	TxnResult PendingTransactionResponse `json:"txn-result"`

	// UnnamedResourcesAccessed these are resources that were accessed by this group
	// that would normally have caused failure, but were allowed in simulation.
	// Depending on where this object is in the response, the unnamed resources it
	// contains may or may not qualify for group resource sharing. If this is a field
	// in SimulateTransactionGroupResult, the resources do qualify, but if this is a
	// field in SimulateTransactionResult, they do not qualify. In order to make this
	// group valid for actual submission, resources that qualify for group sharing can
	// be made available by any transaction of the group; otherwise, resources must be
	// placed in the same transaction which accessed them.
	UnnamedResourcesAccessed SimulateUnnamedResourcesAccessed `json:"unnamed-resources-accessed,omitempty"`
}

SimulateTransactionResult simulation result for an individual transaction

type SimulateUnnamedResourcesAccessed added in v2.3.0

type SimulateUnnamedResourcesAccessed struct {
	// Accounts the unnamed accounts that were referenced. The order of this array is
	// arbitrary.
	Accounts []string `json:"accounts,omitempty"`

	// AppLocals the unnamed application local states that were referenced. The order
	// of this array is arbitrary.
	AppLocals []ApplicationLocalReference `json:"app-locals,omitempty"`

	// Apps the unnamed applications that were referenced. The order of this array is
	// arbitrary.
	Apps []uint64 `json:"apps,omitempty"`

	// AssetHoldings the unnamed asset holdings that were referenced. The order of this
	// array is arbitrary.
	AssetHoldings []AssetHoldingReference `json:"asset-holdings,omitempty"`

	// Assets the unnamed assets that were referenced. The order of this array is
	// arbitrary.
	Assets []uint64 `json:"assets,omitempty"`

	// Boxes the unnamed boxes that were referenced. The order of this array is
	// arbitrary.
	Boxes []BoxReference `json:"boxes,omitempty"`

	// ExtraBoxRefs the number of extra box references used to increase the IO budget.
	// This is in addition to the references defined in the input transaction group and
	// any referenced to unnamed boxes.
	ExtraBoxRefs uint64 `json:"extra-box-refs,omitempty"`
}

SimulateUnnamedResourcesAccessed these are resources that were accessed by this group that would normally have caused failure, but were allowed in simulation. Depending on where this object is in the response, the unnamed resources it contains may or may not qualify for group resource sharing. If this is a field in SimulateTransactionGroupResult, the resources do qualify, but if this is a field in SimulateTransactionResult, they do not qualify. In order to make this group valid for actual submission, resources that qualify for group sharing can be made available by any transaction of the group; otherwise, resources must be placed in the same transaction which accessed them.

type SimulationEvalOverrides added in v2.1.0

type SimulationEvalOverrides struct {
	// AllowEmptySignatures if true, transactions without signatures are allowed and
	// simulated as if they were properly signed.
	AllowEmptySignatures bool `json:"allow-empty-signatures,omitempty"`

	// AllowUnnamedResources if true, allows access to unnamed resources during
	// simulation.
	AllowUnnamedResources bool `json:"allow-unnamed-resources,omitempty"`

	// ExtraOpcodeBudget the extra opcode budget added to each transaction group during
	// simulation
	ExtraOpcodeBudget uint64 `json:"extra-opcode-budget,omitempty"`

	// MaxLogCalls the maximum log calls one can make during simulation
	MaxLogCalls uint64 `json:"max-log-calls,omitempty"`

	// MaxLogSize the maximum byte number to log during simulation
	MaxLogSize uint64 `json:"max-log-size,omitempty"`
}

SimulationEvalOverrides the set of parameters and limits override during simulation. If this set of parameters is present, then evaluation parameters may differ from standard evaluation in certain ways.

type SimulationOpcodeTraceUnit added in v2.2.0

type SimulationOpcodeTraceUnit struct {
	// Pc the program counter of the current opcode being evaluated.
	Pc uint64 `json:"pc"`

	// ScratchChanges the writes into scratch slots.
	ScratchChanges []ScratchChange `json:"scratch-changes,omitempty"`

	// SpawnedInners the indexes of the traces for inner transactions spawned by this
	// opcode, if any.
	SpawnedInners []uint64 `json:"spawned-inners,omitempty"`

	// StackAdditions the values added by this opcode to the stack.
	StackAdditions []AvmValue `json:"stack-additions,omitempty"`

	// StackPopCount the number of deleted stack values by this opcode.
	StackPopCount uint64 `json:"stack-pop-count,omitempty"`

	// StateChanges the operations against the current application's states.
	StateChanges []ApplicationStateOperation `json:"state-changes,omitempty"`
}

SimulationOpcodeTraceUnit the set of trace information and effect from evaluating a single opcode.

type SimulationTransactionExecTrace added in v2.2.0

type SimulationTransactionExecTrace struct {
	// ApprovalProgramHash sHA512_256 hash digest of the approval program executed in
	// transaction.
	ApprovalProgramHash []byte `json:"approval-program-hash,omitempty"`

	// ApprovalProgramTrace program trace that contains a trace of opcode effects in an
	// approval program.
	ApprovalProgramTrace []SimulationOpcodeTraceUnit `json:"approval-program-trace,omitempty"`

	// ClearStateProgramHash sHA512_256 hash digest of the clear state program executed
	// in transaction.
	ClearStateProgramHash []byte `json:"clear-state-program-hash,omitempty"`

	// ClearStateProgramTrace program trace that contains a trace of opcode effects in
	// a clear state program.
	ClearStateProgramTrace []SimulationOpcodeTraceUnit `json:"clear-state-program-trace,omitempty"`

	// ClearStateRollback if true, indicates that the clear state program failed and
	// any persistent state changes it produced should be reverted once the program
	// exits.
	ClearStateRollback bool `json:"clear-state-rollback,omitempty"`

	// ClearStateRollbackError the error message explaining why the clear state program
	// failed. This field will only be populated if clear-state-rollback is true and
	// the failure was due to an execution error.
	ClearStateRollbackError string `json:"clear-state-rollback-error,omitempty"`

	// InnerTrace an array of SimulationTransactionExecTrace representing the execution
	// trace of any inner transactions executed.
	InnerTrace []SimulationTransactionExecTrace `json:"inner-trace,omitempty"`

	// LogicSigHash sHA512_256 hash digest of the logic sig executed in transaction.
	LogicSigHash []byte `json:"logic-sig-hash,omitempty"`

	// LogicSigTrace program trace that contains a trace of opcode effects in a logic
	// sig.
	LogicSigTrace []SimulationOpcodeTraceUnit `json:"logic-sig-trace,omitempty"`
}

SimulationTransactionExecTrace the execution trace of calling an app or a logic sig, containing the inner app call trace in a recursive way.

type StateProof

type StateProof struct {
	// Message represents the message that the state proofs are attesting to.
	Message StateProofMessage `json:"Message"`

	// Stateproof the encoded StateProof for the message.
	Stateproof []byte `json:"StateProof"`
}

StateProof represents a state proof and its corresponding message

type StateProofFields

type StateProofFields struct {
	// PartProofs (P)
	PartProofs MerkleArrayProof `json:"part-proofs,omitempty"`

	// PositionsToReveal (pr) Sequence of reveal positions.
	PositionsToReveal []uint64 `json:"positions-to-reveal,omitempty"`

	// Reveals (r) Note that this is actually stored as a map[uint64] - Reveal in the
	// actual msgp
	Reveals []StateProofReveal `json:"reveals,omitempty"`

	// SaltVersion (v) Salt version of the merkle signature.
	SaltVersion uint64 `json:"salt-version,omitempty"`

	// SigCommit (c)
	SigCommit []byte `json:"sig-commit,omitempty"`

	// SigProofs (S)
	SigProofs MerkleArrayProof `json:"sig-proofs,omitempty"`

	// SignedWeight (w)
	SignedWeight uint64 `json:"signed-weight,omitempty"`
}

StateProofFields (sp) represents a state proof. Definition: crypto/stateproof/structs.go : StateProof

type StateProofMessage

type StateProofMessage struct {
	// Blockheaderscommitment the vector commitment root on all light block headers
	// within a state proof interval.
	Blockheaderscommitment []byte `json:"BlockHeadersCommitment"`

	// Firstattestedround the first round the message attests to.
	Firstattestedround uint64 `json:"FirstAttestedRound"`

	// Lastattestedround the last round the message attests to.
	Lastattestedround uint64 `json:"LastAttestedRound"`

	// Lnprovenweight an integer value representing the natural log of the proven
	// weight with 16 bits of precision. This value would be used to verify the next
	// state proof.
	Lnprovenweight uint64 `json:"LnProvenWeight"`

	// Voterscommitment the vector commitment root of the top N accounts to sign the
	// next StateProof.
	Voterscommitment []byte `json:"VotersCommitment"`
}

StateProofMessage represents the message that the state proofs are attesting to.

type StateProofParticipant

type StateProofParticipant struct {
	// Verifier (p)
	Verifier StateProofVerifier `json:"verifier,omitempty"`

	// Weight (w)
	Weight uint64 `json:"weight,omitempty"`
}

StateProofParticipant defines a model for StateProofParticipant.

type StateProofReveal

type StateProofReveal struct {
	// Participant (p)
	Participant StateProofParticipant `json:"participant,omitempty"`

	// Position the position in the signature and participants arrays corresponding to
	// this entry.
	Position uint64 `json:"position,omitempty"`

	// SigSlot (s)
	SigSlot StateProofSigSlot `json:"sig-slot,omitempty"`
}

StateProofReveal defines a model for StateProofReveal.

type StateProofSigSlot

type StateProofSigSlot struct {
	// LowerSigWeight (l) The total weight of signatures in the lower-numbered slots.
	LowerSigWeight uint64 `json:"lower-sig-weight,omitempty"`

	// Signature
	Signature StateProofSignature `json:"signature,omitempty"`
}

StateProofSigSlot defines a model for StateProofSigSlot.

type StateProofSignature

type StateProofSignature struct {
	// FalconSignature
	FalconSignature []byte `json:"falcon-signature,omitempty"`

	// MerkleArrayIndex
	MerkleArrayIndex uint64 `json:"merkle-array-index,omitempty"`

	// Proof
	Proof MerkleArrayProof `json:"proof,omitempty"`

	// VerifyingKey (vkey)
	VerifyingKey []byte `json:"verifying-key,omitempty"`
}

StateProofSignature defines a model for StateProofSignature.

type StateProofTracking

type StateProofTracking struct {
	// NextRound (n) Next round for which we will accept a state proof transaction.
	NextRound uint64 `json:"next-round,omitempty"`

	// OnlineTotalWeight (t) The total number of microalgos held by the online accounts
	// during the StateProof round.
	OnlineTotalWeight uint64 `json:"online-total-weight,omitempty"`

	// Type state Proof Type. Note the raw object uses map with this as key.
	Type uint64 `json:"type,omitempty"`

	// VotersCommitment (v) Root of a vector commitment containing online accounts that
	// will help sign the proof.
	VotersCommitment []byte `json:"voters-commitment,omitempty"`
}

StateProofTracking defines a model for StateProofTracking.

type StateProofVerifier

type StateProofVerifier struct {
	// Commitment (cmt) Represents the root of the vector commitment tree.
	Commitment []byte `json:"commitment,omitempty"`

	// KeyLifetime (lf) Key lifetime.
	KeyLifetime uint64 `json:"key-lifetime,omitempty"`
}

StateProofVerifier defines a model for StateProofVerifier.

type StateSchema

type StateSchema struct {
	// NumByteSlice maximum number of TEAL byte slices that may be stored in the
	// key/value store.
	NumByteSlice uint64 `json:"num-byte-slice"`

	// NumUint maximum number of TEAL uints that may be stored in the key/value store.
	NumUint uint64 `json:"num-uint"`
}

StateSchema represents a (apls) local-state or (apgs) global-state schema. These schemas determine how much storage may be used in a local-state or global-state for an application. The more space used, the larger minimum balance must be maintained in the account holding the data.

type Supply

type Supply SupplyResponse

Supply

type SupplyResponse

type SupplyResponse struct {
	// Current_round round
	Current_round uint64 `json:"current_round"`

	// OnlineMoney onlineMoney
	OnlineMoney uint64 `json:"online-money"`

	// TotalMoney totalMoney
	TotalMoney uint64 `json:"total-money"`
}

SupplyResponse supply represents the current supply of MicroAlgos in the system.

type TealKeyValue

type TealKeyValue struct {
	// Key
	Key string `json:"key"`

	// Value represents a TEAL value.
	Value TealValue `json:"value"`
}

TealKeyValue represents a key-value pair in an application store.

type TealValue

type TealValue struct {
	// Bytes bytes value.
	Bytes string `json:"bytes"`

	// Type type of the value. Value `1` refers to **bytes**, value `2` refers to
	// **uint**
	Type uint64 `json:"type"`

	// Uint uint value.
	Uint uint64 `json:"uint"`
}

TealValue represents a TEAL value.

type Transaction

type Transaction struct {
	// ApplicationTransaction fields for application transactions.
	// Definition:
	// data/transactions/application.go : ApplicationCallTxnFields
	ApplicationTransaction TransactionApplication `json:"application-transaction,omitempty"`

	// AssetConfigTransaction fields for asset allocation, re-configuration, and
	// destruction.
	// A zero value for asset-id indicates asset creation.
	// A zero value for the params indicates asset destruction.
	// Definition:
	// data/transactions/asset.go : AssetConfigTxnFields
	AssetConfigTransaction TransactionAssetConfig `json:"asset-config-transaction,omitempty"`

	// AssetFreezeTransaction fields for an asset freeze transaction.
	// Definition:
	// data/transactions/asset.go : AssetFreezeTxnFields
	AssetFreezeTransaction TransactionAssetFreeze `json:"asset-freeze-transaction,omitempty"`

	// AssetTransferTransaction fields for an asset transfer transaction.
	// Definition:
	// data/transactions/asset.go : AssetTransferTxnFields
	AssetTransferTransaction TransactionAssetTransfer `json:"asset-transfer-transaction,omitempty"`

	// AuthAddr (sgnr) this is included with signed transactions when the signing
	// address does not equal the sender. The backend can use this to ensure that auth
	// addr is equal to the accounts auth addr.
	AuthAddr string `json:"auth-addr,omitempty"`

	// CloseRewards (rc) rewards applied to close-remainder-to account.
	CloseRewards uint64 `json:"close-rewards,omitempty"`

	// ClosingAmount (ca) closing amount for transaction.
	ClosingAmount uint64 `json:"closing-amount,omitempty"`

	// ConfirmedRound round when the transaction was confirmed.
	ConfirmedRound uint64 `json:"confirmed-round,omitempty"`

	// CreatedApplicationIndex specifies an application index (ID) if an application
	// was created with this transaction.
	CreatedApplicationIndex uint64 `json:"created-application-index,omitempty"`

	// CreatedAssetIndex specifies an asset index (ID) if an asset was created with
	// this transaction.
	CreatedAssetIndex uint64 `json:"created-asset-index,omitempty"`

	// Fee (fee) Transaction fee.
	Fee uint64 `json:"fee"`

	// FirstValid (fv) First valid round for this transaction.
	FirstValid uint64 `json:"first-valid"`

	// GenesisHash (gh) Hash of genesis block.
	GenesisHash []byte `json:"genesis-hash,omitempty"`

	// GenesisId (gen) genesis block ID.
	GenesisId string `json:"genesis-id,omitempty"`

	// GlobalStateDelta (gd) Global state key/value changes for the application being
	// executed by this transaction.
	GlobalStateDelta []EvalDeltaKeyValue `json:"global-state-delta,omitempty"`

	// Group (grp) Base64 encoded byte array of a sha512/256 digest. When present
	// indicates that this transaction is part of a transaction group and the value is
	// the sha512/256 hash of the transactions in that group.
	Group []byte `json:"group,omitempty"`

	// Id transaction ID
	Id string `json:"id,omitempty"`

	// InnerTxns inner transactions produced by application execution.
	InnerTxns []Transaction `json:"inner-txns,omitempty"`

	// IntraRoundOffset offset into the round where this transaction was confirmed.
	IntraRoundOffset uint64 `json:"intra-round-offset,omitempty"`

	// KeyregTransaction fields for a keyreg transaction.
	// Definition:
	// data/transactions/keyreg.go : KeyregTxnFields
	KeyregTransaction TransactionKeyreg `json:"keyreg-transaction,omitempty"`

	// LastValid (lv) Last valid round for this transaction.
	LastValid uint64 `json:"last-valid"`

	// Lease (lx) Base64 encoded 32-byte array. Lease enforces mutual exclusion of
	// transactions. If this field is nonzero, then once the transaction is confirmed,
	// it acquires the lease identified by the (Sender, Lease) pair of the transaction
	// until the LastValid round passes. While this transaction possesses the lease, no
	// other transaction specifying this lease can be confirmed.
	Lease []byte `json:"lease,omitempty"`

	// LocalStateDelta (ld) Local state key/value changes for the application being
	// executed by this transaction.
	LocalStateDelta []AccountStateDelta `json:"local-state-delta,omitempty"`

	// Logs (lg) Logs for the application being executed by this transaction.
	Logs [][]byte `json:"logs,omitempty"`

	// Note (note) Free form data.
	Note []byte `json:"note,omitempty"`

	// PaymentTransaction fields for a payment transaction.
	// Definition:
	// data/transactions/payment.go : PaymentTxnFields
	PaymentTransaction TransactionPayment `json:"payment-transaction,omitempty"`

	// ReceiverRewards (rr) rewards applied to receiver account.
	ReceiverRewards uint64 `json:"receiver-rewards,omitempty"`

	// RekeyTo (rekey) when included in a valid transaction, the accounts auth addr
	// will be updated with this value and future signatures must be signed with the
	// key represented by this address.
	RekeyTo string `json:"rekey-to,omitempty"`

	// RoundTime time when the block this transaction is in was confirmed.
	RoundTime uint64 `json:"round-time,omitempty"`

	// Sender (snd) Sender's address.
	Sender string `json:"sender"`

	// SenderRewards (rs) rewards applied to sender account.
	SenderRewards uint64 `json:"sender-rewards,omitempty"`

	// Signature validation signature associated with some data. Only one of the
	// signatures should be provided.
	Signature TransactionSignature `json:"signature,omitempty"`

	// StateProofTransaction fields for a state proof transaction.
	// Definition:
	// data/transactions/stateproof.go : StateProofTxnFields
	StateProofTransaction TransactionStateProof `json:"state-proof-transaction,omitempty"`

	// Type (type) Indicates what type of transaction this is. Different types have
	// different fields.
	// Valid types, and where their fields are stored:
	// * (pay) payment-transaction
	// * (keyreg) keyreg-transaction
	// * (acfg) asset-config-transaction
	// * (axfer) asset-transfer-transaction
	// * (afrz) asset-freeze-transaction
	// * (appl) application-transaction
	// * (stpf) state-proof-transaction
	Type string `json:"tx-type,omitempty"`
}

Transaction contains all fields common to all transactions and serves as an envelope to all transactions type. Represents both regular and inner transactions. Definition: data/transactions/signedtxn.go : SignedTxn data/transactions/transaction.go : Transaction

type TransactionApplication

type TransactionApplication struct {
	// Accounts (apat) List of accounts in addition to the sender that may be accessed
	// from the application's approval-program and clear-state-program.
	Accounts []string `json:"accounts,omitempty"`

	// ApplicationArgs (apaa) transaction specific arguments accessed from the
	// application's approval-program and clear-state-program.
	ApplicationArgs [][]byte `json:"application-args,omitempty"`

	// ApplicationId (apid) ID of the application being configured or empty if
	// creating.
	ApplicationId uint64 `json:"application-id"`

	// ApprovalProgram (apap) Logic executed for every application transaction, except
	// when on-completion is set to "clear". It can read and write global state for the
	// application, as well as account-specific local state. Approval programs may
	// reject the transaction.
	ApprovalProgram []byte `json:"approval-program,omitempty"`

	// ClearStateProgram (apsu) Logic executed for application transactions with
	// on-completion set to "clear". It can read and write global state for the
	// application, as well as account-specific local state. Clear state programs
	// cannot reject the transaction.
	ClearStateProgram []byte `json:"clear-state-program,omitempty"`

	// ExtraProgramPages (epp) specifies the additional app program len requested in
	// pages.
	ExtraProgramPages uint64 `json:"extra-program-pages,omitempty"`

	// ForeignApps (apfa) Lists the applications in addition to the application-id
	// whose global states may be accessed by this application's approval-program and
	// clear-state-program. The access is read-only.
	ForeignApps []uint64 `json:"foreign-apps,omitempty"`

	// ForeignAssets (apas) lists the assets whose parameters may be accessed by this
	// application's ApprovalProgram and ClearStateProgram. The access is read-only.
	ForeignAssets []uint64 `json:"foreign-assets,omitempty"`

	// GlobalStateSchema represents a (apls) local-state or (apgs) global-state schema.
	// These schemas determine how much storage may be used in a local-state or
	// global-state for an application. The more space used, the larger minimum balance
	// must be maintained in the account holding the data.
	GlobalStateSchema StateSchema `json:"global-state-schema,omitempty"`

	// LocalStateSchema represents a (apls) local-state or (apgs) global-state schema.
	// These schemas determine how much storage may be used in a local-state or
	// global-state for an application. The more space used, the larger minimum balance
	// must be maintained in the account holding the data.
	LocalStateSchema StateSchema `json:"local-state-schema,omitempty"`

	// OnCompletion (apan) defines the what additional actions occur with the
	// transaction.
	// Valid types:
	// * noop
	// * optin
	// * closeout
	// * clear
	// * update
	// * update
	// * delete
	OnCompletion string `json:"on-completion,omitempty"`
}

TransactionApplication fields for application transactions. Definition: data/transactions/application.go : ApplicationCallTxnFields

type TransactionAssetConfig

type TransactionAssetConfig struct {
	// AssetId (xaid) ID of the asset being configured or empty if creating.
	AssetId uint64 `json:"asset-id,omitempty"`

	// Params assetParams specifies the parameters for an asset.
	// (apar) when part of an AssetConfig transaction.
	// Definition:
	// data/transactions/asset.go : AssetParams
	Params AssetParams `json:"params,omitempty"`
}

TransactionAssetConfig fields for asset allocation, re-configuration, and destruction. A zero value for asset-id indicates asset creation. A zero value for the params indicates asset destruction. Definition: data/transactions/asset.go : AssetConfigTxnFields

type TransactionAssetFreeze

type TransactionAssetFreeze struct {
	// Address (fadd) Address of the account whose asset is being frozen or thawed.
	Address string `json:"address"`

	// AssetId (faid) ID of the asset being frozen or thawed.
	AssetId uint64 `json:"asset-id"`

	// NewFreezeStatus (afrz) The new freeze status.
	NewFreezeStatus bool `json:"new-freeze-status"`
}

TransactionAssetFreeze fields for an asset freeze transaction. Definition: data/transactions/asset.go : AssetFreezeTxnFields

type TransactionAssetTransfer

type TransactionAssetTransfer struct {
	// Amount (aamt) Amount of asset to transfer. A zero amount transferred to self
	// allocates that asset in the account's Assets map.
	Amount uint64 `json:"amount"`

	// AssetId (xaid) ID of the asset being transferred.
	AssetId uint64 `json:"asset-id"`

	// CloseAmount number of assets transferred to the close-to account as part of the
	// transaction.
	CloseAmount uint64 `json:"close-amount,omitempty"`

	// CloseTo (aclose) Indicates that the asset should be removed from the account's
	// Assets map, and specifies where the remaining asset holdings should be
	// transferred. It's always valid to transfer remaining asset holdings to the
	// creator account.
	CloseTo string `json:"close-to,omitempty"`

	// Receiver (arcv) Recipient address of the transfer.
	Receiver string `json:"receiver"`

	// Sender (asnd) The effective sender during a clawback transactions. If this is
	// not a zero value, the real transaction sender must be the Clawback address from
	// the AssetParams.
	Sender string `json:"sender,omitempty"`
}

TransactionAssetTransfer fields for an asset transfer transaction. Definition: data/transactions/asset.go : AssetTransferTxnFields

type TransactionGroupLedgerStateDeltasForRoundResponse added in v2.2.0

type TransactionGroupLedgerStateDeltasForRoundResponse struct {
	// Deltas
	Deltas []LedgerStateDeltaForTransactionGroup `json:"Deltas"`
}

TransactionGroupLedgerStateDeltasForRoundResponse response containing all ledger state deltas for transaction groups, with their associated Ids, in a single round.

type TransactionKeyreg

type TransactionKeyreg struct {
	// NonParticipation (nonpart) Mark the account as participating or
	// non-participating.
	NonParticipation bool `json:"non-participation,omitempty"`

	// SelectionParticipationKey (selkey) Public key used with the Verified Random
	// Function (VRF) result during committee selection.
	SelectionParticipationKey []byte `json:"selection-participation-key,omitempty"`

	// StateProofKey (sprfkey) State proof key used in key registration transactions.
	StateProofKey []byte `json:"state-proof-key,omitempty"`

	// VoteFirstValid (votefst) First round this participation key is valid.
	VoteFirstValid uint64 `json:"vote-first-valid,omitempty"`

	// VoteKeyDilution (votekd) Number of subkeys in each batch of participation keys.
	VoteKeyDilution uint64 `json:"vote-key-dilution,omitempty"`

	// VoteLastValid (votelst) Last round this participation key is valid.
	VoteLastValid uint64 `json:"vote-last-valid,omitempty"`

	// VoteParticipationKey (votekey) Participation public key used in key registration
	// transactions.
	VoteParticipationKey []byte `json:"vote-participation-key,omitempty"`
}

TransactionKeyreg fields for a keyreg transaction. Definition: data/transactions/keyreg.go : KeyregTxnFields

type TransactionParametersResponse

type TransactionParametersResponse struct {
	// ConsensusVersion consensusVersion indicates the consensus protocol version
	// as of LastRound.
	ConsensusVersion string `json:"consensus-version"`

	// Fee fee is the suggested transaction fee
	// Fee is in units of micro-Algos per byte.
	// Fee may fall to zero but transactions must still have a fee of
	// at least MinTxnFee for the current network protocol.
	Fee uint64 `json:"fee"`

	// GenesisHash genesisHash is the hash of the genesis block.
	GenesisHash []byte `json:"genesis-hash"`

	// GenesisId genesisID is an ID listed in the genesis block.
	GenesisId string `json:"genesis-id"`

	// LastRound lastRound indicates the last round seen
	LastRound uint64 `json:"last-round"`

	// MinFee the minimum transaction fee (not per byte) required for the
	// txn to validate for the current network protocol.
	MinFee uint64 `json:"min-fee"`
}

TransactionParametersResponse transactionParams contains the parameters that help a client construct a new transaction.

type TransactionPayment

type TransactionPayment struct {
	// Amount (amt) number of MicroAlgos intended to be transferred.
	Amount uint64 `json:"amount"`

	// CloseAmount number of MicroAlgos that were sent to the close-remainder-to
	// address when closing the sender account.
	CloseAmount uint64 `json:"close-amount,omitempty"`

	// CloseRemainderTo (close) when set, indicates that the sending account should be
	// closed and all remaining funds be transferred to this address.
	CloseRemainderTo string `json:"close-remainder-to,omitempty"`

	// Receiver (rcv) receiver's address.
	Receiver string `json:"receiver"`
}

TransactionPayment fields for a payment transaction. Definition: data/transactions/payment.go : PaymentTxnFields

type TransactionProofResponse

type TransactionProofResponse struct {
	// Hashtype the type of hash function used to create the proof, must be one of:
	// * sha512_256
	// * sha256
	Hashtype string `json:"hashtype,omitempty"`

	// Idx index of the transaction in the block's payset.
	Idx uint64 `json:"idx"`

	// Proof proof of transaction membership.
	Proof []byte `json:"proof"`

	// Stibhash hash of SignedTxnInBlock for verifying proof.
	Stibhash []byte `json:"stibhash"`

	// Treedepth represents the depth of the tree that is being proven, i.e. the number
	// of edges from a leaf to the root.
	Treedepth uint64 `json:"treedepth"`
}

TransactionProofResponse proof of transaction in a block.

type TransactionResponse

type TransactionResponse struct {
	// CurrentRound round at which the results were computed.
	CurrentRound uint64 `json:"current-round"`

	// Transaction contains all fields common to all transactions and serves as an
	// envelope to all transactions type. Represents both regular and inner
	// transactions.
	// Definition:
	// data/transactions/signedtxn.go : SignedTxn
	// data/transactions/transaction.go : Transaction
	Transaction Transaction `json:"transaction"`
}

TransactionResponse

type TransactionSignature

type TransactionSignature struct {
	// Logicsig (lsig) Programatic transaction signature.
	// Definition:
	// data/transactions/logicsig.go
	Logicsig TransactionSignatureLogicsig `json:"logicsig,omitempty"`

	// Multisig (msig) structure holding multiple subsignatures.
	// Definition:
	// crypto/multisig.go : MultisigSig
	Multisig TransactionSignatureMultisig `json:"multisig,omitempty"`

	// Sig (sig) Standard ed25519 signature.
	Sig []byte `json:"sig,omitempty"`
}

TransactionSignature validation signature associated with some data. Only one of the signatures should be provided.

type TransactionSignatureLogicsig

type TransactionSignatureLogicsig struct {
	// Args (arg) Logic arguments, base64 encoded.
	Args [][]byte `json:"args,omitempty"`

	// Logic (l) Program signed by a signature or multi signature, or hashed to be the
	// address of ana ccount. Base64 encoded TEAL program.
	Logic []byte `json:"logic"`

	// MultisigSignature (msig) structure holding multiple subsignatures.
	// Definition:
	// crypto/multisig.go : MultisigSig
	MultisigSignature TransactionSignatureMultisig `json:"multisig-signature,omitempty"`

	// Signature (sig) ed25519 signature.
	Signature []byte `json:"signature,omitempty"`
}

TransactionSignatureLogicsig (lsig) Programatic transaction signature. Definition: data/transactions/logicsig.go

type TransactionSignatureMultisig

type TransactionSignatureMultisig struct {
	// Subsignature (subsig) holds pairs of public key and signatures.
	Subsignature []TransactionSignatureMultisigSubsignature `json:"subsignature,omitempty"`

	// Threshold (thr)
	Threshold uint64 `json:"threshold,omitempty"`

	// Version (v)
	Version uint64 `json:"version,omitempty"`
}

TransactionSignatureMultisig (msig) structure holding multiple subsignatures. Definition: crypto/multisig.go : MultisigSig

type TransactionSignatureMultisigSubsignature

type TransactionSignatureMultisigSubsignature struct {
	// PublicKey (pk)
	PublicKey []byte `json:"public-key,omitempty"`

	// Signature (s)
	Signature []byte `json:"signature,omitempty"`
}

TransactionSignatureMultisigSubsignature defines a model for TransactionSignatureMultisigSubsignature.

type TransactionStateProof

type TransactionStateProof struct {
	// Message (spmsg)
	Message IndexerStateProofMessage `json:"message,omitempty"`

	// StateProof (sp) represents a state proof.
	// Definition:
	// crypto/stateproof/structs.go : StateProof
	StateProof StateProofFields `json:"state-proof,omitempty"`

	// StateProofType (sptype) Type of the state proof. Integer representing an entry
	// defined in protocol/stateproof.go
	StateProofType uint64 `json:"state-proof-type,omitempty"`
}

TransactionStateProof fields for a state proof transaction. Definition: data/transactions/stateproof.go : StateProofTxnFields

type TransactionsResponse

type TransactionsResponse struct {
	// CurrentRound round at which the results were computed.
	CurrentRound uint64 `json:"current-round"`

	// NextToken used for pagination, when making another request provide this token
	// with the next parameter.
	NextToken string `json:"next-token,omitempty"`

	// Transactions
	Transactions []Transaction `json:"transactions"`
}

TransactionsResponse

type Version

type Version struct {
	// Build
	Build BuildVersion `json:"build"`

	// GenesisHash
	GenesisHash []byte `json:"genesis_hash_b64"`

	// GenesisID
	GenesisID string `json:"genesis_id"`

	// Versions
	Versions []string `json:"versions"`
}

Version algod version information.

type VersionBuild

type VersionBuild BuildVersion

VersionBuild

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL