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
Copy file name to clipboardExpand all lines: pages/interop/op-supervisor.mdx
+1-1
Original file line number
Diff line number
Diff line change
@@ -93,5 +93,5 @@ For a full listing of API names, see the [source code](https://github.com/ethere
93
93
94
94
* Build a [revolutionary app](/app-developers/get-started) that uses multiple blockchains within the Superchain
95
95
* Deploy a [SuperchainERC20](/interop/tutorials/deploy-superchain-erc20) to the Superchain
96
-
* Learn [how ETH can move across chains](https://docs.optimism.io/interop/superchain-weth)
96
+
* Learn [how ETH can move across chains](https://docs.optimism.io/interop/superchain-eth-bridge)
97
97
* For more info about how Superchain interoperability works under the hood, [check out the specs](https://specs.optimism.io/interop/overview.html?utm_source=op-docs&utm_medium=docs).
Copy file name to clipboardExpand all lines: pages/interop/superchain-eth-bridge.mdx
+28-28
Original file line number
Diff line number
Diff line change
@@ -1,17 +1,17 @@
1
1
---
2
-
title: Superchain ETH
2
+
title: Superchain ETH Bridge
3
3
description: Learn basic details about Interoperable ETH.
4
4
lang: en-US
5
5
content_type: guide
6
-
topic: superchain-eth
6
+
topic: superchain-eth-bridge
7
7
personas:
8
8
- protocol-developer
9
9
- app-developer
10
10
categories:
11
11
- protocol
12
12
- interoperability
13
13
- cross-chain-messaging
14
-
- superchain-weth
14
+
- superchain-eth-bridge
15
15
- eth-bridging
16
16
- interoperable-assets
17
17
- cross-domain-messenger
@@ -25,7 +25,7 @@ import { InteropCallout } from '@/components/WipCallout'
25
25
26
26
<InteropCallout />
27
27
28
-
# Superchain ETH
28
+
# Superchain ETH Bridge
29
29
30
30
<Callout>
31
31
This is an explanation of how interop ETH works.
@@ -35,12 +35,12 @@ import { InteropCallout } from '@/components/WipCallout'
35
35
36
36
InteroperableETH enables seamless ETH transfers across Superchain blockchains. It is implemented using three key contracts:
37
37
38
-
*[`SuperchainWETH`](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/src/L2/SuperchainWETH.sol): A bridge contract that facilitates ETH transfers between Superchain blockchains.
38
+
*[`SuperchainETHBridge`](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/src/L2/SuperchainETHBridge.sol): A bridge contract that facilitates ETH transfers between Superchain blockchains.
39
39
*[`ETHLiquidity`](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/src/L2/ETHLiquidity.sol): A liquidity provider for ETH transfers.
40
-
`SuperchainWETH` uses this contract as a liquidity repository to ensure ETH availability on the destination chain.
40
+
`SuperchainETHBridge` uses this contract as a liquidity repository to ensure ETH availability on the destination chain.
41
41
*[`L2ToL2CrossDomainMessenger`](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/src/L2/L2ToL2CrossDomainMessenger.sol): A messaging contract that [facilitates cross-chain communication](/interop/message-passing).
42
42
43
-
Superchain ETH deposits ETH into the `ETHLiquidity` contract on the source chain and withdraws an equivalent amount on the destination chain.
43
+
Superchain ETH Bridge deposits ETH into the `ETHLiquidity` contract on the source chain and withdraws an equivalent amount on the destination chain.
44
44
This mechanism improves capital efficiency and eliminates liquidity fragmentation and poor user experiences caused by asset wrapping or reliance on liquidity pools.
45
45
46
46
## Features and benefits
@@ -65,61 +65,61 @@ This mechanism improves capital efficiency and eliminates liquidity fragmentatio
65
65
sequenceDiagram
66
66
box rgba(0,0,0,0.1) Source Chain
67
67
participant src-liquidity as ETHLiquidity
68
-
participant src-weth as SuperchainWETH
68
+
participant src-eth-bridge as SuperchainETHBridge
69
69
end
70
70
actor user as User
71
71
participant any-offchain as User, Relayer, etc.
72
72
box rgba(0,0,0,0.1) Destination Chain
73
73
participant dst-l2Xl2 as L2ToL2CrossDomainMessenger
74
-
participant dst-weth as SuperchainWETH
74
+
participant dst-eth-bridge as SuperchainETHBridge
75
75
participant dst-liquidity as ETHLiquidity
76
76
participant dst-final as ETH Destination
77
77
end
78
78
rect rgba(0,0,0,0.1)
79
-
note over src-weth, dst-l2Xl2: Initiating Message
80
-
user->>src-weth: 1. sendETH(to, chainId) with n ETH
81
-
src-weth->>src-liquidity: 2. Deposit n ETH
82
-
src-weth->>dst-l2Xl2: 3. Send relayETH to Superchain WETH on chainId
79
+
note over src-eth-bridge, dst-l2Xl2: Initiating Message
80
+
user->>src-eth-bridge: 1. sendETH(to, chainId) with n ETH
81
+
src-eth-bridge->>src-liquidity: 2. Deposit n ETH
82
+
src-eth-bridge->>dst-l2Xl2: 3. Send relayETH to SuperchainETHBridge on chainId
83
83
end
84
84
rect rgba(0,0,0,0.1)
85
-
note over any-offchain,dst-weth: Executing message
85
+
note over any-offchain,dst-eth-bridge: Executing message
86
86
any-offchain->>dst-l2Xl2: 4. Relay the message
87
-
dst-l2Xl2->>dst-weth: 5. relayETH(from, to, amount)
88
-
dst-weth->>dst-liquidity: 6. Withdraw amount ETH
89
-
dst-weth->>dst-final: 7. Here are amount ETH
87
+
dst-l2Xl2->>dst-eth-bridge: 5. relayETH(from, to, amount)
88
+
dst-eth-bridge->>dst-liquidity: 6. Withdraw amount ETH
89
+
dst-eth-bridge->>dst-final: 7. Here are amount ETH
90
90
end
91
91
```
92
92
93
93
#### Initiating message
94
94
95
-
1. The user (or a contract operating on a user's behalf) calls `SuperchainWETH.sendETH` with a destination address and a chainId.
95
+
1. The user (or a contract operating on a user's behalf) calls `SuperchainETHBridge.sendETH` with a destination address and a chainId.
96
96
ETH, in the amount to transfer must be attached to this call.
97
97
98
-
2.`SuperchainWETH` transfers the specified ETH amount to `ETHLiquidity`, removing it from circulation on the source chain.
98
+
2.`SuperchainETHBridge` transfers the specified ETH amount to `ETHLiquidity`, removing it from circulation on the source chain.
99
99
100
-
3.`SuperchainWETH` on the source chain sends a [`relayETH`](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/src/L2/SuperchainWETH.sol#L125-L145) message to `SuperchainWETH` on the destination chain using the [`L2ToL2CrossDomainMessenger`](/interop/message-passing).
100
+
3.`SuperchainETHBridge` on the source chain sends a [`relayETH`](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/src/L2/SuperchainETHBridge.sol) message to `SuperchainETHBridge` on the destination chain using the [`L2ToL2CrossDomainMessenger`](/interop/message-passing).
101
101
102
102
#### Executing message
103
103
104
104
4. An off-chain entity submits a transaction to execute the message.
105
105
Any address can submit this transaction, but it must have ETH on the destination chain.
106
106
Typically, this would be the chain's autorelayer.
107
107
108
-
5.`L2ToL2CrossDomainMessenger` on the destination chain calls `SuperchainWETH` with the following details:
108
+
5.`L2ToL2CrossDomainMessenger` on the destination chain calls `SuperchainETHBridge` with the following details:
109
109
110
110
* Source of the ETH
111
111
* Destination address
112
112
* Amount of ETH
113
113
114
-
`SuperchainWETH` performs several sanity checks:
114
+
`SuperchainETHBridge` performs several sanity checks:
115
115
116
116
* The `relayETH` call must originate from `L2ToL2CrossDomainMessenger`.
117
-
* The interop message must have been sent by `SuperchainWETH`
117
+
* The interop message must have been sent by `SuperchainETHBridge`
118
118
119
-
6.`SuperchainWETH` withdraws the specified amount of ETH from `ETHLiquidity`.
120
-
Only `SuperchainWETH` can withdraw from `ETHLiquidity`, ensuring that the ETH is correctly reintroduced into circulation on the destination chain.
119
+
6.`SuperchainETHBridge` withdraws the specified amount of ETH from `ETHLiquidity`.
120
+
Only `SuperchainETHBridge` can withdraw from `ETHLiquidity`, ensuring that the ETH is correctly reintroduced into circulation on the destination chain.
121
121
122
-
7.`SuperchainWETH` uses [`SafeSend`](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/src/universal/SafeSend.sol) to send ETH.
122
+
7.`SuperchainETHBridge` uses [`SafeSend`](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/src/universal/SafeSend.sol) to send ETH.
123
123
This ensures that even if the destination is a smart contract, its custom logic is not executed.
124
124
This behavior differs from [standard ETH transfers](https://docs.base.org/learn/address-and-payable/address-and-payable#receiving-ether-with-payable-addresses), where smart contracts can trigger custom logic upon receiving ETH.
125
125
@@ -147,11 +147,11 @@ Here is an example of how this works.
147
147
The user sends 3 ETH on L1 to the bridge, which is locked in the lockbox.
148
148
The bridge on chain A then mints 3 ETH for the user.
149
149
150
-
3. The user sent the initiating message to `SuperchainWETH` on chain A, along with 1 ETH to bridge to chain B.
150
+
3. The user sent the initiating message to `SuperchainETHBridge` on chain A, along with 1 ETH to bridge to chain B.
151
151
This 1 ETH is sent to `ETHLiquidity` on chain A.
152
152
153
153
4. Somebody (the user, a relayer action on behalf of the user, etc.) sent the corresponding executing message to chain B.
154
-
`SuperchainWETH` transfers 1 ETH from `ETHLiquidity` on chain B to the user.
154
+
`SuperchainETHBridge` transfers 1 ETH from `ETHLiquidity` on chain B to the user.
155
155
156
156
5. The user decides to withdraw 1 ETH from chain B back into L1.
157
157
Normally, a user would do this through a third-party bridge, which is faster and usually cheaper, but for illustration purposes this user uses the standard OP bridge.
Copy file name to clipboardExpand all lines: pages/interop/tutorials/bridge-crosschain-eth.mdx
+8-8
Original file line number
Diff line number
Diff line change
@@ -30,12 +30,12 @@ import { AutorelayCallout } from '@/components/AutorelayCallout'
30
30
<Callout>
31
31
This tutorial provides step-by-step instructions for how to send ETH from one chain in the Superchain interop cluster to another.
32
32
For a conceptual overview,
33
-
see the [interoperable ETH explainer](/interop/superchain-weth).
33
+
see the [interoperable ETH explainer](/interop/superchain-eth-bridge).
34
34
</Callout>
35
35
36
36
## Overview
37
37
38
-
Crosschain ETH transfers in the Superchain are facilitated through the [SuperchainWETH](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/src/L2/SuperchainWETH.sol) contract.
38
+
Crosschain ETH transfers in the Superchain are facilitated through the [SuperchainETHBridge](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/src/L2/SuperchainETHBridge.sol) contract.
39
39
This tutorial walks through how to send ETH from one chain to another.
40
40
You can do this on [Supersim](/interop/tools/supersim), [the Interop devnet](/interop/tools/devnet), or production once it is released.
41
41
@@ -169,9 +169,9 @@ The tutorial uses these primary tools:
0 commit comments