Skip to content

Commit 260c051

Browse files
committed
Add Mainnet case for Mina FFI
1 parent e973022 commit 260c051

File tree

7 files changed

+50
-35
lines changed

7 files changed

+50
-35
lines changed

Makefile

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -518,24 +518,24 @@ batcher_send_mina_task:
518518
@echo "Sending Mina state task to Batcher..."
519519
@cd batcher/aligned/ && cargo run --release -- submit \
520520
--proving_system Mina \
521-
--proof ../../scripts/test_files/mina/mina_state.proof \
522-
--public_input ../../scripts/test_files/mina/mina_state.pub \
521+
--proof ../../scripts/test_files/mina/devnet_mina_state.proof \
522+
--public_input ../../scripts/test_files/mina/devnet_mina_state.pub \
523523
--proof_generator_addr 0x66f9664f97F2b50F62D13eA064982f936dE76657
524524

525525
batcher_send_mina_task_bad_hash:
526526
@echo "Sending Mina state task to Batcher..."
527527
@cd batcher/aligned/ && cargo run --release -- submit \
528528
--proving_system Mina \
529-
--proof ../../scripts/test_files/mina/mina_state.proof \
529+
--proof ../../scripts/test_files/mina/devnet_mina_state.proof \
530530
--public_input ../../scripts/test_files/mina/mina_state_bad_hash.pub \
531531
--proof_generator_addr 0x66f9664f97F2b50F62D13eA064982f936dE76657
532532

533533
batcher_send_mina_burst:
534534
@echo "Sending Mina state task to Batcher..."
535535
@cd batcher/aligned/ && cargo run --release -- submit \
536536
--proving_system Mina \
537-
--proof ../../scripts/test_files/mina/mina_state.proof \
538-
--public_input ../../scripts/test_files/mina/mina_state.pub \
537+
--proof ../../scripts/test_files/mina/devnet_mina_state.proof \
538+
--public_input ../../scripts/test_files/mina/devnet_mina_state.pub \
539539
--repetitions 15 \
540540
--proof_generator_addr 0x66f9664f97F2b50F62D13eA064982f936dE76657
541541

operator/mina/lib/src/consensus_state.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ mod test {
165165
use super::*;
166166

167167
const PROOF_BYTES: &[u8] =
168-
include_bytes!("../../../../scripts/test_files/mina/mina_state.proof");
168+
include_bytes!("../../../../scripts/test_files/mina/devnet_mina_state.proof");
169169

170170
#[test]
171171
fn new_mina_state_passes_consensus_checks() {

operator/mina/lib/src/lib.rs

Lines changed: 44 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -242,29 +242,44 @@ mod test {
242242

243243
use super::*;
244244

245-
const PROOF_BYTES: &[u8] =
246-
include_bytes!("../../../../scripts/test_files/mina/mina_state.proof");
247-
const PUB_INPUT_BYTES: &[u8] =
248-
include_bytes!("../../../../scripts/test_files/mina/mina_state.pub");
245+
const DEVNET_PROOF_BYTES: &[u8] =
246+
include_bytes!("../../../../scripts/test_files/mina/devnet_mina_state.proof");
247+
const DEVNET_PUB_INPUT_BYTES: &[u8] =
248+
include_bytes!("../../../../scripts/test_files/mina/devnet_mina_state.pub");
249+
const MAINNET_PROOF_BYTES: &[u8] =
250+
include_bytes!("../../../../scripts/test_files/mina/mainnet_mina_state.proof");
251+
const MAINNET_PUB_INPUT_BYTES: &[u8] =
252+
include_bytes!("../../../../scripts/test_files/mina/mainnet_mina_state.pub");
249253
const BAD_HASH_PUB_INPUT_BYTES: &[u8] =
250254
include_bytes!("../../../../scripts/test_files/mina/mina_state_bad_hash.pub");
251255

252256
#[test]
253-
fn valid_mina_state_proof_verifies() {
257+
fn valid_devnet_mina_state_proof_verifies() {
254258
let result = verify_mina_state_ffi(
255-
PROOF_BYTES.as_ptr(),
256-
PROOF_BYTES.len() as u32,
257-
PUB_INPUT_BYTES.as_ptr(),
258-
PUB_INPUT_BYTES.len() as u32,
259+
DEVNET_PROOF_BYTES.as_ptr(),
260+
DEVNET_PROOF_BYTES.len() as u32,
261+
DEVNET_PUB_INPUT_BYTES.as_ptr(),
262+
DEVNET_PUB_INPUT_BYTES.len() as u32,
263+
);
264+
assert_eq!(result, 1);
265+
}
266+
267+
#[test]
268+
fn valid_mainnet_mina_state_proof_verifies() {
269+
let result = verify_mina_state_ffi(
270+
MAINNET_PROOF_BYTES.as_ptr(),
271+
MAINNET_PROOF_BYTES.len() as u32,
272+
MAINNET_PUB_INPUT_BYTES.as_ptr(),
273+
MAINNET_PUB_INPUT_BYTES.len() as u32,
259274
);
260275
assert_eq!(result, 1);
261276
}
262277

263278
#[test]
264279
fn mina_state_proof_with_bad_bridge_tip_hash_does_not_verify() {
265280
let result = verify_mina_state_ffi(
266-
PROOF_BYTES.as_ptr(),
267-
PROOF_BYTES.len() as u32,
281+
DEVNET_PROOF_BYTES.as_ptr(),
282+
DEVNET_PROOF_BYTES.len() as u32,
268283
BAD_HASH_PUB_INPUT_BYTES.as_ptr(),
269284
BAD_HASH_PUB_INPUT_BYTES.len() as u32,
270285
);
@@ -273,26 +288,26 @@ mod test {
273288

274289
#[test]
275290
fn zeroized_mina_state_proof_does_not_verify() {
276-
const PROOF_SIZE: usize = PROOF_BYTES.len();
291+
const PROOF_SIZE: usize = DEVNET_PROOF_BYTES.len();
277292
let empty_proof_buffer = [0u8; PROOF_SIZE];
278293

279294
let result = verify_mina_state_ffi(
280295
empty_proof_buffer.as_ptr(),
281296
PROOF_SIZE as u32,
282-
PUB_INPUT_BYTES.as_ptr(),
283-
PUB_INPUT_BYTES.len() as u32,
297+
DEVNET_PUB_INPUT_BYTES.as_ptr(),
298+
DEVNET_PUB_INPUT_BYTES.len() as u32,
284299
);
285300
assert_eq!(result, 0);
286301
}
287302

288303
#[test]
289304
fn valid_mina_state_proof_with_zeroized_pub_input_does_not_verify() {
290-
const PUB_INPUT_SIZE: usize = PUB_INPUT_BYTES.len();
305+
const PUB_INPUT_SIZE: usize = DEVNET_PUB_INPUT_BYTES.len();
291306
let empty_pub_input_buffer = [0u8; PUB_INPUT_SIZE];
292307

293308
let result = verify_mina_state_ffi(
294-
PROOF_BYTES.as_ptr(),
295-
PROOF_BYTES.len() as u32,
309+
DEVNET_PROOF_BYTES.as_ptr(),
310+
DEVNET_PROOF_BYTES.len() as u32,
296311
empty_pub_input_buffer.as_ptr(),
297312
PUB_INPUT_SIZE as u32,
298313
);
@@ -303,41 +318,41 @@ mod test {
303318
fn null_mina_state_proof_does_not_verify() {
304319
let result = verify_mina_state_ffi(
305320
ptr::null(),
306-
PROOF_BYTES.len() as u32,
307-
PUB_INPUT_BYTES.as_ptr(),
308-
PUB_INPUT_BYTES.len() as u32,
321+
DEVNET_PROOF_BYTES.len() as u32,
322+
DEVNET_PUB_INPUT_BYTES.as_ptr(),
323+
DEVNET_PUB_INPUT_BYTES.len() as u32,
309324
);
310325
assert_eq!(result, 0);
311326
}
312327

313328
#[test]
314329
fn valid_mina_state_proof_with_null_pub_input_does_not_verify() {
315330
let result = verify_mina_state_ffi(
316-
PROOF_BYTES.as_ptr(),
317-
PROOF_BYTES.len() as u32,
331+
DEVNET_PROOF_BYTES.as_ptr(),
332+
DEVNET_PROOF_BYTES.len() as u32,
318333
ptr::null(),
319-
PUB_INPUT_BYTES.len() as u32,
334+
DEVNET_PUB_INPUT_BYTES.len() as u32,
320335
);
321336
assert_eq!(result, 0);
322337
}
323338

324339
#[test]
325340
fn empty_mina_state_proof_does_not_verify() {
326341
let result = verify_mina_state_ffi(
327-
PROOF_BYTES.as_ptr(),
342+
DEVNET_PROOF_BYTES.as_ptr(),
328343
0,
329-
PUB_INPUT_BYTES.as_ptr(),
330-
PUB_INPUT_BYTES.len() as u32,
344+
DEVNET_PUB_INPUT_BYTES.as_ptr(),
345+
DEVNET_PUB_INPUT_BYTES.len() as u32,
331346
);
332347
assert_eq!(result, 0);
333348
}
334349

335350
#[test]
336351
fn valid_mina_state_proof_with_empty_pub_input_does_not_verify() {
337352
let result = verify_mina_state_ffi(
338-
PROOF_BYTES.as_ptr(),
339-
PROOF_BYTES.len() as u32,
340-
PUB_INPUT_BYTES.as_ptr(),
353+
DEVNET_PROOF_BYTES.as_ptr(),
354+
DEVNET_PROOF_BYTES.len() as u32,
355+
DEVNET_PUB_INPUT_BYTES.as_ptr(),
341356
0,
342357
);
343358
assert_eq!(result, 0);
File renamed without changes.
File renamed without changes.
47.2 KB
Binary file not shown.
1.03 KB
Binary file not shown.

0 commit comments

Comments
 (0)