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

fix(rollapp,sequencer): rotation and liveness slash - hook onto all real sequencer changes #1477

Merged
merged 2 commits into from
Nov 15, 2024

Conversation

danwt
Copy link
Contributor

@danwt danwt commented Nov 15, 2024

Description

  • make sure to clear liveness events on hard fork (since sequencer will not be available)
  • make sure to start liveness events and set nextProposer whenever a real proposer is chosen

Closes #XXX

All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow-up issues.

PR review checkboxes:

I have...

  • Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
  • Targeted PR against the correct branch
  • included the correct type prefix in the PR title
  • Linked to the GitHub issue with discussion and accepted design
  • Targets only one GitHub issue
  • Wrote unit and integration tests
  • Wrote relevant migration scripts if necessary
  • All CI checks have passed
  • Added relevant godoc comments
  • Updated the scripts for local run, e.g genesis_config_commands.sh if the PR changes parameters
  • Add an issue in the e2e-tests repo if necessary

SDK Checklist

  • Import/Export Genesis
  • Registered Invariants
  • Registered Events
  • Updated openapi.yaml
  • No usage of go map
  • No usage of time.Now()
  • Used fixed point arithmetic and not float arithmetic
  • Avoid panicking in Begin/End block as much as possible
  • No unexpected math Overflow
  • Used sendCoin and not SendCoins
  • Out-of-block compute is bounded
  • No serialized ID at the end of store keys
  • UInt to byte conversion should use BigEndian

Full security checklist here


For Reviewer:

  • Confirmed the correct type prefix in the PR title
  • Reviewers assigned
  • Confirmed all author checklist items have been addressed

After reviewer approval:

  • In case the PR targets the main branch, PR should not be squash merge in order to keep meaningful git history.
  • In case the PR targets a release branch, PR must be rebased.

@danwt danwt requested a review from a team as a code owner November 15, 2024 09:45
Copy link

codecov bot commented Nov 15, 2024

Codecov Report

Attention: Patch coverage is 75.00000% with 3 lines in your changes missing coverage. Please review.

Project coverage is 22.68%. Comparing base (91f4a2a) to head (2836b20).
Report is 15 commits behind head on main.

Files with missing lines Patch % Lines
x/sequencer/keeper/rotation.go 33.33% 1 Missing and 1 partial ⚠️
x/sequencer/types/hooks.go 66.66% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1477      +/-   ##
==========================================
+ Coverage   22.56%   22.68%   +0.11%     
==========================================
  Files         575      574       -1     
  Lines      124054   124534     +480     
==========================================
+ Hits        27998    28252     +254     
- Misses      92302    92511     +209     
- Partials     3754     3771      +17     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@danwt danwt changed the title fix: rotation and liveness slash - hook onto all real sequencer changes fix(rollapp,sequencer): rotation and liveness slash - hook onto all real sequencer changes Nov 15, 2024
@@ -14,7 +14,7 @@ type SequencerHooks struct {

// AfterRecoveryFromHalt is called after a new sequencer is set the proposer for an halted rollapp.
Copy link
Contributor

Choose a reason for hiding this comment

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

wrong godoc

@omritoptix omritoptix merged commit 1d7dad7 into main Nov 15, 2024
7 checks passed
@omritoptix omritoptix deleted the danwt/fix-proposer-change2 branch November 15, 2024 12:19
Copy link
Contributor

@mtsitrin mtsitrin left a comment

Choose a reason for hiding this comment

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

LGTM

with the new change,
In func (h SequencerHooks) AfterRecoveryFromHalt(ctx sdk.Context, rollapp string, newSeq sequencertypes.Sequencer) error {

I guess this

	// if the rollapp has a state info, set the next proposer to this sequencer
	sInfo, ok := h.Keeper.GetLatestStateInfo(ctx, rollapp)
	if !ok {
		return nil
	}
	sInfo.NextProposer = newSeq.Address
	h.Keeper.SetStateInfo(ctx, sInfo)

needs to run only if sInfo.NextProposer == ""

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants