Skip to content

Create Publication

We are looking for publications that demonstrate building dApps or smart contracts!
See the full list of Gitcoin bounties that are eligible for rewards.

types indexer.StateProofTransactionResult

@algorandfoundation/algokit-utils / types/indexer / StateProofTransactionResult

Interface: StateProofTransactionResult

types/indexer.StateProofTransactionResult

Fields for a state proof transaction https://developer.algorand.org/docs/rest-apis/indexer/#transactionstateproof.

See also https://developer.algorand.org/docs/get-details/stateproofs/, https://developer.algorand.org/docs/get-details/stateproofs/light_client/, https://github.com/algorand/go-algorand/blob/master/data/transactions/stateproof.go, https://github.com/algorand/go-algorand/blob/master/crypto/stateproof/structs.go, https://github.com/algorand/go-algorand/blob/master/data/stateproofmsg/message.go, and https://developer.algorand.org/docs/rest-apis/algod/#stateproof.

Table of contents

Properties

Properties

message

message: Object

[spmsg] State proof message

Message represents the message that the state proofs are attesting to. This message can be used by lightweight client and gives it the ability to verify proofs on the Algorand's state.

In addition to that proof, this message also contains fields that are needed in order to verify the next state proofs (VotersCommitment and LnProvenWeight).

Type declaration
Name Type Description
block-headers-commitment string [b] BlockHeadersCommitment contains a commitment on all light block headers within a state proof interval.
first-attested-round number [f] First round the message attests to
latest-attested-round number [l] Last round the message attests to
ln-proven-weight number [P] 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.
voters-commitment string [v] The vector commitment root of the top N accounts to sign the next StateProof. Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\
Defined in

src/types/indexer.ts:295


state-proof

state-proof: Object

[sp] a proof on Algorand's state

Type declaration
Name Type Description
part-proofs MerkleArrayProof [P] Part proofs that make up the overall proof
positions-to-reveal number[] [pr] The positions that are revealed
reveals { participant: { verifier: { commitment: string ; key-lifetime: number } ; weight: number } ; position: number ; sig-slot: { lower-sig-weight: number ; signature: { falcon-signature: string ; merkle-array-index: number ; proof: MerkleArrayProof ; verifying-key: string } } }[] [r] Reveals is a sparse map from the position being revealed to the corresponding elements from the sigs and participants arrays.
salt-version number [v] Merkle signature salt version
sig-commit string [c] Digest of the signature commit
sig-proofs MerkleArrayProof [S] Proofs for the signature
signed-weight number [w] The combined weight of the signatures
Defined in

src/types/indexer.ts:310


state-proof-type

state-proof-type: number

[sptype] State proof type, per https://github.com/algorand/go-algorand/blob/master/protocol/stateproof.go#L24

  • 0: StateProofBasic is our initial state proof setup. using falcon keys and subset-sum hash
Defined in

src/types/indexer.ts:389