v1.0.0-rc4
Pre-release-
chore: bump
cairo-lang-
dependencies to 2.6.4 #1799- fix: revert breaking change on public input serialization
-
fix: Remove validation of CairoPie memory values #1783
-
fix: Handle
GasBuiltin
in cairo1-run crate #1789- Load
initial_gas
into vm instead of creating it via instructions. - Fix bug affecting programs with input arguments and gas builtin.
- Load
-
fix: Change (de)serialization of CairoPie's
OutputBuiltinAdditionalData
'sPublicMemoryPage
to vectors of length 2. #1781 -
fix: Fixed deserialization issue when signature additional data is empty, and the name of the builtin range_check96 #1785
-
refactor + bugfix: Improve arg handling for cairo1-run #1782
- Now uses ascii whitespace as separator, preventing errors when using newlines in args file
- No longer gets stuck on improperly-formatted arrays
- Returns an informative clap error upon invalid felt strings instead of unwrapping
-
fix: Ignore memory order when comparing instances of
CairoPieMemory
#1780 -
feat: Add
EXCESS_BALANCE
hint #1777 -
feat(BREAKING): Use a cheatcode to relocate all dicts + Make temporary segment usage configurable #1776
- Add the flags
segment_arena_validation
&use_temporary_segments
to theCairo1HintProcessor
&DictManagerExecScope
respectively. These flags will determine if real segments or temporary segments will be used when creating dictionaries. DictManagerExecScope::finalize_segment
no longer performs relocation and is ignored ifuse_temporary_segments
is set to false.- Add method
DictManagerExecScope::relocate_all_dictionaries
that adds relocation rules for all tracked dictionaries, relocating them one next to the other in a new segment. - Add cheatcode
RelocateAllDictionaries
to theCairo1HintProcessor
, which calls the aforementioned method. - Add casm instruction to call the aforementioned cheatcode in
create_entry_code
if eitherproof_mode
orappend_return_values
are set to true, and segment arena is present.
- Add the flags
-
Bump
starknet-types-core
version + Use the lib's pedersen hash #1734 -
refactor: Add boolean method Cairo1RunConfig::copy_to_output + Update Doc #1778
-
feat: Filter implicit arguments from return value in cairo1-run crate #1775
-
feat(BREAKING): Serialize inputs into output segment in cairo1-run crate:
-
Checks that only
Array<Felt252>
can be received by the program main function when running with with either--proof_mode
or--append_return_values
. -
Copies the input value to the output segment right after the output in the format
[array_len, arr[0], arr[1],.., arr[n]]
.* feat: specify initial value for `exec_scopes` in `cairo_run_program` [1772](https://github.com/lambdaclass/cairo-vm/pull/1772)
-
-
fix: make MemorySegmentManager.finalize() public #1771
-
feat: load Cairo PIE from bytes #1773
-
feat(BREAKING): Serialize
Array<Felt252>
return value into output segment in cairo1-run crate:- Checks that only
PanicResult<Array<Felt252>>
orArray<Felt252>
can be returned by the program when running with either--proof_mode
or--append_return_values
. - Serializes return values into the output segment under the previous conditions following the format:
PanicResult<Array<Felt252>>
->[panic_flag, array_len, arr[0], arr[1],.., arr[n]]
<Array<Felt252>
->[array_len, arr[0], arr[1],.., arr[n]]
- Checks that only
-
feat: Handle
BoundedInt
variant inserialize_output
,cairo1-run
crate #1768 -
fix: make
OutputBuiltinState
public #1769 -
feat: Load arguments into VM instead of creating them via instructions in cairo1-run #1759