Open jakim929 opened 1 month ago
This is amazing - I think to be even more specific, for each of these i see two personas of:
Also I think I would split out:
I'm working on some deeper research + a writeup here, but from initial metrics gathering, it's looking pretty clear that Interoperable ETH and the Interoperable GovernanceToken will be the two highest leverage projects to focus on.
ETH currently accounts for around ~50% of the third party bridge volume flowing in and out of the superchain, and USDC is the second most bridged asset for the other ~40%, but will likely end up leaning more on CCTP than the interop protocol. I don't expect ETH's share of bridge volume to change much as we enable interoperability of more long tail assets.
Hard to measure exactly how much volume we will get making OP interoperable, but its clear from talking to chain operators that having Retro funding and grants go directly to builders on other chains will be a huge value prop.
Thanks @K-Ho! I was recently talking to @mayanksayshi re: spinning up a design of how something like Superfluid could look with interop. Would be pretty cool synergy around this use case!
@fainashalts @K-Ho I have created a Lofi wireframe design for Superfluid with Interop in mind :)
Context
the goal is to outline the user stories / initial features so we can start building, and also continue to ideate on new features.
for context on the contracts / interfaces, see overview of interop ERC20 support.
Would really appreciate any comments on any other features we can add to improve devx!
User stories
1. I (token issuer) have an L1 ERC20 but not a corresponding L2 token yet, and I want to create a bridged version that uses SuperchainERC20
Flows to test
convert
function on L2StandardBridgesendERC20
,relayERC20
2. I (token issuer) have an L1 ERC20 and an corresponding OptimismMintableERC20, and I want to upgrade it to the SuperchainERC20 (P0)
Flows to test
sendERC20
,relayERC20
convert
flow on theL2StandardBridge
contract to swap between legacy and SuperchainERC20 tokens3. I (token issuer) have an L2 ERC20 on a specific L2, and I want to make it an SuperchainERC20
see https://www.notion.so/defi-wonderland/Extending-SuperchainERC20-to-L2-native-tokens-and-custom-e91ca08dd3eb4434834bf74f56237abf
Unclear what the "suggested" path here is. Some options are
4. I (token issuer) don't have an ERC20, and want to create a L2 native SuperchainERC20
see https://www.notion.so/defi-wonderland/Extending-SuperchainERC20-to-L2-native-tokens-and-custom-e91ca08dd3eb4434834bf74f56237abf
Flows to test
sendERC20
,relayERC20
5. I (app builder) want my smart contract to be able to send / receive SuperchainERC20
Examples:
Flows to test
sendERC20
,relayERC20
6. I (bridge builder) want my L2 <> L2 bridge app to be able to send / receive SuperchainERC20
7. TODO: OP - delegate, voting across chains
8. TODO: maybe for wallet devs
9. TODO: SuperchainWETH
Notes:
Examples:
Flows to test
sendERC20
,relayERC20
Considered features
MockSuperchainERC20
a pre-installed SuperchainERC20 on every L2 that devs can test their own contracts with
there's two versions of this
MockL2NativeSuperchainERC20
function mintTo(address)
to minting by devsMockL1BridgedSuperchainERC20
MockL1ERC20
Since the factory / standard token implementation isn't ready, we can start with the L2 native mock token
Highlighted logs for ERC20 events
helps with sanity checking as devs deploy and test SuperchainERC20 tokens. this will be useful for all devs.
events to highlight
SuperchainERC20
L2StandardBridge
converted
events for converting between legacy <> SuperchainERC20 tokensSuperchainERC20Factory
we'll need some way to configure / auto-index new SuperchainERC20s that are created
CLI tools for interop ERC20 contracts on supersim
supersim deploy --all MyContract.sol
supersim deploy-superchain-erc20 --all $L1ContractAddress
cast
UI for multichain superchainERC20 deployments / management
TODO
DevConsole updates
TODO
Sequencing
MockL2NativeSuperchainERC20
MockL2NativeSuperchainERC20
MockL1BridgedSuperchainERC20
L2StandardBridge
,SuperchainERC20Factory
, and auto index new SuperchainERC20 that were created using the factoryNotes
token issuers
, even though they are the P0 use case right now. We should start reaching out to them to see if we there's any tooling we can add to improve devx