MCPcopy Create free account
hub / github.com/BitVM/BitVM / test_g

Function test_g

bitvm/src/hash/blake3_utils.rs:566–617  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

564
565 #[test]
566 fn test_g() {
567 let mut stack = StackTracker::new();
568
569 let tables = TablesVars::new(&mut stack, true);
570
571 let mut ret = Vec::new();
572 for i in 0..6 {
573 ret.push(stack.number_u32(i));
574 }
575
576 let mut var_map: HashMap<u8, StackVariable> = HashMap::new();
577 var_map.insert(0, ret[0]);
578 var_map.insert(1, ret[1]);
579 var_map.insert(2, ret[2]);
580 var_map.insert(3, ret[3]);
581
582 let start = stack.get_script().len();
583 g(
584 &mut stack,
585 &mut var_map,
586 0,
587 1,
588 2,
589 3,
590 ret[4],
591 ret[5],
592 &tables,
593 false,
594 );
595 let end = stack.get_script().len();
596 println!("G size: {}", end - start);
597
598 stack.number_u32(0xc4d46c6c); //b
599 stack.custom(script! { {verify_n(8)}}, 2, false, 0, "verify");
600
601 stack.number_u32(0x6a063602); //c
602 stack.custom(script! { {verify_n(8)}}, 2, false, 0, "verify");
603
604 stack.number_u32(0x6a003600); //d
605 stack.custom(script! { {verify_n(8)}}, 2, false, 0, "verify");
606
607 stack.number_u32(0x0030006a); //a
608 stack.custom(script! { {verify_n(8)}}, 2, false, 0, "verify");
609
610 stack.drop(ret[5]);
611 stack.drop(ret[4]);
612 tables.drop(&mut stack);
613
614 stack.op_true();
615
616 assert!(stack.run().success);
617 }
618
619 #[test]
620 fn test_round() {

Callers

nothing calls this directly

Calls 5

gFunction · 0.85
lenMethod · 0.80
get_scriptMethod · 0.80
pushMethod · 0.45
dropMethod · 0.45

Tested by

no test coverage detected