Documentation
¶
Index ¶
- Constants
- Variables
- func GetHeightFromIterationKey(iterKey []byte) exported.Height
- func GetIterationKey(clientStore sdk.KVStore, height exported.Height) []byte
- func GetProcessedTime(clientStore sdk.KVStore, height exported.Height) (uint64, bool)
- func IterateConsensusStateAscending(clientStore sdk.KVStore, cb func(height exported.Height) (stop bool))
- func IterateProcessedTime(store sdk.KVStore, cb func(key, val []byte) bool)
- func IterationKey(height exported.Height) []byte
- func ProcessedTimeKey(height exported.Height) []byte
- func RegisterInterfaces(registry codectypes.InterfaceRegistry)
- func SetIterationKey(clientStore sdk.KVStore, height exported.Height)
- func SetProcessedTime(clientStore sdk.KVStore, height exported.Height, timeNs uint64)
- type ClientState
- func (cs ClientState) CheckHeaderAndUpdateState(ctx sdk.Context, cdc codec.BinaryCodec, clientStore sdk.KVStore, ...) (exported.ClientState, exported.ConsensusState, error)
- func (cs ClientState) ClientType() string
- func (*ClientState) Descriptor() ([]byte, []int)
- func (cs ClientState) ExportMetadata(store sdk.KVStore) []exported.GenesisMetadata
- func (cs ClientState) GetChainID() string
- func (cs ClientState) GetDelayBlock() uint64
- func (cs ClientState) GetDelayTime() uint64
- func (cs ClientState) GetLatestHeight() exported.Height
- func (cs ClientState) GetPrefix() exported.Prefix
- func (cs ClientState) GetProofSpecs() []*ics23.ProofSpec
- func (cs ClientState) Initialize(ctx sdk.Context, _ codec.BinaryCodec, clientStore sdk.KVStore, ...) error
- func (cs ClientState) IsExpired(latestTimestamp, now time.Time) bool
- func (m *ClientState) Marshal() (dAtA []byte, err error)
- func (m *ClientState) MarshalTo(dAtA []byte) (int, error)
- func (m *ClientState) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*ClientState) ProtoMessage()
- func (m *ClientState) Reset()
- func (m *ClientState) Size() (n int)
- func (cs ClientState) Status(ctx sdk.Context, clientStore sdk.KVStore, cdc codec.BinaryCodec) exported.Status
- func (m *ClientState) String() string
- func (m *ClientState) Unmarshal(dAtA []byte) error
- func (cs ClientState) Validate() error
- func (cs ClientState) VerifyPacketAcknowledgement(ctx sdk.Context, store sdk.KVStore, cdc codec.BinaryCodec, ...) error
- func (cs ClientState) VerifyPacketCleanCommitment(ctx sdk.Context, store sdk.KVStore, cdc codec.BinaryCodec, ...) error
- func (cs ClientState) VerifyPacketCommitment(ctx sdk.Context, store sdk.KVStore, cdc codec.BinaryCodec, ...) error
- func (m *ClientState) XXX_DiscardUnknown()
- func (m *ClientState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *ClientState) XXX_Merge(src proto.Message)
- func (m *ClientState) XXX_Size() int
- func (m *ClientState) XXX_Unmarshal(b []byte) error
- type ConsensusState
- func (ConsensusState) ClientType() string
- func (*ConsensusState) Descriptor() ([]byte, []int)
- func (cs ConsensusState) GetRoot() exported.Root
- func (cs ConsensusState) GetTimestamp() uint64
- func (m *ConsensusState) Marshal() (dAtA []byte, err error)
- func (m *ConsensusState) MarshalTo(dAtA []byte) (int, error)
- func (m *ConsensusState) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*ConsensusState) ProtoMessage()
- func (m *ConsensusState) Reset()
- func (m *ConsensusState) Size() (n int)
- func (m *ConsensusState) String() string
- func (m *ConsensusState) Unmarshal(dAtA []byte) error
- func (cs ConsensusState) ValidateBasic() error
- func (m *ConsensusState) XXX_DiscardUnknown()
- func (m *ConsensusState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *ConsensusState) XXX_Merge(src proto.Message)
- func (m *ConsensusState) XXX_Size() int
- func (m *ConsensusState) XXX_Unmarshal(b []byte) error
- type Fraction
- func (*Fraction) Descriptor() ([]byte, []int)
- func (m *Fraction) GetDenominator() uint64
- func (m *Fraction) GetNumerator() uint64
- func (m *Fraction) Marshal() (dAtA []byte, err error)
- func (m *Fraction) MarshalTo(dAtA []byte) (int, error)
- func (m *Fraction) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*Fraction) ProtoMessage()
- func (m *Fraction) Reset()
- func (m *Fraction) Size() (n int)
- func (m *Fraction) String() string
- func (f Fraction) ToTendermint() tmmath.Fraction
- func (m *Fraction) Unmarshal(dAtA []byte) error
- func (m *Fraction) XXX_DiscardUnknown()
- func (m *Fraction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Fraction) XXX_Merge(src proto.Message)
- func (m *Fraction) XXX_Size() int
- func (m *Fraction) XXX_Unmarshal(b []byte) error
- type Header
- func (h Header) ClientType() string
- func (h Header) ConsensusState() *ConsensusState
- func (*Header) Descriptor() ([]byte, []int)
- func (h Header) GetHeight() exported.Height
- func (h Header) GetTime() time.Time
- func (m *Header) GetTrustedHeight() types.Height
- func (m *Header) GetTrustedValidators() *types2.ValidatorSet
- func (m *Header) GetValidatorSet() *types2.ValidatorSet
- func (m *Header) Marshal() (dAtA []byte, err error)
- func (m *Header) MarshalTo(dAtA []byte) (int, error)
- func (m *Header) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*Header) ProtoMessage()
- func (m *Header) Reset()
- func (m *Header) Size() (n int)
- func (m *Header) String() string
- func (m *Header) Unmarshal(dAtA []byte) error
- func (h Header) ValidateBasic() error
- func (m *Header) XXX_DiscardUnknown()
- func (m *Header) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Header) XXX_Merge(src proto.Message)
- func (m *Header) XXX_Size() int
- func (m *Header) XXX_Unmarshal(b []byte) error
Constants ¶
const (
SubModuleName = "tendermint-client"
)
Variables ¶
var ( ErrInvalidChainID = sdkerrors.Register(moduleName, 2, "invalid chain-id") ErrInvalidTrustingPeriod = sdkerrors.Register(moduleName, 3, "invalid trusting period") ErrInvalidUnbondingPeriod = sdkerrors.Register(moduleName, 4, "invalid unbonding period") ErrInvalidHeaderHeight = sdkerrors.Register(moduleName, 5, "invalid header height") ErrInvalidHeader = sdkerrors.Register(moduleName, 6, "invalid header") ErrInvalidMaxClockDrift = sdkerrors.Register(moduleName, 7, "invalid max clock drift") ErrProcessedTimeNotFound = sdkerrors.Register(moduleName, 8, "processed time not found") ErrDelayPeriodNotPassed = sdkerrors.Register(moduleName, 9, "packet-specified delay period has not been reached") ErrTrustingPeriodExpired = sdkerrors.Register(moduleName, 10, "time since latest trusted state has passed the trusting period") ErrUnbondingPeriodExpired = sdkerrors.Register(moduleName, 11, "time since latest trusted state has passed the unbonding period") ErrInvalidProofSpecs = sdkerrors.Register(moduleName, 12, "invalid proof specs") ErrInvalidValidatorSet = sdkerrors.Register(moduleName, 13, "invalid validator set") )
TIBC tendermint client sentinel errors
var ( KeyIterateConsensusStatePrefix = "iterateConsensusStates" KeyProcessedTime = []byte("/processedTime") )
KeyProcessedTime is appended to consensus state key to store the processed time
var ( ErrInvalidLengthTendermint = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowTendermint = fmt.Errorf("proto: integer overflow") ErrUnexpectedEndOfGroupTendermint = fmt.Errorf("proto: unexpected end of group") )
var DefaultTrustLevel = NewFractionFromTm(light.DefaultTrustLevel)
DefaultTrustLevel is the tendermint light client default trust level
Functions ¶
func GetHeightFromIterationKey ¶
GetHeightFromIterationKey takes an iteration key and returns the height that it references
func GetIterationKey ¶
GetIterationKey returns the consensus state key stored under the efficient iteration key. NOTE: This function is currently only used for testing purposes
func GetProcessedTime ¶
GetProcessedTime gets the time (in nanoseconds) at which this chain received and processed a tendermint header. This is used to validate that a received packet has passed the delay period.
func IterateConsensusStateAscending ¶
func IterateConsensusStateAscending(clientStore sdk.KVStore, cb func(height exported.Height) (stop bool))
IterateConsensusStateAscending iterates through the consensus states in ascending order. It calls the provided callback on each height, until stop=true is returned.
func IterateProcessedTime ¶
IterateProcessedTime iterates through the prefix store and applies the callback. If the cb returns true, then iterator will close and stop.
func IterationKey ¶
IterationKey returns the key under which the consensus state key will be stored. The iteration key is a BigEndian representation of the consensus state key to support efficient iteration.
func ProcessedTimeKey ¶
ProcessedTimeKey returns the key under which the processed time will be stored in the client store.
func RegisterInterfaces ¶
func RegisterInterfaces(registry codectypes.InterfaceRegistry)
RegisterInterfaces registers the tendermint concrete client-related implementations and interfaces.
func SetIterationKey ¶
SetIterationKey stores the consensus state key under a key that is more efficient for ordered iteration
func SetProcessedTime ¶
SetProcessedTime stores the time at which a header was processed and the corresponding consensus state was created. This is useful when validating whether a packet has reached the specified delay period in the tendermint client's verification functions
Types ¶
type ClientState ¶
type ClientState struct { ChainId string `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` TrustLevel Fraction `protobuf:"bytes,2,opt,name=trust_level,json=trustLevel,proto3" json:"trust_level"` // duration of the period since the LastestTimestamp during which the // submitted headers are valid for upgrade TrustingPeriod time.Duration `protobuf:"bytes,3,opt,name=trusting_period,json=trustingPeriod,proto3,stdduration" json:"trusting_period"` // duration of the staking unbonding period UnbondingPeriod time.Duration `protobuf:"bytes,4,opt,name=unbonding_period,json=unbondingPeriod,proto3,stdduration" json:"unbonding_period"` // defines how much new (untrusted) header's Time can drift into the future. MaxClockDrift time.Duration `protobuf:"bytes,5,opt,name=max_clock_drift,json=maxClockDrift,proto3,stdduration" json:"max_clock_drift"` // latest height the client was updated to LatestHeight types.Height `protobuf:"bytes,6,opt,name=latest_height,json=latestHeight,proto3" json:"latest_height"` // proof specifications used in verifying counterparty state ProofSpecs []*_go.ProofSpec `protobuf:"bytes,7,rep,name=proof_specs,json=proofSpecs,proto3" json:"proof_specs,omitempty"` // merkle_prefix merkle prefix of the counterparty chain. MerklePrefix types1.MerklePrefix `protobuf:"bytes,8,opt,name=merkle_prefix,json=merklePrefix,proto3" json:"merkle_prefix"` // period of transaction confirmation delay TimeDelay uint64 `protobuf:"varint,9,opt,name=time_delay,json=timeDelay,proto3" json:"time_delay,omitempty"` }
ClientState from Tendermint tracks the current validator set, latest height, and a possible frozen height.
func NewClientState ¶
func NewClientState( chainID string, trustLevel Fraction, trustingPeriod time.Duration, ubdPeriod time.Duration, maxClockDrift time.Duration, latestHeight clienttypes.Height, specs []*ics23.ProofSpec, prefix commitmenttypes.MerklePrefix, timeDelay uint64, ) *ClientState
NewClientState creates a new ClientState instance
func (ClientState) CheckHeaderAndUpdateState ¶
func (cs ClientState) CheckHeaderAndUpdateState( ctx sdk.Context, cdc codec.BinaryCodec, clientStore sdk.KVStore, header exported.Header, ) ( exported.ClientState, exported.ConsensusState, error, )
CheckHeaderAndUpdateState checks if the provided header is valid, and if valid it will: create the consensus state for the header.Height and update the client state if the header height is greater than the latest client state height It returns an error if: - the client or header provided are not parseable to tendermint types - the header is invalid - header height is less than or equal to the trusted header height - header revision is not equal to trusted header revision - header valset commit verification fails - header timestamp is past the trusting period in relation to the consensus state - header timestamp is less than or equal to the consensus state timestamp
UpdateClient may be used to either create a consensus state for: - a future height greater than the latest client state height - a past height that was skipped during bisection If we are updating to a past height, a consensus state is created for that height to be persisted in client store If we are updating to a future height, the consensus state is created and the client state is updated to reflect the new latest height UpdateClient must only be used to update within a single revision, thus header revision number and trusted height's revision number must be the same. To update to a new revision, use a separate upgrade path Tendermint client validity checking uses the bisection algorithm described in the [Tendermint spec](https://github.com/tendermint/spec/blob/master/spec/consensus/light-client.md).
func (*ClientState) Descriptor ¶
func (*ClientState) Descriptor() ([]byte, []int)
func (ClientState) ExportMetadata ¶
func (cs ClientState) ExportMetadata(store sdk.KVStore) []exported.GenesisMetadata
ExportMetadata exports all the processed times in the client store so they can be included in clients genesis and imported by a ClientKeeper
func (ClientState) GetChainID ¶
func (cs ClientState) GetChainID() string
GetChainID returns the chain-id
func (ClientState) GetDelayBlock ¶
func (cs ClientState) GetDelayBlock() uint64
GetDelayBlock returns the number of blocks delayed in transaction confirmation.
func (ClientState) GetDelayTime ¶
func (cs ClientState) GetDelayTime() uint64
GetDelayTime returns the period of transaction confirmation delay.
func (ClientState) GetLatestHeight ¶
func (cs ClientState) GetLatestHeight() exported.Height
GetLatestHeight returns latest block height.
func (ClientState) GetPrefix ¶
func (cs ClientState) GetPrefix() exported.Prefix
GetPrefix returns the prefix path for proof key.
func (ClientState) GetProofSpecs ¶
func (cs ClientState) GetProofSpecs() []*ics23.ProofSpec
GetProofSpecs returns the format the client expects for proof verification as a string array specifying the proof type for each position in chained proof
func (ClientState) Initialize ¶
func (cs ClientState) Initialize( ctx sdk.Context, _ codec.BinaryCodec, clientStore sdk.KVStore, consState exported.ConsensusState, ) error
Initialize will check that initial consensus state is a Tendermint consensus state and will store ProcessedTime for initial consensus state as ctx.BlockTime()
func (ClientState) IsExpired ¶
func (cs ClientState) IsExpired(latestTimestamp, now time.Time) bool
IsExpired returns whether or not the client has passed the trusting period since the last update (in which case no headers are considered valid).
func (*ClientState) Marshal ¶
func (m *ClientState) Marshal() (dAtA []byte, err error)
func (*ClientState) MarshalToSizedBuffer ¶
func (m *ClientState) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*ClientState) ProtoMessage ¶
func (*ClientState) ProtoMessage()
func (*ClientState) Reset ¶
func (m *ClientState) Reset()
func (*ClientState) Size ¶
func (m *ClientState) Size() (n int)
func (ClientState) Status ¶
func (cs ClientState) Status( ctx sdk.Context, clientStore sdk.KVStore, cdc codec.BinaryCodec, ) exported.Status
Status function Clients must return their status. Only Active clients are allowed to process packets.
func (*ClientState) String ¶
func (m *ClientState) String() string
func (*ClientState) Unmarshal ¶
func (m *ClientState) Unmarshal(dAtA []byte) error
func (ClientState) Validate ¶
func (cs ClientState) Validate() error
Validate performs a basic validation of the client state fields.
func (ClientState) VerifyPacketAcknowledgement ¶
func (cs ClientState) VerifyPacketAcknowledgement( ctx sdk.Context, store sdk.KVStore, cdc codec.BinaryCodec, height exported.Height, proof []byte, sourceChain, destChain string, sequence uint64, ackBytes []byte, ) error
VerifyPacketAcknowledgement verifies a proof of an incoming packet acknowledgement at the specified sourceChain, specified destChain, and specified sequence.
func (ClientState) VerifyPacketCleanCommitment ¶
func (cs ClientState) VerifyPacketCleanCommitment( ctx sdk.Context, store sdk.KVStore, cdc codec.BinaryCodec, height exported.Height, proof []byte, sourceChain string, destChain string, sequence uint64, ) error
VerifyPacketCleanCommitment verifies a proof of an incoming packet acknowledgement at the specified sourceChain, specified destChain, and specified sequence.
func (ClientState) VerifyPacketCommitment ¶
func (cs ClientState) VerifyPacketCommitment( ctx sdk.Context, store sdk.KVStore, cdc codec.BinaryCodec, height exported.Height, proof []byte, sourceChain, destChain string, sequence uint64, commitmentBytes []byte, ) error
VerifyPacketCommitment verifies a proof of an outgoing packet commitment at the specified sourceChain, specified destChain, and specified sequence.
func (*ClientState) XXX_DiscardUnknown ¶
func (m *ClientState) XXX_DiscardUnknown()
func (*ClientState) XXX_Marshal ¶
func (m *ClientState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ClientState) XXX_Merge ¶
func (m *ClientState) XXX_Merge(src proto.Message)
func (*ClientState) XXX_Size ¶
func (m *ClientState) XXX_Size() int
func (*ClientState) XXX_Unmarshal ¶
func (m *ClientState) XXX_Unmarshal(b []byte) error
type ConsensusState ¶
type ConsensusState struct { // timestamp that corresponds to the block height in which the ConsensusState // was stored. Timestamp time.Time `protobuf:"bytes,1,opt,name=timestamp,proto3,stdtime" json:"timestamp"` // commitment root (i.e app hash) Root types1.MerkleRoot `protobuf:"bytes,2,opt,name=root,proto3" json:"root"` NextValidatorsHash github_com_cometbft_cometbft_libs_bytes.HexBytes `` /* 175-byte string literal not displayed */ }
ConsensusState defines the consensus state from Tendermint.
func GetConsensusState ¶
func GetConsensusState(store sdk.KVStore, cdc codec.BinaryCodec, height exported.Height) (*ConsensusState, error)
GetConsensusState retrieves the consensus state from the client prefixed store. An error is returned if the consensus state does not exist.
func NewConsensusState ¶
func NewConsensusState( timestamp time.Time, root commitmenttypes.MerkleRoot, nextValsHash tmbytes.HexBytes, ) *ConsensusState
NewConsensusState creates a new ConsensusState instance.
func (ConsensusState) ClientType ¶
func (ConsensusState) ClientType() string
ClientType returns Tendermint
func (*ConsensusState) Descriptor ¶
func (*ConsensusState) Descriptor() ([]byte, []int)
func (ConsensusState) GetRoot ¶
func (cs ConsensusState) GetRoot() exported.Root
GetRoot returns the commitment Root for the specific
func (ConsensusState) GetTimestamp ¶
func (cs ConsensusState) GetTimestamp() uint64
GetTimestamp returns block time in nanoseconds of the header that created consensus state
func (*ConsensusState) Marshal ¶
func (m *ConsensusState) Marshal() (dAtA []byte, err error)
func (*ConsensusState) MarshalToSizedBuffer ¶
func (m *ConsensusState) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*ConsensusState) ProtoMessage ¶
func (*ConsensusState) ProtoMessage()
func (*ConsensusState) Reset ¶
func (m *ConsensusState) Reset()
func (*ConsensusState) Size ¶
func (m *ConsensusState) Size() (n int)
func (*ConsensusState) String ¶
func (m *ConsensusState) String() string
func (*ConsensusState) Unmarshal ¶
func (m *ConsensusState) Unmarshal(dAtA []byte) error
func (ConsensusState) ValidateBasic ¶
func (cs ConsensusState) ValidateBasic() error
ValidateBasic defines a basic validation for the tendermint consensus state. NOTE: ProcessedTimestamp may be zero if this is an initial consensus state passed in by relayer as opposed to a consensus state constructed by the chain.
func (*ConsensusState) XXX_DiscardUnknown ¶
func (m *ConsensusState) XXX_DiscardUnknown()
func (*ConsensusState) XXX_Marshal ¶
func (m *ConsensusState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ConsensusState) XXX_Merge ¶
func (m *ConsensusState) XXX_Merge(src proto.Message)
func (*ConsensusState) XXX_Size ¶
func (m *ConsensusState) XXX_Size() int
func (*ConsensusState) XXX_Unmarshal ¶
func (m *ConsensusState) XXX_Unmarshal(b []byte) error
type Fraction ¶
type Fraction struct { Numerator uint64 `protobuf:"varint,1,opt,name=numerator,proto3" json:"numerator,omitempty"` Denominator uint64 `protobuf:"varint,2,opt,name=denominator,proto3" json:"denominator,omitempty"` }
Fraction defines the protobuf message type for tmmath.Fraction that only supports positive values.
func NewFractionFromTm ¶
NewFractionFromTm returns a new Fraction instance from a tmmath.Fraction
func (*Fraction) Descriptor ¶
func (*Fraction) GetDenominator ¶
func (*Fraction) GetNumerator ¶
func (*Fraction) MarshalToSizedBuffer ¶
func (*Fraction) ProtoMessage ¶
func (*Fraction) ProtoMessage()
func (Fraction) ToTendermint ¶
ToTendermint converts Fraction to tmmath.Fraction
func (*Fraction) XXX_DiscardUnknown ¶
func (m *Fraction) XXX_DiscardUnknown()
func (*Fraction) XXX_Marshal ¶
func (*Fraction) XXX_Unmarshal ¶
type Header ¶
type Header struct { *types2.SignedHeader `protobuf:"bytes,1,opt,name=signed_header,json=signedHeader,proto3,embedded=signed_header" json:"signed_header,omitempty"` ValidatorSet *types2.ValidatorSet `protobuf:"bytes,2,opt,name=validator_set,json=validatorSet,proto3" json:"validator_set,omitempty"` TrustedHeight types.Height `protobuf:"bytes,3,opt,name=trusted_height,json=trustedHeight,proto3" json:"trusted_height"` TrustedValidators *types2.ValidatorSet `protobuf:"bytes,4,opt,name=trusted_validators,json=trustedValidators,proto3" json:"trusted_validators,omitempty"` }
Header defines the Tendermint client consensus Header. It encapsulates all the information necessary to update from a trusted Tendermint ConsensusState. The inclusion of TrustedHeight and TrustedValidators allows this update to process correctly, so long as the ConsensusState for the TrustedHeight exists, this removes race conditions among relayers The SignedHeader and ValidatorSet are the new untrusted update fields for the client. The TrustedHeight is the height of a stored ConsensusState on the client that will be used to verify the new untrusted header. The Trusted ConsensusState must be within the unbonding period of current time in order to correctly verify, and the TrustedValidators must hash to TrustedConsensusState.NextValidatorsHash since that is the last trusted validator set at the TrustedHeight.
func (Header) ClientType ¶
ClientType defines that the Header is a Tendermint consensus algorithm
func (Header) ConsensusState ¶
func (h Header) ConsensusState() *ConsensusState
ConsensusState returns the updated consensus state associated with the header
func (*Header) Descriptor ¶
func (Header) GetHeight ¶
GetHeight returns the current height. It returns 0 if the tendermint header is nil. NOTE: the header.Header is checked to be non nil in ValidateBasic.
func (Header) GetTime ¶
GetTime returns the current block timestamp. It returns a zero time if the tendermint header is nil. NOTE: the header.Header is checked to be non nil in ValidateBasic.
func (*Header) GetTrustedHeight ¶
func (*Header) GetTrustedValidators ¶
func (m *Header) GetTrustedValidators() *types2.ValidatorSet
func (*Header) GetValidatorSet ¶
func (m *Header) GetValidatorSet() *types2.ValidatorSet
func (*Header) MarshalToSizedBuffer ¶
func (*Header) ProtoMessage ¶
func (*Header) ProtoMessage()
func (Header) ValidateBasic ¶
ValidateBasic calls the SignedHeader ValidateBasic function and checks that validatorsets are not nil. NOTE: TrustedHeight and TrustedValidators may be empty when creating client with MsgCreateClient
func (*Header) XXX_DiscardUnknown ¶
func (m *Header) XXX_DiscardUnknown()