-
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
Update from upstream #226
Update from upstream #226
Commits on Jun 3, 2024
-
docs: fix SQLx CLI installation (matter-labs#2133)
## What ❔ Updates the installing instructions for SQLx CLI ## Why ❔ Problems when compiling `clap_lex`: `error[E0599]: no method named `as_encoded_bytes` found for reference `&OsStr` in the current scope` `error[E0599]: no function or associated item named `from_encoded_bytes_unchecked` found for struct `OsStr` in the current scope`
Configuration menu - View commit details
-
Copy full SHA for f179681 - Browse repository at this point
Copy the full SHA f179681View commit details
Commits on Jun 4, 2024
-
feat(node-framework): Add Main Node Client layer (matter-labs#2132)
Note: healthchecks for `Main Node` and `Eth` client layers will be added in the next PR(there is a general principle of change.) ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 927d842 - Browse repository at this point
Copy the full SHA 927d842View commit details -
chore(main): release prover 14.5.0 (matter-labs#2109)
🤖 I have created a release *beep* *boop* --- ## [14.5.0](matter-labs/zksync-era@prover-v14.4.0...prover-v14.5.0) (2024-06-04) ### Features * update VKs and bump cargo.lock ([matter-labs#2112](matter-labs#2112)) ([6510317](matter-labs@6510317)) * use semver for metrics, move constants to prover workspace ([matter-labs#2098](matter-labs#2098)) ([7a50a9f](matter-labs@7a50a9f)) ### Bug Fixes * **block-reverter:** Fix reverting snapshot files ([matter-labs#2064](matter-labs#2064)) ([17a7e78](matter-labs@17a7e78)) * **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).
Configuration menu - View commit details
-
Copy full SHA for 3e7cbe4 - Browse repository at this point
Copy the full SHA 3e7cbe4View commit details -
refactor(en): Fetch old l1 batch hashes from L1 – metrics (matter-lab…
…s#2131) ## What ❔ Adds a couple of metrics / logs for tree data fetcher related to fetching data from L1. Follow-up after matter-labs#2000. ## Why ❔ These metrics / logs would allow to track tree data fetcher health more thoroughly. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for af39ca3 - Browse repository at this point
Copy the full SHA af39ca3View commit details -
feat(vm-runner): shadow protective reads using VM runner (matter-labs…
…#2017) ## What ❔ Adds a new component `vm_runner_protective_reads` that computes protective reads independently and asynchronously from state keeper. For now, the component does not actually save anything; instead, it computes protective reads and compares them against what state keeper has already written to the DB. So, in short, this is just the first stepping stone aka a sanity check that the VM runner mechanism works as intended. ## Why ❔ In the future, we want to be able to save protective reads asynchronously thus saving time on L1 batch sealing. ## 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. - [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`.
Configuration menu - View commit details
-
Copy full SHA for 1402dd0 - Browse repository at this point
Copy the full SHA 1402dd0View commit details -
fix(en): Remove L1 client health check (matter-labs#2136)
## What ❔ Removes L1 client health check from EN. ## Why ❔ Doesn't bring that much value and leads to L1 client getting rate-limited for our GCS ENs. ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
Configuration menu - View commit details
-
Copy full SHA for 49198f6 - Browse repository at this point
Copy the full SHA 49198f6View commit details -
chore: Move l1 contracts foundry (matter-labs#2120)
## What ❔ Fixes changes from matter-labs/era-contracts#504
Configuration menu - View commit details
-
Copy full SHA for 095bc24 - Browse repository at this point
Copy the full SHA 095bc24View commit details -
refactor: Deprecated eth_block, eth_hash and deadline_block in Transa…
…ction (matter-labs#2091) These fields are unused and don't affect the execution. eth_hash and deadline_block are not even stored, so they have been removed completely. eth_block is stored in db and is part of the block signed by consensus, therefore removing it will require a protocol upgrade and a hard fork.
Configuration menu - View commit details
-
Copy full SHA for 5554660 - Browse repository at this point
Copy the full SHA 5554660View commit details -
docs: update post-boojum and 4844-related docs (matter-labs#2117)
## What ❔ Update the `pubdata.md` doc, and copy the 4844-related docs. ## Why ❔ The docs in `pubdata.md` were outdated, and lacking the EIP-4844 details. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 2b8d9a3 - Browse repository at this point
Copy the full SHA 2b8d9a3View commit details -
chore: save l2 l1 logs only if there are some (matter-labs#2139)
## What ❔ save l2 l1 logs for miniblock only if there are some ## Why ❔ We save l2 l1 logs using `COPY` and it appears it has some constant overhead of ~40ms regardless whether there is some data to copy or not. By checking if l2_l1_logs.is_empty we can save this 40ms. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 0329ed6 - Browse repository at this point
Copy the full SHA 0329ed6View commit details
Commits on Jun 5, 2024
-
feat(en): Allow recovery from specific snapshot (matter-labs#2137)
## What ❔ Allows recovering a node from a specific snapshot specified at the start of recovery. ## Why ❔ Useful at least for testing recovery and pruning end-to-end on the testnet. There, L1 batches are produced very slowly, so it makes sense to recover from an earlier snapshot in order to meaningfully test pruning. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for ac61fed - Browse repository at this point
Copy the full SHA ac61fedView commit details -
feat!: updated boojum and nightly rust compiler (matter-labs#2126)
## What ❔ * Updated boojum version, which allows us to update nightly rust compiler. ## Why ❔ * Our rust nightly is quite old (around 1 year)
Configuration menu - View commit details
-
Copy full SHA for 9e39f13 - Browse repository at this point
Copy the full SHA 9e39f13View commit details -
fix(en): Fix transient error detection in consistency checker (matter…
…-labs#2140) ## What ❔ Considers a subset of contract call errors as transient. ## Why ❔ Currently, consistency checker considers all contract call errors fatal, which leads to EN terminating when it shouldn't. ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
Configuration menu - View commit details
-
Copy full SHA for 38fdfe0 - Browse repository at this point
Copy the full SHA 38fdfe0View commit details -
chore(docs): Fix healthcheck command in EN docker-compose example (ma…
…tter-labs#2148) ## What ❔ - Tweaking postgres `healthcheck` command in EN Docker Compose example to work from shells other than bash - Minor formatting fixes to the aforementioned Docker Compose example files - EN bump to the latest stable in the aforementioned Docker Compose example files ## Why ❔ Fixes: **zkSync-Community-Hub/zksync-developers#526 (comment) ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 006ea16 - Browse repository at this point
Copy the full SHA 006ea16View commit details -
feat: added debug_proof to prover_cli (matter-labs#2052)
## What ❔ * Prover_cli has a new command - `debug-proof`, that prints a lot more detailed information about any basic proof file. ## Why ❔ * This will speed up debugging of the failed proofs. * Small caveat - the cli has to be compiled with `verbose_circuits` feature - which will include the whole zkevm_test_harness and all the other crypto libraries. How to use: * Simply download the .bin file with the proof, and run `./prover_cli debug-proof file.bin` Part of EVM-639
Configuration menu - View commit details
-
Copy full SHA for b1ad01b - Browse repository at this point
Copy the full SHA b1ad01bView commit details -
feat: Added workflow dispatch to zk-environment, to allow building te… (
matter-labs#2147) …st images. ## What ❔ * Added workflow_dispatch to zk_enviroinment ## Why ❔ * This way, you can build the 'experimental' docker images to test things before merging into 'main' branch. * It will build only zk_environment basic (not GPU specific ones), and it will NOT mark it as latest.
Configuration menu - View commit details
-
Copy full SHA for 351e13d - Browse repository at this point
Copy the full SHA 351e13dView commit details -
refactor(object-store): Refactor object store to fit into node framew…
…ork (matter-labs#2138) ## What ❔ Refactors `ObjectStore` and `ObjectStoreFactory` to fit it into the node framework: - Consistently uses `Arc<dyn ObjectStore>` in DI - Clearly documents `ObjectStoreFactory` as one possible `ObjectStore` producer - Expose GCS, file-based and mock object stores directly and remove ability to create mock object stores from `ObjectStoreFactory` - Refactors retries as `ObjectStore` "middleware" ## Why ❔ Currently, object store APIs don't fit into the node framework well, leading to suboptimal DevEx. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 5c03964 - Browse repository at this point
Copy the full SHA 5c03964View commit details -
feat(api): Rework zks_getProtocolVersion (matter-labs#2146)
## What ❔ - renames fields in method's response - removes `verification_keys_hashes` completely ## Why ❔ - more meaningfully field names and camelCase for consistency - `verification_keys_hashes` doesn't make sense in the context of minor 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`.
Configuration menu - View commit details
-
Copy full SHA for 800b8f4 - Browse repository at this point
Copy the full SHA 800b8f4View commit details -
feat: Add metrics for transaction execution result in state keeper (m…
…atter-labs#2021) ## 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`.
Configuration menu - View commit details
-
Copy full SHA for dde0fc4 - Browse repository at this point
Copy the full SHA dde0fc4View commit details -
chore: add historical verification keys for 0.24.1 and 0.24.0 (matter…
…-labs#2144) ## What ❔ * Update historical_keys dir with the proper keys. ## Why ❔ * To maintain a clear history, and a small unittest to verify that they are correct.
Configuration menu - View commit details
-
Copy full SHA for 6c726eb - Browse repository at this point
Copy the full SHA 6c726ebView commit details -
feat(toolbox): add zk_toolbox ci (matter-labs#1985)
## What ❔ - Adds zk_toolbox CI with ecosystem initialization - Add zk_supervisor integration-tests command - Make paths in ecosystem config absolute ## Why ❔ - Improve CI flow ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 4ab4922 - Browse repository at this point
Copy the full SHA 4ab4922View commit details
Commits on Jun 6, 2024
-
perf(en): Parallelize persistence and chunk processing during tree re…
…covery (matter-labs#2050) ## What ❔ Persists chunks during tree recovery in parallel to processing subsequent chunks. ## Why ❔ - Could speed up tree recovery ~2x on the mainnet (both persistence and processing of a single chunk of 200k entries take ~3s). - Significantly easier to implement and reason about than alternatives. - May be used together with alternatives. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for b08a667 - Browse repository at this point
Copy the full SHA b08a667View commit details -
fix(vm-runner): add config value for the first processed batch (matte…
…r-labs#2158) ## What ❔ Adds a new config value that regulate which batch to consider as the last processed on a fresh start. Also renames config values to be more idiomatic due to several from DevOps and other people :) ## Why ❔ We don't want to wait half a year for VM to process all testnet/mainnet batches. ## 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. - [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`.
Configuration menu - View commit details
-
Copy full SHA for f666717 - Browse repository at this point
Copy the full SHA f666717View commit details -
refactor: Added intermediate representations for rlp structs (matter-…
…labs#2143) Added a bunch of intermediate representations for rlp structs. I need these to be able to verify L1 batches for https://linear.app/matterlabs/issue/BFT-471/implement-stateless-l1-batch-verification
Configuration menu - View commit details
-
Copy full SHA for fe7e9c4 - Browse repository at this point
Copy the full SHA fe7e9c4View commit details -
chore: Update README.md (matter-labs#2156)
Added .md to match other md names ## 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`.
Configuration menu - View commit details
-
Copy full SHA for adde8a5 - Browse repository at this point
Copy the full SHA adde8a5View commit details -
feat: faster & cleaner VK generation (matter-labs#2084)
## What ❔ * VK generation tool now allows specifying --jobs - to run multiple jobs in parallel * Added a progress bar ## Why ❔ * To make it easier (and faster) to generate new verification keys. Fixes: EVM-642
Configuration menu - View commit details
-
Copy full SHA for 89c8cac - Browse repository at this point
Copy the full SHA 89c8cacView commit details -
feat(node): Move some stuff around (matter-labs#2151)
## What ❔ Moves some easily movable stuff from `zksync_external_node` binary, e.g. - rustc metrics - main node healthcheck - validate chain ids task Note: this PR does not aim to be exhaustive. There will be more PRs like this in the future. ## Why ❔ - Makes logic shareable (e.g. we can now use rustc metrics for main node too) - Less logic in binary makes it easier to switch to the framework. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for bad5a6c - Browse repository at this point
Copy the full SHA bad5a6cView commit details -
feat(prover): Add file based config for fri prover gateway (matter-la…
…bs#2150) ## What ❔ Add file based config for fri prover gateway ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 81ffc6a - Browse repository at this point
Copy the full SHA 81ffc6aView commit details -
feat(prover): file based configs for witness generator (matter-labs#2161
) ## What ❔ File based configs for witness generator ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 24b8f93 - Browse repository at this point
Copy the full SHA 24b8f93View commit details -
fix(prover): config (matter-labs#2165)
## 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]>
Configuration menu - View commit details
-
Copy full SHA for e5daf8e - Browse repository at this point
Copy the full SHA e5daf8eView commit details -
chore: upgrade calldata (matter-labs#2159)
## 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`. --------- Co-authored-by: Stanislav Bezkorovainyi <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 500d462 - Browse repository at this point
Copy the full SHA 500d462View commit details -
fix(eth-sender): etter error handling in eth-sender (matter-labs#2163)
Signed-off-by: tomg10 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0cad504 - Browse repository at this point
Copy the full SHA 0cad504View commit details -
chore: more upgrade data related to params (matter-labs#2166)
## 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`. --------- Co-authored-by: Stanislav Bezkorovainyi <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 253cc83 - Browse repository at this point
Copy the full SHA 253cc83View commit details
Commits on Jun 7, 2024
-
feat(object-store): Allow caching object store objects locally (matte…
…r-labs#2153) ## What ❔ Implements an optional caching layer for object store that persists objects fetched from an external store (e.g., a GCS one) to a configurable local directory. ## Why ❔ Allows to speed up repeated snapshot recovery w/o sacrificing generality (i.e. switching to a file-backed store and downloading all snapshot data manually). ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 6c6e65c - Browse repository at this point
Copy the full SHA 6c6e65cView commit details -
refactor(prover): Add config package (matter-labs#2167)
## What ❔ Add config package ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 79fcf59 - Browse repository at this point
Copy the full SHA 79fcf59View commit details -
feat(contract-verifier): Add zkVM solc 1.0.1 (matter-labs#2180)
## What ❔ Add zkVM solc 1.0.1 ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 8468716 - Browse repository at this point
Copy the full SHA 8468716View commit details -
fix(config): Fix object store (matter-labs#2183)
## 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]>
Configuration menu - View commit details
-
Copy full SHA for 551cdc2 - Browse repository at this point
Copy the full SHA 551cdc2View commit details -
feat(sync-layer): adapt MiniMerkleTree to manage priority queue (matt…
…er-labs#2068) ## What ❔ Enables the MiniMerkleTree to be used for priority queue to efficiently calculate merkle proofs for priority transactions. ## Why ❔ As part of the preparation for the priority queue migration to sync layer. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 3e72364 - Browse repository at this point
Copy the full SHA 3e72364View commit details -
fix(ci): Run_retried instead of curl --retry (matter-labs#2162)
Curl is unable to retry some transient errors, so it's more reliable to use run_retried which retries any error Signed-off-by: tomg10 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 70eb588 - Browse repository at this point
Copy the full SHA 70eb588View commit details -
fix(prover_cli): Fix the issues with
home
path (matter-labs#2104)In this PR: [Pull Request matter-labs#2022](https://github.com/matter-labs/zksync-era/pull/2022/files), the logic was changed to stop using the $ZKSYNC_HOME environment variable to construct paths relative to the root of zksync-era. But the prover is a separate workspace, so it fails to create the path to the contract with the functions in the main workspace.. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 1e18af2 - Browse repository at this point
Copy the full SHA 1e18af2View commit details -
fix(prover_cli): Fix delete command (matter-labs#2119)
Changes: - Get database url from the `prover_cli` config. - Remove the deletion of archived jobs. --------- Co-authored-by: Ivan Litteri <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 214f981 - Browse repository at this point
Copy the full SHA 214f981View commit details -
fix(config): Split object stores (matter-labs#2187)
## 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]>
Configuration menu - View commit details
-
Copy full SHA for 9bcdabc - Browse repository at this point
Copy the full SHA 9bcdabcView commit details -
fix(api): Fix getting pending block (matter-labs#2186)
## What ❔ Fixes getting data for the pending block in `eth_getBlockByNumber` and a couple of other methods. ## Why ❔ Getting a pending block should always return `null`, but right now it actually doesn't. Caused by non-atomic reads from Postgres in the method implementation: first, a pending block number is resolved, and then a block with this number is fetched. Between these two reads, a block with this number may be inserted to Postgres. While it's somewhat unlikely that anyone will query a pending block, it's still a correctness issue. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 93315ba - Browse repository at this point
Copy the full SHA 93315baView commit details -
fix(config): Add necessary config (matter-labs#2190)
## 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]>
Configuration menu - View commit details
-
Copy full SHA for 9e2d187 - Browse repository at this point
Copy the full SHA 9e2d187View commit details
Commits on Jun 8, 2024
-
chore: removed consensus column from the miniblocks table (matter-lab…
…s#2020) unused for ~4 months removal requested by @RomanBrodetski
Configuration menu - View commit details
-
Copy full SHA for 6609397 - Browse repository at this point
Copy the full SHA 6609397View commit details
Commits on Jun 10, 2024
-
test(api): Fix latency of API server unit tests (matter-labs#2188)
## What ❔ Fixes the latency of API server unit tests caused by the lack of buffering when reading contracts. ## Why ❔ Lack of buffering is a logical error on its own. In this case, it leads t slow test runs, i.e., degrades DevEx. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 3a86bda - Browse repository at this point
Copy the full SHA 3a86bdaView commit details -
perf(pruning): Use more efficient query to delete past storage logs (m…
…atter-labs#2179) ## What ❔ Uses an SQL query for deleting past storage logs which promises to be more efficient than the one currently used. ## Why ❔ The current DB query used for this purpose has fluctuating, but overall slow, performance. ## 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 `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
Configuration menu - View commit details
-
Copy full SHA for 4c18755 - Browse repository at this point
Copy the full SHA 4c18755View commit details
Commits on Jun 11, 2024
-
fix(db): Optimize
get_l2_blocks_to_execute_for_l1_batch
(matter-lab……s#2199) ## What ❔ Optimize `get_l2_blocks_to_execute_for_l1_batch` ## Why ❔ `transactions.l1_batch_number` is not indexed ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 06ec5f3 - Browse repository at this point
Copy the full SHA 06ec5f3View commit details -
chore(eth-sender): refactor of eth-sender gas fees (matter-labs#2085)
I've added more detailed logs.. I've also generally split the calculations and metrics for fees for blob and non-blob transactions as they are radically different. --------- Signed-off-by: tomg10 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6d6b57e - Browse repository at this point
Copy the full SHA 6d6b57eView commit details -
feat(contract-verifier): Add zksolc v1.5.0 (matter-labs#2201)
## What ❔ Add zksolc v1.5.0 ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 8c71733 - Browse repository at this point
Copy the full SHA 8c71733View commit details -
fix(eth-sender): Don't resend already sent transactions in the same b…
…lock (matter-labs#2208) Signed-off-by: tomg10 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3538e9c - Browse repository at this point
Copy the full SHA 3538e9cView commit details -
chore(vm-runner): check stop receiver in VM runner main loop (matter-…
…labs#2209) ## What ❔ Ditto ## Why ❔ Faster interruption ## 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`.
Configuration menu - View commit details
-
Copy full SHA for b43a881 - Browse repository at this point
Copy the full SHA b43a881View commit details -
fix: Treat 502s and 503s as transient for GCS OS (matter-labs#2202)
A refactoring introduced lately caused multiple restarts in provers (namely BWGs) when GCS was unavailable (502 or 503). This is a sporadic, once in a while, but still invalides tens of minutes of work and makes proving fickle and slow. This PR addresses the issue and restores old behavior pre-refactoring, treating 502s and 503s as transient errors.
Configuration menu - View commit details
-
Copy full SHA for 0a12c52 - Browse repository at this point
Copy the full SHA 0a12c52View commit details -
feat(vm-runner): add basic metrics (matter-labs#2203)
## What ❔ This PR just adds some basic VM runner-specific metrics. Note that VM runner already inherits VM-related metrics from state keeper. I decided to split `storage_load`/`vm_run`/`output_handle` into 3 different metrics as opposed to a single metric with 3 stages as the stages happen asynchronously and don't represent a continuous execution. Lmk if you disagree though. ## 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. - [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`.
Configuration menu - View commit details
-
Copy full SHA for dd154f3 - Browse repository at this point
Copy the full SHA dd154f3View commit details
Commits on Jun 12, 2024
-
fix(en): Fix reorg detection in presence of tree data fetcher (matter…
…-labs#2197) ## What ❔ Fixes reorg detection logic so that it accounts for the tree data fetcher: - **In tree data fetcher:** Tries to detect reorgs, so that root hashes are not written for diverging L1 batches. - **In reorg detector:** Checks last L2 block correspondence during binary searching a diverging L1 batch. ## Why ❔ Reorg detection may be broken if tree data fetcher is enabled: - The tree data fetcher doesn't check that fetched L1 batch root hashes correspond to local L1 batches, i.e. it can fetch a root hash after a revert. - Hence, the logic in reorg detector which binary-searches the diverged L1 batch is broken because the latest L1 batch isn't guaranteed to diverge if there's a divergence. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 20da566 - Browse repository at this point
Copy the full SHA 20da566View commit details -
feat(merkle-tree): Rework tree rollback (matter-labs#2207)
## What ❔ Reworks tree rollback so that it's supported on the distributed external node, including the case when a node runs multiple trees. - Desync with Postgres is now detected on metadata calculator initialization, and the tree is truncated correspondingly. - The old approach is left intact as a safety guard. ## Why ❔ Right now, reorg logic on EN relies on a node running a single tree, and block reverter being a singleton. Both these assumptions are bogus in case of a distributed EN. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for c3b9c38 - Browse repository at this point
Copy the full SHA c3b9c38View commit details -
feat(proof_data_handler): add new endpoints to the TEE prover interfa…
…ce API (matter-labs#1993) ## What ❔ This PR introduces three new endpoints to the prover interface API: 1. `/tee/proof_inputs` - for fetching input data for the TEE verifier. It is intended for TEE workers to obtain a batch to process. 2. `/tee/submit_proofs/<l1_batch_number>` - for submitting TEE proof. 3. `/tee/register_attestation` - for registering TEE attestation. The first two introduced API endpoints correspond to the existing, analogous `/proof_generation_data` and `/submit_proof/<l1_batch_number>` endpoints used for the ZK proofs. The state of batches (e.g., _proven_, _taken_, etc.) is tracked in the database. The `TeeVerifierInputProducer` generates serialized TEE prover inputs, which are then stored in the object store. To run the unit tests, you need to use the following command: `zk test rust --package zksync_proof_data_handler --lib tests`. Running `cargo test` directly fails because the `zk` command sets up an additional database for testing purposes. To test it manually, run the ZK server with the command: ``` zk server --components proof_data_handler --use-node-framework ``` and then send an HTTP request: - to get TEE verifier input data: ``` curl -X POST -H "Content-Type: application/json" --data-raw "{}" -vvv http://127.0.0.1:3320/tee/proof_inputs ``` To inspect the database for the TEE verifier input data jobs, run: ``` $ PGPASSWORD='notsecurepassword' psql -h 127.0.0.1 -p 5432 -U postgres # \c zksync_local # SELECT * FROM tee_verifier_input_producer_jobs; ``` - register TEE attestation: ``` curl -X POST -H "Content-Type: application/json" --data-raw '{ "attestation": [ 4, 3, 2, 1, 0 ], "pubkey": [ 5, 6, 7, 8, 9 ] }' -vvv http://127.0.0.1:3320/tee/register_attestation ``` To inspect the database for the TEE attestations, run: ``` $ PGPASSWORD='notsecurepassword' psql -h 127.0.0.1 -p 5432 -U postgres # \c zksync_local # SELECT * FROM tee_attestations; ``` - to submit TEE proof: ``` curl -X POST -H "Content-Type: application/json" --data-raw '{ "signature": [ 0, 1, 2, 3, 4 ], "pubkey": [ 5, 6, 7, 8, 9 ], "proof": [ 10, 11, 12, 13, 14 ] }' -vvv http://127.0.0.1:3320/tee/submit_proofs/1 ``` To inspect the database for the TEE proofs, run: ``` $ PGPASSWORD='notsecurepassword' psql -h 127.0.0.1 -p 5432 -U postgres # \c zksync_local # SELECT * FROM tee_proof_generation_details; ``` ## Why ❔ This PR contributes to the effort outlined in the docs: - https://www.notion.so/matterlabs/2FA-for-zk-rollups-with-TEEs-a2266138bd554fda8846e898fef75131?pvs=4 - https://www.notion.so/matterlabs/Proof-2F-verification-with-SGX-5fca2c619dd147938971cc00ae53e2b0?pvs=4 ## 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`.
Configuration menu - View commit details
-
Copy full SHA for eca98cc - Browse repository at this point
Copy the full SHA eca98ccView commit details -
chore(nix): update flake to support new rust toolchain (matter-labs#2211
) ## What ❔ update the nix flake ## Why ❔ to reproducibly build the zksync-era server and to develop easily with the help of nix ## 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`. Signed-off-by: Harald Hoyer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1cb0887 - Browse repository at this point
Copy the full SHA 1cb0887View commit details -
fix(api): Fix transaction methods for pruned transactions (matter-lab…
…s#2168) ## What ❔ Reworks `TxCache` for full nodes to look more like a mempool: - Retains transactions from it when they are sent to the main node - Gets rid of querying transactions from the main node in `TxProxy`. ## Why ❔ Right now, two transaction-related methods (`eth_getTransactionByHash` and `zks_getTransactionDetails`) return data for pruned transactions. Some other methods (e.g., `eth_getTransactionReceipt`) do not return data for pruned transactions (i.e., return `null`). This looks inconsistent; also may be wasteful w.r.t. calls to the main node. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 00c4cca - Browse repository at this point
Copy the full SHA 00c4ccaView commit details -
revert(pruning): Revert pruning query (matter-labs#2220)
## What ❔ Reverts matter-labs#2179 ## Why ❔ The new query turned out to be slower than the old one.
Configuration menu - View commit details
-
Copy full SHA for 8427cdd - Browse repository at this point
Copy the full SHA 8427cddView commit details -
chore(eth-sender): extact abstract l1 interface and all fee-related c…
…ode (matter-labs#2213) This PR deliberately only moves the code around without refactoring the logic itself to decrease the risk of error. More PRs will most likely follow --------- Signed-off-by: tomg10 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 560074f - Browse repository at this point
Copy the full SHA 560074fView commit details -
chore: Add more state keeper metrics (matter-labs#2221)
## What ❔ Adds metrics to state keeper for better observability ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 836473f - Browse repository at this point
Copy the full SHA 836473fView commit details -
chore: fixed consensus error logging (matter-labs#2219)
"%err" is just printing the leaf message which is not useful. "{err:#}" prints the whole stack trace, as desired.
Configuration menu - View commit details
-
Copy full SHA for f529a45 - Browse repository at this point
Copy the full SHA f529a45View commit details -
feat: support debugging of recursive circuits in prover_cli (matter-l…
…abs#2217) ## What ❔ * Now prover_cli will also debug recursive circuits (for example recursion tip)
Configuration menu - View commit details
-
Copy full SHA for 7d2e12d - Browse repository at this point
Copy the full SHA 7d2e12dView commit details -
feat(state-keeper): More state keeper metrics (matter-labs#2224)
## What ❔ Add metrics for better observability ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 1e48cd9 - Browse repository at this point
Copy the full SHA 1e48cd9View commit details -
chore(zk_toolbox): Update msg_address_doesnt_have_enough_money_prompt (…
…matter-labs#2218) ## What ❔ Update msg_address_doesnt_have_enough_money_prompt to: `Address {address:?} doesn't have enough money to deploy contracts do you want to try again?`
Configuration menu - View commit details
-
Copy full SHA for 2dcb566 - Browse repository at this point
Copy the full SHA 2dcb566View commit details -
fix: disable localhost wallets on external network interaction (matte…
…r-labs#2212) ## What ❔ - When adding an ecosystem or new chain, localhost wallets should not be allowed to be selected. ## Why ❔ - Localhost are intended for local development. <!-- 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`. Co-authored-by: Matías Ignacio González <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a00317d - Browse repository at this point
Copy the full SHA a00317dView commit details
Commits on Jun 13, 2024
-
fix(dal): Fix contract_address field in getTransactionRecipt (matter-…
…labs#2223) ## What ❔ + Change `get_transaction_receipts` DAL method to fetch the contract address from the `events` table. + Add integration test that checks we return the correct contract address in the receipt of the transaction that deployed inner-outer contract(e.g. contract that initializes another contract in its constructor). ## Why ❔ The current approach(going to the `storage_logs` table to get the contract address) is error-prone. The problem here is that we deduplicate storage logs, which renders operation_number invalid. So, the ordering is not correct, and we might return the incorrect deployed address. This is important when one tx deploys a contract that initializes another contract in the constructor(which means we deploy several contracts here) - the user expects the "outer" contract address but gets the inner. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 64cb269 - Browse repository at this point
Copy the full SHA 64cb269View commit details -
feat: verification of L1Batch witness (BFT-471) (matter-labs#2019)
Verification of an L1 batch, based on StoredBatchInfo. We extract the hash of the last block of the transaction via merkle path from the root_state (for batch n and n-1) and we recompute the rolling block hash based on transactions in the payload. The verification is not perfect as there are still some fields in payload for which we don't have a commitment - we should address that later. Verification will be used for syncing L1Batches over p2p network (not implemented yet). Also removed serde serialization from TransactionRequest which is unused - we don't need to maintain encoding compatibility for it.
Configuration menu - View commit details
-
Copy full SHA for 6cc5455 - Browse repository at this point
Copy the full SHA 6cc5455View commit details -
feat(state-keeper): Add metric for l2 block seal reason (matter-labs#…
…2229) ## What ❔ Add metric for l2 block seal reason ## 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`.
Configuration menu - View commit details
-
Copy full SHA for f967e6d - Browse repository at this point
Copy the full SHA f967e6dView commit details -
revert: verification of L1Batch witness (BFT-471) (matter-labs#2230)
Execute::factory_deps is set explicitly to null is storage, which breaks parsing
Configuration menu - View commit details
-
Copy full SHA for 227e101 - Browse repository at this point
Copy the full SHA 227e101View commit details -
fix(prover): Disallow state changes from successful (matter-labs#2233)
This PR is done as a fix for boojnet outage. TL;DR; of outage -- race condition caused by prover jobs moving from 'successful` state to `in_progress`/`in_gpu_proving`. The PR addresses: - no job can move from successful state (considered final state) - fix local development (contracts were pointing to 0.24.0 instead of 0.24.1) -- can be split to a different PR, if this is problematic. - add table constraint -- again, can be split in different PR - add checks for recursion_tip number of jobs (post outage check, should not happen ever, but better to verify)
Configuration menu - View commit details
-
Copy full SHA for 2488a76 - Browse repository at this point
Copy the full SHA 2488a76View commit details -
docs: update URLs related to zkSync docs (matter-labs#2176)
## What ❔ Update URLs pointing to our zksync Docs, most of them are outdated and using an older URL for docs.zksync.io ## Why ❔ We've removed a lot of older redirects and URLs should reflect the up to date URL for docs.
Configuration menu - View commit details
-
Copy full SHA for 3517ffe - Browse repository at this point
Copy the full SHA 3517ffeView commit details
Commits on Jun 14, 2024
-
feat: verification of L1Batch witness (BFT-471) - attempt 2 (matter-l…
…abs#2232) Rollforward matter-labs#2019 which was reverted by matter-labs#2230 Made Execute json encoding super backward compatible. The only change from the previous attempt is in core/lib/types/src/execute.rs
Configuration menu - View commit details
-
Copy full SHA for dbcf3c6 - Browse repository at this point
Copy the full SHA dbcf3c6View commit details -
chore(main): release prover 15.0.0 (matter-labs#2145)
🤖 I have created a release *beep* *boop* --- ## [15.0.0](matter-labs/zksync-era@prover-v14.5.0...prover-v15.0.0) (2024-06-14) ### ⚠ BREAKING CHANGES * updated boojum and nightly rust compiler ([matter-labs#2126](matter-labs#2126)) ### Features * added debug_proof to prover_cli ([matter-labs#2052](matter-labs#2052)) ([b1ad01b](matter-labs@b1ad01b)) * faster & cleaner VK generation ([matter-labs#2084](matter-labs#2084)) ([89c8cac](matter-labs@89c8cac)) * **node:** Move some stuff around ([matter-labs#2151](matter-labs#2151)) ([bad5a6c](matter-labs@bad5a6c)) * **object-store:** Allow caching object store objects locally ([matter-labs#2153](matter-labs#2153)) ([6c6e65c](matter-labs@6c6e65c)) * **proof_data_handler:** add new endpoints to the TEE prover interface API ([matter-labs#1993](matter-labs#1993)) ([eca98cc](matter-labs@eca98cc)) * **prover:** Add file based config for fri prover gateway ([matter-labs#2150](matter-labs#2150)) ([81ffc6a](matter-labs@81ffc6a)) * **prover:** file based configs for witness generator ([matter-labs#2161](matter-labs#2161)) ([24b8f93](matter-labs@24b8f93)) * support debugging of recursive circuits in prover_cli ([matter-labs#2217](matter-labs#2217)) ([7d2e12d](matter-labs@7d2e12d)) * updated boojum and nightly rust compiler ([matter-labs#2126](matter-labs#2126)) ([9e39f13](matter-labs@9e39f13)) * verification of L1Batch witness (BFT-471) - attempt 2 ([matter-labs#2232](matter-labs#2232)) ([dbcf3c6](matter-labs@dbcf3c6)) * verification of L1Batch witness (BFT-471) ([matter-labs#2019](matter-labs#2019)) ([6cc5455](matter-labs@6cc5455)) ### Bug Fixes * **config:** Split object stores ([matter-labs#2187](matter-labs#2187)) ([9bcdabc](matter-labs@9bcdabc)) * **prover_cli:** Fix delete command ([matter-labs#2119](matter-labs#2119)) ([214f981](matter-labs@214f981)) * **prover_cli:** Fix the issues with `home` path ([matter-labs#2104](matter-labs#2104)) ([1e18af2](matter-labs@1e18af2)) * **prover:** config ([matter-labs#2165](matter-labs#2165)) ([e5daf8e](matter-labs@e5daf8e)) * **prover:** Disallow state changes from successful ([matter-labs#2233](matter-labs#2233)) ([2488a76](matter-labs@2488a76)) * Treat 502s and 503s as transient for GCS OS ([matter-labs#2202](matter-labs#2202)) ([0a12c52](matter-labs@0a12c52)) ### Reverts * verification of L1Batch witness (BFT-471) ([matter-labs#2230](matter-labs#2230)) ([227e101](matter-labs@227e101)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Configuration menu - View commit details
-
Copy full SHA for ad4b26f - Browse repository at this point
Copy the full SHA ad4b26fView commit details -
chore: remove some false positive clippy allows (matter-labs#2239)
## What ❔ Removes some false positive clippy lints ## Why ❔ No longer false positive after the recent rustc upgrade ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 5696564 - Browse repository at this point
Copy the full SHA 5696564View commit details -
fix(vm-runner): make
last_ready_batch
account for `first_processed_……batch` (matter-labs#2238) ## What ❔ Fixes a bug that is currently being observed on testnet ## Why ❔ Previously, on a fresh start, `last_ready_batch` could report incorrect batch meaning no progress would be made as `last_ready_batch` would be far less than `first_processed_batch`. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 3889794 - Browse repository at this point
Copy the full SHA 3889794View commit details -
perf(db): Improve storage switching for state keeper cache (matter-la…
…bs#2234) ## What ❔ Improves switching logic between Postgres and RocksDB for SK cache. With these changes, RocksDB is guaranteed to be used if it's up to date when it's opened. ## Why ❔ Previously, Postgres could be used after node start (primarily if there's a pending L1 batch) even if RocksDB is up to date. This is caused by potential delays when opening RocksDB. This behavior was observed in the wild, e.g. for a mainnet full node with pruning enabled. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 7c8e24c - Browse repository at this point
Copy the full SHA 7c8e24cView commit details
Commits on Jun 17, 2024
-
fix(object-store): Consider more GCS errors transient (matter-labs#2246)
## What ❔ Considers `reqwest::Error`s with "request" kind transient for the object store logic. ## Why ❔ Similar to some other kinds of `reqwest::Error`s, not all "request" errors are truly transient, but considering them as such is a safer option. ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
Configuration menu - View commit details
-
Copy full SHA for 2f6cd41 - Browse repository at this point
Copy the full SHA 2f6cd41View commit details -
fix: zk-toolbox integration tests ci (matter-labs#2226)
## What ❔ - Improves zk-toolbox integration tests CI adding missing arguments from typescript core CI ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 3f521ac - Browse repository at this point
Copy the full SHA 3f521acView commit details -
chore: lower function selector log level (matter-labs#2251)
## What ❔ Lowers function selector not found log level to debug ## Why ❔ It's non-actionable, harmless and spammy at the same time, for example: ![Screenshot 2024-06-17 at 5 10 15 PM](https://github.com/matter-labs/zksync-era/assets/7879134/90b831e1-6391-43da-94da-444a2b47030b) ## 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`.
Configuration menu - View commit details
-
Copy full SHA for d712874 - Browse repository at this point
Copy the full SHA d712874View commit details -
feat(ci): add retried rust toolchain installatoin (matter-labs#2249)
Signed-off-by: tomg10 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3cad74e - Browse repository at this point
Copy the full SHA 3cad74eView commit details -
fix(vm): Update
decommitted_code_hashes
inprepare_to_decommit
(m……atter-labs#2253) ## What ❔ Update `decommitted_code_hashes` in `prepare_to_decommit` ## Why ❔ Contract hashes that reached `prepare_to_decommit` should be returned by `get_used_contracts` ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 6c49a50 - Browse repository at this point
Copy the full SHA 6c49a50View commit details -
chore: move contract verifier logic to lib (matter-labs#2240)
## What ❔ Move the contract verifier struct to the separate lib crate. ## Why ❔ This logic can be used as a library. At lest, for example, now it's needed for some compiler analysis tool. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 63be1f3 - Browse repository at this point
Copy the full SHA 63be1f3View commit details -
fix(zk_toolbox): Show balance (matter-labs#2254)
## What ❔ Show balance of account if it's not enough for contract deployment ## 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]>
Configuration menu - View commit details
-
Copy full SHA for f1d9f03 - Browse repository at this point
Copy the full SHA f1d9f03View commit details
Commits on Jun 18, 2024
-
feat(zk_toolbox): Use docker compose instead of docker-compose (matte…
…r-labs#2195) ## What ❔ Use `docker compose` instead of `docker-compose` ## Why ❔ The recommended command-line syntax is docker compose: https://docs.docker.com/compose/migrate/#docker-compose-vs-docker-compose
Configuration menu - View commit details
-
Copy full SHA for 2f528ec - Browse repository at this point
Copy the full SHA 2f528ecView commit details -
fix(prover_cli): Remove outdated fix for circuit id in node wg (matte…
…r-labs#2248) This PR removes the fixes that were used to correct the circuit_id in the node witness generator. ## 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. - [ ] 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`.
Configuration menu - View commit details
-
Copy full SHA for db8e71b - Browse repository at this point
Copy the full SHA db8e71bView commit details -
feat(contract-verifier): Adjust contract verifier for zksolc 1.5.0 (m…
…atter-labs#2255) ## What ❔ - `system-mode`, `force-evmla` flag are not provided for zksolc post v1.5.0 compilations - `solc-path` is not provided for system yul post v1.5.0 compilations ## Why ❔ Changes in compiler interface ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 63efb2e - Browse repository at this point
Copy the full SHA 63efb2eView commit details -
fix(zk_toolbox): Use the same l2 address for shared and erc20 bridge (m…
…atter-labs#2260) ## 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]>
Configuration menu - View commit details
-
Copy full SHA for 26f2010 - Browse repository at this point
Copy the full SHA 26f2010View commit details -
feat(eth-sender): fix for missing eth_txs_history entries (matter-lab…
…s#2236) This change introduces an invariant "If the transaction may have been sent, then the sent_at_block is set". This way we never remove eth_txs_history entries if the transaction may be included in block. The downside is that we can't distinguish between not sent transaction and one that has not been mined, but you can't have it both. The next step is to remove "send_unsent_transactions" step, but it can't be done in this PR as there might be transactions in db without sent_at_block set --------- Signed-off-by: tomg10 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f05b0ae - Browse repository at this point
Copy the full SHA f05b0aeView commit details
Commits on Jun 19, 2024
-
fix(node_framework): Run gas adjuster task only if necessary (matter-…
…labs#2266) ## What ❔ Adds a check that would prevent gas adjuster task from actually running if there are no users of `GasAdjuster`. ## Why ❔ `GasAdjuster` is provided as a resource for anyone to use, but its support task uses RPC (which has usage limits), so it doesn't make sense to run it if nobody uses `GasAdjuster`. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 2dac846 - Browse repository at this point
Copy the full SHA 2dac846View commit details -
feat(zk_toolbox): Add prover generate-sk command (matter-labs#2222)
## 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`.
Configuration menu - View commit details
-
Copy full SHA for 40e0a95 - Browse repository at this point
Copy the full SHA 40e0a95View commit details -
fix(nix): make devShells.default
pure
again (matter-labs#2269)## What ❔ this removes the need to call `nix develop` with the `--impure` flag ## Why ❔ This removes an inconvenience. ## 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. - [x] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. - [ ] Spellcheck has been run via `zk spellcheck`. Signed-off-by: Harald Hoyer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 496e6c1 - Browse repository at this point
Copy the full SHA 496e6c1View commit details -
feat: Expose fair_pubdata_price for blocks and batches (matter-labs#2244
Configuration menu - View commit details
-
Copy full SHA for 0d51cd6 - Browse repository at this point
Copy the full SHA 0d51cd6View commit details -
refactor(en): Fetch old L1 batch hashes from L1 – improve metrics / l…
…ogging (matter-labs#2242) ## What ❔ Improves logging and metrics for the tree data fetcher. ## Why ❔ Currently, some errors don't have their context logged, and some metrics are defined suboptimally. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 9cc757a - Browse repository at this point
Copy the full SHA 9cc757aView commit details -
feat: upgraded encoding of transactions in consensus Payload. (matter…
…-labs#2245) Currently the encoded transaction is up to 3x larger than its rlp encoding. This is caused by data duplication between: raw, input and factory_deps fields. In the new encoding we use the rlp directly. It will be used starting with protocol version 25. --------- Co-authored-by: Bruno França <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cb6a6c8 - Browse repository at this point
Copy the full SHA cb6a6c8View commit details -
feat(node): Port (most of) Node to the Node Framework (matter-labs#2196)
## What ❔ Ports most of the EN parts to the framework, except: - Reorg detector - Genesis / snapshot recovery - Unique metrics stuff ## Why ❔ This forms the "main" body of the framework-based EN. The binary can already run, it can proxy and re-execute transactions, etc. The remaining work may be somewhat complex, so I would like to ship it separately -- so that it receives thorough review. There are some TODOs without a task number in this PR, expect them either to be fixed in the next one, or otherwise an issue to be added. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 7842bc4 - Browse repository at this point
Copy the full SHA 7842bc4View commit details -
perf(db): Try yet another storage log pruning approach (matter-labs#2268
) ## What ❔ Structures storage log pruning differently by first loading primary keys for the latest logs in the pruned block range, and then range-removing older logs based on these PKs. Both of these queries are designed to use particular indexes, making them have predictable performance. ## Why ❔ The current DB queries for storage log pruning sometimes use unpredictable indexes and have suboptimal performance. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 3ee34be - Browse repository at this point
Copy the full SHA 3ee34beView commit details -
feat: change
zkSync
occurences toZKsync
(matter-labs#2227)## What ❔ This PR changes `zkSync` occurences to `ZKsync` ## Why ❔ `ZKsync` is new valid way of writing the name. ## 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. - [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: Fedor Sakharov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0b4104d - Browse repository at this point
Copy the full SHA 0b4104dView commit details -
Configuration menu - View commit details
-
Copy full SHA for c828217 - Browse repository at this point
Copy the full SHA c828217View commit details -
fix(prover_cli): Fix Minor Bugs in Prover CLI (matter-labs#2264)
This PR fixes bugs in the Prover CLI: - The status command was not displaying correctly for more than one batch. - The witness job status was incorrectly set to "in progress" when some batches were in the queue and others were waiting for proofs. - The config command failed if there was no configuration file. Now, it creates one if it’s not found. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 440f2a7 - Browse repository at this point
Copy the full SHA 440f2a7View commit details -
fix(vm): fix insertion to
decommitted_code_hashes
(matter-labs#2275)## 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`.
Configuration menu - View commit details
-
Copy full SHA for 15bb71e - Browse repository at this point
Copy the full SHA 15bb71eView commit details -
feat(tee_verifier_input_producer): use `FactoryDepsDal::get_factory_d…
…eps() (matter-labs#2271) ## What ❔ Use `FactoryDepsDal::get_factory_deps()` in the tee_verifier_input_producer crate. ## Why ❔ This optimizes getting the system contracts and gets rid of a couple of workarounds. ## 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`. Signed-off-by: Harald Hoyer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2c0a00a - Browse repository at this point
Copy the full SHA 2c0a00aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 05c6f35 - Browse repository at this point
Copy the full SHA 05c6f35View commit details -
chore: use simple StorageLog struct instead of LogQuery when possible (…
…matter-labs#2252) There are many fields in LogQuery on the core side (it also exists in zk_evm) that are unused and often just set to some garbage value but that is very confusing. This PR changes the uses of LogQuery in the VmInterface to StorageLog, which only has the necessary fields. --------- Co-authored-by: perekopskiy <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3bf8966 - Browse repository at this point
Copy the full SHA 3bf8966View commit details -
refactor(db): Combine storage log pruning into single query (matter-l…
…abs#2279) ## What ❔ Minor follow-up for matter-labs#2268 that combines both parts of log pruning into a single query. ## Why ❔ Easier to maintain and could be slightly more efficient since intermediate data doesn't need to travel from Postgres to the node and back. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 7f4e6ac - Browse repository at this point
Copy the full SHA 7f4e6acView commit details -
Configuration menu - View commit details
-
Copy full SHA for f7f5447 - Browse repository at this point
Copy the full SHA f7f5447View commit details
Commits on Jun 20, 2024
-
feat(prover): Add file based config for prover fri (matter-labs#2184)
## What ❔ Add file based config for prover fri ## 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`.
Configuration menu - View commit details
-
Copy full SHA for f851615 - Browse repository at this point
Copy the full SHA f851615View commit details -
feat: Remove initialize_components function (matter-labs#2284)
## What ❔ Makes node framework the only way to run main node. Removes `initialize_components` function.
⚠️ Some leftovers are left in `core_leftovers` -- these are still used in some places. Removing them will be tacked separately. ## Why ❔ Part of the migration. ## 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`.Configuration menu - View commit details
-
Copy full SHA for 0a38891 - Browse repository at this point
Copy the full SHA 0a38891View commit details -
feat(api): Add new
l1_committed
block tag (matter-labs#2282)## Follow-ups: - add `l1_committed` tag to zksync-ethers codebase. - update docs. ## What ❔ - added the new tag `L1Committed` to `BlockNumber` enum. - added a new query to db to fetch l2 block, that was included into committed on L1 `l1_batch` inside `resolve_block_id ` dal method. - added unit test to check new feature `resolving_l1_committed_block_id `. - updated integration test. - refactored `dal`'s tests - created `create_l1_batch_header` for tests to avoid duplication. ## Why ❔ Chainlink needs this feature. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for d5e8e9b - Browse repository at this point
Copy the full SHA d5e8e9bView commit details -
fix(pruning): Check pruning in metadata calculator (matter-labs#2286)
## What ❔ Adds checks in the case the metadata calculator cannot proceed because of pruning. ## Why ❔ While we don't officially support distributed setup for ENs, it still looks worth it to have intelligent error messages in case metadata calculator is stuck. ## 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 `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
Configuration menu - View commit details
-
Copy full SHA for 7bd8f27 - Browse repository at this point
Copy the full SHA 7bd8f27View commit details -
fix(ci): missing run-retried for rust installation (matter-labs#2277)
Signed-off-by: tomg10 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3f88b8d - Browse repository at this point
Copy the full SHA 3f88b8dView commit details -
refactor(db): Improve storage logs pruning query – add block condition (
matter-labs#2285) ## What ❔ Adds a block condition for the storage logs pruning query. ## Why ❔ This should improve the query plan. ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Code has been formatted via `zk fmt` and `zk lint`. - [x] Spellcheck has been run via `zk spellcheck`.
Configuration menu - View commit details
-
Copy full SHA for dd2c941 - Browse repository at this point
Copy the full SHA dd2c941View commit details -
feat(docs): Pruning and Snapshots recovery basic docs (matter-labs#2265)
Signed-off-by: tomg10 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 619a525 - Browse repository at this point
Copy the full SHA 619a525View commit details -
feat(ci): remove spellcheck (matter-labs#2243)
Signed-off-by: tomg10 <[email protected]> Co-authored-by: pompon0 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f4aff94 - Browse repository at this point
Copy the full SHA f4aff94View commit details
Commits on Jun 21, 2024
-
feat(docs): Add documentation for subset of wiring layer implementati…
…ons, used by Main node (matter-labs#2292) This is the first PR in the queue. ## What ❔ Adds a description for the next wiring layers: - `CircuitBreakerCheckerLayer` - `CommitmentGeneratorLayer` - `ContractVerificationApiLayer` - `EthTxManagerLayer` - `EthTxAggregatorLayer` - `EthWatchLayer` - `HealthCheckLayer`
Configuration menu - View commit details
-
Copy full SHA for 06c287b - Browse repository at this point
Copy the full SHA 06c287bView commit details -
fix(db): Fix
insert_proof_generation_details()
(matter-labs#2291)## What ❔ Removes a double insertion check from `insert_proof_generation_details()` in `ProofGenerationDal`. ## Why ❔ It is not an error, and can and will happen if multiple full trees are run for the same node. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for c2412cf - Browse repository at this point
Copy the full SHA c2412cfView commit details -
refactor(pruning): Improve pruning metrics and logs (matter-labs#2297)
## What ❔ - Adds counters for outcomes (success, failure, error) for all pruning conditions. - Distinguishes between no-op and soft pruning latency. - Logs latencies and stats in tree pruning. - Other misc improvements. ## Why ❔ Improves pruning observability. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for e467028 - Browse repository at this point
Copy the full SHA e467028View commit details -
chore: bumped curve25519 (matter-labs#2299)
## What ❔ matter-labs#2274 got reverted ## Why ❔ Vuln ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 6fd4258 - Browse repository at this point
Copy the full SHA 6fd4258View commit details -
feat: Use info log level for crates named zksync_* by default (matter…
…-labs#2296) ## What ❔ Makes `zksync=info` default log entry, which later can be overridden/extended. ## Why ❔ Provides a good enough default for any env, simplifies configuration of the system. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 9303142 - Browse repository at this point
Copy the full SHA 9303142View commit details -
feat(init): Update init scripts (matter-labs#2301)
## What ❔ Update contracts ## 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`. Signed-off-by: Danil <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 682a214 - Browse repository at this point
Copy the full SHA 682a214View commit details
Commits on Jun 24, 2024
-
feat(vm-runner): add protective reads persistence flag for state keep…
…er (matter-labs#2307) ## What ❔ Makes `protective-reads-writer` actually write the data when it hasn't already been written by state keeper. ## Why ❔ Next iteration of VM runner ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 36d2eb6 - Browse repository at this point
Copy the full SHA 36d2eb6View commit details -
chore(release): Release As: 24.8.0 (matter-labs#2308)
## 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`.
Configuration menu - View commit details
-
Copy full SHA for 67411fd - Browse repository at this point
Copy the full SHA 67411fdView commit details -
feat: Make all core workspace crate names start with zksync_ (matter-…
…labs#2294) ## What ❔ Renames a bunch of crates (most notably, `multivm` and `vlog`) so that they start with `zksync_` prefix. ## Why ❔ Unification within the workspace, less ambiguity if treated as global crates. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 8861f29 - Browse repository at this point
Copy the full SHA 8861f29View commit details -
chore(main): release core 24.8.0 (matter-labs#2135)
🤖 I have created a release *beep* *boop* --- ## [24.8.0](matter-labs/zksync-era@core-v24.7.0...core-v24.8.0) (2024-06-24) ### ⚠ BREAKING CHANGES * updated boojum and nightly rust compiler ([matter-labs#2126](matter-labs#2126)) ### Features * Add metrics for transaction execution result in state keeper ([matter-labs#2021](matter-labs#2021)) ([dde0fc4](matter-labs@dde0fc4)) * **api:** Add new `l1_committed` block tag ([matter-labs#2282](matter-labs#2282)) ([d5e8e9b](matter-labs@d5e8e9b)) * **api:** Rework zks_getProtocolVersion ([matter-labs#2146](matter-labs#2146)) ([800b8f4](matter-labs@800b8f4)) * change `zkSync` occurences to `ZKsync` ([matter-labs#2227](matter-labs#2227)) ([0b4104d](matter-labs@0b4104d)) * **contract-verifier:** Adjust contract verifier for zksolc 1.5.0 ([matter-labs#2255](matter-labs#2255)) ([63efb2e](matter-labs@63efb2e)) * **docs:** Add documentation for subset of wiring layer implementations, used by Main node ([matter-labs#2292](matter-labs#2292)) ([06c287b](matter-labs@06c287b)) * **docs:** Pruning and Snapshots recovery basic docs ([matter-labs#2265](matter-labs#2265)) ([619a525](matter-labs@619a525)) * **en:** Allow recovery from specific snapshot ([matter-labs#2137](matter-labs#2137)) ([ac61fed](matter-labs@ac61fed)) * **eth-sender:** fix for missing eth_txs_history entries ([matter-labs#2236](matter-labs#2236)) ([f05b0ae](matter-labs@f05b0ae)) * Expose fair_pubdata_price for blocks and batches ([matter-labs#2244](matter-labs#2244)) ([0d51cd6](matter-labs@0d51cd6)) * **merkle-tree:** Rework tree rollback ([matter-labs#2207](matter-labs#2207)) ([c3b9c38](matter-labs@c3b9c38)) * **node-framework:** Add Main Node Client layer ([matter-labs#2132](matter-labs#2132)) ([927d842](matter-labs@927d842)) * **node:** Move some stuff around ([matter-labs#2151](matter-labs#2151)) ([bad5a6c](matter-labs@bad5a6c)) * **node:** Port (most of) Node to the Node Framework ([matter-labs#2196](matter-labs#2196)) ([7842bc4](matter-labs@7842bc4)) * **object-store:** Allow caching object store objects locally ([matter-labs#2153](matter-labs#2153)) ([6c6e65c](matter-labs@6c6e65c)) * **proof_data_handler:** add new endpoints to the TEE prover interface API ([matter-labs#1993](matter-labs#1993)) ([eca98cc](matter-labs@eca98cc)) * **prover:** Add file based config for fri prover gateway ([matter-labs#2150](matter-labs#2150)) ([81ffc6a](matter-labs@81ffc6a)) * Remove initialize_components function ([matter-labs#2284](matter-labs#2284)) ([0a38891](matter-labs@0a38891)) * **state-keeper:** Add metric for l2 block seal reason ([matter-labs#2229](matter-labs#2229)) ([f967e6d](matter-labs@f967e6d)) * **state-keeper:** More state keeper metrics ([matter-labs#2224](matter-labs#2224)) ([1e48cd9](matter-labs@1e48cd9)) * **sync-layer:** adapt MiniMerkleTree to manage priority queue ([matter-labs#2068](matter-labs#2068)) ([3e72364](matter-labs@3e72364)) * **tee_verifier_input_producer:** use `FactoryDepsDal::get_factory_deps() ([matter-labs#2271](matter-labs#2271)) ([2c0a00a](matter-labs@2c0a00a)) * **toolbox:** add zk_toolbox ci ([matter-labs#1985](matter-labs#1985)) ([4ab4922](matter-labs@4ab4922)) * updated boojum and nightly rust compiler ([matter-labs#2126](matter-labs#2126)) ([9e39f13](matter-labs@9e39f13)) * upgraded encoding of transactions in consensus Payload. ([matter-labs#2245](matter-labs#2245)) ([cb6a6c8](matter-labs@cb6a6c8)) * Use info log level for crates named zksync_* by default ([matter-labs#2296](matter-labs#2296)) ([9303142](matter-labs@9303142)) * verification of L1Batch witness (BFT-471) - attempt 2 ([matter-labs#2232](matter-labs#2232)) ([dbcf3c6](matter-labs@dbcf3c6)) * verification of L1Batch witness (BFT-471) ([matter-labs#2019](matter-labs#2019)) ([6cc5455](matter-labs@6cc5455)) * **vm-runner:** add basic metrics ([matter-labs#2203](matter-labs#2203)) ([dd154f3](matter-labs@dd154f3)) * **vm-runner:** add protective reads persistence flag for state keeper ([matter-labs#2307](matter-labs#2307)) ([36d2eb6](matter-labs@36d2eb6)) * **vm-runner:** shadow protective reads using VM runner ([matter-labs#2017](matter-labs#2017)) ([1402dd0](matter-labs@1402dd0)) ### Bug Fixes * **api:** Fix getting pending block ([matter-labs#2186](matter-labs#2186)) ([93315ba](matter-labs@93315ba)) * **api:** Fix transaction methods for pruned transactions ([matter-labs#2168](matter-labs#2168)) ([00c4cca](matter-labs@00c4cca)) * **config:** Fix object store ([matter-labs#2183](matter-labs#2183)) ([551cdc2](matter-labs@551cdc2)) * **config:** Split object stores ([matter-labs#2187](matter-labs#2187)) ([9bcdabc](matter-labs@9bcdabc)) * **db:** Fix `insert_proof_generation_details()` ([matter-labs#2291](matter-labs#2291)) ([c2412cf](matter-labs@c2412cf)) * **db:** Optimize `get_l2_blocks_to_execute_for_l1_batch` ([matter-labs#2199](matter-labs#2199)) ([06ec5f3](matter-labs@06ec5f3)) * **en:** Fix reorg detection in presence of tree data fetcher ([matter-labs#2197](matter-labs#2197)) ([20da566](matter-labs@20da566)) * **en:** Fix transient error detection in consistency checker ([matter-labs#2140](matter-labs#2140)) ([38fdfe0](matter-labs@38fdfe0)) * **en:** Remove L1 client health check ([matter-labs#2136](matter-labs#2136)) ([49198f6](matter-labs@49198f6)) * **eth-sender:** Don't resend already sent transactions in the same block ([matter-labs#2208](matter-labs#2208)) ([3538e9c](matter-labs@3538e9c)) * **eth-sender:** etter error handling in eth-sender ([matter-labs#2163](matter-labs#2163)) ([0cad504](matter-labs@0cad504)) * **node_framework:** Run gas adjuster task only if necessary ([matter-labs#2266](matter-labs#2266)) ([2dac846](matter-labs@2dac846)) * **object-store:** Consider more GCS errors transient ([matter-labs#2246](matter-labs#2246)) ([2f6cd41](matter-labs@2f6cd41)) * **prover_cli:** Remove outdated fix for circuit id in node wg ([matter-labs#2248](matter-labs#2248)) ([db8e71b](matter-labs@db8e71b)) * **prover:** Disallow state changes from successful ([matter-labs#2233](matter-labs#2233)) ([2488a76](matter-labs@2488a76)) * **pruning:** Check pruning in metadata calculator ([matter-labs#2286](matter-labs#2286)) ([7bd8f27](matter-labs@7bd8f27)) * Treat 502s and 503s as transient for GCS OS ([matter-labs#2202](matter-labs#2202)) ([0a12c52](matter-labs@0a12c52)) * **vm-runner:** add config value for the first processed batch ([matter-labs#2158](matter-labs#2158)) ([f666717](matter-labs@f666717)) * **vm-runner:** make `last_ready_batch` account for `first_processed_batch` ([matter-labs#2238](matter-labs#2238)) ([3889794](matter-labs@3889794)) * **vm:** fix insertion to `decommitted_code_hashes` ([matter-labs#2275](matter-labs#2275)) ([15bb71e](matter-labs@15bb71e)) * **vm:** Update `decommitted_code_hashes` in `prepare_to_decommit` ([matter-labs#2253](matter-labs#2253)) ([6c49a50](matter-labs@6c49a50)) ### Performance Improvements * **db:** Improve storage switching for state keeper cache ([matter-labs#2234](matter-labs#2234)) ([7c8e24c](matter-labs@7c8e24c)) * **db:** Try yet another storage log pruning approach ([matter-labs#2268](matter-labs#2268)) ([3ee34be](matter-labs@3ee34be)) * **en:** Parallelize persistence and chunk processing during tree recovery ([matter-labs#2050](matter-labs#2050)) ([b08a667](matter-labs@b08a667)) * **pruning:** Use more efficient query to delete past storage logs ([matter-labs#2179](matter-labs#2179)) ([4c18755](matter-labs@4c18755)) ### Reverts * **pruning:** Revert pruning query ([matter-labs#2220](matter-labs#2220)) ([8427cdd](matter-labs@8427cdd)) * verification of L1Batch witness (BFT-471) ([matter-labs#2230](matter-labs#2230)) ([227e101](matter-labs@227e101)) --- 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]>
Configuration menu - View commit details
-
Copy full SHA for 9080452 - Browse repository at this point
Copy the full SHA 9080452View commit details -
fix(zk_toolbox): Use slug crate instead of self written function (mat…
…ter-labs#2309) ## What ❔ Use slug crate for covering more problematic ecosystem names ## 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`. Signed-off-by: Danil <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a61f273 - Browse repository at this point
Copy the full SHA a61f273View commit details -
fix(eth-sender): confirm eth-txs in order of their creation (matter-l…
…abs#2310) Signed-off-by: tomg10 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 31a1a04 - Browse repository at this point
Copy the full SHA 31a1a04View commit details -
chore: remove release override (matter-labs#2313)
## 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`.
Configuration menu - View commit details
-
Copy full SHA for 4e9f724 - Browse repository at this point
Copy the full SHA 4e9f724View commit details -
docs(pruning): Improve pruning and snapshot recovery docs (matter-lab…
…s#2311) ## What ❔ Improves various pruning and snapshot recovery docs. ## Why ❔ Makes docs more thorough and clearer. ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Code has been formatted via `zk fmt` and `zk lint`.
Configuration menu - View commit details
-
Copy full SHA for b4327b6 - Browse repository at this point
Copy the full SHA b4327b6View commit details -
feat(eth-sender): separate gas calculations for blobs transactions (m…
…atter-labs#2247) This PR implements point (1) from https://www.notion.so/matterlabs/Eth-sender-blob-fees-problem-b84e1715248944559a0a656a6c9da320 --------- Signed-off-by: tomg10 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 627aab9 - Browse repository at this point
Copy the full SHA 627aab9View commit details
Commits on Jun 25, 2024
-
feat(node_framework): Support shutdown hooks + more (matter-labs#2293)
## What ❔ - Adds support for shutdown hooks. These are to be executed sequentially after all the tasks are either completed or dropped. - Note: I didn't spend too much time designing it, went with a "well enough" approach, as there are a ton of other things to do rn. We can revisit the design later, unless there are critical issues here. - One known caveat is that the hooks are not very reusable, and two tasks can add the same hook, and it will be executed twice. Not sure if it's an issue, given that the second execution would be a no-op. - Moves waiting of rocksdb termination from state keeper and metadata calculator tasks to the hooks. - Increases the amount of logs we emit. - Adds task names to many service logs where they were missing. - Collects all the errors that occurred in the framework. - Improves handling of stop signals in queued job processor. ## Why ❔ - Performing the shutdown routine in the task itself is deadlock-prone. - Added logs would've helped with identifying the issues we've already met. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 2b2c790 - Browse repository at this point
Copy the full SHA 2b2c790View commit details -
feat(metadata-calculator): option to use VM runner for protective rea…
…ds (matter-labs#2318) ## 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`.
Configuration menu - View commit details
-
Copy full SHA for c147b0c - Browse repository at this point
Copy the full SHA c147b0cView commit details -
feat(node_framework): Document implementations (matter-labs#2319)
## What ❔ Provides minimal documentation for the already present framework implementations. ## Why ❔ Accessibility. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 7b3877f - Browse repository at this point
Copy the full SHA 7b3877fView commit details -
fix(merkle-tree): Change
LazyAsyncTreeReader::wait()
signature (mat……ter-labs#2314) ## What ❔ Makes `LazyAsyncTreeReader::wait()` return an `Option` to make it clearer that not initializing is not necessarily an error (this decision is up to the caller). ## Why ❔ Recent errors on ENs were caused by unwrapping `LazyAsyncTreeReader::wait()`. They partially masked the real error cause (not related to this task). ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 408393c - Browse repository at this point
Copy the full SHA 408393cView commit details -
refactor: Remove
metrics
dependencies from workspace (matter-labs#2320) ## What ❔ - Removes `metrics` dependencies from workspace as unused. - Removes a separate Prometheus exporter crate in favor of a module in `zksync_vlog`. ## Why ❔ Maintainability. ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Code has been formatted via `zk fmt` and `zk lint`.
Configuration menu - View commit details
-
Copy full SHA for c4f7b92 - Browse repository at this point
Copy the full SHA c4f7b92View commit details -
feat(en): file based configs for en (matter-labs#2110)
## What ❔ Allow EN works with file-based config system. Also it brings new functionality based on config system to the main node, because it was lacking before, such as custom api namespaces ## Why ❔ Part of the refactoring to the new config system ## 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: Matías Ignacio González <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7940fa3 - Browse repository at this point
Copy the full SHA 7940fa3View commit details -
feat(docs): Quickstart pruning mention (matter-labs#2324)
Signed-off-by: tomg10 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8b1fbab - Browse repository at this point
Copy the full SHA 8b1fbabView commit details
Commits on Jun 26, 2024
-
feat(node_framework): Unify Task types + misc improvements (matter-la…
…bs#2325) ## What ❔ - Unifies `Task` types. Now we only have a single `Task` type with different `TaskKind` specifiers. - Refactors `ZkStackService::run` so that it's more readable. - Updates the framework documentation. - Minor improvements here and there. ## Why ❔ - Preparing framework for the previously proposed refactoring (e.g. `FromContext` / `IntoContext` IO flow). - Preparing framework for the publishing. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 298a97e - Browse repository at this point
Copy the full SHA 298a97eView commit details -
chore: documentation about docker (matter-labs#2328)
## What ❔ * Documentation explaining how to use docker to debug the CI issues.
Configuration menu - View commit details
-
Copy full SHA for 061097d - Browse repository at this point
Copy the full SHA 061097dView commit details -
feat(zk toolbox): External node support (matter-labs#2287)
## 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]> Co-authored-by: Matías Ignacio González <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6384cad - Browse repository at this point
Copy the full SHA 6384cadView commit details -
fix(eth-sender): revert commit changing which type of txs we resend f…
…irst (matter-labs#2327) Signed-off-by: tomg10 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ef75292 - Browse repository at this point
Copy the full SHA ef75292View commit details
Commits on Jun 27, 2024
-
fix(object-store): Consider some token source errors transient (matte…
…r-labs#2331) ## What ❔ Considers some token source GCS errors transient. ## Why ❔ Considering errors as transient leads to less abnormal application terminations. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 85386d3 - Browse repository at this point
Copy the full SHA 85386d3View commit details -
feat(gas_adjuster): Use eth_feeHistory for both base fee and blobs (m…
…atter-labs#2322) ## What ❔ Updated the codebase to support blob information in the `eth_feeHistory` RPC method. Changes GasAdjuster so that it only uses this method to retrieve info. ## Why ❔ Use dedicated RPC method for getting info instead of custom implementation. Less requests to L1. Less code to maintain. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 9985c26 - Browse repository at this point
Copy the full SHA 9985c26View commit details -
feat(eth-sender): Add transient ethereum gateway errors metric (matte…
…r-labs#2323) Signed-off-by: tomg10 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 287958d - Browse repository at this point
Copy the full SHA 287958dView commit details -
feat(en): Unify snapshot recovery and recovery from L1 (matter-labs#2256
) ## What ❔ - Replaces `storage_logs.{address, key}` fields in the snapshot with `storage_logs.hashed_key`. - Makes `storage_logs.{address, key}` fields in Postgres optional and adapts the codebase for it. ## Why ❔ - This will make snapshot data equivalent to data obtainable from L1, and thus would allow to unify snapshot recovery and recovery from L1 data. - Decreases the snapshot size somewhat. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for e03a929 - Browse repository at this point
Copy the full SHA e03a929View commit details -
feat(prover): Add file based config for witness vector generator (mat…
…ter-labs#2337) ## What ❔ Add file based config for witness vector generator
Configuration menu - View commit details
-
Copy full SHA for f86eb13 - Browse repository at this point
Copy the full SHA f86eb13View commit details -
feat: add revert tests to zk_toolbox (matter-labs#2317)
## What ❔ - Adds revert tests to zk_toolbox <!-- 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`.
Configuration menu - View commit details
-
Copy full SHA for c9ad002 - Browse repository at this point
Copy the full SHA c9ad002View commit details -
feat: Adding unstable RPC endpoint to return the execution_info (matt…
…er-labs#2332) ## What ❔ * Execution info shows some details from the VM execution (like circutits used, pubdata etc) * This data was only stored in DB and not accessible outside - after this PR, it is available under `nstable_getTransactionExecutionInfo` ## Why ❔ * This allows us to do more advanced debugging of issues - especially for cases where we might not have access to the underlying database. * In the future, some parts of this might be migrated into a 'stable' RPC. ## Evidence ![image](https://github.com/matter-labs/zksync-era/assets/128217157/20da9e80-f7b3-4614-89f3-b09a774ffcf9)
Configuration menu - View commit details
-
Copy full SHA for 3d047ea - Browse repository at this point
Copy the full SHA 3d047eaView commit details
Commits on Jun 28, 2024
-
refactor(dal): Deprecate l1_batches.l2_to_l1_logs (matter-labs#2175)
**review notes**: - changes in `core/lib/types/src/commitment/tests/**.json`s - only formatting. - as a follow-up to this PR there should be another PR that adds drop `l1_batches.l2_to_l1_logs` column migration. ## What ❔ - New dal method `get_l2_to_l1_logs_by_number` that fetches logs for a specific number from `l2_to_l1_logs` table. - More complicated way to construct `L1BatchHeader`. Now we fetch data from the `l1_batches` table as `StorageL1BatchHeader `..then fetch l2l1 logs using `get_l2_to_l1_logs_by_number` and after, use the helper `into_l1_batch_header_with_logs ` method to construct `L1BatchHeader`. ## Why ❔ The main motivation for this change is to avoid keeping info about l2l1 logs in 2 tables. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 4f77439 - Browse repository at this point
Copy the full SHA 4f77439View commit details -
feat(contract-verifier): Add new compilers (matter-labs#2346)
## What ❔ Adds new compilers ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 9bbdf22 - Browse repository at this point
Copy the full SHA 9bbdf22View commit details -
feat(zk-toolbox): Deploy custom token (matter-labs#2329)
## What ❔ Small fixes for local deployment ## 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`. --------- Signed-off-by: Danil <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3a8fed4 - Browse repository at this point
Copy the full SHA 3a8fed4View commit details -
feat(zk_toolbox): Dev command (matter-labs#2347)
## What ❔ Shortcut for developers, for not answering all questions ## 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`. Signed-off-by: Danil <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f508ac1 - Browse repository at this point
Copy the full SHA f508ac1View commit details -
feat: consensus support for pruning (BFT-473) (matter-labs#2334)
Added a task which is monitoring the persisted block range and notifies consensus if it shrinks.
Configuration menu - View commit details
-
Copy full SHA for abc4256 - Browse repository at this point
Copy the full SHA abc4256View commit details -
feat(eth-sender): handle transactions for different operators separat…
…ely to increase throughtput (matter-labs#2341) Before this PR, all transactions to be send for the first time landed in one queue. Whenever a transaction had to be resent, on each block: - we chose the first non-blob transaction could a blob transaction be resent. - If and only if there are no such non-blob txs we resend a blob transaction. While this works, it's not ideal as those two types of transactions can be safely sent independently to increase throughput. It's also harder to think about time in mempool now as for instance a blob txs may have to wait for an hour before all pending non-blob txs are sent and confirmed. My PR changes so that those two types of transaction are completely separate. It makes sense as they are using different sender accounts (operators) and a different set of nonces, so they can be safely sent in parallel. --------- Signed-off-by: tomg10 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0619ecc - Browse repository at this point
Copy the full SHA 0619eccView commit details -
fix(merkle-tree): Fix chunk recovery reporting during tree recovery (m…
…atter-labs#2348) ## What ❔ Fixes logging / observing metrics in the case a termination signal was received during tree recovery. ## Why ❔ Logging / observing metrics in this case is misleading. ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Code has been formatted via `zk fmt` and `zk lint`.
Configuration menu - View commit details
-
Copy full SHA for 70b3a8a - Browse repository at this point
Copy the full SHA 70b3a8aView commit details -
feat(zk_toolbox): Add prover init command (matter-labs#2298)
## What ❔ Add prover init command. Initializes proof object storage settings. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 159af3c - Browse repository at this point
Copy the full SHA 159af3cView commit details -
feat(prover): Add file based config for compressor (matter-labs#2353)
Add file based config for compressor
Configuration menu - View commit details
-
Copy full SHA for 1d6f87d - Browse repository at this point
Copy the full SHA 1d6f87dView commit details -
chore: update smart contracts (matter-labs#2354)
## 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`. Signed-off-by: Danil <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6c308d2 - Browse repository at this point
Copy the full SHA 6c308d2View commit details
Commits on Jul 1, 2024
-
feat(snapshots_applier): Add a method to check whether snapshot recov…
…ery is done (matter-labs#2338) ## What ❔ subj ## Why ❔ Such a method is useful, for example, to understand whether it's safe to start the API server in distributed mode. Will be a part of EN check for storage initialization. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 610a7cf - Browse repository at this point
Copy the full SHA 610a7cfView commit details -
fix(proof_compressor): Fix backward compatibility (matter-labs#2356)
## 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`. Signed-off-by: Danil <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 76508c4 - Browse repository at this point
Copy the full SHA 76508c4View commit details -
chore: Bump networking deps (matter-labs#2349)
## What ❔ Bumps networking deps: hyper, http, reqwest, axum, jsonrpsee, and a few others. ## Why ❔ hyper is a grown boy now. It's time to use 1.0. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 7dabdbf - Browse repository at this point
Copy the full SHA 7dabdbfView commit details -
feat(node_framework): Implement FromContext and IntoContext derive ma…
…cro (matter-labs#2330) ## What ❔ - Improves context interfaces: removes unneded `async` when fetching resources, and made `add_task` accept `T` instead of `Box`. - Adds previously proposed `FromContext` and `IntoContext` macro that will allow to redefine the wiring layer interface so that it doesn't have direct access to the context.
⚠️ I didn't port the whole framework to using macros, since there may be changes in the macro itself during this review. Once we merge this, I will simultaneously rework the `WiringLayer` interface and will port layers. For now, I've used new macros in the `BatchStatusUpdater` layer to see how it works. Seems that it works fine 😅 ## Why ❔ Ergonomics. ## 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`.Configuration menu - View commit details
-
Copy full SHA for 34f2a45 - Browse repository at this point
Copy the full SHA 34f2a45View commit details -
feat(zk_toolbox): use low level command for running verbose command" (m…
…atter-labs#2358) ## 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`. --------- Signed-off-by: Danil <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 29671c8 - Browse repository at this point
Copy the full SHA 29671c8View commit details -
chore(zk_toolbox): satisfy clippy (matter-labs#2359)
## 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`. --------- Signed-off-by: Danil <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2dd35dd - Browse repository at this point
Copy the full SHA 2dd35ddView commit details -
refactor: Rename consensus tasks and split storage (BFT-476) (matter-…
…labs#2357) ## What ❔ * Renames `FetcherTask` to `ExternalNodeTask` * Moves `run_main_node` to `mn::run_main_node` to match `en::run_external_node` * Splits `consensus::storage` into `consensus::storage::connection` and `consensus::storage::store` ## Why ❔ I'm working on matter-labs#2340 where I made these changes either because the naming was confusing or the module was getting very long and I thought it would make it easier to have it in two before adding more trait implementations to it. The PR was getting huge even before I did any actual work, so I decided to make a pure refactoring PR to make the other one easier to review later. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 107e1a7 - Browse repository at this point
Copy the full SHA 107e1a7View commit details
Commits on Jul 2, 2024
-
fix(db): Fix / extend transaction isolation levels (matter-labs#2350)
## What ❔ - Makes readonly Postgres transaction have "repeatable read" isolation level by default. - Allows specifying an isolation level in the transaction builder. ## Why ❔ Readonly transactions usually expect a consistent DB view, hence the "repeatable read" isolation level. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 404ceb9 - Browse repository at this point
Copy the full SHA 404ceb9View commit details -
revert: "refactor: Rename consensus tasks and split storage (BFT-476)" (
matter-labs#2364) Reverts matter-labs#2357 This PR changed the contracts submodule by mistake. cc @aakoshh @brunoffranca
Configuration menu - View commit details
-
Copy full SHA for e67ec5d - Browse repository at this point
Copy the full SHA e67ec5dView commit details -
fix: Add EmilLuta to codeowners (matter-labs#2368)
Needed for prover releases (EmilLuta owns prover subsystems)
Configuration menu - View commit details
-
Copy full SHA for 65973cc - Browse repository at this point
Copy the full SHA 65973ccView commit details -
Configuration menu - View commit details
-
Copy full SHA for 45c7a0a - Browse repository at this point
Copy the full SHA 45c7a0aView commit details -
feat: Validium with DA (matter-labs#2010)
## What ❔ This PR adds an opportunity to use external DA layers to submit the pubdata. The implementations of the clients will be created in this repo: https://github.com/matter-labs/hyperchain-da This is only the first stage, and doesn't include any modifications to the `commitBatches` or bootloader memory, those will be added as a follow-up. Design doc for the feature (might be a bit outdated, but main concepts are valid): https://matterlabs.notion.site/Validium-with-DA-EXTERNAL-8deccba433be4ff88592a3b0f8774062 It is assumed that the pubdata publishing is subsidized by the operators at this points, it shouldn't be a concern because: - the DA layers' storage costs are quite low - for most DA layers, the blob size is around 2MB (or they work on increasing it to be like that), so we could in theory fit ~30-35k txs there, which makes that cost even lower per tx ## Why ❔ We have many partners who want to use the different DA layers, this PR provides a common interface for all of them ## Checklist - [ ] 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`.
Configuration menu - View commit details
-
Copy full SHA for fe03d0e - Browse repository at this point
Copy the full SHA fe03d0eView commit details -
feat(prover): Add prover_cli stats command (matter-labs#2362)
Adds stats commands, which provides information (batch number, when the request for proving was created and how long it took) for all L1 Batch proofs. This speeds up proving time reduction (by giving everyone visibility into current process) and can serve as further automation in the future (for instance, emit metrics, or use the tooling for automated reports).
Configuration menu - View commit details
-
Copy full SHA for fe65319 - Browse repository at this point
Copy the full SHA fe65319View commit details -
feat(prover): Add file based config support for vk-setup-data-generat…
…or-server-fri (matter-labs#2371) ## What ❔ Add file based config support for vk-setup-data-generator-server-fri ## Why `KeyStore::default()` uses `FriProverConfig::from_env()` which panics when config is provided via files
Configuration menu - View commit details
-
Copy full SHA for b0e72c9 - Browse repository at this point
Copy the full SHA b0e72c9View commit details -
refactor: Rename consensus tasks and split storage (BFT-476) (matter-…
…labs#2366) ## What ❔ This is a 2nd attempt at matter-labs#2357 to redo it after matter-labs#2364 has reverted it. The fix was cherry picked from matter-labs#2365 ## Why ❔ The other PR accidentally changed the contracts submodule. ## 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`. --------- Co-authored-by: matias-gonz <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 81c8f53 - Browse repository at this point
Copy the full SHA 81c8f53View commit details
Commits on Jul 3, 2024
-
chore(tests): zksync-ethers v6 (matter-labs#2012)
## What ❔ Upgrading `zksync-ethers` to `6.9.0` and `ethers` to `6.7.1` in the `ts-integration`, `revert-test`, `recovery-test` `upgrade-test` packages, and migrating tests to use new syntax/functions/types/etc. <!-- 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. - [ ] 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: Danijel Radakovic <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9c6bf29 - Browse repository at this point
Copy the full SHA 9c6bf29View commit details -
feat: Base Token Fundamentals (matter-labs#2204)
## What ❔ This PR puts in place the major pieces needed in the Base Token flow as described in the [design doc](https://www.notion.so/matterlabs/Custom-Base-Token-Tech-Design-74e158112f24463c82d96415bed76d04). This PR adds a preliminary flow of: - Periodically fetch the new price from an external API - Update the conversion ration in the DB - Have the Fee Model use the latest stored conversion ratio In the scope of this PR: - Introducing BaseTokenAdjuster to the Node Framework - Adding the DB migration and the associated DAL - Adding the proper configs for this layer to work - Conditionally updating the gas price with a BaseToken<->ETH conversion ratio such that it's used in charging the gas in the base token and estimating gas for txs. - Unit + Integration tests Out of scope of this PR: - Protocol contract changes needed for a base token chain to work (these are already merged) - Using an external API to fetch prices - Updating the L1 with the conversion ratio - Observability, API redundancy, ## Why ❔ Multiple ZK Chains are ready to go on mainnet with a custom token used as the gas token. ## 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: Ivan Schasny <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 39709f5 - Browse repository at this point
Copy the full SHA 39709f5View commit details -
fix(merkle-tree): Fix connection timeouts during tree pruning (matter…
…-labs#2372) ## What ❔ - Makes DB connections short-lived during main tree update loop. - Propagates errors when queuing sync actions on EN. ## Why ❔ - There's less chance of DB connection timeout during tree pruning. Realistically, such timeouts can occur when the tree is syncing if pruning is enabled. - Propagating errors gets rid of potential panics during EN shutdown. ## 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`. fix(en): Fix panics when queuing sync actions during shutdown
Configuration menu - View commit details
-
Copy full SHA for d5935c7 - Browse repository at this point
Copy the full SHA d5935c7View commit details -
feat(tee): TEE Prover Gateway (matter-labs#2333)
## What ❔ The TEE Prover Gateway is a service component within our system infrastructure that functions as an intermediary between the TEE enclave and the server's HTTP API, introduced in commit eca98cc (matter-labs#1993). It first registers TEE attestation using the `/tee/register_attestation` endpoint, then regularly invokes the server's HTTP API via the `/tee/proof_inputs` endpoint to obtain proof-related data, and finally submits the proof through the `/tee/submit_proofs/<l1_batch_number>` endpoint. ## Why ❔ This PR contributes to the effort outlined in the docs: - https://www.notion.so/matterlabs/2FA-for-zk-rollups-with-TEEs-a2266138bd554fda8846e898fef75131?pvs=4 - https://www.notion.so/matterlabs/Proof-2F-verification-with-SGX-5fca2c619dd147938971cc00ae53e2b0?pvs=4 ## 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`. --------- Co-authored-by: Harald Hoyer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f8df34d - Browse repository at this point
Copy the full SHA f8df34dView commit details
Commits on Jul 4, 2024
-
feat(api): Retry
read_value
(matter-labs#2352)## What ❔ Retries calling `read_value` when it fails with statement_timeout. ## Why ❔ Eliminate sporadic failures. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 256a43c - Browse repository at this point
Copy the full SHA 256a43cView commit details -
fix(config): Implement proper tests (matter-labs#2381)
## What ❔ Fix some serializations and add tests for it. ## 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`. Signed-off-by: Danil <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2ec494b - Browse repository at this point
Copy the full SHA 2ec494bView commit details
Commits on Jul 5, 2024
-
refactor(vm-runner): simplify last processed batch query (matter-labs…
…#2373) ## What ❔ Refactors query to not use default param and return `Option` instead ## Why ❔ Transparent flow ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 217a4ba - Browse repository at this point
Copy the full SHA 217a4baView commit details -
feat(tee): add Prometheus metrics to the TEE Prover (matter-labs#2386)
## What ❔ This commit adds Prometheus metrics to the TEE Prover. Specifically, the following metrics were added: - Waiting time for a new batch to be proven - Proof generation time - Proof submitting time - Network error counter - Last block number processed ## Why ❔ Setting up Prometheus metrics is a prerequisite before rolling them out to staging and testnet environments. Prometheus metrics are useful for monitoring, providing valuable insights into the running system. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 6153e99 - Browse repository at this point
Copy the full SHA 6153e99View commit details -
feat: snark proof is already verified inside wrap_proof function (mat…
…ter-labs#1903) ## What ❔ This PR avoids using useless era-zkevm-test-harness branch ## Why ❔ The only reason this dependency was used is verification of the wrapper proof that was already verified inside `wrap_proof` function. --------- Co-authored-by: Lech <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2c8cf35 - Browse repository at this point
Copy the full SHA 2c8cf35View commit details -
## What ❔ Remove Core db connection from prover subsystems Create new component - BasicWitnessInputProducer, that will run VM in the background and produce necessary inputs for basic witness generation ## Why ❔ We want to separate accesses to DB in core/prover subsystems ## 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: perekopskiy <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 75bdfcc - Browse repository at this point
Copy the full SHA 75bdfccView commit details -
fix(docs): Update nodejs and sqlx version (matter-labs#2392)
## 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`.
Configuration menu - View commit details
-
Copy full SHA for 53b34e4 - Browse repository at this point
Copy the full SHA 53b34e4View commit details -
refactor(prover): Minor improvements in prover workspace (matter-labs…
…#2393) ## What ❔ - Removes an outdated version of `zk_evm` from dependencies. - Removes a few unused deps. - Sorts the dependencies in the workspace Cargo.toml. ## Why ❔ Refactoring. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for c6c3f96 - Browse repository at this point
Copy the full SHA c6c3f96View commit details
Commits on Jul 8, 2024
-
feat(vm-runner): make vm runner report time taken (matter-labs#2369)
## What ❔ A long overdue addition of `time_taken` to VM runner ## Why ❔ Observability ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 275a333 - Browse repository at this point
Copy the full SHA 275a333View commit details -
feat(zk_toolbox): Clean command (matter-labs#2387)
## 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`. --------- Signed-off-by: Danil <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 52a4680 - Browse repository at this point
Copy the full SHA 52a4680View commit details -
feat(node-framework): New wiring interface (matter-labs#2384)
## What ❔
⚠️ No nitpick territory! This PR touches _a lot of code_, and many places there may be improved for sure. Let's focus on fundamentals only. You are free to leave nitpick comments, but please don't block the review on them only. I may or may not fix nitpicks, though will try depending on complexity and capacity, most likely in follow-up PRs. This PR introduces a new interface for `WiringLayer`. Instead of giving direct access to the `ServiceContext`, it now has to define `Input` and `Output` types, which will be fetched from/inserted to the context correspondingly. `WiringLayer::Input` has to implement `FromContext` trait. This trait has implementations for `()`, `T: Resource`, `Option<T: Resource>` , and can be derived. `WiringLayer::Output` has to implement `IntoContext`, which has the same basic implementations, and also has a derive macro. With this approach, all the inputs and outputs can be easily seen for the layer, so that we don't need to worry about docs getting outdated, and also it saves quite some boilerplate when using the framework. Besides, small changes were made where necessary, e.g.: - Consensus layer was split into two, for main and external node. - TxSink layer was split into two, for DB and proxy sinks. - A lot of "wrapper" tasks were removed. - Some convenience impls (e.g. impl `From <WrappedType> to <ResourceType>`). - Shutdown hook was made into a separate entity that implements `IntoContext`. ## Why ❔ Finalization of the framework design. ## 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`.Configuration menu - View commit details
-
Copy full SHA for f2f4056 - Browse repository at this point
Copy the full SHA f2f4056View commit details -
fix(vm-runner): change
processing_started_at
column type to `timest……amp` (matter-labs#2397) ## What ❔ ## Why ❔ ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 4221155 - Browse repository at this point
Copy the full SHA 4221155View commit details -
feat: Remove cached commitments, add BWIP to docs (matter-labs#2400)
## What ❔ Remove lazy loading of commitments in BWG Add BWIP to docs ## Why ❔ It is not needed, because it is called only once ## 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`.
Configuration menu - View commit details
-
Copy full SHA for e652e4d - Browse repository at this point
Copy the full SHA e652e4dView commit details -
feat: add block timestamp to
eth_getLogs
(matter-labs#2374)## What ❔ Add a new field `blockTimestamp` to the `eth_getLogs` endpoint. ## Why ❔ That'd allow network indexers to avoid sending a second requests just to get timestamp for each block. More [info](https://ethereum-magicians.org/t/proposal-for-adding-blocktimestamp-to-logs-object-returned-by-eth-getlogs-and-related-requests/11183)
Configuration menu - View commit details
-
Copy full SHA for 50422b8 - Browse repository at this point
Copy the full SHA 50422b8View commit details -
fix(tee): Introduce a 1 second delay in the batch poll (matter-labs#2398
) ## What ❔ Introduce a 1 second delay in the batch poll. ## Why ❔ We don't want to poll the batches too often if they are unavailable, as it wastes CPU resources. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 312defe - Browse repository at this point
Copy the full SHA 312defeView commit details -
fix(eth-sender): fix query returning inflight txs (matter-labs#2404)
This fixes issue that we may return not-yet-sent transactions as in-flight (it's been broken since we added support for blobs :/ ) because max(eth_txs_id) counts transactions from all operators not just one Signed-off-by: tomg10 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6a89ca0 - Browse repository at this point
Copy the full SHA 6a89ca0View commit details -
feat(zk_toolbox): resume functionality (matter-labs#2376)
## 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`. --------- Signed-off-by: Danil <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e5e0473 - Browse repository at this point
Copy the full SHA e5e0473View commit details -
feat(prover): Add prometheus port to witness generator config (matter…
…-labs#2385) ## What ❔ Add prometheus port to witness generator config
Configuration menu - View commit details
-
Copy full SHA for d0e1add - Browse repository at this point
Copy the full SHA d0e1addView commit details
Commits on Jul 9, 2024
-
fix(eth-sender): missing fix in second query calculating txs unsent t…
…xs (matter-labs#2406) This PR should have been part of: matter-labs#2404 Signed-off-by: tomg10 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 948b532 - Browse repository at this point
Copy the full SHA 948b532View commit details -
fix: BWIP race condition (matter-labs#2405)
## What ❔ Separately insert proof_generation_details and gen data blob URLs. ## Why ❔ Sometimes BWIP generates data before insert_proof_generation_details is called, which results in errors. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 8099ab0 - Browse repository at this point
Copy the full SHA 8099ab0View commit details -
fix(api): fix log timestamp format (matter-labs#2407)
## What ❔ timestamp should be (de)serialized as QUANTITY (hex string) ## Why ❔ Follow proposal spec ## 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`.
Configuration menu - View commit details
-
Copy full SHA for e9d63db - Browse repository at this point
Copy the full SHA e9d63dbView commit details -
fix(erc20-test): only approving baseToken allowance when needed (matt…
…er-labs#2379) ## What ❔ Refactored the `deposit with precalculated max value` test case of `erc20.test.ts` to only approve baseToken allowance when needed. <!-- 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. - [ ] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`.
Configuration menu - View commit details
-
Copy full SHA for 087a3c4 - Browse repository at this point
Copy the full SHA 087a3c4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 598ef7b - Browse repository at this point
Copy the full SHA 598ef7bView commit details -
feat(base-token): Base token price ratio cache update frequency confi…
…gurable (matter-labs#2388) ## What ❔ This PR makes base token price ration cache update frequency configurable ## Why ❔ Base token price ratio is updated in DB with configurable frequency, but when used it's taken from cache that is updated in non-configurable manner ## 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`.
Configuration menu - View commit details
-
Copy full SHA for fb4d700 - Browse repository at this point
Copy the full SHA fb4d700View commit details -
feat: Switch to using crates.io deps (matter-labs#2409)
## What ❔ Changes all the git dependencies we have (prover included) to ones published on crates.io ## Why ❔ Part of release cycle. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 27fabaf - Browse repository at this point
Copy the full SHA 27fabafView commit details -
feat: Unify and port node storage initialization (matter-labs#2363)
## What ❔ - Introduces the `zksync_node_storage_init` crate: a unified approach to the node storage initialization. Key moments: - Storage initializer is a structure that makes sure that, well, the storage is initialized. - Initializer understands what does initialized storage means, but defers any real initialization actions to the implementation of the `NodeRole` trait. Currently we have two `NodeRole` implementations: `MainNodeRole` and `ExternalNodeRole`. - `MainNodeRole` can only perform genesis. It does not support snapshot recovery or automatic rollbacks. - `ExternalNodeRole` can perform either genesis or snapshot recovery; it can also detect reorg and perform a rollback is required. - Framework integration consists of three parts: `NodeRole` resource, and `NodeStorageInitializer` task and precondition. - Old genesis code for the main node is fully replaced with the framework. - The init code is integrated into the EN, but the old code is left for the time being. - Makes snapshot recovery aware of stop signals. It isn't integrated for the old code, but I assume that since the snapshot recovery happens before we setup sigint handler, it implicitly works out of the box. - Integrated `reorg_detector` into the EN via framework. ## Why ❔ - Unify codebases and approach to the storage initialization. - Define the interfaces for future extensions. - Part of porting the codebase to the framework. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 8ea9791 - Browse repository at this point
Copy the full SHA 8ea9791View commit details -
feat: L1 batch QC database (BFT-476) (matter-labs#2340)
## What ❔ - [x] Add an `l1_batches_consensus` table to hold [L1 batch Quorum Certificates](https://github.com/matter-labs/era-consensus/blob/177881457f392fca990dbb3df1695737d90fd0c7/node/libs/roles/src/attester/messages/batch.rs#L67) from Attesters - [x] Add attesters to the config - [x] Implement methods in `PersistentBatchStore` - [x] `persisted` - [x] `last_batch` - [x] `last_batch_qc` - [x] `get_batch` - [x] `get_batch_qc` - [x] `store_qc` - [ ] `queue_next_batch` - _not going to implement for now_ - [ ] assign `SyncBatch::proof` - _not going to implement for now_ - [x] Add tests for all new methods in `ConsensusDal` and the `PersistentBatchStore` ### Caveat Implemented the updating of `persisted` with a loop that polls the database for newly available `SyncBatch` records, even if they have no proof. This inevitably triggers the gossiping of batch statuses and the pulling of `SyncBatch` between peers. For this reason `queue_next_batch` just drop the data, since we can't do anything with it without the proof yet. Returning an error or panicking would stop the consensus tasks. I ended up disabling the `persisted` by leaving its dummy implementation in place because when enabled the full node tests keep going on forever, printing the following logs in a loop: ```console ❯ RUST_LOG=info zk test rust test_full_nodes --no-capture ... 2024-07-03T14:22:57.882784Z INFO in{addr=[::1]:53082}: zksync_consensus_network: 191: new connection 2024-07-03T14:22:57.883457Z INFO in{addr=[::1]:53082}:gossip: zksync_consensus_network::gossip::runner: 383: peer = node:public:ed25519:068ffa0b3fedbbe5c2a6da3defd26e0d084248f12bfe98db85f7785b0b08b63e 2024-07-03T14:22:57.883764Z INFO out{addr="[::1]:52998"}:gossip: zksync_consensus_network::gossip::runner: 416: peer = node:public:ed25519:7710ed90aad9f5859dfba06e13fb4e6fb0fe4d686f81f9d819464ad1fdc371bd 2024-07-03T14:22:57.886204Z INFO in{addr=[::1]:53082}:gossip: zksync_consensus_network::rpc: 222: message too large: max = 10240B, got 13773B 2024-07-03T14:22:57.886280Z INFO out{addr="[::1]:52998"}:gossip: zksync_consensus_network::rpc: 222: message too large: max = 10240B, got 13773B 2024-07-03T14:22:57.886633Z INFO in{addr=[::1]:53082}:gossip: zksync_consensus_network::rpc: 222: canceled ... 2024-07-03T14:22:57.888143Z INFO out{addr="[::1]:52998"}:gossip: zksync_consensus_network::rpc: 222: disconnected ... 2024-07-03T14:22:57.888390Z INFO zksync_consensus_network: 216: [::1]:53082: gossip.run_inbound_stream(): push_batch_store_state.: end of stream 2024-07-03T14:22:57.888446Z INFO zksync_consensus_network: 158: gossip.run_outbound_stream("[::1]:52998"): push_batch_store_state.: end of stream ``` So in the tests the message size exceeds the maximum. I think it's [hardcoded here](https://github.com/matter-labs/era-consensus/blob/decb988eb9e1a45fd5171d2cc540a360d9ca5f1f/node/actors/network/src/gossip/runner.rs#L109). Since this functionality isn't expected to work, I think we can disable it for now. ## Why ❔ The workflow of signing and submitting L1 batch certificates will be like this: 1. Data is inserted into the `l1_batches` table. 2. If the node is one of the Attesters it picks up the batch, signs and sends it to the gossip layer via matter-labs/era-consensus#137 3. The consensus collects votes about the L1 batch, and when the threshold is reached it saves the quorum certificate into Postgres 4. The node monitors Main Node (later L1) for new batch QCs and upserts them into the database (the QC can be different than what a particular node inserted based on gossip). This way a node which has been down for a period of time can backfill any QCs it missed. It is assumed that the Main Node API only serves QCs that have no gaps following them, ie. they are final - if it was L1 it wouldn't allow submissions with gaps, and this simulates that semantic. 5. The last height that doesn't have any gaps following it is used as a floor for what needs to be (re)signed and gossiped This PR supports the above workflow up to step 3. ## 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`. --------- Co-authored-by: Bruno França <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5886b8d - Browse repository at this point
Copy the full SHA 5886b8dView commit details -
feat: Minimal External API Fetcher (matter-labs#2383)
## What ❔ For chains running with a custom base token, use live prices in creating ETH<->BaseToken conversion ratios. This PR - adds a first `PriceAPIClientResource` with a `PriceAPIClient` CoinGecko client. - Uses this client in the `BaseTokenRatioPersister` to fetch new prices and create new ratios Not included in this PR and will be follow-up work: - Redundancy in the number of external price feeds used - Different "strategies" for how true price converged from multiple price feeds ## Why ❔ For the base token flow, we need to be be able to fetch live prices of BaseToken & ETH from which to create the conversion ratios. ## 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`. --------- Co-authored-by: dimazhornyk <[email protected]> Co-authored-by: Igor Aleksanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9f255c0 - Browse repository at this point
Copy the full SHA 9f255c0View commit details -
feat(config): Make getaway_url optional (matter-labs#2412)
## 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`. --------- Signed-off-by: Danil <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 200bc82 - Browse repository at this point
Copy the full SHA 200bc82View commit details -
feat(zk-toolbox): Add ecosystems (matter-labs#2413)
## What ❔ Add ecosystem configs, compatible with 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. --> - [ ] 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`. Signed-off-by: Danil <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 04fcbe1 - Browse repository at this point
Copy the full SHA 04fcbe1View commit details
Commits on Jul 10, 2024
-
fix: Fix rustls setup for jsonrpsee clients (matter-labs#2417)
## What ❔ `jsonrpsee` client expects `rustls` to use the default crypto provider, but `rustls` cannot choose and panics if there are multiple providers available. See [this issue](rustls/rustls#1877) for more detail. Recently `rustls` changed the default backend, so now some (older) of crates use `ring` backend, while some (newer) use `aws-lc-rs`. Until the issue is fixed on `jsonrpsee` side, we're making sure that the provider is installed before we create any `jsonrpsee` client. Added test used to fail before the change and passes now. ## Why ❔ Panics are bad. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for a040f09 - Browse repository at this point
Copy the full SHA a040f09View commit details -
feat(contract-verifier): Add file based config for contract verifier (m…
…atter-labs#2415) ## What ❔ Add file based config for contract verifier
Configuration menu - View commit details
-
Copy full SHA for f4410e3 - Browse repository at this point
Copy the full SHA f4410e3View commit details -
feat: add zksync_tee_prover and container to nix (matter-labs#2403)
``` $ nix build -L .#tee_prover $ nix build -L .#container-tee_prover-dcap $ nix build -L .#container-tee_prover-azure $ export IMAGE_TAG=$(docker load < result | grep -Po 'Loaded image.*: \K.*') $ docker run -i --env GRAMINE_DIRECT=1 --env TEE_API_URL="http://127.0.0.1:3320" --privileged --init $IMAGE_TAG ``` ## 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. --> - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] 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`. Signed-off-by: Harald Hoyer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e0975db - Browse repository at this point
Copy the full SHA e0975dbView commit details -
chore(main): release prover 15.1.0 (matter-labs#2261)
🤖 I have created a release *beep* *boop* --- ## [15.1.0](matter-labs/zksync-era@prover-v15.0.0...prover-v15.1.0) (2024-07-10) ### Features * **api:** Retry `read_value` ([matter-labs#2352](matter-labs#2352)) ([256a43c](matter-labs@256a43c)) * Base Token Fundamentals ([matter-labs#2204](matter-labs#2204)) ([39709f5](matter-labs@39709f5)) * BWIP ([matter-labs#2258](matter-labs#2258)) ([75bdfcc](matter-labs@75bdfcc)) * change `zkSync` occurences to `ZKsync` ([matter-labs#2227](matter-labs#2227)) ([0b4104d](matter-labs@0b4104d)) * **config:** Make getaway_url optional ([matter-labs#2412](matter-labs#2412)) ([200bc82](matter-labs@200bc82)) * consensus support for pruning (BFT-473) ([matter-labs#2334](matter-labs#2334)) ([abc4256](matter-labs@abc4256)) * **contract-verifier:** Add file based config for contract verifier ([matter-labs#2415](matter-labs#2415)) ([f4410e3](matter-labs@f4410e3)) * **en:** file based configs for en ([matter-labs#2110](matter-labs#2110)) ([7940fa3](matter-labs@7940fa3)) * Make all core workspace crate names start with zksync_ ([matter-labs#2294](matter-labs#2294)) ([8861f29](matter-labs@8861f29)) * Minimal External API Fetcher ([matter-labs#2383](matter-labs#2383)) ([9f255c0](matter-labs@9f255c0)) * **prover:** Add file based config for compressor ([matter-labs#2353](matter-labs#2353)) ([1d6f87d](matter-labs@1d6f87d)) * **prover:** Add file based config for prover fri ([matter-labs#2184](matter-labs#2184)) ([f851615](matter-labs@f851615)) * **prover:** Add file based config for witness vector generator ([matter-labs#2337](matter-labs#2337)) ([f86eb13](matter-labs@f86eb13)) * **prover:** Add file based config support for vk-setup-data-generator-server-fri ([matter-labs#2371](matter-labs#2371)) ([b0e72c9](matter-labs@b0e72c9)) * **prover:** Add prometheus port to witness generator config ([matter-labs#2385](matter-labs#2385)) ([d0e1add](matter-labs@d0e1add)) * **prover:** Add prover_cli stats command ([matter-labs#2362](matter-labs#2362)) ([fe65319](matter-labs@fe65319)) * Remove cached commitments, add BWIP to docs ([matter-labs#2400](matter-labs#2400)) ([e652e4d](matter-labs@e652e4d)) * Remove initialize_components function ([matter-labs#2284](matter-labs#2284)) ([0a38891](matter-labs@0a38891)) * snark proof is already verified inside wrap_proof function ([matter-labs#1903](matter-labs#1903)) ([2c8cf35](matter-labs@2c8cf35)) * Switch to using crates.io deps ([matter-labs#2409](matter-labs#2409)) ([27fabaf](matter-labs@27fabaf)) * **tee:** TEE Prover Gateway ([matter-labs#2333](matter-labs#2333)) ([f8df34d](matter-labs@f8df34d)) * upgraded encoding of transactions in consensus Payload. ([matter-labs#2245](matter-labs#2245)) ([cb6a6c8](matter-labs@cb6a6c8)) * Validium with DA ([matter-labs#2010](matter-labs#2010)) ([fe03d0e](matter-labs@fe03d0e)) * **zk_toolbox:** Add prover run ([matter-labs#2272](matter-labs#2272)) ([598ef7b](matter-labs@598ef7b)) ### Bug Fixes * Fix rustls setup for jsonrpsee clients ([matter-labs#2417](matter-labs#2417)) ([a040f09](matter-labs@a040f09)) * **proof_compressor:** Fix backward compatibility ([matter-labs#2356](matter-labs#2356)) ([76508c4](matter-labs@76508c4)) * prover Cargo.lock ([matter-labs#2280](matter-labs#2280)) ([05c6f35](matter-labs@05c6f35)) * **prover_cli:** Fix Minor Bugs in Prover CLI ([matter-labs#2264](matter-labs#2264)) ([440f2a7](matter-labs@440f2a7)) * **prover_cli:** Remove outdated fix for circuit id in node wg ([matter-labs#2248](matter-labs#2248)) ([db8e71b](matter-labs@db8e71b)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Configuration menu - View commit details
-
Copy full SHA for a33c80c - Browse repository at this point
Copy the full SHA a33c80cView commit details -
fix(ts-integration): add missing await (matter-labs#2421)
Signed-off-by: tomg10 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ca064e4 - Browse repository at this point
Copy the full SHA ca064e4View commit details -
chore(main): release core 24.9.0 (matter-labs#2312)
🤖 I have created a release *beep* *boop* --- ## [24.9.0](matter-labs/zksync-era@core-v24.8.0...core-v24.9.0) (2024-07-10) ### Features * add block timestamp to `eth_getLogs` ([matter-labs#2374](matter-labs#2374)) ([50422b8](matter-labs@50422b8)) * add revert tests to zk_toolbox ([matter-labs#2317](matter-labs#2317)) ([c9ad002](matter-labs@c9ad002)) * add zksync_tee_prover and container to nix ([matter-labs#2403](matter-labs#2403)) ([e0975db](matter-labs@e0975db)) * Adding unstable RPC endpoint to return the execution_info ([matter-labs#2332](matter-labs#2332)) ([3d047ea](matter-labs@3d047ea)) * **api:** Retry `read_value` ([matter-labs#2352](matter-labs#2352)) ([256a43c](matter-labs@256a43c)) * Base Token Fundamentals ([matter-labs#2204](matter-labs#2204)) ([39709f5](matter-labs@39709f5)) * **base-token:** Base token price ratio cache update frequency configurable ([matter-labs#2388](matter-labs#2388)) ([fb4d700](matter-labs@fb4d700)) * BWIP ([matter-labs#2258](matter-labs#2258)) ([75bdfcc](matter-labs@75bdfcc)) * **config:** Make getaway_url optional ([matter-labs#2412](matter-labs#2412)) ([200bc82](matter-labs@200bc82)) * consensus support for pruning (BFT-473) ([matter-labs#2334](matter-labs#2334)) ([abc4256](matter-labs@abc4256)) * **contract-verifier:** Add file based config for contract verifier ([matter-labs#2415](matter-labs#2415)) ([f4410e3](matter-labs@f4410e3)) * **en:** file based configs for en ([matter-labs#2110](matter-labs#2110)) ([7940fa3](matter-labs@7940fa3)) * **en:** Unify snapshot recovery and recovery from L1 ([matter-labs#2256](matter-labs#2256)) ([e03a929](matter-labs@e03a929)) * **eth-sender:** Add transient ethereum gateway errors metric ([matter-labs#2323](matter-labs#2323)) ([287958d](matter-labs@287958d)) * **eth-sender:** handle transactions for different operators separately to increase throughtput ([matter-labs#2341](matter-labs#2341)) ([0619ecc](matter-labs@0619ecc)) * **eth-sender:** separate gas calculations for blobs transactions ([matter-labs#2247](matter-labs#2247)) ([627aab9](matter-labs@627aab9)) * **gas_adjuster:** Use eth_feeHistory for both base fee and blobs ([matter-labs#2322](matter-labs#2322)) ([9985c26](matter-labs@9985c26)) * L1 batch QC database (BFT-476) ([matter-labs#2340](matter-labs#2340)) ([5886b8d](matter-labs@5886b8d)) * **metadata-calculator:** option to use VM runner for protective reads ([matter-labs#2318](matter-labs#2318)) ([c147b0c](matter-labs@c147b0c)) * Minimal External API Fetcher ([matter-labs#2383](matter-labs#2383)) ([9f255c0](matter-labs@9f255c0)) * **node_framework:** Document implementations ([matter-labs#2319](matter-labs#2319)) ([7b3877f](matter-labs@7b3877f)) * **node_framework:** Implement FromContext and IntoContext derive macro ([matter-labs#2330](matter-labs#2330)) ([34f2a45](matter-labs@34f2a45)) * **node_framework:** Support shutdown hooks + more ([matter-labs#2293](matter-labs#2293)) ([2b2c790](matter-labs@2b2c790)) * **node_framework:** Unify Task types + misc improvements ([matter-labs#2325](matter-labs#2325)) ([298a97e](matter-labs@298a97e)) * **node-framework:** New wiring interface ([matter-labs#2384](matter-labs#2384)) ([f2f4056](matter-labs@f2f4056)) * **prover:** Add prometheus port to witness generator config ([matter-labs#2385](matter-labs#2385)) ([d0e1add](matter-labs@d0e1add)) * **prover:** Add prover_cli stats command ([matter-labs#2362](matter-labs#2362)) ([fe65319](matter-labs@fe65319)) * **snapshots_applier:** Add a method to check whether snapshot recovery is done ([matter-labs#2338](matter-labs#2338)) ([610a7cf](matter-labs@610a7cf)) * Switch to using crates.io deps ([matter-labs#2409](matter-labs#2409)) ([27fabaf](matter-labs@27fabaf)) * **tee:** add Prometheus metrics to the TEE Prover ([matter-labs#2386](matter-labs#2386)) ([6153e99](matter-labs@6153e99)) * **tee:** TEE Prover Gateway ([matter-labs#2333](matter-labs#2333)) ([f8df34d](matter-labs@f8df34d)) * Unify and port node storage initialization ([matter-labs#2363](matter-labs#2363)) ([8ea9791](matter-labs@8ea9791)) * Validium with DA ([matter-labs#2010](matter-labs#2010)) ([fe03d0e](matter-labs@fe03d0e)) * **vm-runner:** make vm runner report time taken ([matter-labs#2369](matter-labs#2369)) ([275a333](matter-labs@275a333)) * **zk toolbox:** External node support ([matter-labs#2287](matter-labs#2287)) ([6384cad](matter-labs@6384cad)) * **zk_toolbox:** Add prover init command ([matter-labs#2298](matter-labs#2298)) ([159af3c](matter-labs@159af3c)) ### Bug Fixes * **api:** fix log timestamp format ([matter-labs#2407](matter-labs#2407)) ([e9d63db](matter-labs@e9d63db)) * BWIP race condition ([matter-labs#2405](matter-labs#2405)) ([8099ab0](matter-labs@8099ab0)) * **config:** Implement proper tests ([matter-labs#2381](matter-labs#2381)) ([2ec494b](matter-labs@2ec494b)) * **db:** Fix / extend transaction isolation levels ([matter-labs#2350](matter-labs#2350)) ([404ceb9](matter-labs@404ceb9)) * **en:** Fix panics when queuing sync actions during shutdown ([d5935c7](matter-labs@d5935c7)) * **erc20-test:** only approving baseToken allowance when needed ([matter-labs#2379](matter-labs#2379)) ([087a3c4](matter-labs@087a3c4)) * **eth-sender:** confirm eth-txs in order of their creation ([matter-labs#2310](matter-labs#2310)) ([31a1a04](matter-labs@31a1a04)) * **eth-sender:** fix query returning inflight txs ([matter-labs#2404](matter-labs#2404)) ([6a89ca0](matter-labs@6a89ca0)) * **eth-sender:** missing fix in second query calculating txs unsent txs ([matter-labs#2406](matter-labs#2406)) ([948b532](matter-labs@948b532)) * **eth-sender:** revert commit changing which type of txs we resend first ([matter-labs#2327](matter-labs#2327)) ([ef75292](matter-labs@ef75292)) * Fix rustls setup for jsonrpsee clients ([matter-labs#2417](matter-labs#2417)) ([a040f09](matter-labs@a040f09)) * **merkle-tree:** Change `LazyAsyncTreeReader::wait()` signature ([matter-labs#2314](matter-labs#2314)) ([408393c](matter-labs@408393c)) * **merkle-tree:** Fix chunk recovery reporting during tree recovery ([matter-labs#2348](matter-labs#2348)) ([70b3a8a](matter-labs@70b3a8a)) * **merkle-tree:** Fix connection timeouts during tree pruning ([matter-labs#2372](matter-labs#2372)) ([d5935c7](matter-labs@d5935c7)) * **object-store:** Consider some token source errors transient ([matter-labs#2331](matter-labs#2331)) ([85386d3](matter-labs@85386d3)) * **tee:** Introduce a 1 second delay in the batch poll ([matter-labs#2398](matter-labs#2398)) ([312defe](matter-labs@312defe)) * **vm-runner:** change `processing_started_at` column type to `timestamp` ([matter-labs#2397](matter-labs#2397)) ([4221155](matter-labs@4221155)) ### Reverts * "refactor: Rename consensus tasks and split storage (BFT-476)" ([matter-labs#2364](matter-labs#2364)) ([e67ec5d](matter-labs@e67ec5d)) --- 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: Lech <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9cdee2c - Browse repository at this point
Copy the full SHA 9cdee2cView commit details -
fix(eth-sender): add bump of min 10% when resending txs to avoid "rep…
…lacement transaction underpriced" (matter-labs#2422) Signed-off-by: tomg10 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a7bcf5d - Browse repository at this point
Copy the full SHA a7bcf5dView commit details -
chore: Fix a few warnings (matter-labs#2396)
## What ❔ Fixes a few warnings, mostly in the prover workspace. ## Why ❔ Developing with warnings in the tree increases the warning blindness. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 1ecab0d - Browse repository at this point
Copy the full SHA 1ecab0dView commit details -
feat: L1 batch signing (BFT-474) (matter-labs#2414)
## What ❔ Implements the methods on `PersistentBatchStore` required by consensus to sign and publish attestations over L1 batches. Calculates the hash value which needs to be signed by attestors using `SignedBatchInfo::hash()`. ## Why ❔ This allows consensus to figure out which is the first batch that needs to be signed after the node starts, and subsequently to retrieve the payload to be signed as well. ## 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`. --------- Co-authored-by: Bruno França <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ab699db - Browse repository at this point
Copy the full SHA ab699dbView commit details
Commits on Jul 11, 2024
-
feat: Add blob size metrics (matter-labs#2411)
## What ❔ Add metrics for witness input data blob sizes ## Why ❔ To have deeper understanding of what is right and what is wrong ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 41c535a - Browse repository at this point
Copy the full SHA 41c535aView commit details -
feat(prover)!: Bump prover protocol patch (matter-labs#2428)
## What ❔ Bump prover protocol patch ## Why ❔ Prepare for upcoming upgrade ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 1dffae9 - Browse repository at this point
Copy the full SHA 1dffae9View commit details -
chore(main): release prover 16.0.0 (matter-labs#2426)
🤖 I have created a release *beep* *boop* --- ## [16.0.0](matter-labs/zksync-era@prover-v15.1.0...prover-v16.0.0) (2024-07-11) ### ⚠ BREAKING CHANGES * **prover:** Bump prover protocol patch ([matter-labs#2428](matter-labs#2428)) ### Features * L1 batch signing (BFT-474) ([matter-labs#2414](matter-labs#2414)) ([ab699db](matter-labs@ab699db)) * **prover:** Bump prover protocol patch ([matter-labs#2428](matter-labs#2428)) ([1dffae9](matter-labs@1dffae9)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Configuration menu - View commit details
-
Copy full SHA for b0cd078 - Browse repository at this point
Copy the full SHA b0cd078View commit details -
feat(eth-sender): add early return in sending new transactions to not…
… spam logs with errors (matter-labs#2425) Signed-off-by: tomg10 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 192f2a3 - Browse repository at this point
Copy the full SHA 192f2a3View commit details -
feat(zk_toolbox): Small adjustment for zk toolbox (matter-labs#2424)
## What ❔ Add aliases Remove redundant l1 build Create .env files Update submodules ## 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`. --------- Signed-off-by: Danil <[email protected]> Co-authored-by: Matías Ignacio González <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ce43c42 - Browse repository at this point
Copy the full SHA ce43c42View commit details -
feat(eth-watch): Integrate decentralized upgrades (matter-labs#2401)
## What ❔ Integrates new type of upgrade proposals into eth_watch ## Why ❔ Support new type of upgrade proposals ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 5a48e10 - Browse repository at this point
Copy the full SHA 5a48e10View commit details -
fix: Set attesters in Connection::adjust_genesis (BFT-489) (matter-la…
…bs#2429) ## What ❔ Sets the `attesters` field in `Genesis` when performing a re-genesis adjustment after the node starts and detects that its configuration has changed. ### Testing #### Main node only To see if attestations work at all, I configured an attester key for the main node, and ran it with the following commands: ```shell zk clean zk init zk server --components=api,tree,eth,state_keeper,housekeeper,commitment_generator,vm_runner_protective_reads,vm_runner_bwip,da_dispatcher,base_token_ratio_persister,consensus ``` Then I checked whether data was being added to the database: ```console ❯ psql -d postgres://postgres:notsecurepassword@localhost:5432/zksync_local psql (14.12 (Homebrew)) Type "help" for help. zksync_local=# select count(1) from l1_batches_consensus; count ------- 2 (1 row) zksync_local=# select * from l1_batches_consensus; l1_batch_number | certificate | created_at | updated_at -----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------+---------------------------- 0 | {"msg": {"hash": {"keccak256": "FXT6d23sjaIHHl8g1xhAv8vYLCvKmtaGgO3+3eFxC8Q="}, "number": "0"}, "signatures": [{"key": {"secp256k1": "A4snYq04KzUJC7QpkqP2RC1jhCXqVSjoAP/lqffUGFWJ"}, "sig": {"secp256k1": "1isW+az1GcoCDbjDhch9U5qakl6BMO033TWOQhdpAdFHV8MQbouVRqq3bTPUtROGYRVx1OkM61/BidaVhBS5JBw="}}]} | 2024-07-11 15:00:24.026841 | 2024-07-11 15:00:24.026841 1 | {"msg": {"hash": {"keccak256": "L40KCOJ3fiy7B2V8CeXOjO/Vo/dKCs+EA9CFS9/dJLg="}, "number": "1"}, "signatures": [{"key": {"secp256k1": "A4snYq04KzUJC7QpkqP2RC1jhCXqVSjoAP/lqffUGFWJ"}, "sig": {"secp256k1": "aP1Lw3u8BvGvWyjHauiEqhYvmidviG2jfdQdltnXSpUUQ4pOhKyT2FmGvplIMQ74vQDZaCbA12ap5WtHEJZEvRs="}}]} | 2024-07-11 15:00:34.069316 | 2024-07-11 15:00:34.069316 (2 rows) ``` #### Main and external node I added attester keys to the external node config as well and gave it equal weights with the main node in the genesis spec, so they can only sign a QC together. Started an external node with the following commands: ```shell zk env ext-node zk config compile zk db setup zk external-node -- --enable-consensus ``` And checked that the batch QC are inserted into the database, signed by both nodes: ```console ❯ psql -d postgres://postgres:notsecurepassword@localhost:5432/zksync_local -c "select * from l1_batches_consensus" l1_batch_number | certificate | created_at | updated_at -----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------+---------------------------- 1 | {"msg": {"hash": {"keccak256": "erxoTxCmDETYR8ro8YeKD1AOZrZnc6e+4oYoR6MGPow="}, "number": "1"}, "signatures": [{"key": {"secp256k1": "AzCRTkGyJftvhRjVJ48MAUqYYQGMgFT5u0JbtlOFOPHJ"}, "sig": {"secp256k1": "1osJ9pPa8hB4BKNN6U9MDKommLOOKJ3hNOLpHdsqWRJN5dooK+CflKwQAIUtwjGa22EhmGulKv1fQs3stmSt3Rs="}}, {"key": {"secp256k1": "A4snYq04KzUJC7QpkqP2RC1jhCXqVSjoAP/lqffUGFWJ"}, "sig": {"secp256k1": "xA8x0UcDq3ZultBn7ylM/G4+vRpsb+GQEbhUagAeZ2duvPRX5fOICR7z8k7wiJLine4/3abqcN/Uyn4FX97mpRw="}}]} | 2024-07-11 15:14:19.121081 | 2024-07-11 15:14:19.121081 (1 row) ``` It only signed the batch 1, not batch 0, because by the time I started the external node the main node already created two batches, and currently only the last vote counts. The certificate shows two items in `signatures`. ## Why ❔ So that we can configure attesters (to sign L1 batches) on the stage 2 environment. Without this change the configured committee would be ignored. ## 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`. --------- Co-authored-by: Bruno França <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ca4cb3c - Browse repository at this point
Copy the full SHA ca4cb3cView commit details
Commits on Jul 12, 2024
-
feat(zk_toolbox): Allow toolbox find Zkstack.yaml in parent dirs (mat…
…ter-labs#2430) ## 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`. Signed-off-by: Danil <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0957119 - Browse repository at this point
Copy the full SHA 0957119View commit details -
feat(en): Switch EN to use node framework (matter-labs#2427)
## What ❔ This PR ports remaining parts of the EN to node framework and makes framework the default way to run it. In more detail: - Config for the health check limits are now set from config. - EN and rust metrics are now exposed; the protocol version update task now runs. -
⚠️ Connection pool healthcheck was removed. It was controversial initially, its usefulness is not clear, it was supposed to be refactored a year ago but didn't, and it wasn't working well when testing. See [linear issue](https://linear.app/matterlabs/issue/PLA-255/revamp-db-connection-health-check) for more context. - Tests were reworked to use node framework; some refactoring was also applied to reduce boilerplate. - Additional tests were added to check for invalid EN configurations. -⚠️ Node framework was made the default way to run the EN. There is also a hook to force EN to run the old way, so that we don't have to rollback over small issues. ## Why ❔ - Part of switch to the node framework. ## 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`.Configuration menu - View commit details
-
Copy full SHA for 0cee530 - Browse repository at this point
Copy the full SHA 0cee530View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9fe1839 - Browse repository at this point
Copy the full SHA 9fe1839View commit details -
chore: Prepare 0.1.0 release (matter-labs#2434)
## What ❔ -
⚠️ Adds `prover_dal` to the core workspace and removes from prover workspace. This is done without changing any paths. It's required because house keeper is a part of core workspace. cc @EmilLuta - Merges `zksync_crypto` and `zksync_crypto_primitives` crates - Sets descriptions for crates - Sets `publish = false` where required - Changes manually set versions to `version.workspace = true` - Specifies versions in the workspace `Cargo.toml` for local deps. ## Why ❔ Publishing on crates.io ## 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`.Configuration menu - View commit details
-
Copy full SHA for 6cc3f17 - Browse repository at this point
Copy the full SHA 6cc3f17View commit details -
feat(zk_toolbox): Add contract verifier support for zk toolbox (matte…
…r-labs#2420) ## What ❔ Add contract verifier support for zk toolbox --------- Signed-off-by: Danil <[email protected]> Co-authored-by: Danil <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d10a24b - Browse repository at this point
Copy the full SHA d10a24bView commit details
Commits on Jul 13, 2024
-
test: Log whether we have attester key (matter-labs#2437)
## What ❔ Adds debug logs to show whether the new attester key has been parsed. ## Why ❔ On stage2 the main node doesn't seem to run attestations, while the external node does, even though both have the correct secret keys mapped to the containers. This is just a sanity check to see whether the values are present in the parsed configs, it's not an attempt to solve anything. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 3393a4d - Browse repository at this point
Copy the full SHA 3393a4dView commit details
Commits on Jul 14, 2024
-
ci: add actions to push the
zksync-tee-prover-azure
container (matt……er-labs#2433) ## What ❔ Push the `zksync-tee-prover-azure` container to our docker repos. ## Why ❔ So, the `zksync-tee-prover-azure` container can be used to run in our infra on staging. ## 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`. --------- Signed-off-by: Harald Hoyer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d6bc776 - Browse repository at this point
Copy the full SHA d6bc776View commit details
Commits on Jul 17, 2024
-
fix: impossible to run zk_inception containers command (matter-labs#2443
) ## What ❔ Fixes a bug for which it is impossible to run `zk_inception containers`. The command required an impossible to supply subcommand due to the `#[command(subcommand,...` attribute. ``` ❯ zk_inception containers ┌ ZKsync toolbox │ Run containers for local development Usage: zk_inception containers [OPTIONS] Options: -h, --help Print help Global options: -v, --verbose Verbose mode --chain <CHAIN> Chain to use --ignore-prerequisites Ignores prerequisites checks ``` ``` ❯ zk_inception containers -v ┌ ZKsync toolbox │ error: 'zk_inception containers' requires a subcommand but one was not provided Usage: zk_inception containers [OPTIONS] For more information, try '--help'. ``` ## 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. --> 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`. Co-authored-by: Manuel <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 56119d7 - Browse repository at this point
Copy the full SHA 56119d7View commit details
Commits on Jul 22, 2024
-
chore: Make eth_tx_manager logs less verbose (matter-labs#2449)
## What ❔ Makes eth_tx_manager emit less logs ## Why ❔ Even if there is no activity (e.g. locally), `eth_tx_manager` keeps emitting a lot of logs, which makes it harder to understand what's going on with the server. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for a8e5bde - Browse repository at this point
Copy the full SHA a8e5bdeView commit details -
chore: fix cargo deny check (matter-labs#2450)
## 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`.
Configuration menu - View commit details
-
Copy full SHA for 4977818 - Browse repository at this point
Copy the full SHA 4977818View commit details -
refactor(prover_fri_gateway): Refactor gateway structures (matter-lab…
…s#2451) ## What ❔ Improves readability of prover fri gateway: - `PeriodicApi` is moved to a separate file. Generic argument was removed; instead now it has associated types for both request and response. - `PeriodicApiStruct` was renamed to `ProverApiClient`. `PeriodicApiStruct::run` was moved to `PeriodicApi` trait. - Dedicated types were created for `ProofSubmitter` and `ProofGenDataFetcher`. - A bit of doc comments. It can be refactored further, but I want to focus on incremental improvements for now. ## Why ❔ - Previously the workflow responsibilities were split between `PeriodicApi` and `PeriodicApiStruct`. Now each type has its own area of responsiblity. - Using the same type for two different pollers was pretty confusing. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 62c3326 - Browse repository at this point
Copy the full SHA 62c3326View commit details -
feat(prover): Make it possible to run prover out of GCP (matter-labs#…
…2448) ## What ❔ ~~When zone read domain name cannot be resolved, assumes local environment and uses `local` zone.~~ - Introduces a new config to choose cloud type, either GCP or local. - Creates `RegionFetcher` structure that can fetch the zone based on configuration. - Introduces strong typing for zone. ## Why ❔ Makes it possible to run prover locally. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for c9da549 - Browse repository at this point
Copy the full SHA c9da549View commit details -
chore: Publish fix-ups (matter-labs#2445)
## What ❔ A few more fixes that were required to publish packages. Core workspace crates are already published under `crates.io-v0.1.0` tag. ## Why ❔ Publishing on crates.io ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 55aabff - Browse repository at this point
Copy the full SHA 55aabffView commit details -
chore(main): release core 24.10.0 (matter-labs#2423)
🤖 I have created a release *beep* *boop* --- ## [24.10.0](matter-labs/zksync-era@core-v24.9.0...core-v24.10.0) (2024-07-22) ### Features * Add blob size metrics ([matter-labs#2411](matter-labs#2411)) ([41c535a](matter-labs@41c535a)) * **en:** Switch EN to use node framework ([matter-labs#2427](matter-labs#2427)) ([0cee530](matter-labs@0cee530)) * **eth-sender:** add early return in sending new transactions to not spam logs with errors ([matter-labs#2425](matter-labs#2425)) ([192f2a3](matter-labs@192f2a3)) * **eth-watch:** Integrate decentralized upgrades ([matter-labs#2401](matter-labs#2401)) ([5a48e10](matter-labs@5a48e10)) * L1 batch signing (BFT-474) ([matter-labs#2414](matter-labs#2414)) ([ab699db](matter-labs@ab699db)) * **prover:** Make it possible to run prover out of GCP ([matter-labs#2448](matter-labs#2448)) ([c9da549](matter-labs@c9da549)) * **zk_toolbox:** Small adjustment for zk toolbox ([matter-labs#2424](matter-labs#2424)) ([ce43c42](matter-labs@ce43c42)) ### Bug Fixes * **eth-sender:** add bump of min 10% when resending txs to avoid "replacement transaction underpriced" ([matter-labs#2422](matter-labs#2422)) ([a7bcf5d](matter-labs@a7bcf5d)) * Set attesters in Connection::adjust_genesis (BFT-489) ([matter-labs#2429](matter-labs#2429)) ([ca4cb3c](matter-labs@ca4cb3c)) --- 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]>
Configuration menu - View commit details
-
Copy full SHA for ce62dde - Browse repository at this point
Copy the full SHA ce62ddeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2025f3c - Browse repository at this point
Copy the full SHA 2025f3cView commit details -
refactor: Change prover workspace hierarchy (matter-labs#2453)
## What ❔ Prover workspace has got its own "mature" hierarchy, with multiple crates, some data folders, some important files lying in the root, etc. This makes prover workspace less understandable (especially figuring out the `vk_setup_data_generator_fri/data` folder). This is the first PR of N that aims to improve prover workspace hierarchy. It moves all the crates to two subfolders: `crates/bin` and `crates/lib`. Right now we have most of logic in binaries, but later we'll move some of it to `lib` too. And hopefully, in a foreseeable future we will also have `crates/test`. Later on we will also have a top-level directory(ies) for _data_ (e.g. keys). ## Why ❔ Make the workspace easier to orient in. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for b61a144 - Browse repository at this point
Copy the full SHA b61a144View commit details -
feat: add state override for gas estimates (matter-labs#1358)
## What ❔ - Adds state override for gas estimates ## Why ❔ - Solves matter-labs#947 - Feature parity with geth ethereum/go-ethereum#27800 ## 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`. --------- Co-authored-by: Juan Rigada <[email protected]> Co-authored-by: Jrigada <[email protected]> Co-authored-by: Danil <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 761bda1 - Browse repository at this point
Copy the full SHA 761bda1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0a12cc9 - Browse repository at this point
Copy the full SHA 0a12cc9View commit details -
feat: added consensus_config to general config (matter-labs#2462)
Now that we have a support for file-based configuration, we can embed the consensus configuration in general configs file. --------- Co-authored-by: Danil <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c5650a4 - Browse repository at this point
Copy the full SHA c5650a4View commit details
Commits on Jul 23, 2024
-
feat: remove leftovers after BWIP (matter-labs#2456)
## What ❔ Removed redundant columns from prover DB after adding BWIP. ## Why ❔ Because they won't be used anymore ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 990676c - Browse repository at this point
Copy the full SHA 990676cView commit details -
feat: add revert tests (external node) to zk_toolbox (matter-labs#2408)
## What ❔ - Adds revert tests (external node) to zk_toolbox ## Why ❔ ## 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`. --------- Co-authored-by: aon <[email protected]> Co-authored-by: Manuel <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3fbbee1 - Browse repository at this point
Copy the full SHA 3fbbee1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6ce0b50 - Browse repository at this point
Copy the full SHA 6ce0b50View commit details -
fix(prover): BWG optimizations (matter-labs#2469)
This PR adds BWG optimizations on crypto side. See more [here](matter-labs/era-zkevm_test_harness#165).
Configuration menu - View commit details
-
Copy full SHA for d8851c8 - Browse repository at this point
Copy the full SHA d8851c8View commit details -
feat: added key generation command to EN (matter-labs#2461)
it will be used by partners running ENs to populate consensus secrets config. Also drafted the documentation on how to enable gossipnet on EN deployment. Following the instructions using a docker image won't be that simple though. --------- Co-authored-by: Denis Kolegov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9861415 - Browse repository at this point
Copy the full SHA 9861415View commit details
Commits on Jul 24, 2024
-
chore(main): release core 24.11.0 (matter-labs#2459)
🤖 I have created a release *beep* *boop* --- ## [24.11.0](matter-labs/zksync-era@core-v24.10.0...core-v24.11.0) (2024-07-23) ### Features * add revert tests (external node) to zk_toolbox ([matter-labs#2408](matter-labs#2408)) ([3fbbee1](matter-labs@3fbbee1)) * add state override for gas estimates ([matter-labs#1358](matter-labs#1358)) ([761bda1](matter-labs@761bda1)) * added consensus_config to general config ([matter-labs#2462](matter-labs#2462)) ([c5650a4](matter-labs@c5650a4)) * added key generation command to EN ([matter-labs#2461](matter-labs#2461)) ([9861415](matter-labs@9861415)) * remove leftovers after BWIP ([matter-labs#2456](matter-labs#2456)) ([990676c](matter-labs@990676c)) --- 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]>
Configuration menu - View commit details
-
Copy full SHA for 5eab94c - Browse repository at this point
Copy the full SHA 5eab94cView commit details -
refactor(api): Brush up VM storage overrides (matter-labs#2463)
## What ❔ Brush up VM storage overrides as introduced in matter-labs#1358. ## Why ❔ The overrides implementation looks overly complex and isn't correctly localized by domain (located in the `state` crate, while the functionality is API server-specific). This worsens maintainability. ## 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`.
Configuration menu - View commit details
-
Copy full SHA for 8cf8fc7 - Browse repository at this point
Copy the full SHA 8cf8fc7View commit details -
chore(main): release prover 16.1.0 (matter-labs#2452)
🤖 I have created a release *beep* *boop* --- ## [16.1.0](matter-labs/zksync-era@prover-v16.0.0...prover-v16.1.0) (2024-07-24) ### Features * **prover:** Make it possible to run prover out of GCP ([matter-labs#2448](matter-labs#2448)) ([c9da549](matter-labs@c9da549)) * remove leftovers after BWIP ([matter-labs#2456](matter-labs#2456)) ([990676c](matter-labs@990676c)) ### Bug Fixes * **prover:** BWG optimizations ([matter-labs#2469](matter-labs#2469)) ([d8851c8](matter-labs@d8851c8)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Configuration menu - View commit details
-
Copy full SHA for 513b56e - Browse repository at this point
Copy the full SHA 513b56eView commit details