Skip to content
This repository has been archived by the owner on Jul 22, 2024. It is now read-only.

Update blockifier mainnet #1163

Closed
wants to merge 8 commits into from
Closed

Conversation

toni-calvin
Copy link
Contributor

@toni-calvin toni-calvin commented Nov 30, 2023

TITLE

Description

This PR aims to use the production version of blockifier, this crate depends on an old cairo-vm version. The next changes introduced in the current vm version will be lost:

  • fix: Program comparison depending on hints_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

  • perf: replace insertion with bit-setting in validated addresses #1208

  • 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, and take_until_unbalanced are no longer exported
    • ReferenceParseError is no more
  • perf: changed ok_or usage for ok_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 in Program and CairoRunConfig #1306 #1330

  • perf: remove pointless iterator from rc limits tracking #1316

  • feat(felt): add from_bytes_le and from_bytes_ne methods to Felt252 #1326

  • perf: change Program::shared_program_data::hints from HashMap<usize, Vec<Box<dyn Any>>> to Vec<Box<dyn Any>> and refer to them as ranges stored in a Vec<_> 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>>>
  • Linked to Github Issue
  • Unit tests added
  • Integration tests added.
  • This change requires new documentation.
    • Documentation has been added/updated.

@codecov-commenter
Copy link

codecov-commenter commented Nov 30, 2023

Codecov Report

Merging #1163 (33be97e) into main (c2cf08b) will increase coverage by 0.03%.
The diff coverage is 96.87%.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1163      +/-   ##
==========================================
+ Coverage   89.47%   89.50%   +0.03%     
==========================================
  Files          50       50              
  Lines       14369    14368       -1     
==========================================
+ Hits        12856    12860       +4     
+ Misses       1513     1508       -5     
Files Coverage Δ
.../api/contract_classes/deprecated_contract_class.rs 82.79% <100.00%> (+0.22%) ⬆️
src/transaction/invoke_function.rs 96.38% <85.71%> (+0.13%) ⬆️

... and 1 file with indirect coverage changes

@Oppen Oppen added this pull request to the merge queue Dec 22, 2023
@juanbono juanbono removed this pull request from the merge queue due to a manual request Dec 22, 2023
@juanbono juanbono marked this pull request as draft December 22, 2023 16:44
@fmoletta fmoletta closed this Jan 26, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update RPC StateReader using "production" blockifier rev="256e2a6bb600963c26c43bf64c53f5b91985a290"
5 participants