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!: shared bridge #298

Merged
merged 583 commits into from
Apr 23, 2024
Merged

feat!: shared bridge #298

merged 583 commits into from
Apr 23, 2024

Conversation

kelemeno
Copy link
Contributor

@kelemeno kelemeno commented Oct 24, 2023

What ❔

  • Adding support for shared bridge (bridgehub, state transition manager etc).

Why ❔

  • Adds a way to combine the liquidity from multiple chains.

@RomanBrodetski
Copy link
Collaborator

hey @kelemeno is this PR still relevant? If not please close

@kelemeno
Copy link
Contributor Author

hey @kelemeno is this PR still relevant? If not please close

Yes, it is still relevant. This is the branch of the shared bridge.

@kelemeno kelemeno changed the title Kl factory feat(): shared bridge Dec 16, 2023
github-merge-queue bot pushed a commit that referenced this pull request Feb 5, 2024
## What ❔

This PR aims to reduce the diff between main and #298 to simplify the
future review.

The changes do not affect current server behavior.
Only changes related to the zkSync server went into this PR.

What didn't go into this PR:
- various variable renamings
- integration tests
- changes that depend on the future version of era-contracts

Where applicable, stubs and dummy (for now) config variables were
introduced, which can be replaced/populated later.

## Why ❔

Breaking up a PR into smaller chunks should be easier to review.

## 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`.
@EmilLuta
Copy link
Contributor

Is this PR meant to be merged in the future?

@kelemeno
Copy link
Contributor Author

Is this PR meant to be merged in the future?

Yes, or at least something like this is. I was mostly focused on the contracts, so this PR is not in its ideal state.

github-merge-queue bot pushed a commit that referenced this pull request Feb 20, 2024
…#1012)

## What ❔

This PR aims to reduce the diff between main and #298 to simplify the
future review.

The changes do not affect current server behavior.
Only changes related to the zkSync server went into this PR.

What didn't go into this PR:

- various variable renamings
- integration tests
- changes that depend on the future version of era-contracts

Where applicable, stubs and dummy (for now) config variables were
introduced, which can be replaced/populated later.

## Why ❔

Breaking up a PR into smaller chunks should be easier to review.

## Checklist

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

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

---------

Co-authored-by: Bence Haromi <56651250+benceharomi@users.noreply.github.com>
Co-authored-by: Bence Haromi <bence.haromi@gmail.com>
## What ❔

<!-- What are the changes this PR brings about? -->
<!-- Example: This PR adds a PR template to the repo. -->
<!-- (For bigger PRs adding more context is appreciated) -->

## Why ❔

<!-- Why are these changes done? What goal do they contribute to? What
are the principles behind them? -->
<!-- Example: PR templates ensure PR reviewers, observers, and future
iterators are in context about the evolution of repos. -->

## Checklist

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

- [ ] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [ ] Tests for the changes have been added / updated.
- [ ] Documentation comments have been added / updated.
- [ ] Code has been formatted via `zk fmt` and `zk lint`.
- [ ] Spellcheck has been run via `zk spellcheck`.
- [ ] Linkcheck has been run via `zk linkcheck`.
@mm-zk mm-zk self-requested a review April 23, 2024 08:18
mm-zk
mm-zk previously approved these changes Apr 23, 2024
.github/workflows/ci-core-reusable.yml Outdated Show resolved Hide resolved
.github/workflows/ci-core-reusable.yml Show resolved Hide resolved
.github/workflows/ci-core-reusable.yml Show resolved Hide resolved
core/bin/external_node/src/main.rs Outdated Show resolved Hide resolved
core/lib/constants/src/contracts.rs Show resolved Hide resolved
core/lib/zksync_core/src/lib.rs Show resolved Hide resolved
core/tests/loadnext/src/sdk/ethereum/mod.rs Outdated Show resolved Hide resolved
core/tests/loadnext/src/sdk/ethereum/mod.rs Outdated Show resolved Hide resolved
core/tests/loadnext/src/sdk/ethereum/mod.rs Outdated Show resolved Hide resolved
## What ❔

<!-- What are the changes this PR brings about? -->
<!-- Example: This PR adds a PR template to the repo. -->
<!-- (For bigger PRs adding more context is appreciated) -->

## Why ❔

<!-- Why are these changes done? What goal do they contribute to? What
are the principles behind them? -->
<!-- Example: PR templates ensure PR reviewers, observers, and future
iterators are in context about the evolution of repos. -->

## Checklist

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

- [ ] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [ ] Tests for the changes have been added / updated.
- [ ] Documentation comments have been added / updated.
- [ ] Code has been formatted via `zk fmt` and `zk lint`.
- [ ] Spellcheck has been run via `zk spellcheck`.
- [ ] Linkcheck has been run via `zk linkcheck`.
StanislavBreadless and others added 2 commits April 23, 2024 13:21
## What ❔

<!-- What are the changes this PR brings about? -->
<!-- Example: This PR adds a PR template to the repo. -->
<!-- (For bigger PRs adding more context is appreciated) -->

## Why ❔

<!-- Why are these changes done? What goal do they contribute to? What
are the principles behind them? -->
<!-- Example: PR templates ensure PR reviewers, observers, and future
iterators are in context about the evolution of repos. -->

## Checklist

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

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

<!-- What are the changes this PR brings about? -->
<!-- Example: This PR adds a PR template to the repo. -->
<!-- (For bigger PRs adding more context is appreciated) -->

## Why ❔

<!-- Why are these changes done? What goal do they contribute to? What
are the principles behind them? -->
<!-- Example: PR templates ensure PR reviewers, observers, and future
iterators are in context about the evolution of repos. -->

## Checklist

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

- [ ] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [ ] Tests for the changes have been added / updated.
- [ ] Documentation comments have been added / updated.
- [ ] Code has been formatted via `zk fmt` and `zk lint`.
- [ ] Spellcheck has been run via `zk spellcheck`.
- [ ] Linkcheck has been run via `zk linkcheck`.
.github/workflows/ci-core-reusable.yml Outdated Show resolved Hide resolved
.init.env Outdated Show resolved Hide resolved
core/bin/external_node/src/config/mod.rs Show resolved Hide resolved
core/lib/zksync_core/src/genesis.rs Show resolved Hide resolved
## What ❔

<!-- What are the changes this PR brings about? -->
<!-- Example: This PR adds a PR template to the repo. -->
<!-- (For bigger PRs adding more context is appreciated) -->

## Why ❔

<!-- Why are these changes done? What goal do they contribute to? What
are the principles behind them? -->
<!-- Example: PR templates ensure PR reviewers, observers, and future
iterators are in context about the evolution of repos. -->

## Checklist

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

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

@StanislavBreadless StanislavBreadless left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just in case, putting "request changes" to prevent merge before coordinated with the rest of the team

Copy link
Contributor

Detected VM performance changes

Benchmark name change in estimated runtime change in number of opcodes executed
write_and_decode N/A +127 (+0.0%)
deploy_simple_contract N/A +85 (+0.5%)
finish_eventful_frames N/A +91 (+0.0%)
call_far N/A +87 (+0.0%)
access_memory N/A +127 (+0.0%)
decode_shl_sub N/A +116 (+0.0%)
slot_hash_collision N/A +127 (+0.0%)
event_spam N/A +120 (+0.0%)

Changes in number of opcodes executed indicate that the gas price of the benchmark has changed, which causes it run out of gas at a different time. Or that it is behaving completely differently.

@StanislavBreadless StanislavBreadless added this pull request to the merge queue Apr 23, 2024
Merged via the queue into main with commit 8c3478a Apr 23, 2024
42 checks passed
RomanBrodetski pushed a commit that referenced this pull request Apr 30, 2024
🤖 I have created a release *beep* *boop*
---


##
[24.0.0](core-v23.1.0...core-v24.0.0)
(2024-04-30)


### ⚠ BREAKING CHANGES

* **prover:** Protocol Upgrade 1.5.0
([#1699](#1699))
* shared bridge
([#298](#298))

### Features

* **api:** Allow granular max response size config
([#1642](#1642))
([83c4034](83c4034))
* **api:** Improve logging for API server
([#1792](#1792))
([50fbda5](50fbda5))
* **api:** Track params for RPC methods
([#1673](#1673))
([1a34c8b](1a34c8b))
* **configs:** move ecosystem contracts to contracts
([#1606](#1606))
([9d52180](9d52180))
* EcPairing precompile as system contract
([#1761](#1761))
([3071622](3071622))
* Include create2 factory in genesis
([#1775](#1775))
([597280b](597280b))
* **prover:** Protocol Upgrade 1.5.0
([#1699](#1699))
([6a557f7](6a557f7))
* **prover:** remove redundant config fields
([#1787](#1787))
([a784ea6](a784ea6))
* shared bridge
([#298](#298))
([8c3478a](8c3478a))
* **tree:** Improved tree pruning
([#1532](#1532))
([bcb192c](bcb192c))
* **vm-runner:** implement VM runner storage layer
([#1651](#1651))
([543f9e9](543f9e9))
* **vm:** Extend bootloader memory in the new version
([#1807](#1807))
([f461b28](f461b28))


### Bug Fixes

* **api:** Fix extra DB connection acquisition during tx submission
([#1793](#1793))
([9c6ed83](9c6ed83))
* **en:** correct en config vars
([#1809](#1809))
([d340fbc](d340fbc))
* **en:** Remove duplicate reorg detector
([#1783](#1783))
([3417941](3417941))
* **kl-factory:** base token ether tests
([#1746](#1746))
([6cf14a0](6cf14a0))
* **prover:** Fix panics if prover's config is not ready
([#1822](#1822))
([21d90d7](21d90d7))
* **snapshots_creator:** Remove snapshots during reverts
([#1757](#1757))
([8d587fd](8d587fd))
* **types:** Add LegacyMixedCall
([#1773](#1773))
([2b236fe](2b236fe))
* v23 api typo
([#1821](#1821))
([a11fa86](a11fa86))
* Weaker assert for protocol version for operations
([#1800](#1800))
([11898c2](11898c2))

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

---------

Co-authored-by: perekopskiy <mikeson.dp@gmail.com>
github-merge-queue bot pushed a commit that referenced this pull request May 6, 2024
🤖 I have created a release *beep* *boop*
---


##
[14.0.0](prover-v13.0.0...prover-v14.0.0)
(2024-05-06)


### ⚠ BREAKING CHANGES

* **prover:** Protocol Upgrade 1.5.0
([#1699](#1699))
* shared bridge
([#298](#298))

### Features

* **config:** Wrap sensitive urls
([#1828](#1828))
([c8ee740](c8ee740))
* **Prover CLI:** `status batch` command
([#1638](#1638))
([3fd6d65](3fd6d65))
* **prover:** Protocol Upgrade 1.5.0
([#1699](#1699))
([6a557f7](6a557f7))
* **prover:** remove redundant config fields
([#1787](#1787))
([a784ea6](a784ea6))
* shared bridge
([#298](#298))
([8c3478a](8c3478a))
* **vm-runner:** implement VM runner storage layer
([#1651](#1651))
([543f9e9](543f9e9))


### Bug Fixes

* **en:** Remove duplicate reorg detector
([#1783](#1783))
([3417941](3417941))
* **prover:** Use all 1.5.0 groups for nodes
([#1851](#1851))
([70178e5](70178e5))

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


##
[14.0.0](prover-v13.0.0...prover-v14.0.0)
(2024-05-06)


### ⚠ BREAKING CHANGES

* **prover:** Protocol Upgrade 1.5.0
([#1699](#1699))
* shared bridge
([#298](#298))

### Features

* **config:** Wrap sensitive urls
([#1828](#1828))
([c8ee740](c8ee740))
* **Prover CLI:** `status batch` command
([#1638](#1638))
([3fd6d65](3fd6d65))
* **prover:** Protocol Upgrade 1.5.0
([#1699](#1699))
([6a557f7](6a557f7))
* **prover:** remove redundant config fields
([#1787](#1787))
([a784ea6](a784ea6))
* shared bridge
([#298](#298))
([8c3478a](8c3478a))
* **vm-runner:** implement VM runner storage layer
([#1651](#1651))
([543f9e9](543f9e9))


### Bug Fixes

* **en:** Remove duplicate reorg detector
([#1783](#1783))
([3417941](3417941))
* **prover:** Use all 1.5.0 groups for nodes
([#1851](#1851))
([70178e5](70178e5))

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