Documentation
¶
Index ¶
- func Antichain[V VID](store Store[V], vertices []V) []V
- func BeyondHorizon[V VID](store Store[V], vertex V, horizon EventHorizon[V]) bool
- func ChooseFrontier[V VID](frontier []V) []V
- func ComputeFinalizableSet[V VID](store Store[V], candidates []V, params Params) []V
- func ComputeHorizonOrder[V VID](store Store[V], horizon EventHorizon[V]) []V
- func ComputeSafePrefix[V VID](store Store[V], frontier []V) []V
- func HasCertificate(v View, proposer Meta, p Params) bool
- func HasCertificateGeneric[V VID](store Store[V], vertex V, params Params) bool
- func HasSkip(v View, proposer Meta, p Params) bool
- func HasSkipGeneric[V VID](store Store[V], vertex V, params Params) bool
- func IsReachable[V VID](store Store[V], from, to V) bool
- func LCA[V VID](store Store[V], a, b V) V
- func UpdateDAGFrontier[V VID](store Store[V], finalized []V) []V
- type BlockView
- type Decision
- type EventHorizon
- type Flare
- type Meta
- type Params
- type Store
- type VID
- type VertexID
- type View
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BeyondHorizon ¶
func BeyondHorizon[V VID](store Store[V], vertex V, horizon EventHorizon[V]) bool
BeyondHorizon checks if a vertex is beyond the event horizon (finalized)
func ChooseFrontier ¶
func ChooseFrontier[V VID](frontier []V) []V
ChooseFrontier selects appropriate parents for a new vertex proposal This typically involves choosing a subset of frontier vertices to reference
func ComputeFinalizableSet ¶
ComputeFinalizableSet returns vertices that can be finalized based on cert/skip analysis
func ComputeHorizonOrder ¶
func ComputeHorizonOrder[V VID](store Store[V], horizon EventHorizon[V]) []V
ComputeHorizonOrder determines the canonical order of vertices beyond the event horizon
func ComputeSafePrefix ¶
ComputeSafePrefix computes the safe prefix of vertices that can be committed based on DAG order theory using horizon (reachability) and flare (cert/skip) analysis
func HasCertificate ¶
Cert: >=2f+1 in r+1 support proposer(author,round). Skip: >=2f+1 in r+1 not supporting.
func HasCertificateGeneric ¶
HasCertificateGeneric checks if a vertex has a certificate (≥2f+1 validators support it)
func HasSkipGeneric ¶
HasSkipGeneric checks if a vertex has a skip certificate (≥2f+1 validators do not support it)
func IsReachable ¶
IsReachable checks if vertex 'from' can reach vertex 'to' in the DAG
func UpdateDAGFrontier ¶
UpdateDAGFrontier computes the new frontier after finalizing a set of vertices
Types ¶
type EventHorizon ¶
type EventHorizon[V VID] struct { // Checkpoint represents a finalized state boundary Checkpoint V // Height at which this horizon was established Height uint64 // Validators that signed this horizon Validators []string // Post-quantum signature (Ringtail + BLS) Signature []byte }
EventHorizon represents the finality boundary in Quasar P-Chain consensus Beyond this horizon, no events can affect the finalized state
func Horizon ¶
func Horizon[V VID](store Store[V], checkpoints []EventHorizon[V]) EventHorizon[V]
Horizon computes the event horizon for Quasar P-Chain finality This determines which vertices are beyond the point of no return
type VID ¶
type VID interface{ comparable }
VID represents a generic vertex identifier for new protocol interfaces