-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
feat(protocol): unify taiko tokens acros L1, L2s, and L3s #14083
Conversation
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.
LGTM.
(2 remarks:
- the
_amount
which asked in the PR - and a reminder that we need TKO token on L2 before we can make any L3)
@jscriptcoder and @KorbinianK feel free to take a look, ask questions, or comment. This PR is Bridge related. |
I would like to note that bridging Taiko Tokens from L1 to L2 is a prerequisite for triggering the deployment of BridgedTaikoToken on L2. Once the tokens are bridged, the BridgedTaikoToken contract is deployed to facilitate token operations specifically on L2 and any associated L3 networks. |
About
This PR enables one single Taiko Token to live across L1 and multiple L2 and L3s.
We still need to deploy the only canonical Taiko Token contract on L1, then once some Taiko tokens are bridged to a L2, then on That L2, a BridgedERC20 token will be deployed (lets call it BridgedTaikoToken). Then on L2, the "taiko_token" name will be given/registered to BridgedTaikoToken. If a L3 is depolyed on that L2, it will use BridgedTaikoToken as the fee/reward token.
This means BridgedTaikoToken and the canonical TaikoToken must have the same interface (which is
IMintableERC20
in the code), and have the same permission for minting and burning (onlyFromNamed4("taiko", "prover_pool", "dao", "token_vault")
in the code).Please note that bridging some Taiko tokens from L1 to a L2 is a prerequisite to trigger the deployment of BridgedTaikoToken on that L2.