purify
C++ Purify implementation with native circuit and BPP support
Loading...
Searching...
No Matches
purify::NativeBulletproofCircuitTemplate Class Reference

Public-key-agnostic native verifier-circuit template. More...

#include <bulletproof.hpp>

Public Member Functions

Result< bool > partial_evaluate (const BulletproofAssignmentData &assignment) const
 Evaluates only the public-key-agnostic base circuit cached inside the template.
 
Result< bool > final_evaluate (const BulletproofAssignmentData &assignment, const UInt512 &pubkey) const
 Evaluates only the late-bound public-key/output constraints against one assignment.
 
Result< Bytesintegrity_digest () const
 Returns a stable digest of the packed base circuit plus late-bound expressions.
 
Result< NativeBulletproofCircuit::PackedWithSlackinstantiate_packed (const UInt512 &pubkey) const
 
Result< NativeBulletproofCircuitinstantiate (const UInt512 &pubkey) const
 

Static Public Member Functions

static NativeBulletproofCircuitTemplate from_parts (NativeBulletproofCircuit::PackedWithSlack base_packed, Expr p1x, Expr p2x, Expr out)
 Builds a template from a lowered base circuit plus late-bound public expressions.
 

Detailed Description

This caches the message/topic-dependent lowering work up to, but not including, the final public-key binding step. Instantiate it with a packed Purify public key when you need the exact native circuit for a specific user.

Definition at line 349 of file bulletproof.hpp.

Member Function Documentation

◆ final_evaluate()

◆ from_parts()

NativeBulletproofCircuitTemplate purify::NativeBulletproofCircuitTemplate::from_parts ( NativeBulletproofCircuit::PackedWithSlack  base_packed,
Expr  p1x,
Expr  p2x,
Expr  out 
)
static

Definition at line 1900 of file bulletproof.cpp.

Referenced by purify::verifier_circuit_template().

◆ instantiate()

◆ instantiate_packed()

◆ integrity_digest()

◆ partial_evaluate()


The documentation for this class was generated from the following files: