You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* feat(merkle tree): Remove enumeration index assignment from Merkle tree (#551)
## What ❔
Since enumeration indices are now fully stored in Postgres, it makes
sense to not duplicate their assignment in the Merkle tree. Instead, the
tree could take enum indices as inputs.
## Why ❔
This allows simplifying tree logic and unify "normal" L1 batch
processing and tree recovery. (This unification is not a part of this
PR; it'll be implemented separately.)
## 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`.
* feat(en): Support arbitrary genesis block for external nodes (#537)
## What ❔
Support non-zero genesis block specified in executor configuration.
Check whether this block exists on initialization; validate its
correspondence if it does, and persist consensus fields if it doesn't.
## Why ❔
This is necessary to support gossip-based syncing in practice; we likely
won't back-sign all blocks in all envs.
## 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(witness_generator): Disable BWIP dependency (#573)
This revert is done to facilitate boojum upgrade on mainnet2. Without
this, old provers would be halt and boojum upgrade could take longer
than anticipated.
`waiting_for_artifacts` forced witness to wait on BWIP run. `queued`
makes them run instantly.
- [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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Signed-off-by: Danil <[email protected]>
Co-authored-by: Danil <[email protected]>
* chore(main): release core 18.4.0 (#560)
:robot: I have created a release *beep* *boop*
---
##
[18.4.0](https://github.com/matter-labs/zksync-era/compare/core-v18.3.1...core-v18.4.0)
(2023-12-01)
### Features
* adds spellchecker workflow, and corrects misspelled words
([#559](https://github.com/matter-labs/zksync-era/issues/559))
([beac0a8](https://github.com/matter-labs/zksync-era/commit/beac0a85bb1535b05c395057171f197cd976bf82))
* **en:** Support arbitrary genesis block for external nodes
([#537](https://github.com/matter-labs/zksync-era/issues/537))
([15d7eaf](https://github.com/matter-labs/zksync-era/commit/15d7eaf872e222338810243865cec9dff7f6e799))
* **merkle tree:** Remove enumeration index assignment from Merkle tree
([#551](https://github.com/matter-labs/zksync-era/issues/551))
([e2c1b20](https://github.com/matter-labs/zksync-era/commit/e2c1b20e361e6ee2f5ac69cefe75d9c5575eb2f7))
* Restore commitment test in Boojum integration
([#539](https://github.com/matter-labs/zksync-era/issues/539))
([06f510d](https://github.com/matter-labs/zksync-era/commit/06f510d00f855ddafaebb504f7ea799700221072))
### Bug Fixes
* Change no pending batches 404 error into a success response
([#279](https://github.com/matter-labs/zksync-era/issues/279))
([e8fd805](https://github.com/matter-labs/zksync-era/commit/e8fd805c8be7980de7676bca87cfc2d445aab9e1))
* **vm:** Expose additional types and traits
([#563](https://github.com/matter-labs/zksync-era/issues/563))
([bd268ac](https://github.com/matter-labs/zksync-era/commit/bd268ac02bc3530c1d3247cb9496c3e13c2e52d9))
* **witness_generator:** Disable BWIP dependency
([#573](https://github.com/matter-labs/zksync-era/issues/573))
([e05d955](https://github.com/matter-labs/zksync-era/commit/e05d955036c76a29f9b6e900872c69e20278e045))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
* ci: Runs spellcheck in merge queue. (#574)
## What ❔
Runs spellcheck in merge queue.
<!-- What are the changes this PR brings about? -->
<!-- Example: This PR adds a PR template to the repo. -->
<!-- (For bigger PRs adding more context is appreciated) -->
## Why ❔
<!-- Why are these changes done? What goal do they contribute to? What
are the principles behind them? -->
<!-- Example: PR templates ensure PR reviewers, observers, and future
iterators are in context about the evolution of repos. -->
## Checklist
<!-- Check your PR fulfills the following items. -->
<!-- For draft PRs check the boxes as you complete them. -->
- [x] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [ ] Tests for the changes have been added / updated.
- [ ] Documentation comments have been added / updated.
- [x] Code has been formatted via `zk fmt` and `zk lint`.
- [ ] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore: fix typo (#575)
## What ❔
- fix typo
## Why ❔
- fix typo
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Igor Aleksanov <[email protected]>
* chore: fix typos in document (#577)
## What ❔
- fixed typo
## Why ❔
fix typos in document
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Igor Aleksanov <[email protected]>
* chore: Fix typos (#567)
Hi, I have just resolve conflict #432
Co-authored-by: Igor Aleksanov <[email protected]>
* feat: Add metric to CallTracer for calculating maximum depth of the calls (#535)
## What ❔
Add metric to CallTracer for calculating maximum depth of the calls
## Why ❔
We need to know what our limits are.
## Checklist
- [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`.
* feat: Add various metrics to the Prover subsystems (#541)
## What ❔
1. Add various metrics to the Prover subsystems, especially:
* oldest block, that wasn't sent to
prover(`fri_prover.oldest_unprocessed_block`)
* oldest block, that didn't go through basic/leaf/node aggregation
levels (`fri_prover.oldest_unprocessed_block_by_round`)
* how much time is spent on waiting for available prover to send data to
(`prover_fri_witness_vector_generator.prover_waiting_time)
* count for attempts to send data to prover
(`prover_fri_witness_vector_generator.prover_attempts_count`)
2. Refactor metrics in prover to use vise.
## Why ❔
We have some metric coverage on the prover subsystem, but it's
incomplete.
## 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`.
* chore: fix wrong line (#592)
## What ❔
fix wrong line
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore(docs): fixed docs typo (#588)
## What ❔
- Hello, fixed typo
## Why ❔
- fixed typo
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Roman Brodetski <[email protected]>
* chore(docs): fix typos in document (#589)
## What ❔
Hello, I corrected the typo.
## Why ❔
- fixed typo
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Igor Aleksanov <[email protected]>
* chore: fix typo (#587)
## What ❔
fixed typos
## Why ❔
fixed typos
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Igor Aleksanov <[email protected]>
* chore(docs): fix broken link (#590)
## What ❔
fixed broken link
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Igor Aleksanov <[email protected]>
* feat: faster and less noisy zk fmt (#513)
## What ❔
I've added caching to prettier and changed so that noisy output about
changed files is redirected to /dev/null. `zk fmt` is 3 times faster
after those changes
## Why ❔
`zk fmt` output was too verbose and we didn't use cache
## 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`.
* chore: the errors in the document have been correct (#583)
## What ❔
the errors in the document have been correct
## Why ❔
the errors in the document have been correct
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Igor Aleksanov <[email protected]>
* chore(docs): the errors in the document have been corrected. (#461)
## What ❔
- the errors in the document have been corrected.
## Why ❔
- the errors in the document have been corrected.
## 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: perekopskiy <[email protected]>
* chore: update document (#601)
## What ❔
- update document
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Igor Aleksanov <[email protected]>
Co-authored-by: perekopskiy <[email protected]>
* chore: fixed typos in documentation (#603)
## What ❔
- fixed typos in documentation
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: perekopskiy <[email protected]>
* chore: remove incorrect branch prompts (#594)
## What ❔
remove incorrect branch prompts
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Igor Aleksanov <[email protected]>
* fix: Sync protocol version between consensus and server blocks (#568)
## What ❔
Aligns the protocol version for consensus blocks with that of
`SyncBlock`s.
## Why ❔
Required for gossip-based block syncing to work correctly.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore(main): release core 18.5.0 (#593)
:robot: I have created a release *beep* *boop*
---
##
[18.5.0](https://github.com/matter-labs/zksync-era/compare/core-v18.4.0...core-v18.5.0)
(2023-12-05)
### Features
* Add metric to CallTracer for calculating maximum depth of the calls
([#535](https://github.com/matter-labs/zksync-era/issues/535))
([19c84ce](https://github.com/matter-labs/zksync-era/commit/19c84ce624d53735133fa3b12c7f980e8c14260d))
* Add various metrics to the Prover subsystems
([#541](https://github.com/matter-labs/zksync-era/issues/541))
([58a4e6c](https://github.com/matter-labs/zksync-era/commit/58a4e6c4c22bd7f002ede1c6def0dc260706185e))
### Bug Fixes
* Sync protocol version between consensus and server blocks
([#568](https://github.com/matter-labs/zksync-era/issues/568))
([56776f9](https://github.com/matter-labs/zksync-era/commit/56776f929f547b1a91c5b70f89e87ef7dc25c65a))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
* chore: fix link (#576)
## What ❔
fix link
## Why ❔
- fix link
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Igor Aleksanov <[email protected]>
Co-authored-by: perekopskiy <[email protected]>
* chore(main): release prover 9.1.0 (#460)
:robot: I have created a release *beep* *boop*
---
##
[9.1.0](https://github.com/matter-labs/zksync-era/compare/prover-v9.0.0...prover-v9.1.0)
(2023-12-05)
### Features
* Add various metrics to the Prover subsystems
([#541](https://github.com/matter-labs/zksync-era/issues/541))
([58a4e6c](https://github.com/matter-labs/zksync-era/commit/58a4e6c4c22bd7f002ede1c6def0dc260706185e))
* adds spellchecker workflow, and corrects misspelled words
([#559](https://github.com/matter-labs/zksync-era/issues/559))
([beac0a8](https://github.com/matter-labs/zksync-era/commit/beac0a85bb1535b05c395057171f197cd976bf82))
* **dal:** Do not load config from env in DAL crate
([#444](https://github.com/matter-labs/zksync-era/issues/444))
([3fe1bb2](https://github.com/matter-labs/zksync-era/commit/3fe1bb21f8d33557353f447811ca86c60f1fe51a))
* **en:** Implement gossip fetcher
([#371](https://github.com/matter-labs/zksync-era/issues/371))
([a49b61d](https://github.com/matter-labs/zksync-era/commit/a49b61d7769f9dd7b4cbc4905f8f8a23abfb541c))
* **hyperchain:** Adding prover related commands to zk stack
([#440](https://github.com/matter-labs/zksync-era/issues/440))
([580cada](https://github.com/matter-labs/zksync-era/commit/580cada003bdfe2fff686a1fc3ce001b4959aa4d))
* **job-processor:** report attempts metrics
([#448](https://github.com/matter-labs/zksync-era/issues/448))
([ab31f03](https://github.com/matter-labs/zksync-era/commit/ab31f031dfcaa7ddf296786ddccb78e8edd2d3c5))
* **merkle tree:** Allow random-order tree recovery
([#485](https://github.com/matter-labs/zksync-era/issues/485))
([146e4cf](https://github.com/matter-labs/zksync-era/commit/146e4cf2f8d890ff0a8d33229e224442e14be437))
* **witness-generator:** add logs to leaf aggregation job
([#542](https://github.com/matter-labs/zksync-era/issues/542))
([7e95a3a](https://github.com/matter-labs/zksync-era/commit/7e95a3a66ea48be7b6059d34630e22c503399bdf))
### Bug Fixes
* Change no pending batches 404 error into a success response
([#279](https://github.com/matter-labs/zksync-era/issues/279))
([e8fd805](https://github.com/matter-labs/zksync-era/commit/e8fd805c8be7980de7676bca87cfc2d445aab9e1))
* **ci:** Use the same nightly rust
([#530](https://github.com/matter-labs/zksync-era/issues/530))
([67ef133](https://github.com/matter-labs/zksync-era/commit/67ef1339d42786efbeb83c22fac99f3bf5dd4380))
* **crypto:** update shivini to switch to era-cuda
([#469](https://github.com/matter-labs/zksync-era/issues/469))
([38bb482](https://github.com/matter-labs/zksync-era/commit/38bb4823c7b5e0e651d9f531feede66c24afd19f))
* Sync protocol version between consensus and server blocks
([#568](https://github.com/matter-labs/zksync-era/issues/568))
([56776f9](https://github.com/matter-labs/zksync-era/commit/56776f929f547b1a91c5b70f89e87ef7dc25c65a))
---
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: Artem Makhortov <[email protected]>
* chore(main): release prover 10.0.0 (#608)
:robot: I have created a release *beep* *boop*
---
##
[10.0.0](https://github.com/matter-labs/zksync-era/compare/prover-v9.1.0...prover-v10.0.0)
(2023-12-05)
### ⚠ BREAKING CHANGES
* boojum integration
([#112](https://github.com/matter-labs/zksync-era/issues/112))
* Update to protocol version 17
([#384](https://github.com/matter-labs/zksync-era/issues/384))
### Features
* Add various metrics to the Prover subsystems
([#541](https://github.com/matter-labs/zksync-era/issues/541))
([58a4e6c](https://github.com/matter-labs/zksync-era/commit/58a4e6c4c22bd7f002ede1c6def0dc260706185e))
* adds spellchecker workflow, and corrects misspelled words
([#559](https://github.com/matter-labs/zksync-era/issues/559))
([beac0a8](https://github.com/matter-labs/zksync-era/commit/beac0a85bb1535b05c395057171f197cd976bf82))
* boojum integration
([#112](https://github.com/matter-labs/zksync-era/issues/112))
([e76d346](https://github.com/matter-labs/zksync-era/commit/e76d346d02ded771dea380aa8240da32119d7198))
* **boojum:** Adding README to prover directory
([#189](https://github.com/matter-labs/zksync-era/issues/189))
([c175033](https://github.com/matter-labs/zksync-era/commit/c175033b48a8da4969d88b6850dd0247c4004794))
* **config:** Extract everything not related to the env config from
zksync_config crate
([#245](https://github.com/matter-labs/zksync-era/issues/245))
([42c64e9](https://github.com/matter-labs/zksync-era/commit/42c64e91e13b6b37619f1459f927fa046ef01097))
* **core:** Split config definitions and deserialization
([#414](https://github.com/matter-labs/zksync-era/issues/414))
([c7c6b32](https://github.com/matter-labs/zksync-era/commit/c7c6b321a63dbcc7f1af045aa7416e697beab08f))
* **dal:** Do not load config from env in DAL crate
([#444](https://github.com/matter-labs/zksync-era/issues/444))
([3fe1bb2](https://github.com/matter-labs/zksync-era/commit/3fe1bb21f8d33557353f447811ca86c60f1fe51a))
* **en:** Implement gossip fetcher
([#371](https://github.com/matter-labs/zksync-era/issues/371))
([a49b61d](https://github.com/matter-labs/zksync-era/commit/a49b61d7769f9dd7b4cbc4905f8f8a23abfb541c))
* **fri-prover:** In witness - panic if protocol version is not
available ([#192](https://github.com/matter-labs/zksync-era/issues/192))
([0403749](https://github.com/matter-labs/zksync-era/commit/040374900656c854a7b9de32e5dbaf47c1c47889))
* **hyperchain:** Adding prover related commands to zk stack
([#440](https://github.com/matter-labs/zksync-era/issues/440))
([580cada](https://github.com/matter-labs/zksync-era/commit/580cada003bdfe2fff686a1fc3ce001b4959aa4d))
* **job-processor:** report attempts metrics
([#448](https://github.com/matter-labs/zksync-era/issues/448))
([ab31f03](https://github.com/matter-labs/zksync-era/commit/ab31f031dfcaa7ddf296786ddccb78e8edd2d3c5))
* **merkle tree:** Allow random-order tree recovery
([#485](https://github.com/matter-labs/zksync-era/issues/485))
([146e4cf](https://github.com/matter-labs/zksync-era/commit/146e4cf2f8d890ff0a8d33229e224442e14be437))
* **merkle tree:** Snapshot recovery for Merkle tree
([#163](https://github.com/matter-labs/zksync-era/issues/163))
([9e20703](https://github.com/matter-labs/zksync-era/commit/9e2070380e6720d84563a14a2246fc18fdb1f8f9))
* Rewrite server binary to use `vise` metrics
([#120](https://github.com/matter-labs/zksync-era/issues/120))
([26ee1fb](https://github.com/matter-labs/zksync-era/commit/26ee1fbb16cbd7c4fad334cbc6804e7d779029b6))
* Update to protocol version 17
([#384](https://github.com/matter-labs/zksync-era/issues/384))
([ba271a5](https://github.com/matter-labs/zksync-era/commit/ba271a5f34d64d04c0135b8811685b80f26a8c32))
* **vm:** Move all vm versions to the one crate
([#249](https://github.com/matter-labs/zksync-era/issues/249))
([e3fb489](https://github.com/matter-labs/zksync-era/commit/e3fb4894d08aa98a84e64eaa95b51001055cf911))
* **witness-generator:** add logs to leaf aggregation job
([#542](https://github.com/matter-labs/zksync-era/issues/542))
([7e95a3a](https://github.com/matter-labs/zksync-era/commit/7e95a3a66ea48be7b6059d34630e22c503399bdf))
### Bug Fixes
* Change no pending batches 404 error into a success response
([#279](https://github.com/matter-labs/zksync-era/issues/279))
([e8fd805](https://github.com/matter-labs/zksync-era/commit/e8fd805c8be7980de7676bca87cfc2d445aab9e1))
* **ci:** Use the same nightly rust
([#530](https://github.com/matter-labs/zksync-era/issues/530))
([67ef133](https://github.com/matter-labs/zksync-era/commit/67ef1339d42786efbeb83c22fac99f3bf5dd4380))
* **crypto:** update deps to include circuit fixes
([#402](https://github.com/matter-labs/zksync-era/issues/402))
([4c82015](https://github.com/matter-labs/zksync-era/commit/4c820150714dfb01c304c43e27f217f17deba449))
* **crypto:** update shivini to switch to era-cuda
([#469](https://github.com/matter-labs/zksync-era/issues/469))
([38bb482](https://github.com/matter-labs/zksync-era/commit/38bb4823c7b5e0e651d9f531feede66c24afd19f))
* **crypto:** update snark-vk to be used in server and update args for
proof wrapping
([#240](https://github.com/matter-labs/zksync-era/issues/240))
([4a5c54c](https://github.com/matter-labs/zksync-era/commit/4a5c54c48bbc100c29fa719c4b1dc3535743003d))
* **docs:** Add links to setup-data keys
([#360](https://github.com/matter-labs/zksync-era/issues/360))
([1d4fe69](https://github.com/matter-labs/zksync-era/commit/1d4fe697e4e98a8e64642cde4fe202338ce5ec61))
* **path:** update gpu prover setup data path to remove extra gpu suffix
([#454](https://github.com/matter-labs/zksync-era/issues/454))
([2e145c1](https://github.com/matter-labs/zksync-era/commit/2e145c192b348b2756acf61fac5bfe0ca5a6575f))
* **prover-fri:** Update setup loading for node agg circuit
([#323](https://github.com/matter-labs/zksync-era/issues/323))
([d1034b0](https://github.com/matter-labs/zksync-era/commit/d1034b05754219b603508ef79c114d908c94c1e9))
* **prover-logging:** tasks_allowed_to_finish set to true for 1 off jobs
([#227](https://github.com/matter-labs/zksync-era/issues/227))
([0fac66f](https://github.com/matter-labs/zksync-era/commit/0fac66f5ff86cc801ea0bb6f9272cb397cd03a95))
* Sync protocol version between consensus and server blocks
([#568](https://github.com/matter-labs/zksync-era/issues/568))
([56776f9](https://github.com/matter-labs/zksync-era/commit/56776f929f547b1a91c5b70f89e87ef7dc25c65a))
* Update prover to use the correct storage oracle
([#446](https://github.com/matter-labs/zksync-era/issues/446))
([835dd82](https://github.com/matter-labs/zksync-era/commit/835dd828ef5610a446ec8c456e4df1def0e213ab))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
* refactor: Removed protobuf encoding from zksync_types (#562)
## What ❔
Removed protobuf encoding from zksync_types.
## Why ❔
To make zksync_types have less dependencies.
* fix: use powers array in plonkSetup function (#508)
## What ❔
This PR modifies the `plonkSetup` function in `run.ts` to use the
`powers` array when downloading key files.
## Why ❔
Previously, the function forget to use the argument values `powers`.
Now, it will download keys for any powers specified in the `powers`
array.
## 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).
- [NA] 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: Igor Aleksanov <[email protected]>
* fix: Fix database connections in house keeper (#610)
## What ❔
Use correct connections for databases in house keeper.
## Why ❔
Databases are divided in 2 on mainnet and testnet
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat(contract-verifier): Support verification for zksolc v1.3.17 (#606)
## What ❔
Adds support for zksolc v1.3.17 to contract-verifier.
## Why ❔
Contract-verifier should support latest 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore(main): release core 18.6.0 (#613)
:robot: I have created a release *beep* *boop*
---
##
[18.6.0](https://github.com/matter-labs/zksync-era/compare/core-v18.5.0...core-v18.6.0)
(2023-12-05)
### Features
* **contract-verifier:** Support verification for zksolc v1.3.17
([#606](https://github.com/matter-labs/zksync-era/issues/606))
([b65fedd](https://github.com/matter-labs/zksync-era/commit/b65fedd6894497a4c9fbf38d558ccfaca535d1d2))
### Bug Fixes
* Fix database connections in house keeper
([#610](https://github.com/matter-labs/zksync-era/issues/610))
([aeaaecb](https://github.com/matter-labs/zksync-era/commit/aeaaecb54b6bd3f173727531418dc242357b2aee))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
* chore: Mainnet upgrade calldata (#564)
## What ❔
Includes mainnet upgrade preparation as well as some minor fixes for the
upgrade tool
## 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`.
---------
Co-authored-by: koloz <[email protected]>
* chore: Update generated Prover FRI CPU setup-data keys from branch main (#609)
"Update generated Prover FRI CPU setup-data keys from branch main"
* perf(external-node): Use async miniblock sealing in external IO (#611)
## What ❔
External IO uses async miniblock sealing.
## Why ❔
Execution of transactions and miniblock sealing (writing data to
postgres) happen in parallel so the perfomance is better.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore: fix document path (#615)
## What ❔
fix document path
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Igor Aleksanov <[email protected]>
* chore: Remove era-reviewers from codeowners (#618)
## What ❔
Removes era-reviewers group from codeowners.
## Why ❔
- Too noisy.
- We have internal processes for that anyways.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore(main): release core 18.6.1 (#616)
:robot: I have created a release *beep* *boop*
---
##
[18.6.1](https://github.com/matter-labs/zksync-era/compare/core-v18.6.0...core-v18.6.1)
(2023-12-06)
### Performance Improvements
* **external-node:** Use async miniblock sealing in external IO
([#611](https://github.com/matter-labs/zksync-era/issues/611))
([5cf7210](https://github.com/matter-labs/zksync-era/commit/5cf7210dc77bb615944352f23ed39fad324b914f))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
* feat(hyperchain-wizard): zkStack CLI GPU support (#612)
## What ❔
Support for creating zk hyperchain via zk cli with GPU-based provers
## Why ❔
## Checklist
<!-- Check your PR fulfills the following items. -->
<!-- For draft PRs check the boxes as you complete them. -->
- [x] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [ ] 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Igor Borodin <[email protected]>
* fix: Cursor not moving correctly after poll in `get_filter_changes` (#546)
## What ❔
When polling filter changes, add 1 to actual from_block value
## Why ❔
Otherwise, last block that was included in poll will be included to the
next one.
## 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`.
---------
Co-authored-by: Fedor Sakharov <[email protected]>
* fix: update google cloud dependencies that do not depend on rsa (#622)
## What ❔
This PR updates the dependencies of `google-cloud-storage` and
`google-cloud-auth`. The changes are as follows:
- From google-cloud-storage = "0.12.0" to google-cloud-storage =
"0.15.0"
- From google-cloud-auth = "0.11.0" to google-cloud-auth = "0.13.0"
Relevant google-cloud changes:
https://github.com/yoshidan/google-cloud-rust/pull/217
## 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. -->
The primary reason for these updates is to address a security
vulnerability associated with the `rsa` crate, as indicated by a recent
`cargo-deny` check. The vulnerability (Marvin Attack, RUSTSEC-2023-0071)
was detected in rsa v0.6.1, which is a dependency of
`google-cloud-storage v0.12.0`. By updating to `google-cloud-storage
v0.15.0`, we eliminate the use of the `rsa` crate, as the newer version
of `google-cloud-storage` does not depend on it. Similarly,
`google-cloud-auth` is updated for compatibility.
Cargo deny output:
```
error[vulnerability]: Marvin Attack: potential key recovery through timing sidechannels
┌─ /Users/dustinbrickwood/Documents/dev/dut/forks/foundry-zksync/Cargo.lock:759:1
│
759 │ rsa 0.6.1 registry+https://github.com/rust-lang/crates.io-index
│ --------------------------------------------------------------- security vulnerability detected
│
= ID: RUSTSEC-2023-0071
= Advisory: https://rustsec.org/advisories/RUSTSEC-2023-0071
= ### Impact
Due to a non-constant-time implementation, information about the private key is leaked through timing information which is observable over the network. An attacker may be able to use that information to recover the key.
### Patches
No patch is yet available, however work is underway to migrate to a fully constant-time implementation.
### Workarounds
The only currently available workaround is to avoid using the `rsa` crate in settings where attackers are able to observe timing information, e.g. local use on a non-compromised computer is fine.
### References
This vulnerability was discovered as part of the "[Marvin Attack]", which revealed several implementations of RSA including OpenSSL had not properly mitigated timing sidechannel attacks.
[Marvin Attack]: https://people.redhat.com/~hkario/marvin/
= Announcement: https://github.com/RustCrypto/RSA/issues/19#issuecomment-1822995643
= Solution: No safe upgrade is available!
= rsa v0.6.1
└── google-cloud-storage v0.12.0
└── zksync_object_store v0.1.0
├── zksync_core v0.1.0
│ └── era_test_node v0.1.0-alpha.12
│ └── era_revm v0.0.1-alpha
│ ├── foundry-common v0.2.0
│ │ ├── anvil v0.2.0
│ │ │ ├── (dev) forge v0.2.0
│ │ │ └── (dev) zkforge v0.2.0
│ │ ├── cast v0.2.0
│ │ ├── chisel v0.2.0
│ │ ├── forge v0.2.0 (*)
│ │ ├── foundry-cli v0.2.0
│ │ │ ├── cast v0.2.0 (*)
│ │ │ ├── chisel v0.2.0 (*)
│ │ │ ├── forge v0.2.0 (*)
│ │ │ ├── zkcast v0.2.0
│ │ │ │ └── zkforge v0.2.0 (*)
│ │ │ └── zkforge v0.2.0 (*)
│ │ ├── foundry-debugger v0.2.0
│ │ │ ├── forge v0.2.0 (*)
│ │ │ ├── foundry-cli v0.2.0 (*)
│ │ │ └── zkforge v0.2.0 (*)
│ │ ├── foundry-evm v0.2.0
│ │ │ ├── anvil v0.2.0 (*)
│ │ │ ├── anvil-core v0.2.0
│ │ │ │ └── anvil v0.2.0 (*)
│ │ │ ├── cast v0.2.0 (*)
│ │ │ ├── chisel v0.2.0 (*)
│ │ │ ├── forge v0.2.0 (*)
│ │ │ ├── foundry-cli v0.2.0 (*)
│ │ │ ├── foundry-debugger v0.2.0 (*)
│ │ │ ├── zkcast v0.2.0 (*)
│ │ │ └── zkforge v0.2.0 (*)
│ │ ├── foundry-test-utils v0.2.0
│ │ │ ├── (dev) cast v0.2.0 (*)
│ │ │ ├── (dev) forge v0.2.0 (*)
│ │ │ ├── (dev) zkcast v0.2.0 (*)
│ │ │ └── (dev) zkforge v0.2.0 (*)
│ │ ├── (dev) foundry-utils v0.2.0
│ │ │ ├── anvil v0.2.0 (*)
│ │ │ ├── anvil-core v0.2.0 (*)
│ │ │ ├── cast v0.2.0 (*)
│ │ │ ├── chisel v0.2.0 (*)
│ │ │ ├── forge v0.2.0 (*)
│ │ │ ├── forge-doc v0.2.0
│ │ │ │ ├── forge v0.2.0 (*)
│ │ │ │ └── zkforge v0.2.0 (*)
│ │ │ ├── foundry-cli v0.2.0 (*)
│ │ │ ├── foundry-debugger v0.2.0 (*)
│ │ │ ├── (dev) foundry-evm v0.2.0 (*)
│ │ │ ├── foundry-test-utils v0.2.0 (*)
│ │ │ ├── zkcast v0.2.0 (*)
│ │ │ └── zkforge v0.2.0 (*)
│ │ ├── zkcast v0.2.0 (*)
│ │ └── zkforge v0.2.0 (*)
│ └── foundry-evm v0.2.0 (*)
└── zksync_prover_utils v0.1.0
├── zksync_core v0.1.0 (*)
└── zksync_verification_key_generator_and_server v0.1.0
└── zksync_core v0.1.0 (*)
```
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* docs: Include command to create rich L2 wallets. (#569)
## What ❔
Improve documentation by including the command to create rich L2
wallets.
## Why ❔
Save other people time figuring out the exact invocation.
## 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.
- [ ] Code has been formatted via `zk fmt` and `zk lint`.
- [ ] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore: Enforce uniform import structure (#617)
## What ❔
...using `zk fmt` command by suppling relevant command-line args to
rustfmt. These args work on stable Rust (at least for now) despite being
unstable.
## Why ❔
More structured imports are easier to read.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* fix(job-processor): `max_attepts_reached` metric (#626)
## What ❔
`max_attepts_reached` metric is now reported on job start rather
failure. With this change metric will be reported not only if last
attempt failed but also if it got stuck/stopped/etc.
## Why ❔
Reporting `max_attepts_reached` metric for all cases.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore(vm): Expose more pubs and make inmemory clonable (#632)
## What ❔
Expose AppFramestack public and make InMemoryStorage Clonable.
## Why ❔
For supporting era-test-node
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Signed-off-by: Danil <[email protected]>
* chore: remove old witness generator (#619)
* fix: improve docs repositories (#570)
## What ❔
* Add new/missing zkSync repositories
* Add missing descriptions
* Remove deprecated repositories
## Why ❔
To make the list up-to-date
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* docs(setup): Added TL;DR instructions for new zkstack setup (#621)
## What ❔
* Added a TL;DR set of instructions needed to setup the system to run
the zk stack from scratch.
## Why ❔
* To have a list of commands in one place.
* chore: upgrades local test network to cancun+deneb compatible one (#580)
## What ❔
Upgrades local testnet to `Cancun+Deneb` compatible one. So far:
Cancun gets enabled:
```
2023-12-01 21:57:49 INFO [12-01|20:57:49.152] Merge configured:
2023-12-01 21:57:49 INFO [12-01|20:57:49.152] - Hard-fork specification: https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/paris.md
2023-12-01 21:57:49 INFO [12-01|20:57:49.152] - Network known to be merged: true
2023-12-01 21:57:49 INFO [12-01|20:57:49.152] - Total terminal difficulty: 0
2023-12-01 21:57:49 INFO [12-01|20:57:49.152]
2023-12-01 21:57:49 INFO [12-01|20:57:49.152] Post-Merge hard forks (timestamp based):
2023-12-01 21:57:49 INFO [12-01|20:57:49.152] - Shanghai: @1701464272 (https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/shanghai.md)
2023-12-01 21:57:49 INFO [12-01|20:57:49.152] - Cancun: @1701464272
```
New network has been built into CI workflows.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore(zk init): Removed plonk setup (#638)
## What ❔
* Removed plonk setup (where we downloaded the CRS keys)
## Why ❔
* It is needed only for prover setup (and then this is handled within
the prover_setup.ts directly)
* it will save a lot of network bandwidth and time during zk stack setup
* chore(CI): Speeding up docker builds in CI (#640)
## What ❔
* Removed zk contract compilation that was run before prover docker
builds
* Removed docker builds for old prover and old circuit_synthesizer
* Downloading CRS file only for the snark wrapper / compressor job
## Why ❔
* to speed up docker CI that runs on every PR
* chore(zk): finishing migration to docker compose (#646)
## What ❔
* replaced docker-compose with docker compose
## Why ❔
* we moved to use docker compose (instead of docker-compose) - which is
a newer version
* chore(ci): Pre-download compilers, as a workaround for old hardhat plugins (#645)
## What ❔
Add hack way to pre-download needed compileres
## Why ❔
Hardhat plugins, which we are using right now, are pretty often rate
limited by github for downloading compilers, due to unoptimized download
procedure. This issue was fixed in later versions of plugins, but we
can't update _some_ of the hardhat plugins due to changes in deps for
them. This pre-download will help us till the time we can update them.
## 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.
- [ ] Code has been formatted via `zk fmt` and `zk lint`.
- [ ] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat(en): Remove `SyncBlock.root_hash` (#633)
## What ❔
Removes `root_hash` field from `SyncBlock`.
## Why ❔
It's not used anywhere, set to a dummy value (miniblock hash) and
doesn't make sense in general (state hashes are computed on L1 batch
level, not miniblock 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] Code has been formatted via `zk fmt` and `zk lint`.
- [x] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* docs: New protocol specification (#641)
## What ❔
New docs, focusing on protocol specs.
Note: don't merge yet, waiting for review.
## Why ❔
We want to have good docs so people can understand the zkVM and its
benefits.
## 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`.
- [ ] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: kelemeno <[email protected]>
Co-authored-by: MexicanAce <[email protected]>
Co-authored-by: Jack Hamer <[email protected]>
Co-authored-by: Marcin M <[email protected]>
Co-authored-by: Fedor Sakharov <[email protected]>
* feat(zk tool): Added yarn & directory checks (#188)
# What ❔
* zk will now print a warning if you run it from outside of $ZKSYNC_HOME
directory
* it will also warn you if your yarn has a wrong version
## Why ❔
* we use ZKSYNC_HOME to figure out which binaries to use, so if you are
working on couple versions of era in multiple different directories, and
forget to update ZKSYNC_HOME, then you might be pushing wrong binaries
without knowing.
* if your version of yarn is incorrect, you're going to get a lot of
strange typescript compilation errors along the way.
These are only printed as warnings, they don't prevent you from running
the tool.

* fix: follow up metrics fixes (#648)
## What ❔
Fixes for previous metrics PRs.
* Fix oldest unproved block by round (we have `manually_skipped` status
in DB, is this correct?), SQL query and number of rounds
* Rename some API server metrics
* May filter count work incorrect?
## Why ❔
For metrics to work correctly.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore(ci): Pre-download one more version of viper compiler (#652)
## What ❔
Pre-download one more version of viper compiler
## Why ❔
Workaround for rate limiting
## 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.
- [ ] Code has been formatted via `zk fmt` and `zk lint`.
- [ ] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat(en): Check block hash correspondence (#572)
## What ❔
Checks that the block hash received by EN corresponds to the locally
computed block hash. The check occurs reasonably early (i.e., before the
block is executed).
## Why ❔
Allows to ensure that there's nothing fundamentally wrong with EN
implementation.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* fix: fix docs error (#635)
## What ❔
fix docs error
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Igor Aleksanov <[email protected]>
Co-authored-by: Igor Borodin <[email protected]>
Co-authored-by: AnastasiiaVashchuk <[email protected]>
* chore(core/lib): typo fix (#624)
few minor typo fix.
3 comments, 1 error message
---------
Co-authored-by: AnastasiiaVashchuk <[email protected]>
* chore: remove tslint related comments (#636)
## What ❔
This pull request aims to remove TSLint-related comments and
configurations from the codebase.
## Why ❔
The removal is necessary because the repository has transitioned to
ESLint, TSLint-related comments and configurations obsolete. This
cleanup ensures a more streamlined and consistent codebase, aligning
with the migration to ESLint for improved code quality and
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`.
- [X] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: AnastasiiaVashchuk <[email protected]>
* feat: Snapshot Creator (#498)
## What ❔
Snapshot creator is small command line tool for creating a snapshot of
zkSync node for EN node to be able to initialize
to a certain L1 Batch.
Snapshots do not contain full transactions history, but rather a minimal
subset of information needed to bootstrap EN
node.
## 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`.
* chore(ci): Pre-download more versions of compilers + less verbose (#653)
## What ❔
Pre-download more versions of compilers
## 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.
- [ ] Code has been formatted via `zk fmt` and `zk lint`.
- [ ] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat(contract-verifier): Add zksolc v1.3.18 (#654)
## What ❔
Adds zksolc v1.3.18 to contract verifier
## Why ❔
Adds zksolc v1.3.18 to contract verifier
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* fix: Follow up metrics fixes vol.2 (#656)
## What ❔
Fix oldest not generated batch query
## Why ❔
For metrics to work correctly
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* fix: removing sqlx check from pre-push (#658)
Removing this check for now, I will re-add is as an opt-in check,
probably with other checks bundled in. It's best not to require built
project on every push.
* chore(main): release core 18.7.0 (#620)
:robot: I have created a release *beep* *boop*
---
##
[18.7.0](https://github.com/matter-labs/zksync-era/compare/core-v18.6.1...core-v18.7.0)
(2023-12-12)
### Features
* **contract-verifier:** Add zksolc v1.3.18
([#654](https://github.com/matter-labs/zksync-era/issues/654))
([77f91fe](https://github.com/matter-labs/zksync-era/commit/77f91fe253a0876e56de4aee47071fe249386fc7))
* **en:** Check block hash correspondence
([#572](https://github.com/matter-labs/zksync-era/issues/572))
([28f5642](https://github.com/matter-labs/zksync-era/commit/28f5642c35800997879bc549fca9e960c4516d21))
* **en:** Remove `SyncBlock.root_hash`
([#633](https://github.com/matter-labs/zksync-era/issues/633))
([d4cc6e5](https://github.com/matter-labs/zksync-era/commit/d4cc6e564642b4c49ef4a546cd1c86821327683c))
* Snapshot Creator
([#498](https://github.com/matter-labs/zksync-era/issues/498))
([270edee](https://github.com/matter-labs/zksync-era/commit/270edee34402ecbd1761bc1fca559ef2205f71e8))
### Bug Fixes
* Cursor not moving correctly after poll in `get_filter_changes`
([#546](https://github.com/matter-labs/zksync-era/issues/546))
([ec5907b](https://github.com/matter-labs/zksync-era/commit/ec5907b70ff7d868a05b685a1641d96dc4fa9d69))
* fix docs error
([#635](https://github.com/matter-labs/zksync-era/issues/635))
([883c128](https://github.com/matter-labs/zksync-era/commit/883c1282f7771fb16a41d45391b74243021271e3))
* follow up metrics fixes
([#648](https://github.com/matter-labs/zksync-era/issues/648))
([a317c7a](https://github.com/matter-labs/zksync-era/commit/a317c7ab68219cb376d08c8d1ec210c63b3c269f))
* Follow up metrics fixes vol.2
([#656](https://github.com/matter-labs/zksync-era/issues/656))
([5c1aea2](https://github.com/matter-labs/zksync-era/commit/5c1aea2a94d7eded26c3a4ae4973ff983c15e7fa))
* **job-processor:** `max_attepts_reached` metric
([#626](https://github.com/matter-labs/zksync-era/issues/626))
([dd9b308](https://github.com/matter-labs/zksync-era/commit/dd9b308be9b0a6e37aad75f6f54b98e30a2ae14e))
* update google cloud dependencies that do not depend on rsa
([#622](https://github.com/matter-labs/zksync-era/issues/622))
([8a8cad6](https://github.com/matter-labs/zksync-era/commit/8a8cad6ce62f2d34bb34adcd956f6920c08f94b8))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
* ci: removes docker-compose-runner.yml (#649)
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore(en): adds version metric collecting (#655)
## What ❔
This PR adds a metric that logs release version and protocol version of
the external node. That is needed for provisioning purposes.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* ci(local-node): replace deprecated node setup (#642)
## What ❔
As in commit 33174aa59 and `docker/zk-environment/Dockerfile` use the
repo to setup node, instead of the `curl | sh`.
<!-- 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 ❔
The old method is deprecated and it saves one minute waiting time
instead of the deprecation banner being displayed.
<!-- Why are these changes done? What goal do they contribute to? What
are the principles behind them? -->
<!-- Example: PR templates ensure PR reviewers, observers, and future
iterators are in context about the evolution of repos. -->
## Checklist
<!-- Check your PR fulfills the following items. -->
<!-- For draft PRs check the boxes as you complete them. -->
- [x] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [ ] Tests for the changes have been added / updated.
- [ ] Documentation comments have been added / updated.
- [ ] Code has been formatted via `zk fmt` and `zk lint`.
- [ ] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
Signed-off-by: Harald Hoyer <[email protected]>
* chore(en): Add sepolia en config (#663)
## What ❔
- marks goerli testnet EN config as deprecated
- adds sepolia testnet EN config
- removes `EN_BOOTLOADER_HASH`, `EN_DEFAULT_AA_HASH` from configs as
these vars are not used anymore
## Why ❔
Prepare docs for sepolia testnet EN launch
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* ci: Remove obsolete CI workflows (#664)
## What ❔
- Removes Docker image builds with old provers with bundled setup keys
- Removes obsolete manual standalone External Node builds (already
integrated into Core workflows)
## 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.
- [ ] Code has been formatted via `zk fmt` and `zk lint`.
- [ ] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat(merkle tree): Snapshot recovery in metadata calculator (#607)
## What ❔
Implements tree recovery based on Postgres data in Metadata calculator.
## Why ❔
We obviously need tree recovery. Driving it by Metadata calculator
(i.e., choreography) allows to restore multiple tree instances from the
same snapshot.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat: Implemented 1 validator consensus for the main node (#554)
## What ❔
Implemented 1 validator consensus for the main node.
It is NOT enabled yet, corresponding configuration still needs to be
provided.
It is responsible for populating consensus column in the Miniblocks
table.
Consensus will be running asynchronously for now, not affecting the
miniblock production at all.
Fixes BFT-388.
## Why ❔
Reaching a consensus with just 1 validator doesn't provide much value,
however we want to start running the consensus code in production (in a
"shadow" mode) to make sure it works as expected before we start relying
on it.
* feat(dal): Make ConnectionPoolBuilder owned (#676)
## What ❔
Removes lifetime in the ConnectionPoolBuilder
## Why ❔
To make it easier to store the builder in long-living structures.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* fix: dropping installed filters (#670)
## What ❔
Fix dropping installed filters:
* use LRU instead of HashMap for InstalledFIlters
## Why ❔
Sometimes filters are dropped very quickly.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore(zk): clean volumes directory from container to fix permissions on linux (#673)
## What ❔
Currently zk init may fail on linux due to docker creating files with
root permissions.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat(core): Merge bounded and unbounded gas adjuster (#678)
## What ❔
The bounded gas adjuster was used everywhere but in EthTxManager, but in
EthTxManager it's used as tx params provider rather than as an L1 gas
provider.
It is safe to merge them and keep a single entity.
## Why ❔
One extra entity less.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat(api): Sunset API translator (#675)
## What ❔
- Removes API translator component, `zks_getLogsWithVirtualBlocks `
method, and related no-longer-needed code.
## Why ❔
- Component was introduced for the period of the block.timestamp
migration; it's no longer needed.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore(main): release core 18.8.0 (#674)
:robot: I have created a release *beep* *boop*
---
##
[18.8.0](https://github.com/matter-labs/zksync-era/compare/core-v18.7.0...core-v18.8.0)
(2023-12-13)
### Features
* **api:** Sunset API translator
([#675](https://github.com/matter-labs/zksync-era/issues/675))
([846fd33](https://github.com/matter-labs/zksync-era/commit/846fd33a74734520ae1bb57d8bc8abca71e16f25))
* **core:** Merge bounded and unbounded gas adjuster
([#678](https://github.com/matter-labs/zksync-era/issues/678))
([f3c3bf5](https://github.com/matter-labs/zksync-era/commit/f3c3bf53b3136b2fe8c17638c83fda3328fd6033))
* **dal:** Make ConnectionPoolBuilder owned
([#676](https://github.com/matter-labs/zksync-era/issues/676))
([1153c42](https://github.com/matter-labs/zksync-era/commit/1153c42f9d0e7cfe78da64d4508974e74afea4ee))
* Implemented 1 validator consensus for the main node
([#554](https://github.com/matter-labs/zksync-era/issues/554))
([9c59838](https://github.com/matter-labs/zksync-era/commit/9c5983858d9dd84de360e6a082369a06bb58e924))
* **merkle tree:** Snapshot recovery in metadata calculator
([#607](https://github.com/matter-labs/zksync-era/issues/607))
([f49418b](https://github.com/matter-labs/zksync-era/commit/f49418b24cdfa905e571568cb3393296c951e903))
### Bug Fixes
* dropping installed filters
([#670](https://github.com/matter-labs/zksync-era/issues/670))
([985c737](https://github.com/matter-labs/zksync-era/commit/985c7375f6fa192b45473d8ba0b7dacb9314a482))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
* fix(local-node): debug and fix local-node setup (#666)
* test(snapshot creator): Add basic tests (#677)
## What ❔
Adds basic Rust tests for the snapshot creator component. Also, brushes
up the component.
## Why ❔
Rust tests are easier to run than TS integration tests, and they provide
more control over inputs (i.e., the storage state).
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore: remove witgen related tables (#671)
* feat: Dockerfile and step in CI to build snapshots-creator image (#686)
* fix(en): Downgrade miniblock hash equality assertion to warning (#695)
## What ❔
Subject.
## Why ❔
There is a valid scenario in which we might get miniblock hash mismatch,
namely after a reorg.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat: Add ecadd and ecmul to the list of precompiles upon genesis (#669)
## What ❔
Add ecadd and ecmul to the list of system contracts to be added upon
genesis
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat: zk fmt sqlx-queries (#533)
## What ❔
Added option to format queries using `zk fmt sqlx-queries`
It uses https://github.com/sql-formatter-org/sql-formatter as a
formatter
## 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`.
* feat: proto serialization/deserialization of snapshots creator objects (#667)
## What ❔
Change of serialization format from json to protobuf for snapshots
creator.
**I still need to update the integration tests.**
* perf: remove unnecessary to_vec (#702)
## What ❔
Remove unnecessary method call
## Why ❔
It might improve performance but probably not. Better to not have it
anyway.
* chore(docs): add YouTube to official links (#705)
## What ❔
Added youtube to official links.
* fix: override file only needed in format_sql.ts (#707)
Change that makes format_sql.ts script only override file if there was
some formatting to do. This change is needed to prevent rust build
system from dropping build caches when files did not change
* feat(api): Do not return receipt if tx was not included to the batch (#706)
## What ❔
For compatibility with Ethereum, we have to return `Receipt` only if tx
is included in the miniblock. Block hash is not null null.
## Why ❔
For compatibility with Ethereum and for not breaking external clients,
such as Metemask, they do not expect that block hash could be null
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Signed-off-by: Danil <[email protected]>
Co-authored-by: perekopskiy <[email protected]>
Co-authored-by: Roman Brodetski <[email protected]>
Co-authored-by: perekopskiy <[email protected]>
* chore(main): release core 18.9.0 (#700)
:robot: I have created a release *beep* *boop*
---
##
[18.9.0](https://github.com/matter-labs/zksync-era/compare/core-v18.8.0...core-v18.9.0)
(2023-12-19)
### Features
* Add ecadd and ecmul to the list of precompiles upon genesis
([#669](https://github.com/matter-labs/zksync-era/issues/669))
([0be35b8](https://github.com/matter-labs/zksync-era/commit/0be35b82fc63e88b6d709b644e437194f7559483))
* **api:** Do not return receipt if tx was not included to the batch
([#706](https://github.com/matter-labs/zksync-era/issues/706))
([625d632](https://github.com/matter-labs/zksync-era/commit/625d632934ac63ad7479de50d65f83e6f144c7dd))
* proto serialization/deserialization of snapshots creator objects
([#667](https://github.com/matter-labs/zksync-era/issues/667))
([9f096a4](https://github.com/matter-labs/zksync-era/commit/9f096a4dd362fbd74a35fa1e9af4f111f69f4317))
* zk fmt sqlx-queries
([#533](https://github.com/matter-labs/zksync-era/issues/533))
([6982343](https://github.com/matter-labs/zksync-era/commit/69823439675411b3239ef0a24c6bfe4d3610161b))
### Bug Fixes
* **en:** Downgrade miniblock hash equality assertion to warning
([#695](https://github.com/matter-labs/zksync-era/issues/695))
([2ef3ec8](https://github.com/matter-labs/zksync-era/commit/2ef3ec804573ba4bbf8f44f19a3b5616b297c796))
### Performance Improvements
* remove unnecessary to_vec
([#702](https://github.com/matter-labs/zksync-era/issues/702))
([c55a658](https://github.com/matter-labs/zksync-era/commit/c55a6582eae3af7f92cdeceb4e50b81701665f96))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
* feat: Remove data fetchers (#694)
## What ❔
Removes the data fetchers from the codebase.
The tables they've been writing to are left intact since we need to
support the RPC methods that interact with them for a while.
This way these methods will be accessing the latest available data
there.
Additionally, as discussed before, `get_well_known_token_addresses` no
longer checks for `well_known = true`.
## Why ❔
This component is deprecated.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore(ci): use canonical prysm images in local testnet (#687)
## What ❔
The canonical images after prysmaticlabs/prysm#13324 now multiarch, that
is including Apple Silicon builds.
## 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`.
- [ ] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore: merge contracts and system-contracts repos (#672)
Updated paths and commands to use the new merged `era-contracts`
submodule:
https://github.com/matter-labs/era-contracts/pull/98
* chore(tests): restore revert test (#714)
## What ❔
Restores revert test
## Why ❔
Restores revert test
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat(api): remove jsonrpc backend (#693)
## What ❔
The new release of `jsonrpsee` removes all known blockers for removing
`jsonrpc` backend.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* fix: remove leftovers after #693 (#720)
## What ❔
Removes leftover files.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat: Remove zks_getConfirmedTokens method (#719)
## What ❔
Removes the `zks_getConfirmedTokens` method.
## Why ❔
This method was internal only and is no longer needed.
The change isn't considered to be breaking, as this method has no
measured usage on mainnet.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* fix(prover): update rescue_poseidon version (#722)
* chore: fix doc (#716)
## What ❔
fix doc
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* docs: corrected spelling in zk_intuition.md file (#710)
Removed unwanted letter.
## What ❔
Removed a letter in the sentence.
<!-- 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 ❔
Because sentence was incorrect.
<!-- 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* fix(prover): Add logging for prover + WVGs (#723)
## What ❔
Add better logging for prover and WVGs.
## Why ❔
During incidents, core noticed that logging is missing. These were added
as a hotfix via a different patch on the deployed version.
These changes are now being backported (and improved) on the main
branch.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* fix(prover): update rescue_poseidon version (#726)
* feat(en): Make reorg detector work with pruned data (#712)
## What ❔
Modifies reorg detector so that it works with pruned node data during
snapshot recovery.
## Why ❔
Part of preparations of EN code to support snapshot recovery.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore(main): release prover 10.0.1 (#724)
:robot: I have created a release *beep* *boop*
---
##
[10.0.1](https://github.com/matter-labs/zksync-era/compare/prover-v10.0.0...prover-v10.0.1)
(2023-12-21)
### Bug Fixes
* **prover:** Add logging for prover + WVGs
([#723](https://github.com/matter-labs/zksync-era/issues/723))
([d7ce14c](https://github.com/matter-labs/zksync-era/commit/d7ce14c5d0434326a1ebf406d77c20676ae526ae))
* **prover:** update rescue_poseidon version
([#726](https://github.com/matter-labs/zksync-era/issues/726))
([3db25cb](https://github.com/matter-labs/zksync-era/commit/3db25cbea80180a1238531944d7e45a5408003dc))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
* ci: add CUDA_ARCH arg to build prover template (#730)
* ci: revert adding CUDA_ARCH arg to build prover template (#735)
Reverts matter-labs/zksync-era#730
* chore(docs): Update list of repositories (#728)
## What ❔
* Updated list of repositories in repositories.md
## Why ❔
* Since last update, we moved everything to opensource and introduced
boojum (with its own set of repositories).
---------
Co-authored-by: Shahar Kaminsky <[email protected]>
* fix(prover): Reduce amount of prover connections per prover subcomponent (#734)
## What ❔
Configuration limit on number of DB connections per prover subcomponent.
## Why ❔
During surge of TPS, prover database was pummeled with connections. This
change will makes sure the database will be protected from rogue
connections. Assuming the patch is wrong, prover subcomponents will be
throttled.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* ci: add cuda arch param for prover-fri-gpu (#736)
## What ❔
Subj
## Why ❔
Subj
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore: vise version bump (#727)
* feat: applied status snapshots dal (#679)
Adding applied snapshots DAL that will be used to track status of EN
node applied snapshot.
* chore(main): release prover 10.0.2 (#737)
:robot: I have created a release *beep* *boop*
---
##
[10.0.2](https://github.com/matter-labs/zksync-era/compare/prover-v10.0.1...prover-v10.0.2)
(2023-12-21)
### Bug Fixes
* **prover:** Reduce amount of prover connections per prover
subcomponent
([#734](https://github.com/matter-labs/zksync-era/issues/734))
([d38aa85](https://github.com/matter-labs/zksync-era/commit/d38aa8590c60a04278599a470debeb00e37c2395))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
* refactor: Remove RocksDB backup leftovers (#721)
## What ❔
Removes leftovers of RocksDB backup functionality.
## Why ❔
Support for backups has been removed long ago, and we currently don't
have plans to restore it.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* fix: close Docker PostgreSQL to external connections (#741)
PostgreSQL should only be accessible from the localhost interface,
otherwise malicious actors can change or delete the database.
Bringing the `zk init` settings in line with `zk stack init` settings:
https://github.com/matter-labs/zksync-era/blob/main/docker-compose-zkstack-common.yml#L28
* chore: fix link (#740)
## What ❔
fixed link
## Why ❔
<img width="911" alt="image"
src="https://github.com/matter-labs/zksync-era/assets/148654386/cd0689c1-879e-45df-8b0e-af36778db0b7">
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore: Update how_l2_messaging_works.md (#739)
## What ❔
fix typo
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore: Retire the lightweight tree component (#732)
## What ❔
Removes the component-based option to enable the lightweight tree.
Also, it drops the support for `_new` postfix for the tree component.
## Why ❔
The tree can be configured via configuration options in a more elegant
way.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat(api): Add metrics for `jsonrpsee` subscriptions (#733)
## What ❔
A small follow-up PR for #693 that introduces some metrics allowing to
track the health of the new approach. Also, does minor refactoring for
the API server builder so it's more typesafe.
## Why ❔
Observability and 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`.
- [x] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* fix(prover): increase DB polling interval for witness vector generators (#697)
Prover DB is under heavy load.
The query that witness vectors generators run to get a new prover job is
slow. In theory we shouldn't be running any witness vectors gens for
circuits that don't have any jobs queued, but query insights suggest
otherwise.
This increases the polling interval - so that even if there are no jobs,
we don't perform the query too often
* fix: directory path in 01_initialization.md (#657)
Co-authored-by: AnastasiiaVashchuk <[email protected]>
* chore: update docs (#631)
## What ❔
update docs
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Igor Aleksanov <[email protected]>
* fix: silence cat errors on Show Logs step (#708)
## What ❔
Silencing errors like:
```
Run ci_run cat server.log
cat: server.log: No such file or directory
Error: Process completed with exit code 1.
```
That imo are just an additional needless noise that decrease the UX of
development.
* fix: added waiting for prometheus to finish (#745)
## What ❔
added waiting for prometheus task to finish.
## Why ❔
We need to wait for prometheus to push one last 'batch of metrics'
* chore: fix dev discussions link (#750)
## What ❔
- Addresses typo in link
<!-- 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 ❔
- link was incorrect
<!-- 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* fix: all Docker configs no longer expose PostgreSQL externally (#749)
PostgreSQL should only be accessible from the localhost interface,
otherwise malicious actors can change or delete the database.
Per discussion with Shahar, fixing all the remaining configs.
Related: https://github.com/matter-labs/zksync-era/pull/741
* fix(EN): temporary produce a warning on pubdata mismatch with L1 (#758)
* chore(main): release core 18.10.0 (#713)
:robot: I have created a release *beep* *boop*
---
##
[18.10.0](https://github.com/matter-labs/zksync-era/compare/core-v18.9.0...core-v18.10.0)
(2023-12-25)
### Features
* **api:** Add metrics for `jsonrpsee` subscriptions
([#733](https://github.com/matter-labs/zksync-era/issues/733))
([39fd71c](https://github.com/matter-labs/zksync-era/commit/39fd71cc2a0ffda45933fc99c4dac6d9beb92ad0))
* **api:** remove jsonrpc backend
([#693](https://github.com/matter-labs/zksync-era/issues/693))
([b3f0417](https://github.com/matter-labs/zksync-era/commit/b3f0417fd4512f98d7e579eb5b3b03c7f4b92e18))
* applied status snapshots dal
([#679](https://github.com/matter-labs/zksync-era/issues/679))
([2e9f23b](https://github.com/matter-labs/zksync-era/commit/2e9f23b46c31a9538d4a55bed75c5df3ed8e8f63))
* **en:** Make reorg detector work with pruned data
([#712](https://github.com/matter-labs/zksync-era/issues/712))
([c4185d5](https://github.com/matter-labs/zksync-era/commit/c4185d5b6526cc9ec42e6941d76453cb693988bd))
* Remove data fetchers
([#694](https://github.com/matter-labs/zksync-era/issues/694))
([f48d677](https://github.com/matter-labs/zksync-era/commit/f48d6773e1e30fede44075f8862c68e7a8173cbb))
* Remove zks_getConfirmedTokens method
([#719](https://github.com/matter-labs/zksync-era/issues/719))
([9298b1b](https://github.com/matter-labs/zksync-era/commit/9298b1b916ad5f81160c66c061370f804d129d97))
### Bug Fixes
* added waiting for prometheus to finish
([#745](https://github.com/matter-labs/zksync-era/issues/745))
([eed330d](https://github.com/matter-labs/zksync-era/commit/eed330dd2e47114d9d0ea29c074259a0bc016f78))
* **EN:** temporary produce a warning on pubdata mismatch with L1
([#758](https://github.com/matter-labs/zksync-era/issues/758))
([0a7a4da](https://github.com/matter-labs/zksync-era/commit/0a7a4da52926d1db8dfe72aef78390cba3754627))
* **prover:** Add logging for prover + WVGs
([#723](https://github.com/matter-labs/zksync-era/issues/723))
([d7ce14c](https://github.com/matter-labs/zksync-era/commit/d7ce14c5d0434326a1ebf406d77c20676ae526ae))
* remove leftovers after
[#693](https://github.com/matter-labs/zksync-era/issues/693)
([#720](https://github.com/matter-labs/zksync-era/issues/720))
([e93aa35](https://github.com/matter-labs/zksync-era/commit/e93aa358c43e60d5640224e5422a40d91cd4b9a0))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
* fix(sequencer): don't stall blockchain on failed L1 tx (#759)
* chore(main): release core 18.10.1 (#760)
:robot: I have created a release *beep* *boop*
---
##
[18.10.1](https://github.com/matter-labs/zksync-era/compare/core-v18.10.0...core-v18.10.1)
(2023-12-25)
### Bug Fixes
* **sequencer:** don't stall blockchain on failed L1 tx
([#759](https://github.com/matter-labs/zksync-era/issues/759))
([50cd7c4](https://github.com/matter-labs/zksync-era/commit/50cd7c41f71757a3f2ffb36a6c1e1fa6b4372703))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
* fix(vm): Get pubdata bytes from vm (#756)
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Signed-off-by: Danil <[email protected]>
* chore(main): release core 18.10.2 (#761)
:robot: I have created a release *beep* *boop*
---
##
[18.10.2](https://github.com/matter-labs/zksync-era/compare/core-v18.10.1...core-v18.10.2)
(2023-12-25)
### Bug Fixes
* **vm:** Get pubdata bytes from vm
([#756](https://github.com/matter-labs/zksync-era/issues/756))
([6c6f1ab](https://github.com/matter-labs/zksync-era/commit/6c6f1ab078485669002e50197b35ab1b6a38cdb9))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
* fix(core): do not unwrap unexisting calldata in commitment and regenerate it (#762)
## What ❔
Solve panics on nonexistent calldata.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore(main): release core 18.10.3 (#763)
:robot: I have created a release *beep* *boop*
---
##
[18.10.3](https://github.com/matter-labs/zksync-era/compare/core-v18.10.2...core-v18.10.3)
(2023-12-25)
### Bug Fixes
* **core:** do not unwrap unexisting calldata in commitment and
regenerate it
([#762](https://github.com/matter-labs/zksync-era/issues/762))
([ec104ef](https://github.com/matter-labs/zksync-era/commit/ec104ef01136d1a455f40163c2ced92dbc5917e2))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
* feat: Revert "feat: Remove zks_getConfirmedTokens method" (#765)
Reverts matter-labs/zksync-era#719
* chore(main): release core 18.11.0 (#766)
:robot: I have created a release *beep* *boop*
---
##
[18.11.0](https://github.com/matter-labs/zksync-era/compare/core-v18.10.3...core-v18.11.0)
(2023-12-25)
### Features
* Revert "feat: Remove zks_getConfirmedTokens method"
([#765](https://github.com/matter-labs/zksync-era/issues/765))
([6e7ed12](https://github.com/matter-labs/zksync-era/commit/6e7ed124e816f5ba1d2ba3e8efaf281cd2c055dd))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
* feat(get-tokens): filter tokens by `well_known` (#767)
Co-authored-by: Fedor Sakharov <[email protected]>
* chore(main): release core 18.12.0 (#768)
:robot: I have created a release *beep* *boop*
---
##
[18.12.0](https://github.com/matter-labs/zksync-era/compare/core-v18.11.0...core-v18.12.0)
(2023-12-25)
### Features
* **get-tokens:** filter tokens by `well_known`
([#767](https://github.com/matter-labs/zksync-era/issues/767))
([9c99e13](https://github.com/matter-labs/zksync-era/commit/9c99e13ca0a4de678a4ce5bf7e2d5880d79c0e66))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
* chore(docs): corrected spelling in `status.ts` file (#753)
## What ❔
corrected spelling in `status.ts` file
## Why ❔
Spelling was incorrect
## Checklist
<!-- Check your PR fulfills the following items. -->
<!-- For draft PRs check the boxes as you complete them. -->
- [x] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [x] Tests for the changes have been added / updated.
- [x] Documentation comments have been added / updated.
- [x] Code has been formatted via `zk fmt` and `zk lint`.
- [x] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore: fix link (#752)
## What ❔
fix link
## Why ❔
Inaccessible
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* docs: Update 01_initialization.md (#769)
Remove the comma after "doc": "The goal of this doc is to show you some
more details on how zkSync works internally."
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* fix: fix path (#751)
## What ❔
fixed path
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* fix: fix several typos (#754)
## What ❔
Fixing possiblity to possibility
## Why ❔
The modifications are straightforward and aim to enhance the accuracy of
the documentation.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
Co-authored-by: Fedor Sakharov <[email protected]>
* docs: Update 01_initialization.md (#770)
Add "at" after "look": "Now let's take a look at what's inside:"
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* docs: fix typo (#746)
## What ❔
fix some minor typo in readme.md and overview.md files
## Why ❔
I think it’s important to let users read the most accurate documentation
* chore: update contracts.md (#773)
## What ❔
fixed typo
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore: fix error link (#744)
## What ❔
fix error link
## Why ❔
404
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore(docs): fix docs (#778)
## What ❔
fix docs
## Why ❔
404
<img width="1268" alt="image"
src="https://github.com/matter-labs/zksync-era/assets/148616461/7cee754e-6ca5-4ba3-8306-03d85b410f3e">
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Igor Aleksanov <[email protected]>
* fix: fix error link (#777)
## What ❔
fix link
## Why ❔
<img width="963" alt="image"
src="https://github.com/matter-labs/zksync-era/assets/148769700/8a9577b2-ced7-4b6c-bdcc-6ba0942af334">
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore: fix row (#776)
## What ❔
fix row
## Why ❔
Error row
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Fedor Sakharov <[email protected]>
* chore: update how_l2_messaging_works.md (#779)
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore(docs): fix typo (#781)
## What ❔
fixed typo
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore: spelling and grammar fixes (#782)
## 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.
- [ ] Documentation comments have been added / updated.
- [x] Code has been formatted via `zk fmt` and `zk lint`.
- [ ] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Igor Aleksanov <[email protected]>
* chore: update bootloader.md (#775)
## What ❔
fixed typo
## 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`.
- [ ] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* fix: fix docs (#783)
## What ❔
fix docs
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore(docs): several typos in the documentation (#774)
## What ❔
I fixed some typos in the documentation.
## 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`.
- [ ] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat: Remove generic bounds on L1GasPriceProvider (#792)
## What ❔
- Replaces uses of `G: L1GasPriceProvider` with `dyn
L1GasPriceProvider`.
- ...as a result, `StateKeeper` and `TxSender` (and thus all the API
structures) are now generic-free.
## Why ❔
- Prerequisite for modular system (generic types are hard for
dynamically-configured setup).
- Invoking `L1GasPriceProvider` is not related to any hot loops where
dynamic dispatch would be noticeable, so having it as a generic is kinda
meaningless anyways.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* ci: Optimize contracts build (#715)
## What ❔
Moves contracts build to separate job and reuses them as an artifact in
further build jobs
## Why ❔
To decrease CI build times
## Checklist
<!-- Check your PR fulfills the following items. -->
<!-- For draft PRs check the boxes as you complete them. -->
- [x] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [ ] 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* ci: fix job dependecies (#796)
## What ❔
Fix CI workflows for build core components
## Why ❔
Broken CI for core components
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* ci: fix docker.ts for build prover images
* fix(hyperchain wizard): Do Not Return Upon EthSender Lag (#794)
## What ❔
This PR changes the wizard to not return from `zk status prover` if
there is a lag between blocks committed by eth sender and blocks sealed
by the state keeper.
## Why ❔
Before this PR, if there was a lag, users couldn't see prover stats.
Without this `return` they now can.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat: Remove TPS limiter from TX Sender (#793)
## What ❔
Removes TPS Limiter from TX Sender component.
## Why ❔
- It didn't work properly: limit is applied per API server, and API
servers are horizontally scalable.
- It doesn't seem to be configured in any of our envs.
- It doesn't really make sense in context of ENs.
- We have other mempool protection measures anyways (tx dry-run, nonce
limits, etc).
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat(contract-verifier): add zksolc v1.3.19 (#797)
## What ❔
- added zksolc v1.3.19 for contract verifier
## Why ❔
- zksolc v1.3.19 is now latest
* chore(main): release core 18.13.0 (#795)
:robot: I have created a release *beep* *boop*
---
##
[18.13.0](https://github.com/matter-labs/zksync-era/compare/core-v18.12.0...core-v18.13.0)
(2024-01-02)
### Features
* **contract-verifier:** add zksolc v1.3.19
([#797](https://github.com/matter-labs/zksync-era/issues/797))
([2635570](https://github.com/matter-labs/zksync-era/commit/26355705c8c084344464458f3275c311c392c47f))
* Remove generic bounds on L1GasPriceProvider
([#792](https://github.com/matter-labs/zksync-era/issues/792))
([edf071d](https://github.com/matter-labs/zksync-era/commit/edf071d39d4dd8e297fd2fb2244574d5e0537b38))
* Remove TPS limiter from TX Sender
([#793](https://github.com/matter-labs/zksync-era/issues/793))
([d0e9296](https://github.com/matter-labs/zksync-era/commit/d0e929652eb431f6b1bc20f83d7c21d2a978293a))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
* feat(prover): Remove circuit-synthesizer (#801)
This change cleans circuit synthesizer which belongs to old prover
subsystems. All old prover subsystems is to be removed as era uses
boojum now.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat(vm)!: Release v19 - remove allowlist (#747)
## What ❔
This upgrade contains mainly contract changes (more description of those
[here](https://github.com/matter-labs/era-contracts/pull/133)), while
the changes that impacted `zksync-era` repo mainly refer to the changes
in how the testing / contract preprocessing is done: now, the system
contracts are preprocessed into the `contracts-preprocessed` folder and
then all the artifacts should be taken from there
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat(merkle tree): Finalize metadata calculator snapshot recovery logic (#798)
## What ❔
- Integrates reading snapshot metadata in the metadata calculator.
- Tests full recovery lifecycle for the metadata calculator.
## Why ❔
Right now, metadata calculator never enters recovery mode (since there's
no snapshot metadata stored in Postgres yet).
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat(eth_sender): Remove generic bounds on L1TxParamsProvider in EthSender (#799)
## What ❔
Follow-up to https://github.com/matter-labs/zksync-era/pull/792
## Why ❔
Same reasons
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* refactor(metadata_calculator): Make config owned (#808)
## What ❔
Makes metadata calculator config owned + makes it use `Box<dyn
ObjectStore>` instead of `ObjectStoreFactory`.
## Why ❔
- Prerequisite for ZK Stack modular thingy.
- Makes it easy to store the config object in a dynamic context.
- Makes it more abstract w.r.t. resources required for instantiation.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* refactor(state_keeper): Abstract ConditionalSealer (#803)
## What ❔
Defines a new trait: `ConditionalSealer` and provides two
implementations: `SequencerSealer` and `NoopSealer`.
## Why ❔
- Prerequisite for ZK Stack configuration system.
- Leaves a single constructor for the state keeper.
- Removes `StateKeeperConfig` use from `TxSender`.
- Potentially makes it possible to create `ConditionalSealer` that
contains some kind of sealing logic but does not rely on
`StateKeeperConfig`.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat(prover): Remove old prover (#810)
This is one of many commits, most notable upcoming:
- remove database tables via migrations
- move prover related data from core to prover (I.E. prover_utils)
This comes as part of migration to boojum. Old prover is decomissioned;
this PR removes what's left of main components of old prover subsystems.
It includes:
- remove old prover
- remove old prover protocol version
- untangle old prover and fri prover common dependencies
- and many more
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* refactor(eth-sender): Make `EthInterface` object-safe (#807)
## What ❔
- Makes `EthInterface` trait object-safe.
- Extends its mock implementation (`MockEthereum`) so that it returns
real values for the `get_tx()` method.
## Why ❔
Required to use `EthInterface` in consistency checker.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* fix(prover): Remove old prover subsystems tables (#812)
These tables are unused and should be removed. Note that reverting back
is impossible for a production system, but may still be desired for
troubleshooting reasons.
The changes are part of the migration to boojum from old 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).
- [ ] 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat(vm): Add boojum integration folder (#805)
## What ❔
In preparation for the 1.4.1 we firsly copy the boojum integration
folder (without adding it to the workspace), so that the next PR where
the new VM is actually integrated is easier to review
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat(snapshot creator): Make snapshot creator fault-tolerant (#691)
## What ❔
Makes the snapshot creator tolerant to failures. The snapshot creator
now checks whether there's a partially created snapshot on start. If
there is, the creator continues producing this snapshot instead of
starting from scratch.
## Why ❔
Since the snapshot creator can run for an extended amount of time, not
having fault tolerance is unmaintainable in the long run.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat: adds spellchecker to zk tool (#748)
## What ❔
- Adds `zk spellcheck` to zk tool for convenient spell checks
<!-- 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 ❔
- Adding the tool before including its usage in the CI workflow to
ensure its available in published docker container for #681
<!-- 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Fedor Sakharov <[email protected]>
* refactor: Remove generics in eth_watch and eth_sender (#815)
## What ❔
Replaces generic parameters in `eth_watch` and `eth_sender` with
`Arc<dyn ..>` or `Box<dyn ...>`.
## Why ❔
- Prerequisite for ZK Stack 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat(vm): Separate boojum integration vm (#806)
## What ❔
Changes needed to make the boojum integration VM work as a separate VM
version from "latest"
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* refactor(metadata_calculator): Move ObjectStore out from MetadataCalculatorConfig (#816)
## What ❔
title
## Why ❔
- There was some clunky back-and-forth for
`MetadataCalculatorModeConfig` <->`MerkleTreeMode` because of the old
component confuguration.
- ObjectStore may not be available at time when
`MetadataCalculatorModeConfig ` is created (prerequisite for ZK Stack
thing).
- Less code!
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* fix(db): Fix parsing statement timeout from env (#818)
## What ❔
Fixes parsing statement timeout from the environment for the main node.
## Why ❔
Without a statement timeout, we may have long-running DB queries for API
servers.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* refactor(config): Remove ChainConfig structure (#821)
## What ❔
It wasn't used anywhere.
## Why ❔
Dead code 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`.
- [ ] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat(vm): Make utils version-dependent (#809)
## What ❔
In the new 1.4.1 version, the fee formulas as well as max txs per batch
will change. We'll prepare the main branch for it first to reduce the
diff
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat(en): Make consistency checker work with pruned data (#742)
## What ❔
Modifies consistency checker so that it works with pruned node data
during snapshot recovery. Adds tests for the checker.
## Why ❔
Part of preparations of EN code to support snapshot recovery.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* fix(prover): Remove prover-utils from core (#819)
Last batch of removing old prover from core.
Further improvements will follow up in the core <-> prover integration.
These will be tackled as part of prover <-> core separation.
## Checklist
- [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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* refactor(object_store): Wrap ObjectStore in Arc instead of Box (#820)
## What ❔
Changes `Box<dyn ObjectStore>` to `Arc<dyn ObjectStore>`.
## Why ❔
`ObjectStore` is meant to be a point of customization in ZK Stack, but
with the current approach the only way to get it is via
`ObjectStoreFactory`, and it yields objects packed in `Box`, e.g. each
instance is unique.
In order to make it customizable, `ObjectStore` should be universally
shareable (to allow it to be created once and then copied), and this is
the first step toward that.
Later `ObjectStoreFactory` type will be removed completely to grant full
control regarding the initial type to the initialization code.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore(main): release prover 10.1.0 (#743)
:robot: I have created a release *beep* *boop*
---
##
[10.1.0](https://github.com/matter-labs/zksync-era/compare/prover-v10.0.2...prover-v10.1.0)
(2024-01-05)
### Features
* **prover:** Remove circuit-synthesizer
([#801](https://github.com/matter-labs/zksync-era/issues/801))
([1426b1b](https://github.com/matter-labs/zksync-era/commit/1426b1ba3c8b700e0531087b781ced0756c12e3c))
* **prover:** Remove old prover
([#810](https://github.com/matter-labs/zksync-era/issues/810))
([8be1925](https://github.com/matter-labs/zksync-era/commit/8be1925b18dcbf268eb03b8ea5f07adfd5330876))
### Bug Fixes
* **prover:** increase DB polling interval for witness vector generators
([#697](https://github.com/matter-labs/zksync-era/issues/697))
([94579cc](https://github.com/matter-labs/zksync-era/commit/94579cc524514cb867843336cd9787db1b6b99d3))
* **prover:** Remove prover-utils from core
([#819](https://github.com/matter-labs/zksync-era/issues/819))
([2ceb911](https://github.com/matter-labs/zksync-era/commit/2ceb9114659f4c4583c87b1bbc8ee230eb1c44db))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
* chore(main): release core 19.0.0 (#802)
:robot: I have created a release *beep* *boop*
---
##
[19.0.0](https://github.com/matter-labs/zksync-era/compare/core-v18.13.0...core-v19.0.0)
(2024-01-05)
### ⚠ BREAKING CHANGES
* **vm:** Release v19 - remove allowlist
([#747](https://github.com/matter-labs/zksync-era/issues/747))
### Features
* **en:** Make consistency checker work with pruned data
([#742](https://github.com/matter-labs/zksync-era/issues/742))
([ae6e18e](https://github.com/matter-labs/zksync-era/commit/ae6e18e5412cadefbc03307a476d6b96c41f04e1))
* **eth_sender:** Remove generic bounds on L1TxParamsProvider in
EthSender ([#799](https://github.com/matter-labs/zksync-era/issues/799))
([29a4f52](https://github.com/matter-labs/zksync-era/commit/29a4f5299c95e0b338010a6baf83f196ece3a530))
* **merkle tree:** Finalize metadata calculator snapshot recovery logic
([#798](https://github.com/matter-labs/zksync-era/issues/798))
([c83db35](https://github.com/matter-labs/zksync-era/commit/c83db35f0929a412bc4d89fbee1448d32c54a83f))
* **prover:** Remove circuit-synthesizer
([#801](https://github.com/matter-labs/zksync-era/issues/801))
([1426b1b](https://github.com/matter-labs/zksync-era/commit/1426b1ba3c8b700e0531087b781ced0756c12e3c))
* **prover:** Remove old prover
([#810](https://github.com/matter-labs/zksync-era/issues/810))
([8be1925](https://github.com/matter-labs/zksync-era/commit/8be1925b18dcbf268eb03b8ea5f07adfd5330876))
* **snapshot creator:** Make snapshot creator fault-tolerant
([#691](https://github.com/matter-labs/zksync-era/issues/691))
([286c7d1](https://github.com/matter-labs/zksync-era/commit/286c7d15a623604e01effa7119de3362f0fb4eb9))
* **vm:** Add boojum integration folder
([#805](https://github.com/matter-labs/zksync-era/issues/805))
([4071e90](https://github.com/matter-labs/zksync-era/commit/4071e90578e0fc8c027a4d2a30d09d96db942b4f))
* **vm:** Make utils version-dependent
([#809](https://github.com/matter-labs/zksync-era/issues/809))
([e5fbcb5](https://github.com/matter-labs/zksync-era/commit/e5fbcb5dfc2a7d2582f40a481c861fb2f4dd5fb0))
* **vm:** Release v19 - remove allowlist
([#747](https://github.com/matter-labs/zksync-era/issues/747))
([0e2bc56](https://github.com/matter-labs/zksync-era/commit/0e2bc561b9642b854718adcc86087a3e9762cf5d))
* **vm:** Separate boojum integration vm
([#806](https://github.com/matter-labs/zksync-era/issues/806))
([61712a6](https://github.com/matter-labs/zksync-era/commit/61712a636f69be70d75719c04f364d679ef624e0))
### Bug Fixes
* **db:** Fix parsing statement timeout from env
([#818](https://github.com/matter-labs/zksync-era/issues/818))
([3f663ec](https://github.com/matter-labs/zksync-era/commit/3f663eca2f38f4373339ad024e6578099c693af6))
* **prover:** Remove old prover subsystems tables
([#812](https://github.com/matter-labs/zksync-era/issues/812))
([9d0aefc](https://github.com/matter-labs/zksync-era/commit/9d0aefc1ef4992e19d7b15ec1ce34697e61a3464))
* **prover:** Remove prover-utils from core
([#819](https://github.com/matter-labs/zksync-era/issues/819))
([2ceb911](https://github.com/matter-labs/zksync-era/commit/2ceb9114659f4c4583c87b1bbc8ee230eb1c44db))
---
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: EmilLuta <[email protected]>
* chore(eth-sender): Added documentation to commit data (#731)
## What ❔
* Added documentation to the calldata that we generate in state keeper
when calling commit and prove batches
* also removed unused 'dead_code' annotations that are no longer needed
after we rolled out boojum
## Why ❔
* to increase the understanding of the code - and it make it easier to
find during code search.
---------
Co-authored-by: Roman Brodetski <[email protected]>
* feat(state-keeper): circuits seal criterion (#729)
## What ❔
- the number of circuits needed is estimated in VM
- replaces `ComputationGasCriterion` with more precise
`CircuitsCriterion`
## Why ❔
Introduce `CircuitsCriterion` for efficient 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).
- [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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat: fix spelling in dev comments in `core/lib/multivm` - continued (#682)
**Series of PRs: This is a part in a series of PRs aimed at enhancing
spelling accuracy in this repository. See:**
- [ ] https://github.com/matter-labs/zksync-era/pull/681
- [ ] https://github.com/matter-labs/zksync-era/pull/683
- [ ] https://github.com/matter-labs/zksync-era/pull/684
- [ ] https://github.com/matter-labs/zksync-era/pull/685
Once merged, a final PR will enable the `dev_comments: true` in the
cargo-spellcheck config file.
## 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) -->
- **Spelling Corrections in `core/lib/multivm`:** This PR focuses on
rectifying spelling errors in the developer comments within the
`core/lib/multivm` directory.
- Updates dictionary
## 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. -->
- **Enhancing Code Quality:** The `core/lib/multivm` directory currently
has several spelling mistakes in the developer comments. Correcting
these errors will enhance the readability and overall quality of our
code documentation.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Fedor Sakharov <[email protected]>
* feat: fix spelling in dev comments in `core/lib/*` - continued (#684)
**Series of PRs: This is a part in a series of PRs aimed at enhancing
spelling accuracy in this repository. See:**
- [ ] https://github.com/matter-labs/zksync-era/pull/681
- [ ] https://github.com/matter-labs/zksync-era/pull/682
- [ ] https://github.com/matter-labs/zksync-era/pull/683
- [ ] https://github.com/matter-labs/zksync-era/pull/685
Once merged, a final PR will enable the `dev_comments: true` in the
cargo-spellcheck config file.
## 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) -->
- **Spelling Corrections**: This PR focuses on rectifying spelling
errors found in the developer comments within multiple core libraries:
`core/lib/types/`, `core/lib/eth_client/`, ` core/lib/eth_signer` ,
`core/lib/mempool`, `core/lib/merkle_tree`, `core/lib/state`
- Updates dictionary
## 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. -->
- **Consistency and Readability:** The addressed directories contain
numerous spelling inaccuracies. Correcting these enhances the
readability and consistency of our documentation, ensuring clear
understanding for current and future developer
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Fedor Sakharov <[email protected]>
* feat: fix spelling in dev comments in `core/lib/zksync_core` - continued (#685)
**Series of PRs: This is a part in a series of PRs aimed at enhancing
spelling accuracy in this repository. See:**
- [ ] https://github.com/matter-labs/zksync-era/pull/681
- [ ] https://github.com/matter-labs/zksync-era/pull/682
- [ ] https://github.com/matter-labs/zksync-era/pull/683
- [ ] https://github.com/matter-labs/zksync-era/pull/684
Once merged, a final PR will enable the `dev_comments: true` in the
cargo-spellcheck config file.
## 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) -->
- - **Spelling Corrections**: This PR focuses on rectifying spelling
errors found in the developer comments within core libraries:
`core/lib/zksync_core`
- Updates dictionary
## 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. -->
- **Consistency and Readability:** The addressed directories contain
numerous spelling inaccuracies. Correcting these enhances the
readability and consistency of our documentation, ensuring clear
understanding for current and future developer
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat: fix spelling in dev comments in `core/lib/*` - continued (#683)
**Series of PRs: This is a part in a series of PRs aimed at enhancing
spelling accuracy in this repository. See:**
- [ ] https://github.com/matter-labs/zksync-era/pull/681
- [ ] https://github.com/matter-labs/zksync-era/pull/682
- [ ] https://github.com/matter-labs/zksync-era/pull/684
- [ ] https://github.com/matter-labs/zksync-era/pull/685
Once merged, a final PR will enable the `dev_comments: true` in the
cargo-spellcheck config file.
## 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) -->
- **Spelling Corrections**: This PR focuses on rectifying spelling
errors found in the developer comments within multiple core libraries:
`core/lib/basic_types/`, `core/lib/config/src/configs/`,
`core/lib/constants/`, `core/lib/contracts/`, and `core/lib/dal/`.
- Updates dictionary
## 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. -->
- **Consistency and Readability:** The addressed directories contain
numerous spelling inaccuracies. Correcting these enhances the
readability and consistency of our documentation, ensuring clear
understanding for current and future developer
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Fedor Sakharov <[email protected]>
* feat: address remaining spelling issues in dev comments and turns on dev_comments in cfg (#827)
Related to: https://github.com/matter-labs/zksync-era/pull/681
## What ❔
- Sets dev_comments to true
- Addresses new / remaining spelling issues in dev comments
<!-- 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 ❔
- Dev comments should be checked for spelling issues for improved
readability
<!-- Why are these changes done? What goal do they contribute to? What
are the principles behind them? -->
<!-- Example: PR templates ensure PR reviewers, observers, and future
iterators are in context about the evolution of repos. -->
## Checklist
<!-- Check your PR fulfills the following items. -->
<!-- For draft PRs check the boxes as you complete them. -->
- [x] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [ ] Tests for the changes have been added / updated.
- [ ] Documentation comments have been added / updated.
- [x] Code has been formatted via `zk fmt` and `zk lint`.
- [x] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Fedor Sakharov <[email protected]>
* ci: add arm64 build for en (#811)
## What ❔
Refactored workflows with multiplatform support
## Why ❔
For multiplatform builds
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* ci: fix foop for merge docker manifest
* ci: revert arm64 and merge manifest job
* chore(dal): bumps sqlx dependency to 0.7.3 (#725)
## What ❔
Bumps `sqlx` dependency to `0.7.3`.
## 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`.
- [ ] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Alex Ostrovski <[email protected]>
* fix: fixes markdown table formatting in `docs/specs/zk_evm/vm_specification/compiler/overview.md#instruction-set` (#829)
## What ❔
- Fixes markdown table formatting
<!-- 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 ❔
- The formatting of the table was unreadable
- The prettier ignore is used to prevent zk fmt from disrupting markdown
<!-- 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. -->
**Before:**

**After:**

## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* ci: Fixed zk-environment workflow (#831)
## 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.
- [ ] Documentation comments have been added / updated.
- [x] Code has been formatted via `zk fmt` and `zk lint`.
- [ ] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* ci: Fixed zk-environment workflow typos and npm issues. (#833)
## 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.
- [ ] Documentation comments have been added / updated.
- [x] Code has been formatted via `zk fmt` and `zk lint`.
- [ ] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat(state-keeper): Reject transactions that fail to publish bytecodes (#832)
## What ❔
State keeper and API reject transactions that fail to publish bytecodes
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat: adds cargo spellcheck and cspell to Dockerfile for zk env (#835)
## What ❔
- Adds cargo-spellcheck to Dockerfile for zk env
- Adds cspell installation to Dockerfile for zk env
<!-- 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 ❔
- Needed as dep for zk spellcheck tool
<!-- Why are these changes done? What goal do they contribute to? What
are the principles behind them? -->
<!-- Example: PR templates ensure PR reviewers, observers, and future
iterators are in context about the evolution of repos. -->
## Checklist
<!-- Check your PR fulfills the following items. -->
<!-- For draft PRs check the boxes as you complete them. -->
- [x] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [ ] Tests for the changes have been added / updated.
- [ ] Documentation comments have been added / updated.
- [x] Code has been formatted via `zk fmt` and `zk lint`.
- [x] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore(docs): setup-dev improvements (#836)
## What ❔
Small improvements to setup-dev docs
## Why ❔
Eliminate steps which can be resulted in wrong versions of packages
installed
## Checklist
- [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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore(ci): return the lint checks of sqlx (#830)
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* ci: fix merge manifest job (#828)
## What ❔
Fix job for merge docker manifests
## Why ❔
In case of multi platform builds
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* fix(vm): fix circuit tracer (#837)
## What ❔
`finish_cycle` method of circuit tracer wasn't called and there were
bugs in it.
## Why ❔
Fix tracer
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* ci: Revert fix merge manifest job (#839)
Reverts matter-labs/zksync-era#828
* feat: Integrate `cspell` checker in CI for `/docs` and update PR template (#681)
**Series of PRs: This is the first in a series PRs aimed at enhancing
spelling accuracy in this repository.** See:
- [ ] https://github.com/matter-labs/zksync-era/pull/682
- [ ] https://github.com/matter-labs/zksync-era/pull/683
- [ ] https://github.com/matter-labs/zksync-era/pull/684
- [ ] https://github.com/matter-labs/zksync-era/pull/685
- [ ] https://github.com/matter-labs/zksync-era/pull/827
Once merged, a final PR will enable the `dev_comments: true` in the
cargo-spellcheck config file.
## 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) -->
- **Introduction of cspell checker:** This PR integrates the cspell
checker into the CI, specifically targeting the `/docs` directory to
identify and correct spelling errors.
- Updates PR template to include `cspell` command
- Updates dictionary
## 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. -->
- **Improving Documentation Quality:** The `/docs` directory currently
contains numerous spelling errors. By resolving these and integrating a
spellcheck step in our CI, we aim to maintain high-quality, error-free
documentation.
- **Preventing Future Spelling Mistakes:** The cspell checker will help
in automatically detecting and preventing spelling errors in future
contributions.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Oleksandr Stepanov <[email protected]>
* chore: fix link (#784)
## What ❔
<img width="929" alt="image"
src="https://github.com/matter-labs/zksync-era/assets/150222426/76075be9-585f-4af3-a091-c1afcdba8d51">
## 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`.
- [ ] Spellcheck has been run via `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore(docs): spelling and grammar fixes (#789)
## What ❔
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Igor Aleksanov <[email protected]>
* chore: change fri_prover witness vector receiver port (#772)
## What ❔
This PR sets default witness_vector_receiver_port=3316
## Why ❔
4000 is the beacon chain RPC port
https://github.com/matter-labs/zksync-era/blob/3a0ec355f4ade8641d52ccdcc9ed03753fcb7882/docker-compose.yml#L96
`TcpListener::bind` in
[prover_fri](https://github.com/matter-labs/zksync-era/blob/3a0ec355f4ade8641d52ccdcc9ed03753fcb7882/prover/prover_fri/src/socket_listener.rs#L58)
will fail if a beacon chain node is running.
Let's define the port as 3316 consistent with the env_config below
https://github.com/matter-labs/zksync-era/blob/3a0ec355f4ade8641d52ccdcc9ed03753fcb7882/core/lib/env_config/src/fri_prover.rs#L32
<!-- 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
Co-authored-by: perekopskiy <[email protected]>
* chore: fix error link (#814)
## What ❔
- fix error link
## Why ❔
- The link is no longer accessible
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: Fedor Sakharov <[email protected]>
Co-authored-by: perekopskiy <[email protected]>
* chore: fix unreachable link (#840)
## What ❔
Unreachable link
## Why ❔
<img width="1282" alt="image"
src="https://github.com/matter-labs/zksync-era/assets/150222244/48be9b32-29aa-4e4f-b613-69365394a22e">
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: perekopskiy <[email protected]>
* feat(vm): Add batch input abstraction (#817)
## What ❔
The new fee model will allow us to have separate L1 gas price and
pubdata price (and it is needed for EIP4844). That's why the
`BatchFeeInput` struct is needed as it provides the needed fields for
both the VM version.
The version that is provided in this PR will require not additional
changes on the server side (i.e. whatever config params that we have
right now is enough, the full integration of the config params for the
new fee model will be added to the main PR:
https://github.com/matter-labs/zksync-era/pull/791/.
While the defined enum allows for both l1-gas-price pegged and
independent pubdata pricing, in this PR only L1Pegged is ever
instantiated
❗ A new JSON-RPC method has been added: `zks_getMainNodeFeeParams`. It
will be used by the EN and it will serve the same purpose as the
`zks_getL1GasPrice`, i.e. retrieving the fee info from the main node,
but now it will be extended to provide the fair l2 gas price as well as
other config params that for now will be defined on the main node. The
`zks_getL1GasPrice` will continue working as usual to not interrupt the
existing external nodes, but may be removed in the long run.
## Why ❔
Splitting the integration of the 1.4.1 & the new fee model
(https://github.com/matter-labs/zksync-era/pull/791/) into separate
smaller PRs
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat(core): removes multiple tokio runtimes and worker number setting. (#826)
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* chore: adds development guide for zk spellcheck (#847)
## What ❔
- Adds relevant docs related to spellchecker
<!-- 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 ❔
- Provides devs with info related to the tool and how it is used
<!-- 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`.
* fix: oldest unpicked batch (#692)
## What ❔
Set sealed batch number if no unpicked job were found
## Why ❔
Sometimes there is no such jobs in db, so it remains the same.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* ci: fix merge manifest (#848)
## What ❔
Fix job for merge released docker manifest
## Why ❔
For multi-platform builds
## 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`.
* fix(state-keeper): Updates manager keeps track of fictive block metrics (#843)
## What ❔
Updates manager keeps track of fictive block metrics
## Why ❔
Some metrics (l1_gas, estimated_circuits) are needed in context of the
whole batch and were calculated incorrectly previously
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* fix: address issue with spellchecker not checking against prover workspace (#855)
## What ❔
- Updates `zk spellcheck` command to explicitly run cargo-spellcheck in
`prover/`
- Updates cspell glob pattern to cover all `.md` files to ensure READMEs
are picked up
- Updates cspell config to exclude `node_modules`, `target` and
`CHANGELOGs` .md files
<!-- 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 ❔
- Given prover packages are not included in the root Cargo.toml,
`cargo-spellcheck` was ignoring them. Running it explicitly during `zk
spellcheck` ensures these files are also checked against
- To ensure all READMEs are being checked against cspell changed glob
pattern accordingly
- Given changelogs are auto-generated checking for spelling issues here
is not pragmatic
<!-- 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`.
* chore(main): release core 19.1.0 (#823)
:robot: I have created a release *beep* *boop*
---
##
[19.1.0](https://github.com/matter-labs/zksync-era/compare/core-v19.0.0...core-v19.1.0)
(2024-01-10)
### Features
* address remaining spelling issues in dev comments and turns on
dev_comments in cfg
([#827](https://github.com/matter-labs/zksync-era/issues/827))
([1fd0afd](https://github.com/matter-labs/zksync-era/commit/1fd0afdcd9b6c344e1f5dac93fda5aa25c106b2f))
* **core:** removes multiple tokio runtimes and worker number setting.
([#826](https://github.com/matter-labs/zksync-era/issues/826))
([b8b190f](https://github.com/matter-labs/zksync-era/commit/b8b190f886f1d13602a0b2cc8a2b8525e68b1033))
* fix spelling in dev comments in `core/lib/*` - continued
([#683](https://github.com/matter-labs/zksync-era/issues/683))
([0421fe6](https://github.com/matter-labs/zksync-era/commit/0421fe6b3e9629fdad2fb88ad5710200825adc91))
* fix spelling in dev comments in `core/lib/*` - continued
([#684](https://github.com/matter-labs/zksync-era/issues/684))
([b46c2e9](https://github.com/matter-labs/zksync-era/commit/b46c2e9cbbcd048647f998810c8d550f8ad0c1f4))
* fix spelling in dev comments in `core/lib/multivm` - continued
([#682](https://github.com/matter-labs/zksync-era/issues/682))
([3839d39](https://github.com/matter-labs/zksync-era/commit/3839d39eb6b6d111ec556948c88d1eb9c6ab5e4a))
* fix spelling in dev comments in `core/lib/zksync_core` - continued
([#685](https://github.com/matter-labs/zksync-era/issues/685))
([70c3feb](https://github.com/matter-labs/zksync-era/commit/70c3febbf0445d2e0c22a942eaf643828aee045d))
* **state-keeper:** circuits seal criterion
([#729](https://github.com/matter-labs/zksync-era/issues/729))
([c4a86bb](https://github.com/matter-labs/zksync-era/commit/c4a86bbbc5697b5391a517299bbd7a5e882a7314))
* **state-keeper:** Reject transactions that fail to publish bytecodes
([#832](https://github.com/matter-labs/zksync-era/issues/832))
([0a010f0](https://github.com/matter-labs/zksync-era/commit/0a010f0a6f6682cedc49cb12ab9f9dfcdbccf68e))
* **vm:** Add batch input abstraction
([#817](https://github.com/matter-labs/zksync-era/issues/817))
([997db87](https://github.com/matter-labs/zksync-era/commit/997db872455351a484c3161d0a733a4bc59dd684))
### Bug Fixes
* oldest unpicked batch
([#692](https://github.com/matter-labs/zksync-era/issues/692))
([a6c869d](https://github.com/matter-labs/zksync-era/commit/a6c869d88c64a986405bbdfb15cab88e910d1e03))
* **state-keeper:** Updates manager keeps track of fictive block metrics
([#843](https://github.com/matter-labs/zksync-era/issues/843))
([88fd724](https://github.com/matter-labs/zksync-era/commit/88fd7247c377efce703cd1caeffa4ecd61ed0d7f))
* **vm:** fix circuit tracer
([#837](https://github.com/matter-labs/zksync-era/issues/837))
([83fc7be](https://github.com/matter-labs/zksync-era/commit/83fc7be3cb9f4d3082b8b9fa8b8f568330bf744f))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
* chore(docs): Adding a README with a list of VM versions (#857)
## What ❔
* Adding a list with the current VM versions
## Why ❔
* To make it easy to see what is the chronological order (and what was
changed).
* fix(vm): `inspect_transaction_with_bytecode_compression` for old VMs (#862)
## What ❔
Fixes `inspect_transaction_with_bytecode_compression` for vm_1_3_2 and
vm_m6 to work correctly with all tx execution modes
## Why ❔
Fix bug
## 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`.
* chore(main): release core 19.1.1 (#864)
:robot: I have created a release *beep* *boop*
---
##
[19.1.1](https://github.com/matter-labs/zksync-era/compare/core-v19.1.0...core-v19.1.1)
(2024-01-12)
### Bug Fixes
* **vm:** `inspect_transaction_with_bytecode_compression` for old VMs
([#862](https://github.com/matter-labs/zksync-era/issues/862))
([077c0c6](https://github.com/matter-labs/zksync-era/commit/077c0c689317fa33c9bf3623942b565e8471f418))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
* chore(local-node): adds npm to Dockerfile (#865)
## 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`.
* chore(zk): adds sql-formatter to zk dependencies (#866)
## What ❔
Bulding the newest image fails with
```
> [12/17] RUN cd /infrastructure/zk && yarn && yarn build && cd /:
26.23 [3/4] Linking dependencies...
26.23 warning " > [email protected]" has incorrect peer dependency "ethers@~5.7.0".
32.77 [4/4] Building fresh packages...
38.07 success Saved lockfile.
38.08 Done in 37.55s.
38.39 yarn run v1.22.21
38.42 $ tsc
40.31 src/format_sql.ts(3,24): error TS2307: Cannot find module 'sql-formatter' or its corresponding type declarations.
40.34 error Command failed with exit code 1.
40.34 info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
------
Dockerfile:50
--------------------
48 |
49 | # Build `zk` tool
50 | >>> RUN cd /infrastructure/zk && yarn && yarn build && cd /
51 | # Build `local-setup-preparation` tool
52 | RUN cd /infrastructure/local-setup-preparation && yarn && cd /
```
## 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`.
* feat: rewritten gossip sync to be async from block processing (#711)
* Simplified configs to not require genesis block.
* Removed consensus fields from jsonrpc sync api, to prevent having gaps
in miniblock quorum certificates.
* Moved consensus fields to a separate table to make first/last entry
lookup fast and reliable.
* Migrated consensus integration to new era-consensus API:
https://github.com/matter-labs/era-consensus/pull/53
* Deduplicated code between EN consensus integration and main node
consensus integration
* Implemented support for cloning a db in tests
* fix(local-node): deploy erc20 tokens to fix the deployment (#872)
## What ❔
Currently the run of
[local-node](https://github.com/matter-labs/local-node) fails in the
logs with:
```
2024-01-15 07:36:06 Deploying TransparentUpgradeableProxy
2024-01-15 07:36:09 TransparentUpgradeableProxy deployed, gasUsed: 678557
2024-01-15 07:36:09 CONTRACTS_L1_ERC20_BRIDGE_PROXY_ADDR=0x1242f30c5c146ed47194BF6D56013A70D9B7C1A0
2024-01-15 07:36:09 Error: TypeError: Cannot read properties of undefined (reading 'address')
2024-01-15 07:36:09 at Deployer.<anonymous> (/contracts/ethereum/src.ts/deploy.ts:318:92)
2024-01-15 07:36:09 at step (/contracts/ethereum/src.ts/deploy.ts:33:23)
2024-01-15 07:36:09 at Object.next (/contracts/ethereum/src.ts/deploy.ts:14:53)
2024-01-15 07:36:09 at /contracts/ethereum/src.ts/deploy.ts:8:71
2024-01-15 07:36:09 at new Promise (<anonymous>)
2024-01-15 07:36:09 at __awaiter (/contracts/ethereum/src.ts/deploy.ts:4:12)
2024-01-15 07:36:09 at Deployer.deployWethBridgeImplementation (/contracts/ethereum/src.ts/deploy.ts:390:16)
2024-01-15 07:36:09 at Deployer.<anonymous> (/contracts/ethereum/src.ts/deploy.ts:439:16)
2024-01-15 07:36:09 at step (/contracts/ethereum/src.ts/deploy.ts:33:23)
2024-01-15 07:36:09 at Object.next (/contracts/ethereum/src.ts/deploy.ts:14:53)
error Command failed with exit code 1.
2024-01-15 07:36:09 info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
2024-01-15 07:36:09 Skip contract verification on localhost
```
However the overall run of the setup doesn't fail weirdly after this.
What this failure does is that prevents the further steps in the L1
contract deployment and important stuff such as `VERIFIER_TIMELOCK` does
not get deployed.
Further down the road the environment variables get populated from the
two files:
https://github.com/matter-labs/zksync-era/blob/3af4644f428af0328cdea0fbae8a8f965489c6c4/docker/local-node/entrypoint.sh#L44-L45
However the `.init.dev` file does not contain the
`CONTRACT_VERIFIER_TIMELOCK_ADDR` variable so it gets populated with
`0xFC073319977e314F251EAE6ae6bE76B0B3BAeeCF` address from
`/etc/env/dev.env` and all transactions such as `commitBlocks` go to
this address which breaks block commit/verify/execution. The reason of
the failure above is that the WETH bridge deployment needs to search for
WETH token in `/etc/env/localhost.json` and because the ERC20 deployment
step has been empty this file is also empty. So this fix adds a step of
ERC20 deployment to fix this.
## 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
- [ ] 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`.
* feat: adds `zk linkcheck` to zk tool and updates zk env for `zk linkcheck` ci usage (#868)
Related PRs:
- https://github.com/matter-labs/zksync-era/pull/869
- https://github.com/matter-labs/zksync-era/pull/870
## What ❔
- Adds `zk linkcheck` to zk tool
- Adds required dependencies to make use of `zk linkcheck` in zk env
- Adds `zk linkcheck` docs
- Updates `spellcheck` dir to be general `checks-config` dir to include
spellcheck and link configuration files
- Fixes issue with `zk spellcheck` exit code
<!-- 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 ❔
- `zk linkcheck` will ensure no dead links exist in repo and prevent
unnecessary PRs
- Required to install dependencies, similar to `zk spellcheck`
- Relevant docs to outline `zk linkcheck` usage
<!-- 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`.
* chore(hyperchains): fix zk stack cli (#876)
## What ❔
Fixes zk stack cli when spinning up a hyperchain without WETH bridge
## Why ❔
Because it was broken. Some changes over the last month removed a param
that used to exist
## 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`.
* chore(docs): Update boojum_gadgets.md - Fix typo (#871)
* ci: add copying wit-vector-gen image to cross-region registies (#883)
## What ❔
Job for copy witness-vector-generator between GAR registries
## Why ❔
For have access to image from different registries
## 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`.
* feat(en): Make batch status updater work with pruned data (#863)
## What ❔
Modifies batch status updater so that it works with pruned node data
during snapshot recovery.
## Why ❔
Part of preparations of EN code to support snapshot recovery.
## 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`.
* feat(contract-verifier): Support zkVM solc contract verification (#854)
## What ❔
- Downloads zkVM solc binaries in verifier image
- Adds support for new zksolc version support
## Why ❔
Support zkVM solc contract verification
## 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`.
* chore(main): release core 19.2.0 (#867)
:robot: I have created a release *beep* *boop*
---
##
[19.2.0](https://github.com/matter-labs/zksync-era/compare/core-v19.1.1...core-v19.2.0)
(2024-01-17)
### Features
* adds `zk linkcheck` to zk tool and updates zk env for `zk linkcheck`
ci usage ([#868](https://github.com/matter-labs/zksync-era/issues/868))
([d64f584](https://github.com/matter-labs/zksync-era/commit/d64f584f6d505b19cd6424928e9dc68e370e17fd))
* **contract-verifier:** Support zkVM solc contract verification
([#854](https://github.com/matter-labs/zksync-era/issues/854))
([1ed5a95](https://github.com/matter-labs/zksync-era/commit/1ed5a95462dbd73151acd8afbc4ab6158a2aecda))
* **en:** Make batch status updater work with pruned data
([#863](https://github.com/matter-labs/zksync-era/issues/863))
([3a07890](https://github.com/matter-labs/zksync-era/commit/3a07890dacebf6179636c44d7cce1afd21ab49eb))
* rewritten gossip sync to be async from block processing
([#711](https://github.com/matter-labs/zksync-era/issues/711))
([3af4644](https://github.com/matter-labs/zksync-era/commit/3af4644f428af0328cdea0fbae8a8f965489c6c4))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
* chore(deps): bumps h2 to avoid vulnerability alert (#895)
## 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`.
* fix: addresses broken links in preparation for ci link check (#869)
Related PRs:
- https://github.com/matter-labs/zksync-era/pull/868
- https://github.com/matter-labs/zksync-era/pull/870
## What ❔
- Addresses broken links in the repo
<!-- 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 ❔
- Should not have dead links in the repo
- Addressing issues with links prior to `zk linkcheck` usage in ci
<!-- Why are these changes done? What goal do they contribute to? What
are the principles behind them? -->
<!-- Example: PR templates ensure PR reviewers, observers, and future
iterators are in context about the evolution of repos. -->
## Checklist
<!-- Check your PR fulfills the following items. -->
<!-- For draft PRs check the boxes as you complete them. -->
- [x] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [ ] Tests for the changes have been added / updated.
- [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`.
* fix: Incorrect exposing of log indexes (#896)
## What ❔
Make log indexes in transaction exposed correctly
## Why ❔
To behave correctly
## 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`.
* feat(api): Make Web3 API server work with pruned data (#838)
## What ❔
Modifies the Web3 API server so that it works with pruned node data
during snapshot recovery.
## Why ❔
Part of preparations of EN code to support snapshot recovery.
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
* feat(vm)!: fee model updates + 1.4.1 (#791)
## What ❔
Adds a new VM version `VM_1_4_1` that will work with `[email protected]` and
the [following
contracts](https://github.com/matter-labs/era-contracts/pull/159).
Generally, it contains the following features (on the server side):
- The new fee model
- 1.4.1 integration
- The Increase of the maximal number of transactions per batch to 10
thousand.
❗ Requires DB migration and new config params before being deployed❗
## 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 `cargo spellcheck
--cfg=./spellcheck/era.cfg --code 1`.
---------
Co-authored-by: AntonD3 <[email protected]>
Co-authored-by: AntonD3 <[email protected]>
Co-authored-by: Emil <[email protected]>
Co-authored-by: Fedor Sakharov <[email protected]>
Co-authored-by: perekopskiy <[email protected]>
Co-authored-by: zksync-admin-bot2 <[email protected]>
Co-authored-by: perekopskiy <[email protected]>
* Fixes
* Update verifier key hash
* Remove todo!
* Update submodule
* Update submodule
---------
Signed-off-by: Danil <[email protected]>
Signed-off-by: Harald Hoyer <[email protected]>
Co-authored-by: Alex Ostrovski <[email protected]>
Co-authored-by: EmilLuta <[email protected]>
Co-authored-by: Danil <[email protected]>
Co-authored-by: zksync-era-bot <[email protected]>
Co-authored-by: Yury Akudovich <[email protected]>
Co-authored-by: Karma <[email protected]>
Co-authored-by: Igor Aleksanov <[email protected]>
Co-authored-by: Todd <[email protected]>
Co-authored-by: Santala <[email protected]>
Co-authored-by: Lech <[email protected]>
Co-authored-by: gorden <[email protected]>
Co-authored-by: yilirong1992 <[email protected]>
Co-authored-by: Roman Brodetski <[email protected]>
Co-authored-by: Salad <[email protected]>
Co-authored-by: min <[email protected]>
Co-authored-by: Jean <[email protected]>
Co-authored-by: Tomasz Grześkiewicz <[email protected]>
Co-authored-by: penghuarong <[email protected]>
Co-authored-by: umi <[email protected]>
Co-authored-by: perekopskiy <[email protected]>
Co-authored-by: Doll <[email protected]>
Co-authored-by: Jack <[email protected]>
Co-authored-by: Artem Makhortov <[email protected]>
Co-authored-by: pompon0 <[email protected]>
Co-authored-by: Zijing Zhang <[email protected]>
Co-authored-by: Stanislav Bezkorovainyi <[email protected]>
Co-authored-by: koloz <[email protected]>
Co-authored-by: zksync-admin-bot2 <[email protected]>
Co-authored-by: Igor Borodin <[email protected]>
Co-authored-by: Fedor Sakharov <[email protected]>
Co-authored-by: Dustin Brickwood <[email protected]>
Co-authored-by: Thomas Knauth <[email protected]>
Co-authored-by: AnastasiiaVashchuk <[email protected]>
Co-authored-by: Jack Hamer <[email protected]>
Co-authored-by: Marcin M <[email protected]>
Co-authored-by: kelemeno <[email protected]>
Co-authored-by: kelemeno <[email protected]>
Co-authored-by: MexicanAce <[email protected]>
Co-authored-by: Alex <[email protected]>
Co-authored-by: Ford <[email protected]>
Co-authored-by: momodaka <[email protected]>
Co-authored-by: Harald Hoyer <[email protected]>
Co-authored-by: Joonatan Saarhelo <[email protected]>
Co-authored-by: 0xMBL <[email protected]>
Co-authored-by: perekopskiy <[email protected]>
Co-authored-by: Roman Brodetski <[email protected]>
Co-authored-by: Bence Haromi <[email protected]>
Co-authored-by: Bhaskar Kashyap <[email protected]>
Co-authored-by: Maksym <[email protected]>
Co-authored-by: Shahar Kaminsky <[email protected]>
Co-authored-by: Ivan Bogatyy <[email protected]>
Co-authored-by: Dushyant Goswami <[email protected]>
Co-authored-by: CrytoInsight <[email protected]>
Co-authored-by: 0xDev <[email protected]>
Co-authored-by: Money Bund <[email protected]>
Co-authored-by: Mattew <[email protected]>
Co-authored-by: 0xblackbox <[email protected]>
Co-authored-by: web3-Jack <[email protected]>
Co-authored-by: Joslis <[email protected]>
Co-authored-by: Tleao <[email protected]>
Co-authored-by: Roman Petriv <[email protected]>
Co-authored-by: Alex Ostrovski <[email protected]>
Co-authored-by: Aleksandr Stepanov <[email protected]>
Co-authored-by: JW <[email protected]>
Co-authored-by: 0xWizar <[email protected]>
Co-authored-by: Ramon "9Tails" Canales <[email protected]>
Co-authored-by: mankzan <[email protected]>
Co-authored-by: AntonD3 <[email protected]>
Co-authored-by: AntonD3 <[email protected]>
Co-authored-by: Emil <[email protected]>
Co-authored-by: zksync-admin-bot2 <[email protected]>
Co-authored-by: Jmunoz <[email protected]>
0 commit comments