Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrHeightTooHigh is returned when the height is higher than the last // block that the provider has. The light client will not remove the provider ErrHeightTooHigh = errors.New("height requested is too high") // ErrLightBlockNotFound is returned when a provider can't find the // requested header (i.e. it has been pruned). // The light client will not remove the provider ErrLightBlockNotFound = errors.New("light block not found") // ErrNoResponse is returned if the provider doesn't respond to the // request in a gieven time ErrNoResponse = errors.New("client failed to respond") )
Functions ¶
This section is empty.
Types ¶
type ErrBadLightBlock ¶
type ErrBadLightBlock struct {
Reason error
}
ErrBadLightBlock is returned when a provider returns an invalid light block.
func (ErrBadLightBlock) Error ¶
func (e ErrBadLightBlock) Error() string
type Provider ¶
type Provider interface {
// ChainID returns the blockchain ID.
ChainID() string
// LightBlock returns the LightBlock that corresponds to the given
// height.
//
// 0 - the latest.
// height must be >= 0.
//
// If the provider fails to fetch the LightBlock due to the IO or other
// issues, an error will be returned.
// If there's no LightBlock for the given height, ErrLightBlockNotFound
// error is returned.
LightBlock(ctx context.Context, height int64) (*types.LightBlock, error)
// ReportEvidence reports an evidence of misbehavior.
ReportEvidence(context.Context, types.Evidence) error
}
Provider provides information for the light client to sync (verification happens in the client).
Click to show internal directories.
Click to hide internal directories.