11#include <stdio.h>
2- #include <stdlib.h> // Required for abort()
2+ #include <stdlib.h>
33#include <string.h>
44#include <secp256k1.h>
5- #include <openssl/rand.h>
65#include "secp256k1_mpt.h"
76#include "test_utils.h"
87
9- // Helper: Generates 32 random bytes (e.g., for randomness or tx_context_id)
10- // Now returns void and uses EXPECT internally to enforce success.
11- static void get_random_bytes (unsigned char * buffer32 ) {
12- EXPECT (RAND_bytes (buffer32 , 32 ) == 1 );
13- }
148
159// Forward declarations for all test functions
1610static void test_equality_proof_valid (const secp256k1_context * ctx );
@@ -25,7 +19,7 @@ int main() {
2519 EXPECT (ctx != NULL );
2620
2721 unsigned char seed [32 ];
28- get_random_bytes (seed );
22+ random_bytes (seed );
2923 EXPECT (secp256k1_context_randomize (ctx , seed ) == 1 );
3024
3125 // Run tests for this module
@@ -55,15 +49,15 @@ static void test_equality_proof_valid(const secp256k1_context* ctx) {
5549
5650 // 1. Setup: Generate keys, randomness, and encrypt
5751 EXPECT (secp256k1_elgamal_generate_keypair (ctx , privkey , & pubkey ) == 1 );
58- get_random_bytes (randomness_r );
52+ random_bytes (randomness_r );
5953
6054 // Ensure randomness is a valid scalar (needed for proof gen)
6155 while (secp256k1_ec_seckey_verify (ctx , randomness_r ) != 1 ) {
62- get_random_bytes (randomness_r );
56+ random_bytes (randomness_r );
6357 }
6458
6559 EXPECT (secp256k1_elgamal_encrypt (ctx , & c1 , & c2 , & pubkey , amount , randomness_r ) == 1 );
66- get_random_bytes (tx_context_id );
60+ random_bytes (tx_context_id );
6761
6862 // 2. Generate the proof
6963 int prove_result = secp256k1_equality_plaintext_prove (
@@ -93,14 +87,14 @@ static void test_equality_proof_invalid_amount(const secp256k1_context* ctx) {
9387
9488 // 1. Setup: Generate keys, randomness, encrypt correct amount
9589 EXPECT (secp256k1_elgamal_generate_keypair (ctx , privkey , & pubkey ) == 1 );
96- get_random_bytes (randomness_r );
90+ random_bytes (randomness_r );
9791
9892 while (secp256k1_ec_seckey_verify (ctx , randomness_r ) != 1 ) {
99- get_random_bytes (randomness_r );
93+ random_bytes (randomness_r );
10094 }
10195
10296 EXPECT (secp256k1_elgamal_encrypt (ctx , & c1 , & c2 , & pubkey , correct_amount , randomness_r ) == 1 );
103- get_random_bytes (tx_context_id );
97+ random_bytes (tx_context_id );
10498
10599 // 2. Generate the proof for the correct amount
106100 EXPECT (secp256k1_equality_plaintext_prove (
@@ -128,14 +122,14 @@ static void test_equality_proof_invalid_tampered(const secp256k1_context* ctx) {
128122
129123 // 1. Setup and generate a valid proof
130124 EXPECT (secp256k1_elgamal_generate_keypair (ctx , privkey , & pubkey ) == 1 );
131- get_random_bytes (randomness_r );
125+ random_bytes (randomness_r );
132126
133127 while (secp256k1_ec_seckey_verify (ctx , randomness_r ) != 1 ) {
134- get_random_bytes (randomness_r );
128+ random_bytes (randomness_r );
135129 }
136130
137131 EXPECT (secp256k1_elgamal_encrypt (ctx , & c1 , & c2 , & pubkey , amount , randomness_r ) == 1 );
138- get_random_bytes (tx_context_id );
132+ random_bytes (tx_context_id );
139133 EXPECT (secp256k1_equality_plaintext_prove (
140134 ctx , proof , & c1 , & c2 , & pubkey , amount , randomness_r , tx_context_id ) == 1 );
141135
@@ -163,14 +157,14 @@ static void test_equality_proof_zero_amount(const secp256k1_context* ctx) {
163157
164158 // 1. Setup: Generate keys, randomness, and encrypt
165159 EXPECT (secp256k1_elgamal_generate_keypair (ctx , privkey , & pubkey ) == 1 );
166- get_random_bytes (randomness_r );
160+ random_bytes (randomness_r );
167161
168162 while (secp256k1_ec_seckey_verify (ctx , randomness_r ) != 1 ) {
169- get_random_bytes (randomness_r );
163+ random_bytes (randomness_r );
170164 }
171165
172166 EXPECT (secp256k1_elgamal_encrypt (ctx , & c1 , & c2 , & pubkey , amount , randomness_r ) == 1 );
173- get_random_bytes (tx_context_id );
167+ random_bytes (tx_context_id );
174168
175169 // 2. Generate the proof for amount 0
176170 int prove_result = secp256k1_equality_plaintext_prove (
0 commit comments