Skip to content

Incorrect VoteInfo Reference docs v0.38 #94

Description

@brennanjl

I spotted some outdated documentation in the VoteInfo reference docs for CometBFT v0.38. The docs document having a last_signed_block field, which is a boolean. This is accurate for CometBFT v0.37, which has the following VoteInfo struct:

type VoteInfo struct {
	Validator       Validator `protobuf:"bytes,1,opt,name=validator,proto3" json:"validator"`
	SignedLastBlock bool      `protobuf:"varint,2,opt,name=signed_last_block,json=signedLastBlock,proto3" json:"signed_last_block,omitempty"`
}

In CometBFT v0..38, this was changed to an enumerator:

type VoteInfo struct {
	Validator   Validator          `protobuf:"bytes,1,opt,name=validator,proto3" json:"validator"`
	BlockIdFlag types1.BlockIDFlag `protobuf:"varint,3,opt,name=block_id_flag,json=blockIdFlag,proto3,enum=tendermint.types.BlockIDFlag" json:"block_id_flag,omitempty"`
}

// types1 package:

// BlockIdFlag indicates which BlockID the signature is for
type BlockIDFlag int32

const (
	BlockIDFlagUnknown BlockIDFlag = 0
	BlockIDFlagAbsent  BlockIDFlag = 1
	BlockIDFlagCommit  BlockIDFlag = 2
	BlockIDFlagNil     BlockIDFlag = 3
)

I believe this change was made due to vote extensions. I would create a PR fixing this, however I am unsure what each of the enumerators means (which is why I had to reference the docs in the first place). Any help from someone with more context on what each of these means would be very helpful! If there's somewhere else where I can find this info, I'm happy to make the updates myself and make a PR.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions