-
Notifications
You must be signed in to change notification settings - Fork 354
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
Layer leap #1764
base: master
Are you sure you want to change the base?
Layer leap #1764
Changes from all commits
749ef46
fa336c6
9ac3f00
2942898
4c9855c
d179b5c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
--- | ||
title: 'Layer Leap contracts' | ||
description: 'Learn to use Layer leap contracts.' | ||
author: leerderek | ||
sme: amarrazza | ||
target_audience: 'Developers who want to implement Layer leap contracts on their Orbit chain' | ||
sidebar_position: 1 | ||
--- | ||
|
||
import PublicPreviewBannerPartial from '../../partials/_public-preview-banner-partial.mdx'; | ||
|
||
<PublicPreviewBannerPartial /> | ||
|
||
## Single click bridging from L1 to L3 is now possible with layer leap | ||
|
||
- [ Main repository ](https://github.com/OffchainLabs/l1-l3-teleport-contracts) | ||
- [ SDK support ](https://www.npmjs.com/package/@arbitrum/sdk/v/3.5.1-teleporter.0) (pre-release!) | ||
- [ Request Feature ](https://github.com/OffchainLabs/arbitrum-token-bridge/issues/new?assignees=&labels=feat,triage&projects=&template=add-layerleap-request.yml&title=[feat]) | ||
|
||
Contract Addresses | ||
|
||
| Contract | Address | | ||
| --------------------- | ----------------------------------------------------------------------- | | ||
| Arb One L1Teleporter | https://etherscan.io/address/0xCBd9c6e310D6AaDeF9F025f716284162F0158992 | | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Confirming that the addresses for Nova and Arb1 are indeed identical? If they are the same, then maybe we should add a italicized note/sentence that these are the same. Initial reaction from seeing this is that this is a typo Also any reason why we have 2 rows instead of 1 if the addresses are the same? |
||
| Arb Nova L1Teleporter | https://etherscan.io/address/0xCBd9c6e310D6AaDeF9F025f716284162F0158992 | | ||
|
||
## Launch details | ||
|
||
_Key timelines & announcements_ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. i think these sort of info should be much earlier in the page and more obvious. Perhaps a banner at the very top? |
||
|
||
**Orbit Onboarding:** Orbit L3 chains that use ETH for their gas token are eligible for immediate onboarding, while Orbit L3 chains that use custom gas tokens will be supported in future releases. Orbit L3s interested in adopting Layer Leap, regardless of the token they use for gas, should reach out regardless <INSERT THE CONTACT METHOD HERE>. | ||
|
||
_Upcoming launches & future releases_ | ||
|
||
A future release of Layer Leap is not yet scheduled, but upcoming features including providing support for Orbit L3s with custom gas tokens. | ||
|
||
## Value & user impact | ||
|
||
**End-users:** Can now bridge `ETH` and `ERC-20`s from Ethereum to your Orbit L3 in a single click. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Might be a good idea to explicitly state that only L3s that eventually settle back to Ethereum are supported. I presume that L3s on top of other L1 chains are not supported based on this sentence |
||
|
||
- Bridging `ETH` requires one call on L1 | ||
- Bridging an `ERC-20` requires one approval and one call on L1 | ||
|
||
**Orbit L3s:** Can more seamlessly onboard `ETH` and `ERC-20`s from Ethereum mainnet. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. how is this different from the end user value/impact? |
||
|
||
_Which Orbit configurations can adopt this feature?_ | ||
|
||
**Any L3 Orbit Chains on top of an Arbitrum chain** **_with ETH gas fees_** can use Layer Leap. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. might be worth stating that L3s with ETH gas can use it today and L3s with custom gas tokens is on our roadmap. |
||
|
||
- Layer Leap contracts are currently only deployed for Arb One and Arb Nova, but contracts can be deployed for additional Arbitrum Layer-2s by Offchain Labs or your RaaS provider. | ||
- The Layer 2 must be an Arbitrum chain due to the use of retryables. | ||
- _Future support: Layer Leap will support Orbit chains with custom gas tokens in a future release_ | ||
|
||
## Implementation | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. In this section, i expected to read how layer leap works in a few sentences (max). |
||
|
||
_How can Orbit chains adopt this feature?_ | ||
|
||
**UI Adoption:** Layer leap contracts can be integrated into your own bridge or added to your chain’s UI for the Arbitrum bridge (bridge.arbitrum.io) | ||
|
||
### Arbitrum bridge UI: if you are already on the arbitrum bridge UI then you can sign up for layer leap adoption by using this [github template](https://github.com/offchainlabs/arbitrum-token-bridge/issues/new?assignees=&labels=feat%2ctriage&projects=&template=add-layerleap-request.yml&title=%5bfeat%5d%3a+enable+layer+leap+for+%3corbit+chain%3e). | ||
|
||
- If you are not on the Arbitrum Bridge UI yet you can sign up by filling out this [GitHub Template](https://github.com/OffchainLabs/arbitrum-token-bridge/issues/new?assignees=&labels=feat%2Ctriage&projects=&template=add-orbit-chain-request.yml&title=%5Bfeat%5D%3A+), and then also fill out the template above. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think the order of operations here is confusing or the way it is presented is confusing. If there are steps/dependencies, it should be made a bit more obvious rather than having 1 instruction in the header and one in a bullet point below it. |
||
- You can demo Layer Leap on the Arbitrum Bridge by bridging to [Rari](https://bridge.arbitrum.io/?destinationChain=rari-mainnet&sourceChain=ethereum) and [Proof of Play](https://bridge.arbitrum.io/?destinationChain=pop-apex&sourceChain=ethereum). | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Perhaps a demo of Layer Leap should be one of the 1st things a user sees/reads in this page. |
||
|
||
### Custom bridge UI: if you want to integrate layer leap functionality into your custom bridge UI, read the [info page on the layer leap github](https://github.com/offchainlabs/l1-l3-teleport-contracts/blob/main/docs/info.md) to learn more. | ||
|
||
_What chains are currently supported?_ | ||
|
||
Layer Leap requires an L1 teleporter contract for each L2 chain. `L1Teleporter` contracts are deployed on Ethereum L1 for Arb One and Arb Nova. | ||
|
||
| Contract | Address | | ||
| --------------------- | ----------------------------------------------------------------------- | | ||
| Arb One L1Teleporter | https://etherscan.io/address/0xCBd9c6e310D6AaDeF9F025f716284162F0158992 | | ||
| Arb Nova L1Teleporter | https://etherscan.io/address/0xCBd9c6e310D6AaDeF9F025f716284162F0158992 | | ||
|
||
For non Arbitrum One L3s: | ||
|
||
- To enable Layer Leap for your Layer 3 you can follow the Deployment Procedure defined [here](https://github.com/OffchainLabs/l1-l3-teleport-contracts/blob/main/docs/info.md). Before self deploying, let Offchain Labs know about your request! | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What about for L3s on Nova? It's not clear to me without reading a bit more that a new contract deployment is what is required for L3s on Arb1 and Nova. Also how does someone contact offchain labs here? We should add a contact link/form. |
||
|
||
_Implementation requirements for RaaSes?_ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This probably be its own section since the entire page so far has been aimed at orbit chain owners |
||
|
||
Sending tokens from L2 to L3 relies on creation of a retryable. If you are supporting Layer Leap for your Orbit chains it’s highly recommended to be running the Retryables Monitoring tool: https://github.com/OffchainLabs/arb-retryables-monitoring. This will allow you to track and redeem any failed retryables | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Would probably prefer to see this hyperlinked. Also when we talk about retryables, we should refer to https://docs.arbitrum.io/how-arbitrum-works/arbos/l1-l2-messaging#retryable-tickets |
||
|
||
_What configuration options or parameter changes should I consider?_ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This feels incomplete and I'd argue that, even if it were complete, this info should be available before we give the user a way to adopt it |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we need a few sentences here to explain what layer leap is, why we built it, and how it is implemented.