@@ -14,44 +14,54 @@ namespace bb {
14
14
constexpr size_t COMMITMENT_TEST_NUM_BN254_POINTS = 4096 ;
15
15
constexpr size_t COMMITMENT_TEST_NUM_GRUMPKIN_POINTS = 1 << CONST_ECCVM_LOG_N;
16
16
17
- template <class CK > inline std::shared_ptr<CK> CreateCommitmentKey ( );
17
+ template <class CK > inline std::shared_ptr<CK> create_commitment_key ( const size_t num_points = 0 );
18
18
19
- template <> inline std::shared_ptr<CommitmentKey<curve::BN254>> CreateCommitmentKey<CommitmentKey<curve::BN254>>()
19
+ template <>
20
+ inline std::shared_ptr<CommitmentKey<curve::BN254>> create_commitment_key<CommitmentKey<curve::BN254>>(
21
+ const size_t num_points)
20
22
{
21
23
srs::init_crs_factory (bb::srs::get_ignition_crs_path ());
24
+ if (num_points != 0 ) {
25
+ return std::make_shared<CommitmentKey<curve::BN254>>(num_points);
26
+ };
22
27
return std::make_shared<CommitmentKey<curve::BN254>>(COMMITMENT_TEST_NUM_BN254_POINTS);
23
28
}
24
29
// For IPA
25
- template <> inline std::shared_ptr<CommitmentKey<curve::Grumpkin>> CreateCommitmentKey<CommitmentKey<curve::Grumpkin>>()
30
+ template <>
31
+ inline std::shared_ptr<CommitmentKey<curve::Grumpkin>> create_commitment_key<CommitmentKey<curve::Grumpkin>>(
32
+ const size_t num_points)
26
33
{
27
34
srs::init_grumpkin_crs_factory (bb::srs::get_grumpkin_crs_path ());
35
+ if (num_points != 0 ) {
36
+ return std::make_shared<CommitmentKey<curve::Grumpkin>>(num_points);
37
+ }
28
38
return std::make_shared<CommitmentKey<curve::Grumpkin>>(COMMITMENT_TEST_NUM_GRUMPKIN_POINTS);
29
39
}
30
40
31
- template <typename CK> inline std::shared_ptr<CK> CreateCommitmentKey ( )
41
+ template <typename CK> inline std::shared_ptr<CK> create_commitment_key ( size_t num_points )
32
42
// requires std::default_initializable<CK>
33
43
{
34
- return std::make_shared<CK>();
44
+ return std::make_shared<CK>(num_points );
35
45
}
36
46
37
- template <class VK > inline std::shared_ptr<VK> CreateVerifierCommitmentKey ();
47
+ template <class VK > inline std::shared_ptr<VK> create_verifier_commitment_key ();
38
48
39
49
template <>
40
- inline std::shared_ptr<VerifierCommitmentKey<curve::BN254>> CreateVerifierCommitmentKey <
50
+ inline std::shared_ptr<VerifierCommitmentKey<curve::BN254>> create_verifier_commitment_key <
41
51
VerifierCommitmentKey<curve::BN254>>()
42
52
{
43
53
return std::make_shared<VerifierCommitmentKey<curve::BN254>>();
44
54
}
45
55
// For IPA
46
56
template <>
47
- inline std::shared_ptr<VerifierCommitmentKey<curve::Grumpkin>> CreateVerifierCommitmentKey <
57
+ inline std::shared_ptr<VerifierCommitmentKey<curve::Grumpkin>> create_verifier_commitment_key <
48
58
VerifierCommitmentKey<curve::Grumpkin>>()
49
59
{
50
60
auto crs_factory = std::make_shared<srs::factories::FileCrsFactory<curve::Grumpkin>>(
51
61
bb::srs::get_grumpkin_crs_path (), COMMITMENT_TEST_NUM_GRUMPKIN_POINTS);
52
62
return std::make_shared<VerifierCommitmentKey<curve::Grumpkin>>(COMMITMENT_TEST_NUM_GRUMPKIN_POINTS, crs_factory);
53
63
}
54
- template <typename VK> inline std::shared_ptr<VK> CreateVerifierCommitmentKey ()
64
+ template <typename VK> inline std::shared_ptr<VK> create_verifier_commitment_key ()
55
65
// requires std::default_initializable<VK>
56
66
{
57
67
return std::make_shared<VK>();
@@ -149,10 +159,10 @@ template <typename Curve> class CommitmentTest : public ::testing::Test {
149
159
{
150
160
// Avoid reallocating static objects if called in subclasses of FooTest.
151
161
if (commitment_key == nullptr ) {
152
- commitment_key = CreateCommitmentKey <CK>();
162
+ commitment_key = create_commitment_key <CK>();
153
163
}
154
164
if (verification_key == nullptr ) {
155
- verification_key = CreateVerifierCommitmentKey <VK>();
165
+ verification_key = create_verifier_commitment_key <VK>();
156
166
}
157
167
}
158
168
0 commit comments