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/stack/interop/superchain-erc20.mdx
+2-22Lines changed: 2 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -105,38 +105,18 @@ Setting this up in advance ensures tokens will benefit from interop when it beco
105
105
106
106
*/}
107
107
108
-
* Deploy the ERC-20 contract at the same address on every chain in the Superchain.
108
+
* Deploy the `SuperchainERC0`at the same address on every chain in the Superchain where you want your token to be available. If you do not deploy the contract to a specific destination chain, users will be unable to successfully move their tokens to that chain.
109
109
110
110
<Callouttype="warning">
111
111
To ensure security, you must either design the deployer to allow only a specific trusted ERC-20 contract, such as `SuperchainERC20`, to be deployed through it, or call `CREATE2` to deploy the contract directly from an EOA you control.
112
112
113
113
This precaution is critical because if an unauthorized ERC-20 contract is deployed at the same address on any Superchain network, it could allow malicious actors to mint unlimited tokens and bridge them to the network where the original ERC-20 contract resides.
114
114
</Callout>
115
115
116
-
## Comparison to other token implementations
117
116
118
-
`SuperchainERC20` differs from other token implementations in both focus and design:
119
-
120
-
* It implements `ERC-7802`, a minimal cross-chain mint/burn interface designed to establish a common standard across the EVM ecosystem.
121
-
* It relies on the shared trust assumptions of the Superchain. All traffic originating from any chain within the Superchain is trusted because these chains [share the same security standard](/superchain/standard-configuration).
122
-
123
-
<Callouttype="info">
124
-
Projects moving from other token implementations may need to adapt to the `SuperchainERC20` specification.
125
-
</Callout>
126
-
127
-
## FAQ
128
-
129
-
### What happens if I bridge to a chain that does not have the ERC-20 contract?
130
-
131
-
The initiating message will successfully burn the tokens on the source chain.
132
-
However, the executing message will fail because it attempts to call `crosschainMint` on a non-existent contract.
133
-
Once a `SuperchainERC20` contract is properly deployed on the destination chain, you can retry the executing message to retrieve your tokens.
134
117
135
118
## Next steps
136
119
137
-
* Watch the [ERC20 to SuperchainERC20 video walkthrough](https://www.youtube.com/watch?v=Gb8glkyBdBA) to learn how to modify an existing ERC20 contract to make it interoperable within the Superchain.
138
-
* Explore the [SuperchainERC20 specifications](https://specs.optimism.io/interop/token-bridging.html) for in-depth implementation details.
139
-
* Check out the [SuperchainERC20 starter kit](/app-developers/starter-kit) to get started with implementation.
140
-
* Review the [Deploy SuperchainERC20 tutorial](/stack/interop/tutorials/deploy-superchain-erc20) to learn how to deploy a SuperchainERC20.
141
120
* Build a [revolutionary app](/app-developers/get-started) that uses multiple blockchains within the Superchain
142
121
* Deploy a [SuperchainERC20](/stack/interop/tutorials/deploy-superchain-erc20) to the Superchain
122
+
* Watch the [ERC20 to SuperchainERC20 video walkthrough](https://www.youtube.com/watch?v=Gb8glkyBdBA) to learn how to modify an existing ERC20 contract to make it interoperable within the Superchain.
0 commit comments