-
Notifications
You must be signed in to change notification settings - Fork 116
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
Support for rollup mode when using fee token #252
Open
gvladika
wants to merge
87
commits into
develop
Choose a base branch
from
custom-fee-rollup
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+990
−137
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…itro-contracts into custom-fee-rollup
…itro-contracts into custom-fee-rollup
…itro-contracts into custom-fee-rollup
Custom fee rollup ci
…itro-contracts into custom-fee-rollup
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This feature adds support to run fee token based Orbit chains in rollup mode. Previously only Anytrust mode was supported when fee token is used. This is because ArbO assumes that the asset used to pay for batch posting on parent chain is the same asset which is used as native asset on the child chain. If batch poster spends 0.01 ETH to post batch on the parent chain, it will be reimbursed 0.01 ETH on the child chain. However this approach is not valid when fee token is used. Reimbursing batch poster with 0.01 fee token after it has spent 0.01 ETH would be fine only if exchange rate between ETH and fee token was 1:1. In practice this will not be the case, so we’re introducing a way to get the actual exchange rate on-chain and use it to correctly reimburse the batch poster.
This PR enables SequencerInbox to fetch the feeToken:nativeToken exchange rate from the external source called
feeTokenPricer
which is set by the chain owner. Pricer needs to implement a single functiongetExchangeRate() returns(uint256)
. In practice, pricer can use Chainlink, amm twap, constant price, or any other approach to report exchange rate.