Releases: lambdaclass/cairo-vm
v0.8.7
-
Add REDUCE_V2 hint #1420:
- Implement REDUCE_V2 hint
- Rename hint REDUCE -> REDUCE_V1
-
BREAKING: Add
disable_trace_padding
toCairoRunConfig
#1233 -
feat: Implement
CairoRunner.get_cairo_pie
#1375 -
fix: Fix
SPLIT_FELT
hint #1387 -
refactor: combine
Program.hints
andProgram.hints_ranges
into custom collection #1366 -
fix: Fix div_mod #1383
- Fixes
div_mod
function so that it behaves like the cairo-lang version - Various functions in the
math_utils
crate can now return aMathError
:div_mod
,ec_add
,line_slope
,ec_double
,ec_double_slope
. - Fixes
UINT256_MUL_INV_MOD_P
hint so that it behaves like the python code.
- Fixes
v0.8.6
-
fix: Handle error in hint
UINT256_MUL_DIV_MOD
when divides by zero #1367 -
Add HintError::SyscallError and VmErrors::HINT_ERROR_STR constant #1357
-
feat: make arbitrary feature also enable a
proptest::arbitrary::Arbitrary
implementation forFelt252
#1355 -
fix: correctly display invalid signature error message #1361
v0.6.3
v0.8.5
-
fix:
Program
comparison depending onhints_ranges
ordering #1351 -
feat: implement the
--air_public_input
flag to the runner for outputting public inputs into a file #1268 -
fix: CLI errors bad formatting and handling
-
fix: return error when a parsed hint's PC is invalid #1340
-
chore(deps): bump cairo-lang dependencies to v2.1.0-rc2 #1345
-
chore(examples): remove wee_alloc dependency from wasm-demo example and ensure-no_std dummy crate #1337
-
docs: improved crate documentation #1334
-
chore!: made
deserialize_utils
module private #1334
BREAKING:deserialize_utils
is no longer exported- functions
maybe_add_padding
,parse_value
, andtake_until_unbalanced
are no longer exported ReferenceParseError
is no more
-
perf: changed
ok_or
usage forok_or_else
in expensive cases #1332 -
feat: updated the old WASM example and moved it to
examples/wasm-demo
#1315 -
feat(fuzzing): add
arbitrary
feature to enable arbitrary derive inProgram
andCairoRunConfig
#1306 #1330 -
perf: remove pointless iterator from rc limits tracking #1316
-
feat(felt): add
from_bytes_le
andfrom_bytes_ne
methods toFelt252
#1326 -
perf: change
Program::shared_program_data::hints
fromHashMap<usize, Vec<Box<dyn Any>>>
toVec<Box<dyn Any>>
and refer to them as ranges stored in aVec<_>
indexed by PC with run time reductions of up to 12% #931
BREAKING:get_hint_dictionary(&self, &[HintReference], &mut dyn HintProcessor) -> Result<HashMap<usize, Vec<Box<dyn Any>>, VirtualMachineError>
->
get_hint_data(self, &[HintReference], &mut dyn HintProcessor) -> Result<Vec<Box<dyn Any>, VirtualMachineError>
- Hook methods receive
&[Box<dyn Any>]
rather than&HashMap<usize, Vec<Box<dyn Any>>>
v0.6.2
v0.8.2
-
chore: update dependencies, particularly lamdaworks 0.1.2 -> 0.1.3 #1323
-
fix: fix
UINT256_MUL_DIV_MOD
hint #1320 -
feat: add dependency installation script
install.sh
#1298 -
fix: specify resolver version 2 in the virtual workspace's manifest #1311
-
feat: add
lambdaworks-felt
feature tocairo-vm-cli
#1308 -
chore: update dependencies, particularly clap 3.2 -> 4.3 #1309
- this removes dependency on atty, that's no longer mantained
-
chore: remove unused dependencies #1307
- rand_core
- serde_bytes
- rusty-hook (dev-dependency)
-
chore: bump
cairo-lang-starknet
andcairo-lang-casm
dependencies to 2.0.0 #1313
v0.8.1
-
chore: change mentions of cairo-rs-py to cairo-vm-py #1296
-
rename github repo from https://github.com/lambdaclass/cairo-rs to https://github.com/lambdaclass/cairo-vm #1289
-
fix(security): avoid OOM crashes when programs jump to very high invalid addresses.
-
fix: add
to_bytes_be
to the felt whenlambdaworks-felt
feature is active #1290 -
chore: mark
modpow
andto_signed_bytes_le
as deprecated #1290 -
fix: bump lambdaworks-math to latest version, that fixes no-std support #1293
-
build: remove dependency to
thiserror
(usethiserror-no-std/std
instead) -
chore: use LambdaWorks' implementation of bit operations for
Felt252
#1291 -
update
cairo-lang-starknet
andcairo-lang-casm
dependencies to v2.0.0-rc6 #1299
v0.8.0
v0.7.0
-
BREAKING: Integrate
RunResources
logic intoHintProcessor
trait #1274- Rename trait
HintProcessor
toHintProcessorLogic
- Add trait
ResourceTracker
- Trait
HintProcessor
is nowHintProcessor: HintProcessorLogic + ResourceTracker
BuiltinHintProcessor::new
&Cairo1HintProcessor::new
now receive the argumetrun_resources: RunResources
HintProcessorLogic::execute_hint
no longer receivesrun_resources: &mut RunResources
- Remove argument
run_resources: &mut RunResources
fromCairoRunner::run_until_pc
&CairoRunner::run_from_entrypoint
- Rename trait
-
build: remove unused implicit features from cairo-vm #1266