Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DRAFT: precompiles & v28 #3728

Closed
wants to merge 60 commits into from
Closed

DRAFT: precompiles & v28 #3728

wants to merge 60 commits into from

Conversation

mm-zk
Copy link
Collaborator

@mm-zk mm-zk commented Mar 19, 2025

What ❔

Preparation for v28 and precompiles

Copy link
Contributor

github-actions bot commented Mar 31, 2025

Hey there! 👋🏼

We require pull request titles to follow the Conventional Commits specification and it looks like your proposed title needs to be adjusted.
Examples of valid PR titles:

  • feat(eth_sender): Support new transaction type
  • fix(state_keeper): Correctly handle edge case
  • ci: Add new workflow for linting

Details:

Unknown release type "DRAFT" found in pull request title "DRAFT: precompiles & v28". 

Available types:
 - feat: A new feature
 - fix: A bug fix
 - docs: Documentation only changes
 - style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
 - refactor: A code change that neither fixes a bug nor adds a feature
 - perf: A code change that improves performance
 - test: Adding missing tests or correcting existing tests
 - build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
 - ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
 - chore: Other changes that don't modify src or test files
 - revert: Reverts a previous commit

@@ -107,9 +107,10 @@ impl<C: ContractsKind> MultiVmBaseSystemContracts<C> {
ProtocolVersionId::Version25 => &self.vm_protocol_defense,
ProtocolVersionId::Version26 => &self.gateway,
ProtocolVersionId::Version27 => &self.vm_evm_emulator,

// Speculative base system contracts for the next protocol version to be used in the upgrade integration test etc.
// TODO: use v28 contracts
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: should be done when contracts commit is finalized

Copy link
Contributor

@perekopskiy perekopskiy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAICT, GEOMETRY_CONFIG wasn't changed for pre-v28 circuits except for cycles_per_log_demuxer, it went from 58750 to 58125. @mm-zk is that expected, was circuit changed indeed? Anyway, it's ok to just update GEOMETRY_CONFIG in place since value decreased, so seal criterion is stricter now.

@kelemeno kelemeno changed the base branch from main to release-v28 April 2, 2025 17:05
@kelemeno kelemeno requested review from a team as code owners April 2, 2025 17:05
@kelemeno kelemeno requested review from yorik, alexandrst88, artmakh, hatemosphere and onyxet and removed request for a team April 2, 2025 17:05
@kelemeno kelemeno closed this Apr 8, 2025
@kelemeno kelemeno deleted the mmzk_0318_v28_precomiples branch April 8, 2025 16:36
Copy link
Contributor

github-actions bot commented Apr 8, 2025

Detected VM performance changes

Benchmark name Est. cycles Change in est. cycles
deploy_simple_contract/legacy 59353335 +4.9%
init/fast 16164984 +8.3%
init/fast_no_sigs 16199174 +8.3%
init/legacy 2040150 +6.0%

⚠ Detected differing instruction counts

Benchmark Old count New count
access_memory 4747741 4746904
call_far 319501 319547
decode_shl_sub 4747846 4746998
deploy_simple_contract 15436 15543
event_spam 2558180 2557773
finish_eventful_frames 785949 785907
heap_read_write 4252268 4251510
slot_hash_collision 4748744 4747918
write_and_decode 4748744 4747918

Changes in number of opcodes executed indicate that the gas price of the benchmark has changed, which causes it to run out of gas at a different time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants