Skip to content

Commit 84f5b1b

Browse files
committed
Remove feature mod_builtin
1 parent 9528e66 commit 84f5b1b

9 files changed

Lines changed: 34 additions & 111 deletions

File tree

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,16 @@ Both branches support Stwo prover opcodes (Blake2s, QM31) since v2.0.0.
1111
---
1212

1313
#### Upcoming Changes
14+
* fix: remove feature mod_builtin [#2387](https://github.com/starkware-libs/cairo-vm/pull/2387)
15+
1416
* fix: decrease spamming logs level to trace [#2385](https://github.com/starkware-libs/cairo-vm/pull/2385)
1517

1618
* feat: add `test_helpers` module (`error_utils`, `test_utils`) with `assert_mr_eq`, `load_cairo_program!` macro and `expect_*` error checkers, behind `test_utils` feature flag [#2381](https://github.com/starkware-libs/cairo-vm/pull/2381)
1719

1820
* feat(makefile,ci): add `cairo_test_suite_programs` Makefile target and CI integration to compile Cairo test suite programs before running tests [#2380](https://github.com/starkware-libs/cairo-vm/pull/2380)
1921

2022
* Add Stwo cairo runner API [#2351](https://github.com/starkware-libs/cairo-vm/pull/2351)
23+
2124
* feat: make max traceback entries configurable [#2370](https://github.com/starkware-libs/cairo-vm/pull/2370)
2225

2326
* feat: create and use VirtualMachineConfig [#2369](https://github.com/starkware-libs/cairo-vm/pull/2369)

cairo1-run/src/main.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -408,13 +408,13 @@ mod tests {
408408
Some("[17 18]"),
409409
Some("[17 18]")
410410
)]
411-
#[cfg_attr(feature = "mod_builtin", case(
411+
#[case(
412412
"circuit.cairo",
413413
"36699840570117848377038274035 72042528776886984408017100026 54251667697617050795983757117 7",
414414
"[36699840570117848377038274035 72042528776886984408017100026 54251667697617050795983757117 7]",
415415
None,
416416
None
417-
))]
417+
)]
418418
#[case(
419419
"gas_builtin_loading.cairo",
420420
"939340725154356279478212603733403581890242362232206720294887278547043341575",

vm/src/cairo_run.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -758,19 +758,17 @@ mod tests {
758758
}
759759

760760
fn stwo_allowed_builtins() -> Vec<BuiltinName> {
761-
let mut allowed = vec![
761+
let allowed = vec![
762762
BuiltinName::output,
763763
BuiltinName::pedersen,
764764
BuiltinName::range_check,
765765
BuiltinName::bitwise,
766766
BuiltinName::ec_op,
767767
BuiltinName::poseidon,
768768
BuiltinName::range_check96,
769+
BuiltinName::add_mod,
770+
BuiltinName::mul_mod,
769771
];
770-
if cfg!(feature = "mod_builtin") {
771-
allowed.push(BuiltinName::add_mod);
772-
allowed.push(BuiltinName::mul_mod);
773-
}
774772
allowed
775773
}
776774

vm/src/hint_processor/builtin_hint_processor/mod_circuit.rs

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
#[cfg(not(feature = "mod_builtin"))]
2-
use crate::types::errors::math_errors::MathError;
31
use crate::{
42
hint_processor::hint_processor_definition::HintReference,
53
serde::deserialize_program::ApTracking,
@@ -51,18 +49,6 @@ pub fn run_p_mod_circuit_with_large_batch_size(
5149
ap_tracking: &ApTracking,
5250
constants: &HashMap<String, Felt252>,
5351
) -> Result<(), HintError> {
54-
#[cfg(not(feature = "mod_builtin"))]
55-
const LARGE_BATCH_SIZE_PATH: &str =
56-
"starkware.cairo.common.modulo.run_mod_p_circuit_with_large_batch_size.BATCH_SIZE";
57-
#[cfg(not(feature = "mod_builtin"))]
58-
let batch_size = constants
59-
.get(LARGE_BATCH_SIZE_PATH)
60-
.ok_or_else(|| HintError::MissingConstant(Box::new(LARGE_BATCH_SIZE_PATH)))?;
61-
#[cfg(not(feature = "mod_builtin"))]
62-
let batch_size = batch_size
63-
.to_usize()
64-
.ok_or_else(|| MathError::Felt252ToUsizeConversion(Box::new(*batch_size)))?;
65-
#[cfg(feature = "mod_builtin")]
6652
let batch_size = 8; // Hardcoded here as we are not importing from the common lib yet
6753
run_p_mod_circuit_inner(vm, ids_data, ap_tracking, batch_size)
6854
}

vm/src/tests/cairo_run_test.rs

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
use crate::{tests::*, types::layout_name::LayoutName};
22

3-
#[cfg(feature = "mod_builtin")]
43
use crate::{
54
utils::test_utils::Program,
65
vm::{
@@ -993,15 +992,13 @@ fn run_program_allow_missing_builtins_proof() {
993992
}
994993

995994
#[test]
996-
#[cfg(feature = "mod_builtin")]
997995
fn cairo_run_mod_builtin() {
998996
let program_data =
999997
include_bytes!("../../../cairo_programs/mod_builtin_feature/mod_builtin.json");
1000998
run_program_with_custom_mod_builtin_params(program_data, false, 1, 3, None);
1001999
}
10021000

10031001
#[test]
1004-
#[cfg(feature = "mod_builtin")]
10051002
fn cairo_run_mod_builtin_failure() {
10061003
let program_data =
10071004
include_bytes!("../../../cairo_programs/mod_builtin_feature/mod_builtin_failure.json");
@@ -1010,15 +1007,13 @@ fn cairo_run_mod_builtin_failure() {
10101007
}
10111008

10121009
#[test]
1013-
#[cfg(feature = "mod_builtin")]
10141010
fn cairo_run_mod_builtin_no_solution() {
10151011
let program_data =
10161012
include_bytes!("../../../cairo_programs/mod_builtin_feature/mod_builtin_no_solution.json");
10171013
run_program_with_error(program_data, "Could not fill the values table");
10181014
}
10191015

10201016
#[test]
1021-
#[cfg(feature = "mod_builtin")]
10221017
fn cairo_run_mod_builtin_large_batch_size() {
10231018
let program_data = include_bytes!(
10241019
"../../../cairo_programs/mod_builtin_feature/mod_builtin_large_batch_size.json"
@@ -1027,7 +1022,6 @@ fn cairo_run_mod_builtin_large_batch_size() {
10271022
}
10281023

10291024
#[test]
1030-
#[cfg(feature = "mod_builtin")]
10311025
fn cairo_run_mod_builtin_large_batch_size_failure() {
10321026
let program_data = include_bytes!(
10331027
"../../../cairo_programs/mod_builtin_feature/mod_builtin_large_batch_size_failure.json"
@@ -1037,23 +1031,20 @@ fn cairo_run_mod_builtin_large_batch_size_failure() {
10371031
}
10381032

10391033
#[test]
1040-
#[cfg(feature = "mod_builtin")]
10411034
fn cairo_run_mod_builtin_proof() {
10421035
let program_data =
10431036
include_bytes!("../../../cairo_programs/mod_builtin_feature/proof/mod_builtin.json");
10441037
run_program_with_custom_mod_builtin_params(program_data, true, 1, 3, None);
10451038
}
10461039

10471040
#[test]
1048-
#[cfg(feature = "mod_builtin")]
10491041
fn cairo_run_mod_builtin_large_batch_size_proof() {
10501042
let program_data = include_bytes!(
10511043
"../../../cairo_programs/mod_builtin_feature/proof/mod_builtin_large_batch_size.json"
10521044
);
10531045
run_program_with_custom_mod_builtin_params(program_data, true, 8, 3, None);
10541046
}
10551047

1056-
#[cfg(feature = "mod_builtin")]
10571048
fn run_program_with_custom_mod_builtin_params(
10581049
data: &[u8],
10591050
proof_mode: bool,
@@ -1110,15 +1101,13 @@ fn run_program_with_custom_mod_builtin_params(
11101101
}
11111102

11121103
#[test]
1113-
#[cfg(feature = "mod_builtin")]
11141104
fn cairo_run_apply_poly() {
11151105
let program_data =
11161106
include_bytes!("../../../cairo_programs/mod_builtin_feature/apply_poly.json");
11171107
run_program(program_data, false, None, None, None);
11181108
}
11191109

11201110
#[test]
1121-
#[cfg(feature = "mod_builtin")]
11221111
fn cairo_run_apply_poly_proof() {
11231112
let program_data =
11241113
include_bytes!("../../../cairo_programs/mod_builtin_feature/proof/apply_poly.json");

vm/src/types/instance_definitions/builtins_instance_def.rs

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -168,14 +168,8 @@ impl BuiltinsInstanceDef {
168168
keccak: Some(KeccakInstanceDef::new(Some(2048))),
169169
poseidon: Some(PoseidonInstanceDef::new(Some(256))),
170170
range_check96: Some(RangeCheckInstanceDef::new(Some(8))),
171-
#[cfg(feature = "mod_builtin")]
172171
add_mod: Some(ModInstanceDef::new(Some(128), 1, 96)),
173-
#[cfg(feature = "mod_builtin")]
174172
mul_mod: Some(ModInstanceDef::new(Some(256), 1, 96)),
175-
#[cfg(not(feature = "mod_builtin"))]
176-
add_mod: None,
177-
#[cfg(not(feature = "mod_builtin"))]
178-
mul_mod: None,
179173
}
180174
}
181175

@@ -190,14 +184,8 @@ impl BuiltinsInstanceDef {
190184
keccak: None,
191185
poseidon: Some(PoseidonInstanceDef::new(Some(256))),
192186
range_check96: Some(RangeCheckInstanceDef::new(Some(8))),
193-
#[cfg(feature = "mod_builtin")]
194187
add_mod: Some(ModInstanceDef::new(Some(128), 1, 96)),
195-
#[cfg(feature = "mod_builtin")]
196188
mul_mod: Some(ModInstanceDef::new(Some(256), 1, 96)),
197-
#[cfg(not(feature = "mod_builtin"))]
198-
add_mod: None,
199-
#[cfg(not(feature = "mod_builtin"))]
200-
mul_mod: None,
201189
}
202190
}
203191

@@ -212,14 +200,8 @@ impl BuiltinsInstanceDef {
212200
keccak: None,
213201
poseidon: Some(PoseidonInstanceDef::new(Some(256))),
214202
range_check96: Some(RangeCheckInstanceDef::new(Some(8))),
215-
#[cfg(feature = "mod_builtin")]
216203
add_mod: Some(ModInstanceDef::new(Some(128), 1, 96)),
217-
#[cfg(feature = "mod_builtin")]
218204
mul_mod: Some(ModInstanceDef::new(Some(256), 1, 96)),
219-
#[cfg(not(feature = "mod_builtin"))]
220-
add_mod: None,
221-
#[cfg(not(feature = "mod_builtin"))]
222-
mul_mod: None,
223205
}
224206
}
225207

@@ -267,7 +249,6 @@ impl BuiltinsInstanceDef {
267249
params.range_check96_ratio_den,
268250
)),
269251
});
270-
#[cfg(feature = "mod_builtin")]
271252
let add_mod = Some(ModInstanceDef {
272253
ratio: Some(LowRatio::new(
273254
params.add_mod_ratio,
@@ -276,7 +257,6 @@ impl BuiltinsInstanceDef {
276257
word_bit_len: 96,
277258
batch_size: 1,
278259
});
279-
#[cfg(feature = "mod_builtin")]
280260
let mul_mod = Some(ModInstanceDef {
281261
ratio: Some(LowRatio::new(
282262
params.mul_mod_ratio,
@@ -285,10 +265,6 @@ impl BuiltinsInstanceDef {
285265
word_bit_len: 96,
286266
batch_size: 1,
287267
});
288-
#[cfg(not(feature = "mod_builtin"))]
289-
let add_mod = None;
290-
#[cfg(not(feature = "mod_builtin"))]
291-
let mul_mod = None;
292268

293269
BuiltinsInstanceDef {
294270
output: true,
@@ -444,14 +420,8 @@ mod tests {
444420
assert!(builtins.ec_op.is_some());
445421
assert!(builtins.keccak.is_some());
446422
assert!(builtins.poseidon.is_some());
447-
#[cfg(feature = "mod_builtin")]
448423
assert!(builtins.add_mod.is_some());
449-
#[cfg(feature = "mod_builtin")]
450424
assert!(builtins.mul_mod.is_some());
451-
#[cfg(not(feature = "mod_builtin"))]
452-
assert!(builtins.add_mod.is_none());
453-
#[cfg(not(feature = "mod_builtin"))]
454-
assert!(builtins.mul_mod.is_none());
455425
}
456426

457427
#[test]
@@ -465,14 +435,8 @@ mod tests {
465435
assert!(builtins.ec_op.is_some());
466436
assert!(builtins.keccak.is_none());
467437
assert!(builtins.poseidon.is_some());
468-
#[cfg(feature = "mod_builtin")]
469438
assert!(builtins.add_mod.is_some());
470-
#[cfg(feature = "mod_builtin")]
471439
assert!(builtins.mul_mod.is_some());
472-
#[cfg(not(feature = "mod_builtin"))]
473-
assert!(builtins.add_mod.is_none());
474-
#[cfg(not(feature = "mod_builtin"))]
475-
assert!(builtins.mul_mod.is_none());
476440
}
477441

478442
#[test]
@@ -486,14 +450,8 @@ mod tests {
486450
assert!(builtins.ec_op.is_none());
487451
assert!(builtins.keccak.is_none());
488452
assert!(builtins.poseidon.is_some());
489-
#[cfg(feature = "mod_builtin")]
490453
assert!(builtins.add_mod.is_some());
491-
#[cfg(feature = "mod_builtin")]
492454
assert!(builtins.mul_mod.is_some());
493-
#[cfg(not(feature = "mod_builtin"))]
494-
assert!(builtins.add_mod.is_none());
495-
#[cfg(not(feature = "mod_builtin"))]
496-
assert!(builtins.mul_mod.is_none());
497455
}
498456

499457
#[test]

vm/src/types/layout.rs

Lines changed: 23 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,6 @@ where
430430
#[cfg(test)]
431431
mod tests {
432432
use super::*;
433-
#[cfg(feature = "mod_builtin")]
434433
use crate::types::instance_definitions::mod_instance_def::ModInstanceDef;
435434

436435
use crate::types::instance_definitions::{
@@ -701,36 +700,30 @@ mod tests {
701700
ratio: Some(LowRatio::new(8, 16))
702701
})
703702
);
704-
#[cfg(feature = "mod_builtin")]
705-
{
706-
assert_eq!(
707-
layout.builtins.mul_mod,
708-
Some(ModInstanceDef {
709-
ratio: Some(LowRatio {
710-
numerator: 32,
711-
denominator: 16
712-
}),
713-
word_bit_len: 96, // hardcoded
714-
batch_size: 1 // hardcoded
703+
assert_eq!(
704+
layout.builtins.mul_mod,
705+
Some(ModInstanceDef {
706+
ratio: Some(LowRatio {
707+
numerator: 32,
708+
denominator: 16
715709
}),
716-
);
717-
assert_eq!(
718-
layout.builtins.add_mod,
719-
Some(ModInstanceDef {
720-
ratio: Some(LowRatio {
721-
numerator: 8,
722-
denominator: 16
723-
}),
724-
word_bit_len: 96, // hardcoded
725-
batch_size: 1 // hardcoded
726-
})
727-
);
728-
}
729-
#[cfg(not(feature = "mod_builtin"))]
730-
{
731-
assert_eq!(layout.builtins.mul_mod, None,);
732-
assert_eq!(layout.builtins.add_mod, None,);
733-
}
710+
word_bit_len: 96, // hardcoded
711+
batch_size: 1 // hardcoded
712+
}),
713+
);
714+
assert_eq!(
715+
layout.builtins.add_mod,
716+
Some(ModInstanceDef {
717+
ratio: Some(LowRatio {
718+
numerator: 8,
719+
denominator: 16
720+
}),
721+
word_bit_len: 96, // hardcoded
722+
batch_size: 1 // hardcoded
723+
})
724+
);
725+
assert_eq!(layout.builtins.mul_mod, None,);
726+
assert_eq!(layout.builtins.add_mod, None,);
734727
}
735728

736729
#[test]

vm/src/vm/runners/builtin_runner/modulo.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -658,7 +658,6 @@ impl ModBuiltinRunner {
658658
}
659659

660660
#[cfg(test)]
661-
#[cfg(feature = "mod_builtin")]
662661
// Testing method used to test programs that use parameters which are not included in any layout
663662
// For example, programs with large batch size
664663
pub(crate) fn override_layout_params(&mut self, batch_size: usize, word_bit_len: u32) {
@@ -806,7 +805,6 @@ mod tests {
806805
}
807806

808807
#[test]
809-
#[cfg(feature = "mod_builtin")]
810808
fn test_air_private_input_all_cairo() {
811809
use crate::{
812810
air_private_input::{ModInput, ModInputInstance, ModInputMemoryVars, PrivateInput},

vm/src/vm/runners/cairo_runner.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5882,19 +5882,17 @@ mod tests {
58825882
];
58835883
// Match the all_cairo_stwo layout builtins (mod builtins excluded
58845884
// unless the mod_builtin feature is enabled).
5885-
let mut allowed = vec![
5885+
let allowed = vec![
58865886
BuiltinName::output,
58875887
BuiltinName::pedersen,
58885888
BuiltinName::range_check,
58895889
BuiltinName::bitwise,
58905890
BuiltinName::ec_op,
58915891
BuiltinName::poseidon,
58925892
BuiltinName::range_check96,
5893+
BuiltinName::add_mod,
5894+
BuiltinName::mul_mod,
58935895
];
5894-
if cfg!(feature = "mod_builtin") {
5895-
allowed.push(BuiltinName::add_mod);
5896-
allowed.push(BuiltinName::mul_mod);
5897-
}
58985896
for program_bytes in programs {
58995897
let program = Program::from_bytes(program_bytes, Some("main")).unwrap();
59005898

0 commit comments

Comments
 (0)