Skip to content

Commit 57ad13a

Browse files
authored
refactor(serverv2/cometbft): Update vote extensions (#21198)
1 parent 8400d9b commit 57ad13a

1 file changed

Lines changed: 17 additions & 7 deletions

File tree

server/v2/cometbft/abci.go

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -522,9 +522,14 @@ func (c *Consensus[T]) VerifyVoteExtension(
522522

523523
// Note: we verify votes extensions on VoteExtensionsEnableHeight+1. Check
524524
// comment in ExtendVote and ValidateVoteExtensions for more details.
525-
extsEnabled := cp.Abci != nil && req.Height >= cp.Abci.VoteExtensionsEnableHeight && cp.Abci.VoteExtensionsEnableHeight != 0
525+
// Since Abci was deprecated, should check both Feature & Abci
526+
extsEnabled := cp.Feature.VoteExtensionsEnableHeight != nil && req.Height >= cp.Feature.VoteExtensionsEnableHeight.Value && cp.Feature.VoteExtensionsEnableHeight.Value != 0
526527
if !extsEnabled {
527-
return nil, fmt.Errorf("vote extensions are not enabled; unexpected call to VerifyVoteExtension at height %d", req.Height)
528+
// check abci params
529+
extsEnabled = cp.Abci != nil && req.Height >= cp.Abci.VoteExtensionsEnableHeight && cp.Abci.VoteExtensionsEnableHeight != 0
530+
if !extsEnabled {
531+
return nil, fmt.Errorf("vote extensions are not enabled; unexpected call to VerifyVoteExtension at height %d", req.Height)
532+
}
528533
}
529534

530535
if c.verifyVoteExt == nil {
@@ -558,13 +563,18 @@ func (c *Consensus[T]) ExtendVote(ctx context.Context, req *abciproto.ExtendVote
558563
// greater than VoteExtensionsEnableHeight. This defers from the check done
559564
// in ValidateVoteExtensions and PrepareProposal in which we'll check for
560565
// vote extensions on VoteExtensionsEnableHeight+1.
561-
extsEnabled := cp.Abci != nil && req.Height >= cp.Abci.VoteExtensionsEnableHeight && cp.Abci.VoteExtensionsEnableHeight != 0
566+
// Since Abci was deprecated, should check both Feature & Abci
567+
extsEnabled := cp.Feature.VoteExtensionsEnableHeight != nil && req.Height >= cp.Feature.VoteExtensionsEnableHeight.Value && cp.Feature.VoteExtensionsEnableHeight.Value != 0
562568
if !extsEnabled {
563-
return nil, fmt.Errorf("vote extensions are not enabled; unexpected call to ExtendVote at height %d", req.Height)
569+
// check abci params
570+
extsEnabled = cp.Abci != nil && req.Height >= cp.Abci.VoteExtensionsEnableHeight && cp.Abci.VoteExtensionsEnableHeight != 0
571+
if !extsEnabled {
572+
return nil, fmt.Errorf("vote extensions are not enabled; unexpected call to ExtendVote at height %d", req.Height)
573+
}
564574
}
565575

566-
if c.verifyVoteExt == nil {
567-
return nil, errors.New("vote extensions are enabled but no verify function was set")
576+
if c.extendVote == nil {
577+
return nil, errors.New("vote extensions are enabled but no extend function was set")
568578
}
569579

570580
_, latestStore, err := c.store.StateLatest()
@@ -574,7 +584,7 @@ func (c *Consensus[T]) ExtendVote(ctx context.Context, req *abciproto.ExtendVote
574584

575585
resp, err := c.extendVote(ctx, latestStore, req)
576586
if err != nil {
577-
c.logger.Error("failed to verify vote extension", "height", req.Height, "err", err)
587+
c.logger.Error("failed to extend vote", "height", req.Height, "err", err)
578588
return &abciproto.ExtendVoteResponse{}, nil
579589
}
580590

0 commit comments

Comments
 (0)