Closed piersy closed 7 months ago
Coverage from tests in ./e2e_test/...
for ./consensus/istanbul/...
at commit c4e31a00a52418af8abe3237af41a6364992bc11
coverage: 63.2% of statements in consensus/istanbul coverage: 42.7% of statements in consensus/istanbul/announce coverage: 55.7% of statements in consensus/istanbul/backend coverage: 0.0% of statements in consensus/istanbul/backend/backendtest coverage: 24.3% of statements in consensus/istanbul/backend/internal/replica coverage: 65.0% of statements in consensus/istanbul/core coverage: 50.0% of statements in consensus/istanbul/db coverage: 0.0% of statements in consensus/istanbul/proxy coverage: 64.2% of statements in consensus/istanbul/uptime coverage: 51.8% of statements in consensus/istanbul/validator coverage: 79.2% of statements in consensus/istanbul/validator/random
Test failures: |
---|
TestPriorityClient: geth
|
This test report was produced by the test-summary action. Made with ❤️ in Cambridge. |
All modified and coverable lines are covered by tests :white_check_mark:
Comparison is base (
69dbdae
) 55.10% compared to head (7ae8a60
) 48.87%.:exclamation: Current head 7ae8a60 differs from pull request most recent head f65c09c. Consider uploading reports for the commit f65c09c to get more accurate results
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Description
This PR fixes the way the the gasLimit and gasPriceMinimum are retrieved from state such that for all non genesis blocks the value returned is the value present in the state of the parent block, and for the genesis block the value returned is the value present in the state of the genesis block (because the genesis has no parent). Prior to this fix requesting the gasLimit or gasPrice minimum for the genesis block would result in an error because we would try to get the state for the genesis block's parent which of course did not exist.
It also removes a restriction in the mycelo genesis package (used by e2e tests) that prevented us from setting the gingerbread activation block to zero. This restriction was in place because originally it was not possible to set the baseFeeOpCodeActivationBlock (AKA the gingerbread block) to zero in the GasPriceMinimum contract but the contract was later updated to allow this.
It also updates all e2e tests that were setting the gingerbread block to 1 to now use 0.
These fixes fix a number of flakily failing eth compatibility and gingerbread tests, that would fail if run on the genesis block.
Tested
Two end to end tests have been added to verify the new behaviour
Backwards compatibility
This is non backwards compatible, since it is changing the gasLimit and baseFee values that people will see on the genesis block when running in eth compatibility mode. They will now see the values defined in the genesis state rather than zero.