You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jul 5, 2024. It is now read-only.
The Scroll's and Taiko's forks have diverged significantly from this codebase. The cause for the divergence is our codebase has some L1-specific features, and the collaborating teams need to customize for L2 use cases.
We plan to increase the modularity of the codebase so that we can minimize the difference between different forks.
A while ago @Brechtpd proposed the idea of having runtime configs. Teams can include the features they want by configuring the feature set.
@ed255proposed that we introduce a feature set that looks like
enumFeatureSet{EthereumL1,Scroll,Taiko,}
However, the team-specific flag might be confusing because it doesn't convey what are the functionalities to include and why they are included. For example, Scroll skips TestBalanceOverflow and TestDifficulty in Ethereum tests. But it is hard to expect those tests to be skipped by seeing a feature named "scroll". When we see tests are skipped with if match!(feature_set, FeatureSet::Scroll), it is hard to guess why they are skipped.
I propose we name the FeatureSet with its functionalities.
Feature set with specific features sounds good to me!
On the Taiko side I can think of these features:
No fee payment for 1st transaction. The 1st transaction in Taiko is a generated transaction to help sync data between L1 and L2. It also does some additional checks so we don't have to do them directly in a circuit. Maybe in the future this will a be a dedicated transaction type though.
Disable standard EIP-1559 calculation to calculate the basefee
Invalid tx support
I think that's it, will add later if there are more.
### Description
We add an initial structure for runtime config. In this PR, we plan to
add only the invalid tx configuration for the starter.
### Issue Link
#1636
### Type of change
New feature (non-breaking change which adds functionality)
### Decision
- Allow Geth to take invalid tx. The config doesn't affect geth util
### TODO
- [x] Fix invalid tx test
- [ ] Add tx validity check. (Will continue #1740)
Describe the feature you would like
The Scroll's and Taiko's forks have diverged significantly from this codebase. The cause for the divergence is our codebase has some L1-specific features, and the collaborating teams need to customize for L2 use cases.
We plan to increase the modularity of the codebase so that we can minimize the difference between different forks.
A while ago @Brechtpd proposed the idea of having runtime configs. Teams can include the features they want by configuring the feature set.
@ed255 proposed that we introduce a feature set that looks like
However, the team-specific flag might be confusing because it doesn't convey what are the functionalities to include and why they are included. For example, Scroll skips TestBalanceOverflow and TestDifficulty in Ethereum tests. But it is hard to expect those tests to be skipped by seeing a feature named "scroll". When we see tests are skipped with
if match!(feature_set, FeatureSet::Scroll)
, it is hard to guess why they are skipped.I propose we name the FeatureSet with its functionalities.
And we define variables to include those features.
if match!(feature_set, FeatureSet::ZeroDifficulty)
would tell the exact reason why a test is skipped.Additional context
Before we work on an actual PR, we need some input on these.
The text was updated successfully, but these errors were encountered: