verifier

package
v0.0.7-rc.1 Latest Latest
Warning

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

Go to latest
Published: Jul 31, 2026 License: MIT Imports: 18 Imported by: 0

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

func NewDefault() (*Verifier, error)

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.

func (*Verifier) VerifyProofList

func (v *Verifier) VerifyProofList(ctx context.Context, pl prooflist.ProofList) (bool, error)

VerifyProofList verifies a complete ordered ProofList. The context is accepted for facade compatibility; primitive verification is deterministic and performs no I/O.

Jump to

Keyboard shortcuts

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