|
| Result< ExperimentalBulletproofProof > | purify::prove_experimental_circuit (const NativeBulletproofCircuit &circuit, const BulletproofAssignmentData &assignment, const BulletproofScalarBytes &nonce, const BulletproofGeneratorBytes &value_generator, purify_secp_context *secp_context, std::span< const unsigned char > statement_binding={}, std::optional< BulletproofScalarBytes > blind=std::nullopt, ExperimentalBulletproofBackendCache *backend_cache=nullptr) |
| | Proves a native circuit with the experimental imported Bulletproof circuit backend.
|
| |
| Result< ExperimentalBulletproofProof > | purify::prove_experimental_circuit (const NativeBulletproofCircuit::PackedWithSlack &circuit, const BulletproofAssignmentData &assignment, const BulletproofScalarBytes &nonce, const BulletproofGeneratorBytes &value_generator, purify_secp_context *secp_context, std::span< const unsigned char > statement_binding={}, std::optional< BulletproofScalarBytes > blind=std::nullopt, ExperimentalBulletproofBackendCache *backend_cache=nullptr) |
| |
| Result< bool > | purify::verify_experimental_circuit (const NativeBulletproofCircuit &circuit, const ExperimentalBulletproofProof &proof, const BulletproofGeneratorBytes &value_generator, purify_secp_context *secp_context, std::span< const unsigned char > statement_binding={}, ExperimentalBulletproofBackendCache *backend_cache=nullptr) |
| | Verifies a proof produced by prove_experimental_circuit against the same one-commitment native circuit.
|
| |
| Result< bool > | purify::verify_experimental_circuit (const NativeBulletproofCircuit::PackedWithSlack &circuit, const ExperimentalBulletproofProof &proof, const BulletproofGeneratorBytes &value_generator, purify_secp_context *secp_context, std::span< const unsigned char > statement_binding={}, ExperimentalBulletproofBackendCache *backend_cache=nullptr) |
| |
| Result< NativeBulletproofCircuitTemplate > | purify::verifier_circuit_template (const Bytes &message) |
| | Builds a reusable public-key-agnostic verifier-circuit template for a message.
|
| |
| Expr | purify::circuit_1bit (const std::array< FieldElement, 2 > &values, Transcript &transcript, const Expr &x) |
| | Selects one of two field constants using a single boolean expression bit.
|
| |
| Expr | purify::circuit_2bit (const std::array< FieldElement, 4 > &values, Transcript &transcript, const Expr &x, const Expr &y) |
| | Selects one of four field constants using two boolean expression bits.
|
| |
| Expr | purify::circuit_3bit (const std::array< FieldElement, 8 > &values, Transcript &transcript, const Expr &x, const Expr &y, const Expr &z) |
| | Selects one of eight field constants using three boolean expression bits.
|
| |
| ExprPoint | purify::circuit_1bit_point (const EllipticCurve &curve, const std::array< JacobianPoint, 2 > &points, Transcript &transcript, const Expr &b0) |
| | Selects between two affine point constants using one boolean expression bit.
|
| |
| ExprPoint | purify::circuit_2bit_point (const EllipticCurve &curve, const std::array< JacobianPoint, 4 > &points, Transcript &transcript, const Expr &b0, const Expr &b1) |
| | Selects between four affine point constants using two boolean expression bits.
|
| |
| ExprPoint | purify::circuit_3bit_point (const EllipticCurve &curve, const std::array< JacobianPoint, 8 > &points, Transcript &transcript, const Expr &b0, const Expr &b1, const Expr &b2) |
| | Selects between eight affine point constants using three boolean expression bits.
|
| |
| ExprPoint | purify::circuit_optionally_negate_ec (const ExprPoint &point, Transcript &transcript, const Expr &negate_bit) |
| | Conditionally negates an elliptic-curve point encoded as symbolic affine expressions.
|
| |
| ExprPoint | purify::circuit_ec_add (Transcript &transcript, const ExprPoint &p1, const ExprPoint &p2) |
| | Symbolically adds two affine elliptic-curve points.
|
| |
| Expr | purify::circuit_ec_add_x (Transcript &transcript, const ExprPoint &p1, const ExprPoint &p2) |
| | Symbolically adds two affine points and returns only the resulting x-coordinate.
|
| |
| Expr | purify::circuit_ec_multiply_x (const EllipticCurve &curve, Transcript &transcript, const JacobianPoint &point, const std::vector< Expr > &bits) |
| | Builds the symbolic x-coordinate multiplication gadget for one curve point.
|
| |
| Expr | purify::circuit_combine (Transcript &transcript, const Expr &x1, const Expr &x2) |
| | Builds the symbolic Purify output combiner over two x-coordinates.
|
| |
| Result< CircuitMainResult > | purify::circuit_main (Transcript &transcript, const JacobianPoint &m1, const JacobianPoint &m2, const std::optional< UInt256 > &z1=std::nullopt, const std::optional< UInt256 > &z2=std::nullopt) |
| | Builds the full symbolic Purify circuit from message points and optional witness scalars.
|
| |