@@ -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