Skip to content

Commit 61513d5

Browse files
Merge branch 'main' into dev/memory-get-public
2 parents b57066b + 5ef8405 commit 61513d5

File tree

4 files changed

+30
-61
lines changed

4 files changed

+30
-61
lines changed

.github/workflows/rust.yml

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,7 @@ jobs:
6666
id: cache-programs
6767
with:
6868
path: ${{ env.CAIRO_PROGRAMS_PATH }}
69-
key: ${{ matrix.program-target }}-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
70-
restore-keys: ${{ matrix.program-target }}-cache-
69+
key: ${{ matrix.program-target }}-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
7170

7271
# This is not pretty, but we need `make` to see the compiled programs are
7372
# actually newer than the sources, otherwise it will try to rebuild them
@@ -121,44 +120,38 @@ jobs:
121120
uses: actions/cache/restore@v3
122121
with:
123122
path: ${{ env.CAIRO_PROGRAMS_PATH }}
124-
key: cairo_test_programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
125-
fail-on-cache-miss: true
126-
- name: Fetch cairo stwo exclusive programs
127-
uses: actions/cache/restore@v3
128-
with:
129-
path: ${{ env.CAIRO_PROGRAMS_PATH }}
130-
key: cairo_stwo_exclusive_programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
123+
key: cairo_test_programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
131124
fail-on-cache-miss: true
132125
- name: Fetch proof programs
133126
uses: actions/cache/restore@v3
134127
with:
135128
path: ${{ env.CAIRO_PROGRAMS_PATH }}
136-
key: cairo_proof_programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
129+
key: cairo_proof_programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
137130
fail-on-cache-miss: true
138131
- name: Fetch bench programs
139132
uses: actions/cache/restore@v3
140133
with:
141134
path: ${{ env.CAIRO_PROGRAMS_PATH }}
142-
key: cairo_bench_programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
135+
key: cairo_bench_programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
143136
fail-on-cache-miss: true
144137
- name: Fetch test contracts (Cairo 1)
145138
uses: actions/cache/restore@v3
146139
with:
147140
path: ${{ env.CAIRO_PROGRAMS_PATH }}
148-
key: cairo_1_test_contracts-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
141+
key: cairo_1_test_contracts-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
149142
fail-on-cache-miss: true
150143
- name: Fetch test contracts (Cairo 2)
151144
uses: actions/cache/restore@v3
152145
with:
153146
path: ${{ env.CAIRO_PROGRAMS_PATH }}
154-
key: cairo_2_test_contracts-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
147+
key: cairo_2_test_contracts-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
155148
fail-on-cache-miss: true
156149

157150
- name: Merge caches
158151
uses: actions/cache/save@v3
159152
with:
160153
path: ${{ env.CAIRO_PROGRAMS_PATH }}
161-
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
154+
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
162155

163156
lint:
164157
needs: merge-caches
@@ -187,7 +180,7 @@ jobs:
187180
uses: actions/cache/restore@v3
188181
with:
189182
path: ${{ env.CAIRO_PROGRAMS_PATH }}
190-
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
183+
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
191184
fail-on-cache-miss: true
192185

193186
- name: Run clippy
@@ -232,7 +225,7 @@ jobs:
232225
uses: actions/cache/restore@v3
233226
with:
234227
path: ${{ env.CAIRO_PROGRAMS_PATH }}
235-
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
228+
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
236229
fail-on-cache-miss: true
237230

238231
# NOTE: we do this separately because --workspace operates in weird ways
@@ -279,7 +272,7 @@ jobs:
279272
uses: actions/cache/restore@v3
280273
with:
281274
path: ${{ env.CAIRO_PROGRAMS_PATH }}
282-
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
275+
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
283276
fail-on-cache-miss: true
284277

285278
- name: Check all features (workspace)
@@ -314,7 +307,7 @@ jobs:
314307
uses: actions/cache/restore@v3
315308
with:
316309
path: ${{ env.CAIRO_PROGRAMS_PATH }}
317-
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
310+
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
318311
fail-on-cache-miss: true
319312

320313
- name: Check no-std
@@ -351,7 +344,7 @@ jobs:
351344
uses: actions/cache/restore@v3
352345
with:
353346
path: ${{ env.CAIRO_PROGRAMS_PATH }}
354-
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
347+
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
355348
fail-on-cache-miss: true
356349

357350
- name: Install testing tools
@@ -448,8 +441,7 @@ jobs:
448441
cairo_programs/**/*.air_public_input
449442
cairo_programs/**/*.air_private_input
450443
cairo_programs/**/*.pie.zip
451-
key: ${{ matrix.program-target }}-reference-trace-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
452-
restore-keys: ${{ matrix.program-target }}-reference-trace-cache-
444+
key: ${{ matrix.program-target }}-reference-trace-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
453445

454446
- name: Python3 Build
455447
if: steps.trace-cache.outputs.cache-hit != 'true'
@@ -467,7 +459,7 @@ jobs:
467459
uses: actions/cache/restore@v3
468460
with:
469461
path: ${{ env.CAIRO_PROGRAMS_PATH }}
470-
key: ${{ matrix.program-target }}-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
462+
key: ${{ matrix.program-target }}-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
471463
fail-on-cache-miss: true
472464

473465
# This is not pretty, but we need `make` to see the compiled programs are
@@ -520,7 +512,7 @@ jobs:
520512
uses: actions/cache/restore@v3
521513
with:
522514
path: ${{ env.CAIRO_PROGRAMS_PATH }}
523-
key: ${{ matrix.program-target }}-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
515+
key: ${{ matrix.program-target }}-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
524516
fail-on-cache-miss: true
525517

526518
- name: Generate traces
@@ -675,7 +667,7 @@ jobs:
675667
cairo_programs/**/*.air_public_input
676668
cairo_programs/**/*.air_private_input
677669
cairo_programs/**/*.pie.zip
678-
key: ${{ matrix.program-target }}-reference-trace-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
670+
key: ${{ matrix.program-target }}-reference-trace-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
679671
fail-on-cache-miss: true
680672

681673
- name: Fetch traces for cairo-vm
@@ -760,7 +752,7 @@ jobs:
760752
uses: actions/cache/restore@v3
761753
with:
762754
path: ${{ env.CAIRO_PROGRAMS_PATH }}
763-
key: cairo_proof_programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
755+
key: cairo_proof_programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
764756
fail-on-cache-miss: true
765757

766758
- name: Run script
@@ -799,7 +791,7 @@ jobs:
799791
uses: actions/cache/restore@v3
800792
with:
801793
path: ${{ env.CAIRO_PROGRAMS_PATH }}
802-
key: cairo_proof_programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
794+
key: cairo_proof_programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
803795
fail-on-cache-miss: true
804796

805797
- name: Fetch pie

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
* dev: made Memory::get public [#2039](https://github.com/lambdaclass/cairo-vm/pull/2039)
66

7+
* refactor: remove duplicated get_val function [#2065](https://github.com/lambdaclass/cairo-vm/pull/2065)
8+
79
* fix: Always use a normal segment in first SegmentArena segment [#1845](https://github.com/lambdaclass/cairo-vm/pull/1845)
810

911
* chore: update cairo-lang dependencies to 2.12.0-dev.0 #[2040](https://github.com/lambdaclass/cairo-vm/pull/2040)

vm/src/hint_processor/cairo_1_hint_processor/hint_processor.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -474,10 +474,10 @@ impl Cairo1HintProcessor {
474474
remainder1: &CellRef,
475475
) -> Result<(), HintError> {
476476
let pow_2_128 = BigUint::from(u128::MAX) + 1u32;
477-
let dividend0 = get_val(vm, dividend0)?.to_biguint();
478-
let dividend1 = get_val(vm, dividend1)?.to_biguint();
479-
let divisor0 = get_val(vm, divisor0)?.to_biguint();
480-
let divisor1 = get_val(vm, divisor1)?.to_biguint();
477+
let dividend0 = res_operand_get_val(vm, dividend0)?.to_biguint();
478+
let dividend1 = res_operand_get_val(vm, dividend1)?.to_biguint();
479+
let divisor0 = res_operand_get_val(vm, divisor0)?.to_biguint();
480+
let divisor1 = res_operand_get_val(vm, divisor1)?.to_biguint();
481481
let dividend: BigUint = dividend0 + dividend1.shl(128);
482482
let divisor = divisor0 + divisor1.shl(128);
483483
let (quotient, remainder) = dividend.div_rem(&divisor);
@@ -1155,10 +1155,10 @@ impl Cairo1HintProcessor {
11551155
t_or_k1: &CellRef,
11561156
) -> Result<(), HintError> {
11571157
let pow_2_128 = BigInt::from(u128::MAX) + 1u32;
1158-
let b0 = get_val(vm, b0)?.to_bigint();
1159-
let b1 = get_val(vm, b1)?.to_bigint();
1160-
let n0 = get_val(vm, n0)?.to_bigint();
1161-
let n1 = get_val(vm, n1)?.to_bigint();
1158+
let b0 = res_operand_get_val(vm, b0)?.to_bigint();
1159+
let b1 = res_operand_get_val(vm, b1)?.to_bigint();
1160+
let n0 = res_operand_get_val(vm, n0)?.to_bigint();
1161+
let n1 = res_operand_get_val(vm, n1)?.to_bigint();
11621162
let b: BigInt = b0.clone() + b1.clone().shl(128);
11631163
let n: BigInt = n0 + n1.shl(128);
11641164
let ExtendedGcd {
@@ -1217,14 +1217,14 @@ impl Cairo1HintProcessor {
12171217
n_mul_mods: &ResOperand,
12181218
mul_mod_builtin_ptr: &ResOperand,
12191219
) -> Result<(), HintError> {
1220-
let n_add_mods = get_val(vm, n_add_mods)?;
1220+
let n_add_mods = res_operand_get_val(vm, n_add_mods)?;
12211221
let n_add_mods =
12221222
n_add_mods
12231223
.to_usize()
12241224
.ok_or(HintError::Math(MathError::Felt252ToUsizeConversion(
12251225
Box::from(n_add_mods),
12261226
)))?;
1227-
let n_mul_mods = get_val(vm, n_mul_mods)?;
1227+
let n_mul_mods = res_operand_get_val(vm, n_mul_mods)?;
12281228
let n_mul_mods =
12291229
n_mul_mods
12301230
.to_usize()

vm/src/hint_processor/cairo_1_hint_processor/hint_processor_utils.rs

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -40,31 +40,6 @@ pub(crate) fn get_mayberelocatable(
4040
})
4141
}
4242

43-
/// Fetches the value of `res_operand` from the vm.
44-
pub(crate) fn get_val(
45-
vm: &VirtualMachine,
46-
res_operand: &ResOperand,
47-
) -> Result<Felt252, VirtualMachineError> {
48-
match res_operand {
49-
ResOperand::Deref(cell) => get_cell_val(vm, cell),
50-
ResOperand::DoubleDeref(cell, offset) => {
51-
get_double_deref_val(vm, cell, &Felt252::from(*offset as i32))
52-
}
53-
ResOperand::Immediate(x) => Ok(Felt252::from(&x.value)),
54-
ResOperand::BinOp(op) => {
55-
let a = get_cell_val(vm, &op.a)?;
56-
let b = match &op.b {
57-
DerefOrImmediate::Deref(cell) => get_cell_val(vm, cell)?,
58-
DerefOrImmediate::Immediate(x) => Felt252::from(&x.value),
59-
};
60-
match op.op {
61-
Operation::Add => Ok(a + b),
62-
Operation::Mul => Ok(a * b),
63-
}
64-
}
65-
}
66-
}
67-
6843
pub(crate) fn cell_ref_to_relocatable(
6944
cell_ref: &CellRef,
7045
vm: &VirtualMachine,

0 commit comments

Comments
 (0)