Skip to content

Conversation

@avilagaston9
Copy link
Contributor

@avilagaston9 avilagaston9 commented Nov 5, 2025

Motivation
We want to be able to send funds and call contracts from one L2 to another without having to pass through the L1
Description
This PR adds the necessary changes to send funds and call contracts between 2 L2s. You can find details under
shared_bridge_steps.md and shared_bridge.md.

@github-actions
Copy link

github-actions bot commented Nov 5, 2025

Lines of code report

Total lines added: 1188
Total lines removed: 0
Total lines changed: 1188

Detailed view
+--------------------------------------------------------------+-------+------+
| File                                                         | Lines | Diff |
+--------------------------------------------------------------+-------+------+
| ethrex/cmd/ethrex/build_l2.rs                                | 426   | +5   |
+--------------------------------------------------------------+-------+------+
| ethrex/cmd/ethrex/l2/deployer.rs                             | 1485  | +137 |
+--------------------------------------------------------------+-------+------+
| ethrex/cmd/ethrex/l2/options.rs                              | 1041  | +30  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/common/types/l2.rs                             | 3     | +1   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/common/types/l2/balance_diff.rs                | 22    | +22  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/common/types/l2/batch.rs                       | 19    | +5   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/common/src/messages.rs                      | 151   | +151 |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/common/src/privileged_transactions.rs       | 68    | +9   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/networking/rpc/clients.rs                   | 201   | +16  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/networking/rpc/l2/messages.rs               | 164   | +164 |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/networking/rpc/rpc.rs                       | 218   | +1   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/prover/src/guest_program/src/execution.rs   | 483   | +29  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/prover/src/guest_program/src/output.rs      | 41    | +10  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/sdk/src/sdk.rs                              | 1136  | +54  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/sequencer/block_producer.rs                 | 320   | +59  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/sequencer/block_producer/payload_builder.rs | 227   | +32  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/sequencer/configs.rs                        | 104   | +3   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/sequencer/errors.rs                         | 382   | +2   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/sequencer/l1_committer.rs                   | 1236  | +36  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/sequencer/l1_watcher.rs                     | 630   | +209 |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/sequencer/mod.rs                            | 248   | +2   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/storage/src/api.rs                          | 145   | +11  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/storage/src/store.rs                        | 375   | +29  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/storage/src/store_db/in_memory.rs           | 391   | +31  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/storage/src/store_db/sql.rs                 | 1014  | +108 |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/utils/state_reconstruct.rs                  | 123   | +26  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/networking/p2p/rlpx/l2/messages.rs             | 171   | +6   |
+--------------------------------------------------------------+-------+------+

@gianbelinche gianbelinche changed the title feat(l2): shared bridge feat(l2)!: shared bridge Dec 1, 2025
@github-actions github-actions bot removed the L2 Rollup client label Dec 1, 2025
services:
contract_deployer:
volumes:
- ../../fixtures/genesis/l2b.json:${DOCKER_ETHREX_WORKDIR}/fixtures/genesis/l2.json
Copy link
Contributor

Choose a reason for hiding this comment

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

Let's make an issue for address this and other compose improvements

@gianbelinche
Copy link
Contributor

#5192 (comment)

#5512

@ManuelBilbao ManuelBilbao added this pull request to the merge queue Dec 4, 2025
Merged via the queue into main with commit e08d7e4 Dec 4, 2025
49 checks passed
@github-project-automation github-project-automation bot moved this from Requires Changes to Done in ethrex_l2 Dec 4, 2025
@ManuelBilbao ManuelBilbao deleted the feat/l2/shared_bridge branch December 4, 2025 16:41
xqft pushed a commit that referenced this pull request Dec 4, 2025
**Motivation**
We want to be able to send funds and call contracts from one L2 to
another without having to pass through the L1
**Description**
This PR adds the necessary changes to send funds and call contracts
between 2 L2s. You can find details under
`shared_bridge_steps.md` and `shared_bridge.md`.
<!-- A clear and concise general description of the changes this PR
introduces -->

<!-- Link to issues: Resolves #111, Resolves #222 -->

---------

Co-authored-by: Gianbelinche <[email protected]>
Co-authored-by: ilitteri <[email protected]>
Co-authored-by: Ivan Litteri <[email protected]>
Co-authored-by: Tomás Paradelo <[email protected]>
rodrigo-o added a commit that referenced this pull request Dec 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

7 participants