Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

feat: L1 batch signing (BFT-474) #2414

Merged
merged 20 commits into from
Jul 10, 2024
Merged

feat: L1 batch signing (BFT-474) #2414

merged 20 commits into from
Jul 10, 2024

Conversation

aakoshh
Copy link
Contributor

@aakoshh aakoshh commented Jul 9, 2024

What ❔

Implements the methods on PersistentBatchStore required by consensus to sign and publish attestations over L1 batches.
Calculates the hash value which needs to be signed by attestors using SignedBatchInfo::hash().

Why ❔

This allows consensus to figure out which is the first batch that needs to be signed after the node starts, and subsequently to retrieve the payload to be signed as well.

Checklist

  • 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.

@aakoshh aakoshh marked this pull request as ready for review July 9, 2024 19:43
RomanBrodetski
RomanBrodetski previously approved these changes Jul 10, 2024
@brunoffranca brunoffranca added this pull request to the merge queue Jul 10, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to no response for status checks Jul 10, 2024
@brunoffranca brunoffranca added this pull request to the merge queue Jul 10, 2024
Merged via the queue into main with commit ab699db Jul 10, 2024
54 checks passed
@brunoffranca brunoffranca deleted the bft-474-l1-batch-signing branch July 10, 2024 19:42
github-merge-queue bot pushed a commit that referenced this pull request Jul 11, 2024
🤖 I have created a release *beep* *boop*
---


##
[16.0.0](prover-v15.1.0...prover-v16.0.0)
(2024-07-11)


### ⚠ BREAKING CHANGES

* **prover:** Bump prover protocol patch
([#2428](#2428))

### Features

* L1 batch signing (BFT-474)
([#2414](#2414))
([ab699db](ab699db))
* **prover:** Bump prover protocol patch
([#2428](#2428))
([1dffae9](1dffae9))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
irnb pushed a commit to vianetwork/via-server that referenced this pull request Jul 12, 2024
## What ❔

Implements the methods on `PersistentBatchStore` required by consensus
to sign and publish attestations over L1 batches.
Calculates the hash value which needs to be signed by attestors using
`SignedBatchInfo::hash()`.
## Why ❔

This allows consensus to figure out which is the first batch that needs
to be signed after the node starts, and subsequently to retrieve the
payload to be signed as well.

## Checklist

<!-- Check your PR fulfills the following items. -->
<!-- For draft PRs check the boxes as you complete them. -->

- [x] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [x] Tests for the changes have been added / updated.
- [x] Documentation comments have been added / updated.
- [x] Code has been formatted via `zk fmt` and `zk lint`.

---------

Co-authored-by: Bruno França <[email protected]>
irnb pushed a commit to vianetwork/via-server that referenced this pull request Jul 12, 2024
🤖 I have created a release *beep* *boop*
---


##
[16.0.0](matter-labs/zksync-era@prover-v15.1.0...prover-v16.0.0)
(2024-07-11)


### ⚠ BREAKING CHANGES

* **prover:** Bump prover protocol patch
([matter-labs#2428](matter-labs#2428))

### Features

* L1 batch signing (BFT-474)
([matter-labs#2414](matter-labs#2414))
([ab699db](matter-labs@ab699db))
* **prover:** Bump prover protocol patch
([matter-labs#2428](matter-labs#2428))
([1dffae9](matter-labs@1dffae9))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
github-merge-queue bot pushed a commit that referenced this pull request Jul 22, 2024
🤖 I have created a release *beep* *boop*
---


##
[24.10.0](core-v24.9.0...core-v24.10.0)
(2024-07-22)


### Features

* Add blob size metrics
([#2411](#2411))
([41c535a](41c535a))
* **en:** Switch EN to use node framework
([#2427](#2427))
([0cee530](0cee530))
* **eth-sender:** add early return in sending new transactions to not
spam logs with errors
([#2425](#2425))
([192f2a3](192f2a3))
* **eth-watch:** Integrate decentralized upgrades
([#2401](#2401))
([5a48e10](5a48e10))
* L1 batch signing (BFT-474)
([#2414](#2414))
([ab699db](ab699db))
* **prover:** Make it possible to run prover out of GCP
([#2448](#2448))
([c9da549](c9da549))
* **zk_toolbox:** Small adjustment for zk toolbox
([#2424](#2424))
([ce43c42](ce43c42))


### Bug Fixes

* **eth-sender:** add bump of min 10% when resending txs to avoid
"replacement transaction underpriced"
([#2422](#2422))
([a7bcf5d](a7bcf5d))
* Set attesters in Connection::adjust_genesis (BFT-489)
([#2429](#2429))
([ca4cb3c](ca4cb3c))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: zksync-era-bot <[email protected]>
github-merge-queue bot pushed a commit that referenced this pull request Aug 2, 2024
🤖 I have created a release *beep* *boop*
---


##
[0.1.1](zk_toolbox-v0.1.0...zk_toolbox-v0.1.1)
(2024-08-02)


### Features

* Add recovery tests to zk_supervisor
([#2444](#2444))
([0c0d10a](0c0d10a))
* add revert tests (external node) to zk_toolbox
([#2408](#2408))
([3fbbee1](3fbbee1))
* add revert tests to zk_toolbox
([#2317](#2317))
([c9ad002](c9ad002))
* add zk toolbox
([#2005](#2005))
([60a633b](60a633b))
* Adding SLChainID
([#2547](#2547))
([656e830](656e830))
* Base Token Fundamentals
([#2204](#2204))
([39709f5](39709f5))
* change `zkSync` occurences to `ZKsync`
([#2227](#2227))
([0b4104d](0b4104d))
* **configs:** Do not panic if config is only partially filled
([#2545](#2545))
([db13fe3](db13fe3))
* **eth-watch:** Integrate decentralized upgrades
([#2401](#2401))
([5a48e10](5a48e10))
* L1 batch signing (BFT-474)
([#2414](#2414))
([ab699db](ab699db))
* Minimal External API Fetcher
([#2383](#2383))
([9f255c0](9f255c0))
* Poll the main node for the next batch to sign (BFT-496)
([#2544](#2544))
([22cf820](22cf820))
* Revisit base config values
([#2532](#2532))
([3fac8ac](3fac8ac))
* Support sending logs via OTLP
([#2556](#2556))
([1d206c0](1d206c0))
* Switch to using crates.io deps
([#2409](#2409))
([27fabaf](27fabaf))
* **toolbox:** add format and clippy to zk_toolbox ci
([#2100](#2100))
([49a5c3a](49a5c3a))
* **toolbox:** add verify to zk-toolbox
([#2013](#2013))
([23a545c](23a545c))
* **toolbox:** add zk supervisor database commands
([#2051](#2051))
([f99739b](f99739b))
* **toolbox:** add zk_toolbox ci
([#1985](#1985))
([4ab4922](4ab4922))
* **toolbox:** refactor config to its own crate
([#2063](#2063))
([5cfcc24](5cfcc24))
* Update to consensus 0.1.0-rc.4 (BFT-486)
([#2475](#2475))
([ff6b10c](ff6b10c))
* **vlog:** New vlog interface + opentelemtry improvements
([#2472](#2472))
([c0815cd](c0815cd))
* **zk toolbox:** External node support
([#2287](#2287))
([6384cad](6384cad))
* **zk_toolbox:** Add check for zksync repo path
([#2447](#2447))
([f1cbb74](f1cbb74))
* **zk_toolbox:** Add contract verifier support for zk toolbox
([#2420](#2420))
([d10a24b](d10a24b))
* **zk_toolbox:** Add grafana support
([#2557](#2557))
([f5aaefe](f5aaefe))
* **zk_toolbox:** Add prover generate-sk command
([#2222](#2222))
([40e0a95](40e0a95))
* **zk_toolbox:** Add prover init command
([#2298](#2298))
([159af3c](159af3c))
* **zk_toolbox:** Add prover run
([#2272](#2272))
([598ef7b](598ef7b))
* **zk_toolbox:** add test upgrade subcommand to zk_toolbox
([#2515](#2515))
([1a12f5f](1a12f5f))
* **zk_toolbox:** Add update command
([#2440](#2440))
([e2fa86f](e2fa86f))
* **zk_toolbox:** Allow toolbox find Zkstack.yaml in parent dirs
([#2430](#2430))
([0957119](0957119))
* **zk_toolbox:** Clean command
([#2387](#2387))
([52a4680](52a4680))
* **zk_toolbox:** Dev command
([#2347](#2347))
([f508ac1](f508ac1))
* **zk_toolbox:** Implement default upgrader deployment
([#2526](#2526))
([6d86959](6d86959))
* **zk_toolbox:** resume functionality
([#2376](#2376))
([e5e0473](e5e0473))
* **zk_toolbox:** Small adjustment for zk toolbox
([#2424](#2424))
([ce43c42](ce43c42))
* **zk_toolbox:** Update prover support
([#2533](#2533))
([63c92b6](63c92b6))
* **zk_toolbox:** Update reamde for toolbox
([#2531](#2531))
([d5ba7d8](d5ba7d8))
* **zk_toolbox:** use configs from the main repo
([#2470](#2470))
([4222d13](4222d13))
* **zk_toolbox:** Use docker compose instead of docker-compose
([#2195](#2195))
([2f528ec](2f528ec))
* **zk_toolbox:** use low level command for running verbose command"
([#2358](#2358))
([29671c8](29671c8))
* **zk-toolbox:** add balance check
([#2016](#2016))
([a8b8e4b](a8b8e4b))
* **zk-toolbox:** Deploy custom token
([#2329](#2329))
([3a8fed4](3a8fed4))


### Bug Fixes

* **api:** correct default fee data in eth call
([#2072](#2072))
([e71f6f9](e71f6f9))
* disable localhost wallets on external network interaction
([#2212](#2212))
([a00317d](a00317d))
* **house-keeper:** Fix queue size queries
([#2106](#2106))
([183502a](183502a))
* **toolbox:** Temporary disable fast mode for deploying l1 contracts …
([#2011](#2011))
([2a1d37b](2a1d37b))
* update rust toolchain version
([#2047](#2047))
([9fe5212](9fe5212))
* **zk_toolbox:** Add chain id for local wallet
([#2041](#2041))
([8e147c1](8e147c1))
* **zk_toolbox:** Fix error with balances
([#2034](#2034))
([5d23a3e](5d23a3e))
* **zk_toolbox:** Fix installation guide
([#2035](#2035))
([e9038be](e9038be))
* **zk_toolbox:** Fix protocol version
([#2118](#2118))
([67f6080](67f6080))
* **zk_toolbox:** improve readme to include containers command and cd
([#2073](#2073))
([5e5628f](5e5628f))
* **zk_toolbox:** Move l1 rpc to init stage
([#2074](#2074))
([c127ff1](c127ff1))
* **zk_toolbox:** readme added dependencies section and cleaned up
([#2044](#2044))
([78244c7](78244c7))
* **zk_toolbox:** Set proper pubdata sending mode
([#2507](#2507))
([21fbd77](21fbd77))
* **zk_toolbox:** Show balance
([#2254](#2254))
([f1d9f03](f1d9f03))
* **zk_toolbox:** Some small nit
([#2023](#2023))
([4e96e32](4e96e32))
* **zk_toolbox:** Use both folders for loading contracts
([#2030](#2030))
([97c6d5c](97c6d5c))
* **zk_toolbox:** Use existing ecosystem
([#2534](#2534))
([99fd2bd](99fd2bd))
* **zk_toolbox:** Use slug crate instead of self written function
([#2309](#2309))
([a61f273](a61f273))
* **zk_toolbox:** Use the same l2 address for shared and erc20 bridge
([#2260](#2260))
([26f2010](26f2010))
* **zk_tool:** Change some texts
([#2027](#2027))
([a6232c5](a6232c5))
* zk-toolbox integration tests ci
([#2226](#2226))
([3f521ac](3f521ac))


### Reverts

* "feat: Poll the main node for the next batch to sign (BFT-496)"
([#2574](#2574))
([72d3be8](72d3be8))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants