12 const NativeBulletproofCircuit& circuit,
13 std::span<const unsigned char> statement_binding = {});
16 const NativeBulletproofCircuit::PackedWithSlack& circuit,
17 std::span<const unsigned char> statement_binding = {});
20 const NativeBulletproofCircuit::PackedWithSlack& circuit,
21 const BulletproofAssignmentData& assignment,
25 std::span<const unsigned char> statement_binding = {},
26 std::optional<BulletproofScalarBytes> blind = std::nullopt,
27 ExperimentalBulletproofBackendCache* backend_cache =
nullptr);
Native Bulletproof-style circuit types and witness serialization helpers.
Result< Bytes > experimental_circuit_binding_digest(const NativeBulletproofCircuit &circuit, std::span< const unsigned char > statement_binding)
std::array< unsigned char, 33 > BulletproofGeneratorBytes
std::array< unsigned char, 32 > BulletproofScalarBytes
Result< ExperimentalBulletproofProof > prove_experimental_circuit_assume_valid(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, ExperimentalBulletproofBackendCache *backend_cache)