forked from matter-labs/zksync-era
-
Notifications
You must be signed in to change notification settings - Fork 1
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
chore: merge main #222
Merged
Merged
chore: merge main #222
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## What ❔ Bump versions of repos in Cargo.lock and update circuits. ## Why ❔ There is a divergency between in-circuit and out-of-circuit logic ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [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] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`. --------- Co-authored-by: zksync-admin-bot2 <[email protected]>
## What ❔ Make the `skip-test-token-deployment` option available ## Why ❔ We don't want to deploy test tokens when deploying on Sepolia or other networks (current test erc20 deployment consumes a lot of gas) ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted via `zk fmt` and `zk lint`. - [ ] Spellcheck has been run via `zk spellcheck`. - [ ] Linkcheck has been run via `zk linkcheck`.
🤖 I have created a release *beep* *boop* --- ## [24.3.0](matter-labs/zksync-era@core-v24.2.0...core-v24.3.0) (2024-05-16) ### Features * Added support for making EN a (non-leader) consensus validator (BFT-426) ([matter-labs#1905](matter-labs#1905)) ([9973629](matter-labs@9973629)) * **configs:** Extract secrets to an additional config ([matter-labs#1956](matter-labs#1956)) ([bab4d65](matter-labs@bab4d65)) * **en:** Fetch L1 batch root hashes from main node ([matter-labs#1923](matter-labs#1923)) ([72a3571](matter-labs@72a3571)) * **eth-client:** Generalize RPC client ([matter-labs#1898](matter-labs#1898)) ([a4e099f](matter-labs@a4e099f)) * **Prover CLI:** `requeue` cmd ([matter-labs#1719](matter-labs#1719)) ([f722df7](matter-labs@f722df7)) * **Prover CLI:** `status batch --verbose` ([matter-labs#1899](matter-labs#1899)) ([cf80184](matter-labs@cf80184)) * **pruning:** Vacuum freeze started daily ([matter-labs#1929](matter-labs#1929)) ([5c85e9f](matter-labs@5c85e9f)) * Remove metrics crate ([matter-labs#1902](matter-labs#1902)) ([5f7bda7](matter-labs@5f7bda7)) * **state-keeper:** Parallel l2 block sealing ([matter-labs#1801](matter-labs#1801)) ([9b06dd8](matter-labs@9b06dd8)) * tee_verifier_input_producer ([matter-labs#1860](matter-labs#1860)) ([fea7f16](matter-labs@fea7f16)) * **vm-runner:** implement output handler for VM runner ([matter-labs#1856](matter-labs#1856)) ([1e4aeb5](matter-labs@1e4aeb5)) ### Bug Fixes * **basic_types:** bincode deserialization for `web3::Bytes` ([matter-labs#1928](matter-labs#1928)) ([406ec8c](matter-labs@406ec8c)) * **config:** Fix data-handler-config ([matter-labs#1919](matter-labs#1919)) ([b6bb041](matter-labs@b6bb041)) * **en:** Delete old txs by (init_addr, nonce) ([matter-labs#1942](matter-labs#1942)) ([fa5f4a7](matter-labs@fa5f4a7)) * **en:** Fix reorg detector logic for dealing with last L1 batch ([matter-labs#1906](matter-labs#1906)) ([3af5f5b](matter-labs@3af5f5b)) * parentHash in websocket blocks subscription is shown as 0x0 ([matter-labs#1946](matter-labs#1946)) ([fc2efad](matter-labs@fc2efad)) * **Prover CLI:** `status batch` bugs ([matter-labs#1865](matter-labs#1865)) ([09682f2](matter-labs@09682f2)) * **utils:** bincode ser-/deserialization for `BytesToHexSerde` ([matter-labs#1947](matter-labs#1947)) ([a75b917](matter-labs@a75b917)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: zksync-era-bot <[email protected]>
🤖 I have created a release *beep* *boop* --- ## [14.2.0](matter-labs/zksync-era@prover-v14.1.1...prover-v14.2.0) (2024-05-17) ### Features * Added support for making EN a (non-leader) consensus validator (BFT-426) ([matter-labs#1905](matter-labs#1905)) ([9973629](matter-labs@9973629)) * **configs:** Extract secrets to an additional config ([matter-labs#1956](matter-labs#1956)) ([bab4d65](matter-labs@bab4d65)) * **eth-client:** Generalize RPC client ([matter-labs#1898](matter-labs#1898)) ([a4e099f](matter-labs@a4e099f)) * **Prover CLI:** `delete` cmd ([matter-labs#1802](matter-labs#1802)) ([6e4a92e](matter-labs@6e4a92e)) * **Prover CLI:** `requeue` cmd ([matter-labs#1719](matter-labs#1719)) ([f722df7](matter-labs@f722df7)) * **Prover CLI:** `status batch --verbose` ([matter-labs#1899](matter-labs#1899)) ([cf80184](matter-labs@cf80184)) * **state-keeper:** Parallel l2 block sealing ([matter-labs#1801](matter-labs#1801)) ([9b06dd8](matter-labs@9b06dd8)) * tee_verifier_input_producer ([matter-labs#1860](matter-labs#1860)) ([fea7f16](matter-labs@fea7f16)) ### Bug Fixes * **Prover CLI:** `status batch` bugs ([matter-labs#1865](matter-labs#1865)) ([09682f2](matter-labs@09682f2)) * **prover:** Bump Cargo.lock and update VKs ([matter-labs#1959](matter-labs#1959)) ([367baad](matter-labs@367baad)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
## What ❔ Current zk init has multiple issues - it tries to run the server genesis setup before l1 contracts are deployed which result the following error ``` Error: Failed to save SetChainId upgrade transaction Caused by: Expected a single set_chain_id event, got these 0: [] Stack backtrace: 0: std::backtrace_rs::backtrace::libunwind::trace at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 1: std::backtrace_rs::backtrace::trace_unsynchronized at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 2: std::backtrace::Backtrace::create at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/backtrace.rs:331:13 3: std::backtrace::Backtrace::capture at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/backtrace.rs:297:9 4: anyhow::error::<impl anyhow::Error>::msg 5: zksync_server::main::{{closure}} 6: tokio::runtime::park::CachedParkThread::block_on 7: tokio::runtime::context::runtime::enter_runtime 8: tokio::runtime::runtime::Runtime::block_on 9: zksync_server::main 10: std::sys_common::backtrace::__rust_begin_short_backtrace 11: std::rt::lang_start::{{closure}} 12: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/core/src/ops/function.rs:284:13 13: std::panicking::try::do_call at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/panicking.rs:524:40 14: std::panicking::try at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/panicking.rs:488:19 15: std::panic::catch_unwind at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/panic.rs:142:14 16: std::rt::lang_start_internal::{{closure}} at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/rt.rs:148:48 17: std::panicking::try::do_call at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/panicking.rs:524:40 18: std::panicking::try at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/panicking.rs:488:19 19: std::panic::catch_unwind at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/panic.rs:142:14 20: std::rt::lang_start_internal at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/rt.rs:148:20 21: _main 22: <unknown> ``` - The DB is initialized twices which slow down the init process ## Why ❔ <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [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] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`. - [x] Linkcheck has been run via `zk linkcheck`.
Signed-off-by: tomg10 <[email protected]>
## What ❔ Release-stable-en.yml should remove -alpha from all tags across all repos. ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted via `zk fmt` and `zk lint`. - [ ] Spellcheck has been run via `zk spellcheck`.
Signed-off-by: tomg10 <[email protected]>
…labs#1977) ## What ❔ Just making actions/checkout consistent everywhere across all CI workflows ## Why ❔ To get latest/non-deprecated version of GHA action ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted via `zk fmt` and `zk lint`. - [ ] Spellcheck has been run via `zk spellcheck`.
## What ❔ - Makes health status "affected" if the tree API is not available. - Distinguishes between "tree API not enabled on the node" and "tree API temporarily unavailable" errors. ## Why ❔ Right now, the status is "not ready", meaning that the entire app health status is "not ready" as well. This makes API servers excluded from serving traffic, which is not desirable (they can still serve all of requests other than `zks_getProof`). ## 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] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
Signed-off-by: tomg10 <[email protected]>
…#1968) ## What ❔ Remove dependency from dev.env envs from ts-tests ## Why ❔ For migrating it later to file-based config we have to consolidate all env calls into one place ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted via `zk fmt` and `zk lint`. - [ ] Spellcheck has been run via `zk spellcheck`. --------- Signed-off-by: Danil <[email protected]>
## What ❔ Fixes minor issues with the EN: - Transient error detection for RPC clients is suboptimal, leading to what really is a transient error crashing consistency checker. - Since refactoring signal handling, `ManagedTasks::wait_single()` on EN may inappropriately log task termination errors even after a signal is being received. - Since recent refactoring (?), block fetcher doesn't tag its L2 client. - Block fetcher may produce many rate limiting logs, which currently have WARN level. - Initializing L2 client multiple times (e.g., in a load test) produces many WARN logs. ## Why ❔ Improves EN UX. ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
…ter-labs#1948) ## What ❔ Reworks `EthInterface` to be an extension trait for L1 RPC client instead of a separate entity. ## Why ❔ Allows to eliminate L1 client / `EthInterface` duplication and ensure that the `EthInterface` wrapper code is covered by tests. ## 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] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
…cuum (matter-labs#1983) Signed-off-by: tomg10 <[email protected]>
…#1988) ## What ❔ Runs `MainNodeFeeParamsFetcher` in `run_api`. Removes it from `run_core`. ## Why ❔ En's core doesn't use `MainNodeFeeParamsFetcher`. API uses it. API operated normally only if Core and Api are launched in the same process which is not true for distributed nodes. The PR fixes it ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted via `zk fmt` and `zk lint`. - [ ] Spellcheck has been run via `zk spellcheck`.
## What ❔ Add check to `set_tx_id` query, that doesn't allow to update tx_id if it is not NULL. ## Why ❔ To prevent issues when 1 batch can be commited 2 times. ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [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] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
) This PR adds a check to the batch status command to show that a batch does not exist or that the proving process for it has already finished. ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
…e wasn't started (matter-labs#1990) Signed-off-by: tomg10 <[email protected]>
…abs#1995) ## What ❔ - Adds foundry installation to zk-environment Dockerfile ## Why ❔ - This is necessary for adding CI to zk_toolbox <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [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] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
## What ❔ <!-- What are the changes this PR brings about? --> <!-- Example: This PR adds a PR template to the repo. --> <!-- (For bigger PRs adding more context is appreciated) --> ## Why ❔ <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted via `zk fmt` and `zk lint`. - [ ] Spellcheck has been run via `zk spellcheck`.
## What ❔ Integrate GPU proof compressors into monorepo. GPU compressors can be run with `gpu` feature. ## Why ❔ Running compressors with GPU significantly improves efficiency. CPU compressor average proving time - 15 minutes GPU compressor average proving time - 2 minutes ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [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] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`. - [x] Linkcheck has been run via `zk linkcheck`.
🤖 I have created a release *beep* *boop* --- ## [24.4.0](matter-labs/zksync-era@core-v24.3.0...core-v24.4.0) (2024-05-21) ### Features * **prover:** add GPU feature for compressor ([matter-labs#1838](matter-labs#1838)) ([e9a2213](matter-labs@e9a2213)) * **pruning:** remove manual vaccum; add migration configuring autovacuum ([matter-labs#1983](matter-labs#1983)) ([3d98072](matter-labs@3d98072)) * **tests:** Move all env calls to one place in ts-tests ([matter-labs#1968](matter-labs#1968)) ([3300047](matter-labs@3300047)) ### Bug Fixes * Disallow non null updates for transactions ([matter-labs#1951](matter-labs#1951)) ([a603ac8](matter-labs@a603ac8)) * **en:** Minor node fixes ([matter-labs#1978](matter-labs#1978)) ([74144e8](matter-labs@74144e8)) * **en:** run `MainNodeFeeParamsFetcher` in API component ([matter-labs#1988](matter-labs#1988)) ([b62677e](matter-labs@b62677e)) * **merkle-tree:** Fix tree API health check status ([matter-labs#1973](matter-labs#1973)) ([6235561](matter-labs@6235561)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: zksync-era-bot <[email protected]>
I need matter-labs/era-consensus#114 to be included, so start testing EN validator mode (on stage).
…tter-labs#1893) Prover queue metrics jobs are adnotate with protocol version. These metrics are used for autoscaling jobs. These changes will enable autoscaling different pools of provers at the same time, with different protocol versions. The change is necessary for a better protocol upgrade procedure. Flow in the past: Start protocol upgrade, finalize all old provers, deploy new provers, finish protocol upgrade. Flow in the future: Deploy both new and old provers. Be independent of protocol upgrade and require no manual timing of deployment. The metrics will be used in autoscaler to tell what versions to have up. Autoscaler will have a configuration similar to: deployment green - metric protocol_version=22 - tag prover-v13.0.0 deployment blue - metric protocol_version=24 - tag prover-v14.0.0 The metrics will inform how many instances of each component will be needed per version. NOTE: There are some refactorings involved for the upcoming core/prover house_keeper split. Whilst they could've been separated in a different PR, they've been done together given CI's condition. NOTE2: We should really migrate to `vise`. Left it out for this PR as it was growing enough as is (+ adds operational risks). --------- Co-authored-by: Artem Fomiuk <[email protected]>
Follow-up PR for https://github.com/matter-labs/zksync-era/pull/1946/files context: https://github.com/matter-labs/zksync-era/pull/1946/files#r1602029812 ## What ❔ + return correct `gas_limit` and `gas_used` + Improve the `ws` unit test to check the full response ## Why ❔ ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [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] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
…tches in parallel (matter-labs#1984) ## What ❔ Generates commitments with configurable parallelism. ## Why ❔ - As long as produced commitments are persisted in the same order as previously (not even atomically), there's still a cursor to be used by the commitment generator. - Can provide speed up during node recovery (esp. if treeless mode is used). Also can speed up some integration tests. ## 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] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
## What ❔ Add protocol_version label to WG jobs metric ## Why ❔ To be able to use autoscaler for protocol versions ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [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] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
## What ❔ - Add zk toolbox ## Why ❔ <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [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] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`. --------- Signed-off-by: Danil <[email protected]> Co-authored-by: Ramon "9Tails" Canales <[email protected]> Co-authored-by: Danil <[email protected]>
…ter-labs#1987) ## What ❔ Resolve unit conversion problem when reporting current balance of loadtest wallet ## Why ❔ ![Screenshot 2024-05-20 at 12 17 13](https://github.com/matter-labs/zksync-era/assets/1053184/2a53090f-c7c7-4f1f-9e1c-78b3893b46e9)
Signed-off-by: tomg10 <[email protected]>
## What ❔ Makes protective reads sorted ## Why ❔ Fix bug ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted via `zk fmt` and `zk lint`. - [ ] Spellcheck has been run via `zk spellcheck`.
## What ❔ Add `prover_version`, which prints current prover protocol version. <!-- What are the changes this PR brings about? --> <!-- Example: This PR adds a PR template to the repo. --> <!-- (For bigger PRs adding more context is appreciated) --> ## Why ❔ To use in CI. <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [ ] Spellcheck has been run via `zk spellcheck`.
## What ❔ Updates zk_evm ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted via `zk fmt` and `zk lint`. - [ ] Spellcheck has been run via `zk spellcheck`.
## What ❔ Emit protocol version from database in metrics. ## Why ❔ Before we were emitting hardcoded protocol version, which is not accurate ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [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] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
## What ❔ Adds support for protocol semantic versions. Major version is always 0. Minor version has the same meaning as the previous concept of protocol version we used. Patch version can be bumped only for vks upgrades. Adds new DB table `protocol_vk_patches` that keeps track of patch versions. - eth watcher was updated correspondingly to L1 contracts changes, now it also saves data to `protocol_vk_patches` - proof data handler passes and accepts protocol semantic version for each batch/final proof - eth sender determines patch version for batch proofs from L1 and waits for the proof generated for the patch to be present in GCS ## Why ❔ It makes it possible to upgrade vks without bumping minor part of protocol version. ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [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] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`. Part of EVM-648 --------- Co-authored-by: Stanislav Breadless <[email protected]> Co-authored-by: Artem Fomiuk <[email protected]>
## What ❔ Don't return results with NULL protocol version from DB. ## Why ❔ It's incorrect ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [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] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
…s#2096) ## What ❔ fixes on conflict statement ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted via `zk fmt` and `zk lint`. - [ ] Spellcheck has been run via `zk spellcheck`.
## What ❔ <!-- What are the changes this PR brings about? --> <!-- Example: This PR adds a PR template to the repo. --> <!-- (For bigger PRs adding more context is appreciated) --> ## Why ❔ <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted via `zk fmt` and `zk lint`. - [ ] Spellcheck has been run via `zk spellcheck`.
## What ❔ <!-- What are the changes this PR brings about? --> <!-- Example: This PR adds a PR template to the repo. --> <!-- (For bigger PRs adding more context is appreciated) --> ## Why ❔ <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted via `zk fmt` and `zk lint`. - [ ] Spellcheck has been run via `zk spellcheck`. Signed-off-by: Danil <[email protected]>
## What ❔ Tag prover packages with protocol version. Removes unneeded dependencies of `prover-version`. Remove outdated images from builder: - prover - prover-v2 - circuit-synthesizer <!-- What are the changes this PR brings about? --> <!-- Example: This PR adds a PR template to the repo. --> <!-- (For bigger PRs adding more context is appreciated) --> ## Why ❔ <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
## What ❔ - Refactors zk_toolbox config to its own crate. - Most ethers references were moved to alloy-rs. Remaining features still unimplemented in alloy-rs will be migrated in the future. - Config manipulations were left in zk_inception as those are specific to the implementation. - Add methods to read from yaml, toml and json files. https://github.com/matter-labs/zksync-era/pull/2063/files#diff-151b929045cb8a5689467a85476811b61e1a3e84a6fe8b3d7b5a262e289bad95 ## Why ❔ <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [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] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
## What ❔ <!-- What are the changes this PR brings about? --> <!-- Example: This PR adds a PR template to the repo. --> <!-- (For bigger PRs adding more context is appreciated) --> ## Why ❔ <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted via `zk fmt` and `zk lint`. - [ ] Spellcheck has been run via `zk spellcheck`.
## What ❔ fix CI for protocol version binary ## Why ❔ CI is not working ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [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] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
## What ❔ Fix protocol_version between jobs propagation in build-prover-template.yml. <!-- What are the changes this PR brings about? --> <!-- Example: This PR adds a PR template to the repo. --> <!-- (For bigger PRs adding more context is appreciated) --> ## Why ❔ <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
…bs#2090) ## What ❔ Propagates errors in the batch executor instead of panicking. ## Why ❔ Batch executor somewhat frequently panics on node shutdown. This is suboptimal UX, can lead to false positive bug reports etc. ## 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] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
## What ❔ - Follow rust formatting convention to zk_toolbox - Add format and clippy to CI <!-- What are the changes this PR brings about? --> <!-- Example: This PR adds a PR template to the repo. --> <!-- (For bigger PRs adding more context is appreciated) --> ## Why ❔ <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [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] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
## What ❔ Remove group by status clause ## Why ❔ It causes incorrectly returning values ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [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] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
…labs#2080) ## What ❔ We plan to generally have all upgrades executed via a direct call to diamond proxy. While in principle it is possible that an upgrade comes via a direct call through STM, this is a very rare circumstance and for now out of scope ## Why ❔ <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted via `zk fmt` and `zk lint`. - [ ] Spellcheck has been run via `zk spellcheck`.
🤖 I have created a release *beep* *boop* --- ## [24.5.0](matter-labs/zksync-era@core-v24.4.0...core-v24.5.0) (2024-05-30) ### Features * Add protocol_version label to WG jobs metric ([matter-labs#2009](matter-labs#2009)) ([e0a3393](matter-labs@e0a3393)) * **config:** remove zksync home ([matter-labs#2022](matter-labs#2022)) ([d08fe81](matter-labs@d08fe81)) * **en:** Improve tree snapshot recovery ([matter-labs#1938](matter-labs#1938)) ([5bc8234](matter-labs@5bc8234)) * Make house keeper emit correct protocol version ([matter-labs#2062](matter-labs#2062)) ([a58a7e8](matter-labs@a58a7e8)) * **node_framework:** Migrate main node to the framework ([matter-labs#1997](matter-labs#1997)) ([27a26cb](matter-labs@27a26cb)) * **node_framework:** Synchronize pools layer with logic in initialize_components ([matter-labs#2079](matter-labs#2079)) ([3202461](matter-labs@3202461)) * Protocol semantic version ([matter-labs#2059](matter-labs#2059)) ([3984dcf](matter-labs@3984dcf)) * **prover:** Adnotate prover queue metrics with protocol version ([matter-labs#1893](matter-labs#1893)) ([d1e1004](matter-labs@d1e1004)) * save writes needed for tree in state keeper ([matter-labs#1965](matter-labs#1965)) ([471af53](matter-labs@471af53)) * **test:** Add filebased config support for integration tests ([matter-labs#2043](matter-labs#2043)) ([be3ded9](matter-labs@be3ded9)) * **vm-runner:** implement VM runner main body ([matter-labs#1955](matter-labs#1955)) ([bf5b6c2](matter-labs@bf5b6c2)) ### Bug Fixes * **API:** polish web3 api block-related types ([matter-labs#1994](matter-labs#1994)) ([6cd3c53](matter-labs@6cd3c53)) * **en:** chunk factory deps ([matter-labs#2077](matter-labs#2077)) ([4b9e6fa](matter-labs@4b9e6fa)) * **en:** Fix recovery-related metrics ([matter-labs#2014](matter-labs#2014)) ([86355d6](matter-labs@86355d6)) * **eth-watch:** Do not track for stm, only for diamond proxy ([matter-labs#2080](matter-labs#2080)) ([87adac9](matter-labs@87adac9)) * fix metrics reporting wrong values ([matter-labs#2065](matter-labs#2065)) ([2ec010a](matter-labs@2ec010a)) * **loadtest:** resolve unit conversion error in loadtest metrics ([matter-labs#1987](matter-labs#1987)) ([b5870a0](matter-labs@b5870a0)) * **merkle-tree:** Fix incoherent Merkle tree view ([matter-labs#2071](matter-labs#2071)) ([2fc9a6c](matter-labs@2fc9a6c)) * **metadata-calculator:** protective reads sort ([matter-labs#2087](matter-labs#2087)) ([160c13c](matter-labs@160c13c)) * **node_framework:** Fix the connection pool size for the catchup task ([matter-labs#2046](matter-labs#2046)) ([c00a2eb](matter-labs@c00a2eb)) * **node_framework:** Use custom pool for commitiment generator ([matter-labs#2076](matter-labs#2076)) ([994df8f](matter-labs@994df8f)) * **protocol_version:** Add backward compatibility ([matter-labs#2097](matter-labs#2097)) ([391624b](matter-labs@391624b)) * **pruning:** Fix DB pruner responsiveness during shutdown ([matter-labs#2058](matter-labs#2058)) ([0a07312](matter-labs@0a07312)) * **zk_toolbox:** Use both folders for loading contracts ([matter-labs#2030](matter-labs#2030)) ([97c6d5c](matter-labs@97c6d5c)) ### Performance Improvements * **commitment-generator:** Run commitment generation for multiple batches in parallel ([matter-labs#1984](matter-labs#1984)) ([602bf67](matter-labs@602bf67)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: zksync-era-bot <[email protected]>
🤖 I have created a release *beep* *boop* --- ## [14.4.0](matter-labs/zksync-era@prover-v14.3.0...prover-v14.4.0) (2024-05-30) ### Features * Make house keeper emit correct protocol version ([matter-labs#2062](matter-labs#2062)) ([a58a7e8](matter-labs@a58a7e8)) * **pli:** add support for persistent config ([matter-labs#1907](matter-labs#1907)) ([9d5631c](matter-labs@9d5631c)) * Protocol semantic version ([matter-labs#2059](matter-labs#2059)) ([3984dcf](matter-labs@3984dcf)) * **prover:** Add `prover_version` binary. ([matter-labs#2089](matter-labs#2089)) ([e1822f6](matter-labs@e1822f6)) ### Bug Fixes * fix null protocol version error ([matter-labs#2094](matter-labs#2094)) ([aab3a7f](matter-labs@aab3a7f)) * fix query for proof compressor metrics ([matter-labs#2103](matter-labs#2103)) ([d23d24e](matter-labs@d23d24e)) * **prover_dal:** fix `save_prover_protocol_version` query ([matter-labs#2096](matter-labs#2096)) ([d8dd1ae](matter-labs@d8dd1ae)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: perekopskiy <[email protected]>
## What ❔ Move string constants to an additional file ## Why ❔ Easily change messages for the toolbox and allow translations in the future.
## What ❔ Fixes queries ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted via `zk fmt` and `zk lint`. - [ ] Spellcheck has been run via `zk spellcheck`.
🤖 I have created a release *beep* *boop* --- ## [24.5.1](matter-labs/zksync-era@core-v24.5.0...core-v24.5.1) (2024-05-31) ### Bug Fixes * **house-keeper:** Fix queue size queries ([matter-labs#2106](matter-labs#2106)) ([183502a](matter-labs@183502a)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: zksync-era-bot <[email protected]>
Warning: bumps contracts for STM contract, do not merge until contracts are merged. ## What ❔ <!-- What are the changes this PR brings about? --> <!-- Example: This PR adds a PR template to the repo. --> <!-- (For bigger PRs adding more context is appreciated) --> ## Why ❔ <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted via `zk fmt` and `zk lint`. - [ ] Spellcheck has been run via `zk spellcheck`. - [ ] Linkcheck has been run via `zk linkcheck`. --------- Co-authored-by: Stanislav Breadless <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What ❔
Why ❔
Checklist
zk fmt
andzk lint
.zk spellcheck
.