L2 native assets will eventually far surpass L1 native assets. Under this assumption, we want to have a very simple way to create L2 native assets that implement the SuperchainERC20 interface. There are 2 possible paths forward:
Enshrine a L2 native superchain erc20 factory
Create a generic factory and then deploy a L2 native superchain erc20 factory through it
There is a huge design space for L2 native assets, so in the most ideal world the generic factory can be used to enable any developer to create a factory for superchain erc20 tokens with different properties. If we enshrined a factory, it would mean that it is a very plain token.
The big question that I had when scoping this originally was around how the ownership model would work. I think that we would want to use create3 and commit to the owner in the salt and then also give the minting role to the same owner on every chain. This keeps the design simple and easy to ship. A future token design could be deployed with the generic factory approach and have a more complex ownership model.
I think its a better idea to enshrine a factory for a very plain token. This would even be able to be released before interop, so that L2 native assets can be created from it and they will become interoperable in a forward compatible way. We want to have one factory built in that enables developers to use interop
L2 native assets will eventually far surpass L1 native assets. Under this assumption, we want to have a very simple way to create L2 native assets that implement the
SuperchainERC20
interface. There are 2 possible paths forward:There is a huge design space for L2 native assets, so in the most ideal world the generic factory can be used to enable any developer to create a factory for superchain erc20 tokens with different properties. If we enshrined a factory, it would mean that it is a very plain token.
The big question that I had when scoping this originally was around how the ownership model would work. I think that we would want to use create3 and commit to the owner in the salt and then also give the minting role to the same owner on every chain. This keeps the design simple and easy to ship. A future token design could be deployed with the generic factory approach and have a more complex ownership model.
I think its a better idea to enshrine a factory for a very plain token. This would even be able to be released before interop, so that L2 native assets can be created from it and they will become interoperable in a forward compatible way. We want to have one factory built in that enables developers to use interop