-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
feat!: V27 update #3580
base: main
Are you sure you want to change the base?
feat!: V27 update #3580
Conversation
…4d8a11a chore: Update generated Prover FRI GPU setup-data keys from branch evm-emulator/integration
## What ❔ Fixes unit tests for EVM emulator. ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Tests for the changes have been added / updated. - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
Co-authored-by: Vladislav Volosnikov <[email protected]>
## What ❔ Updates VM versions throughout the codebase. ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are 2 places in multivm with use_evm_emulator=base_system_smart_contracts.evm_emulator.is_some()
and I want to double-check they are fine:
EvmDeployTracer
is instantiated based on this value, I think it's fine even if emulation is not actually enabled tracer will just not find anything- in
TransactionData
:
let should_deploy_contract = if execute_tx.execute.contract_address.is_none() {
// Transactions with no `contract_address` should be filtered out by the API server,
// so this is more of a sanity check.
assert!(
use_evm_emulator,
"`execute.contract_address` not set for transaction {:?} with EVM emulation disabled",
common_data.hash()
);
U256([1, 0, 0, 0])
} else {
U256::zero()
};
So I understand better, if emulation is actually disabled will VM be able to gracefully process such transactions and if so what will happen: validation fail, VM be halted or tx revert?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Double-checking: are those bytecodes up-to-date i.e. compiled from era-contracts commit used in the PR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated bytecodes, just in case. Used era-contracts commit isn't fully finalized yet
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's keep this comment open until contracts are finalized
Detected VM performance changes
⚠ Detected differing instruction counts
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. |
What ❔
Why ❔
Checklist
zkstack dev fmt
andzkstack dev lint
.