Skip to content

Commit 8fc6d8c

Browse files
cleanup
1 parent 1ee079c commit 8fc6d8c

File tree

4 files changed

+17
-91
lines changed

4 files changed

+17
-91
lines changed

crates/circuits/mod-builder/src/builder.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use std::{cell::RefCell, iter, ops::Deref, rc::Rc};
1+
use std::{cell::RefCell, ops::Deref, rc::Rc};
22

33
use num_bigint::{BigInt, BigUint, Sign};
44
use num_traits::Zero;

extensions/ecc/circuit/src/edwards_chip/add.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use openvm_ecc_transpiler::Rv32EdwardsOpcode;
1616
use openvm_instructions::instruction::Instruction;
1717
use openvm_mod_circuit_builder::{
1818
utils::{biguint_to_limbs_vec, limbs_to_biguint},
19-
ExprBuilder, ExprBuilderConfig, FieldExpr, FieldExprCols, FieldVariable,
19+
ExprBuilder, ExprBuilderConfig, FieldExpr, FieldExprCols,
2020
};
2121
use openvm_stark_backend::{
2222
interaction::InteractionBuilder,

extensions/ecc/circuit/src/edwards_chip/tests.rs

Lines changed: 14 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
use std::str::FromStr;
22

3-
use num_bigint_dig::BigUint;
3+
use num_bigint::BigUint;
44
use num_traits::FromPrimitive;
55
use openvm_circuit::arch::{testing::VmChipTestBuilder, BITWISE_OP_LOOKUP_BUS};
66
use openvm_circuit_primitives::{
77
bigint::utils::big_uint_to_limbs,
88
bitwise_op_lookup::{BitwiseOperationLookupBus, SharedBitwiseOperationLookupChip},
99
};
1010
use openvm_ecc_transpiler::Rv32EdwardsOpcode;
11-
use openvm_instructions::{riscv::RV32_CELL_BITS, UsizeOpcode};
11+
use openvm_instructions::{riscv::RV32_CELL_BITS, LocalOpcode};
1212
use openvm_mod_circuit_builder::{test_utils::biguint_to_limbs, ExprBuilderConfig, FieldExpr};
1313
use openvm_rv32_adapters::{rv32_write_heap_default, Rv32VecHeapAdapterChip};
1414
use openvm_stark_backend::p3_field::FieldAlgebra;
@@ -52,11 +52,11 @@ lazy_static::lazy_static! {
5252

5353
// This is 2 * (x1, y1)
5454
let x4 = BigUint::from_str(
55-
"24727413235106541002554574571675588834622768167397638456726423682521233608206",
55+
"39226743113244985161159605482495583316761443760287217110659799046557361995496",
5656
)
5757
.unwrap();
5858
let y4 = BigUint::from_str(
59-
"15549675580280190176352668710449542251549572066445060580507079593062643049417",
59+
"12570354238812836652656274015246690354874018829607973815551555426027032771563",
6060
)
6161
.unwrap();
6262

@@ -121,13 +121,14 @@ fn test_add() {
121121
let mut chip = TeEcAddChip::new(
122122
adapter,
123123
config,
124-
Rv32EdwardsOpcode::default_offset(),
124+
Rv32EdwardsOpcode::CLASS_OFFSET,
125125
Edwards25519_A.clone(),
126126
Edwards25519_D.clone(),
127127
tester.range_checker(),
128128
tester.offline_memory_mutex_arc(),
129129
);
130-
assert_eq!(chip.0.core.expr().builder.num_variables, 12);
130+
//assert_eq!(chip.0.core.expr().builder.num_variables, 12);
131+
assert_eq!(chip.0.core.air.expr.builder.num_variables, 12);
131132

132133
let (p1_x, p1_y) = SampleEcPoints[0].clone();
133134
let (p2_x, p2_y) = SampleEcPoints[1].clone();
@@ -144,7 +145,9 @@ fn test_add() {
144145
let r = chip
145146
.0
146147
.core
147-
.expr()
148+
//.expr()
149+
.air
150+
.expr
148151
.execute(vec![p1_x, p1_y, p2_x, p2_y], vec![true]);
149152
assert_eq!(r.len(), 12);
150153

@@ -159,13 +162,14 @@ fn test_add() {
159162
assert_eq!(outputs[0], &SampleEcPoints[2].0);
160163
assert_eq!(outputs[1], &SampleEcPoints[2].1);
161164

162-
let prime_limbs: [BabyBear; NUM_LIMBS] = prime_limbs(chip.0.core.expr()).try_into().unwrap();
165+
//let prime_limbs: [BabyBear; NUM_LIMBS] = prime_limbs(chip.0.core.expr()).try_into().unwrap();
166+
let prime_limbs: [BabyBear; NUM_LIMBS] = prime_limbs(&chip.0.core.air.expr).try_into().unwrap();
163167
let mut one_limbs = [BabyBear::ONE; NUM_LIMBS];
164168
one_limbs[0] = BabyBear::ONE;
165169
let setup_instruction = rv32_write_heap_default(
166170
&mut tester,
167-
vec![prime_limbs, *Edwards25519_A_LIMBS, *Edwards25519_D_LIMBS],
168-
vec![],
171+
vec![prime_limbs, *Edwards25519_A_LIMBS],
172+
vec![*Edwards25519_D_LIMBS],
169173
chip.0.core.air.offset + Rv32EdwardsOpcode::SETUP_EC_ADD as usize,
170174
);
171175
tester.execute(&mut chip, &setup_instruction);
@@ -183,81 +187,3 @@ fn test_add() {
183187

184188
tester.simple_test().expect("Verification failed");
185189
}
186-
187-
#[test]
188-
fn test_double() {
189-
let mut tester: VmChipTestBuilder<F> = VmChipTestBuilder::default();
190-
let config = ExprBuilderConfig {
191-
modulus: Edwards25519_Prime.clone(),
192-
num_limbs: NUM_LIMBS,
193-
limb_bits: LIMB_BITS,
194-
};
195-
let bitwise_bus = BitwiseOperationLookupBus::new(BITWISE_OP_LOOKUP_BUS);
196-
let bitwise_chip = SharedBitwiseOperationLookupChip::<RV32_CELL_BITS>::new(bitwise_bus);
197-
let adapter = Rv32VecHeapAdapterChip::<F, 2, 2, 2, BLOCK_SIZE, BLOCK_SIZE>::new(
198-
tester.execution_bus(),
199-
tester.program_bus(),
200-
tester.memory_bridge(),
201-
tester.address_bits(),
202-
bitwise_chip.clone(),
203-
);
204-
let mut chip = TeEcAddChip::new(
205-
adapter,
206-
config,
207-
Rv32EdwardsOpcode::default_offset(),
208-
Edwards25519_A.clone(),
209-
Edwards25519_D.clone(),
210-
tester.range_checker(),
211-
tester.offline_memory_mutex_arc(),
212-
);
213-
assert_eq!(chip.0.core.expr().builder.num_variables, 12);
214-
215-
let (p1_x, p1_y) = SampleEcPoints[0].clone();
216-
217-
let p1_x_limbs =
218-
biguint_to_limbs::<NUM_LIMBS>(p1_x.clone(), LIMB_BITS).map(BabyBear::from_canonical_u32);
219-
let p1_y_limbs =
220-
biguint_to_limbs::<NUM_LIMBS>(p1_y.clone(), LIMB_BITS).map(BabyBear::from_canonical_u32);
221-
222-
let r = chip
223-
.0
224-
.core
225-
.expr()
226-
.execute(vec![p1_x.clone(), p1_y.clone(), p1_x, p1_y], vec![true]);
227-
assert_eq!(r.len(), 12);
228-
229-
let outputs = chip
230-
.0
231-
.core
232-
.air
233-
.output_indices()
234-
.iter()
235-
.map(|i| &r[*i])
236-
.collect::<Vec<_>>();
237-
assert_eq!(outputs[0], &SampleEcPoints[3].0);
238-
assert_eq!(outputs[1], &SampleEcPoints[3].1);
239-
240-
let prime_limbs: [BabyBear; NUM_LIMBS] = prime_limbs(chip.0.core.expr()).try_into().unwrap();
241-
let mut one_limbs = [BabyBear::ONE; NUM_LIMBS];
242-
one_limbs[0] = BabyBear::ONE;
243-
let setup_instruction = rv32_write_heap_default(
244-
&mut tester,
245-
vec![prime_limbs, *Edwards25519_A_LIMBS, *Edwards25519_D_LIMBS],
246-
vec![],
247-
chip.0.core.air.offset + Rv32EdwardsOpcode::SETUP_EC_ADD as usize,
248-
);
249-
tester.execute(&mut chip, &setup_instruction);
250-
251-
let instruction = rv32_write_heap_default(
252-
&mut tester,
253-
vec![p1_x_limbs, p1_y_limbs],
254-
vec![p1_x_limbs, p1_y_limbs],
255-
chip.0.core.air.offset + Rv32EdwardsOpcode::EC_ADD as usize,
256-
);
257-
258-
tester.execute(&mut chip, &instruction);
259-
260-
let tester = tester.build().load(chip).load(bitwise_chip).finalize();
261-
262-
tester.simple_test().expect("Verification failed");
263-
}

extensions/ecc/te-setup/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ pub fn te_init(input: TokenStream) -> TokenStream {
277277
let mut zero = [0u8; <<#item as openvm_ecc_guest::edwards::TwistedEdwardsPoint>::Coordinate as openvm_algebra_guest::IntMod>::NUM_LIMBS];
278278
let curve_a_bytes = openvm_algebra_guest::IntMod::as_le_bytes(&<#item as openvm_ecc_guest::edwards::TwistedEdwardsPoint>::CURVE_A);
279279
let curve_d_bytes = openvm_algebra_guest::IntMod::as_le_bytes(&<#item as openvm_ecc_guest::edwards::TwistedEdwardsPoint>::CURVE_D);
280-
let p1 = [modulus_bytes.as_ref(), curve_a_bytes.as_ref(), curve_d_bytes.as_ref()].concat();
280+
let p1 = [modulus_bytes.as_ref(), curve_a_bytes.as_ref()].concat();
281281
let p2 = [curve_d_bytes.as_ref(), zero.as_ref()].concat();
282282
let mut uninit: core::mem::MaybeUninit<[#item; 2]> = core::mem::MaybeUninit::uninit();
283283
openvm::platform::custom_insn_r!(

0 commit comments

Comments
 (0)