Skip to content
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

Reject future blocks #1509

Merged
merged 12 commits into from
May 26, 2023
Merged

Reject future blocks #1509

merged 12 commits into from
May 26, 2023

Conversation

Nemanja0x
Copy link
Contributor

@Nemanja0x Nemanja0x commented May 15, 2023

Description

The PR add validations for header in validationHeaderFields. Changes includes check for future block, which includes checking if the timestamp is within predefined time slot of time.Now().UTC().Unix(). If not, we assume that it is a future block and reject it.

Changes include

  • Bugfix (non-breaking change that solves an issue)
  • Hotfix (change that solves an urgent issue, and requires immediate attention)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (change that is not backwards-compatible and/or changes current functionality)

Breaking changes

Please complete this section if any breaking changes have been made, otherwise delete it

Checklist

  • I have assigned this PR to myself
  • I have added at least 1 reviewer
  • I have added the relevant labels
  • I have updated the official documentation
  • I have added sufficient documentation in code

Testing

  • I have tested this code with the official test suite
  • I have tested this code manually

Manual tests

Please complete this section if you ran manual tests for this functionality, otherwise delete it

Documentation update

Please link the documentation update PR in this section if it's present, otherwise delete it

Additional comments

Please post additional comments in this section if you have them, otherwise delete it

@Nemanja0x Nemanja0x self-assigned this May 15, 2023
@Nemanja0x Nemanja0x added the feature New update to Polygon Edge label May 15, 2023
@Nemanja0x Nemanja0x marked this pull request as ready for review May 15, 2023 14:18
@Nemanja0x Nemanja0x force-pushed the evm-595 branch 2 times, most recently from 1fec499 to 7ef787f Compare May 15, 2023 18:04
Copy link
Collaborator

@goran-ethernal goran-ethernal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should add a flag to the genesis command as well. Even though we will have this parameter as a part of on-chain governance soon, for the first start of the chain, we need to specify it in the genesis.

Copy link
Collaborator

@Stefan-Ethernal Stefan-Ethernal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree with @goran-ethernal and @stana-miric:

  • BlockTimeDrift should be uint64, and
  • a flag should be exposed in the genesis command in order to configure it initially.

Also, 2 out of 3 tests in the TestE2E_Consensus_Basic_WithNonValidators test are failing (the ones which are restarting nodes and letting them sync). I haven't realized why exactly, but have seen this error message in basically all of the validator nodes:

2023-05-17T09:29:38.694Z [DEBUG] polygon.server.polybft.consensus_runtime: HasQuorum has been called but proposer could not be retrieved: error="get latest proposer not found - height: 14, round: 3, pc height: 14, pc round: 0"

@Stefan-Ethernal Stefan-Ethernal changed the title evm-595-Reject future blocks Reject future blocks May 25, 2023
command/genesis/genesis.go Outdated Show resolved Hide resolved
consensus/polybft/polybft_config.go Show resolved Hide resolved
consensus/polybft/fsm.go Outdated Show resolved Hide resolved
@jelacamarko jelacamarko merged commit 687dacc into develop May 26, 2023
@jelacamarko jelacamarko deleted the evm-595 branch May 26, 2023 09:33
@github-actions github-actions bot locked and limited conversation to collaborators May 26, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature New update to Polygon Edge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants