purify
C++ Purify implementation with native circuit and BPP support
Loading...
Searching...
No Matches
bulletproof_internal.hpp
Go to the documentation of this file.
1// Copyright (c) 2026 Judica, Inc.
2// Distributed under the MIT software license, see the accompanying
3// file COPYING or https://opensource.org/license/mit/.
4
5#pragma once
6
8
9namespace purify {
10
12 const NativeBulletproofCircuit& circuit,
13 std::span<const unsigned char> statement_binding = {});
14
16 const NativeBulletproofCircuit::PackedWithSlack& circuit,
17 std::span<const unsigned char> statement_binding = {});
18
19Result<ExperimentalBulletproofProof> prove_experimental_circuit_assume_valid(
20 const NativeBulletproofCircuit::PackedWithSlack& circuit,
21 const BulletproofAssignmentData& assignment,
23 const BulletproofGeneratorBytes& value_generator,
24 purify_secp_context* secp_context,
25 std::span<const unsigned char> statement_binding = {},
26 std::optional<BulletproofScalarBytes> blind = std::nullopt,
27 ExperimentalBulletproofBackendCache* backend_cache = nullptr);
28
29} // namespace purify
Native Bulletproof-style circuit types and witness serialization helpers.
Definition api.hpp:21
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)
Nonce nonce
Definition bppp.cpp:120