Documentation
¶
Overview ¶
Package verifier contains verifier-critical helpers for ProofList evidence.
Package verifier verifies ProofList evidence without graph runtime, ArcTable, storage, layout, server, or daemon dependencies.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func VerifyProofListListStructure ¶
func VerifyProofListListStructure(lists ListVerifier, step prooflist.Step, stepIndex int) (bool, error)
VerifyProofListListStructure verifies list-backed ProofList structure steps through the supplied verification-only list backend.
Types ¶
type BackendRegistry ¶
type BackendRegistry struct {
// contains filtered or unexported fields
}
BackendRegistry maps the backend kind encoded in a typed MALT CID to pure map/list verification implementations.
func NewBackendRegistry ¶
func NewBackendRegistry() *BackendRegistry
NewBackendRegistry creates an empty backend registry.
func NewDefaultBackendRegistry ¶
func NewDefaultBackendRegistry() (*BackendRegistry, error)
NewDefaultBackendRegistry creates the portable built-in KZG/IPA registry.
func (*BackendRegistry) Register ¶
func (r *BackendRegistry) Register(kind maltcid.BackendKind, maps MapVerifier, lists ListVerifier) error
Register installs verification-only map and list implementations for kind.
func (*BackendRegistry) RegisterScheme ¶
func (r *BackendRegistry) RegisterScheme(kind maltcid.BackendKind, scheme commitment.IndexVerifier) error
RegisterScheme installs the built-in radix-map and tree-list proof decoders over one primitive commitment scheme.
type ListVerifier ¶
type ListVerifier interface {
Verify(root cid.Cid, index uint64, expected list.Query, proof structure.Proof) (bool, error)
}
ListVerifier is the minimum stable-list surface required to verify a list_index ProofList step.
type MapVerifier ¶
type MapVerifier interface {
Verify(root cid.Cid, key arcset.Path, expected mapping.Binding, proof structure.Proof) (bool, error)
}
MapVerifier is the minimum keyed-map surface required to verify a ProofList. Stateful map semantics satisfy this interface, but portable clients can use a verification-only implementation backed solely by a commitment scheme.
type MeasuredListVerifier ¶
type MeasuredListVerifier interface {
ListVerifier
VerifyRange(root cid.Cid, start uint64, end *uint64, expected list.RangeResult, proof structure.Proof) (bool, error)
}
MeasuredListVerifier extends ListVerifier with byte-range verification.
type Verifier ¶
type Verifier struct {
// contains filtered or unexported fields
}
Verifier verifies ordered ProofList structure, query binding, and all cryptographic map/list evidence through verification-only backends.
func New ¶
func New(maps MapVerifier, lists ListVerifier) *Verifier
New creates a verifier over fixed map and list verification surfaces. This constructor is used by runtime adapters and test doubles.
func NewDefault ¶
NewDefault creates a portable verifier supporting the built-in KZG and IPA commitment backends.
func NewWithRegistry ¶
func NewWithRegistry(registry *BackendRegistry) *Verifier
NewWithRegistry creates a verifier that selects commitment backends from the typed CID at each proof step. It is the portable client constructor.