validator

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 21, 2022 License: BSD-3-Clause Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrWeightTooSmall = errors.New("weight of this validator is too low")
)

Functions

This section is empty.

Types

type EndTimeHeap

type EndTimeHeap []*Validator

EndTimeHeap orders validators by EndTime from earliest to latest.

func (*EndTimeHeap) Add

func (h *EndTimeHeap) Add(validator *Validator)

func (*EndTimeHeap) Len

func (h *EndTimeHeap) Len() int

func (*EndTimeHeap) Less

func (h *EndTimeHeap) Less(i, j int) bool

func (*EndTimeHeap) Peek

func (h *EndTimeHeap) Peek() *Validator

func (*EndTimeHeap) Pop

func (h *EndTimeHeap) Pop() interface{}

func (*EndTimeHeap) Push

func (h *EndTimeHeap) Push(x interface{})

func (*EndTimeHeap) Remove

func (h *EndTimeHeap) Remove() *Validator

func (*EndTimeHeap) Swap

func (h *EndTimeHeap) Swap(i, j int)

type SubnetValidator

type SubnetValidator struct {
	Validator `serialize:"true"`

	// ID of the subnet this validator is validating
	Subnet ids.ID `serialize:"true" json:"subnet"`
}

SubnetValidator validates a subnet on the Coinflect network.

func (*SubnetValidator) SubnetID

func (v *SubnetValidator) SubnetID() ids.ID

SubnetID is the ID of the subnet this validator is validating

func (*SubnetValidator) Verify

func (v *SubnetValidator) Verify() error

Verify this validator is valid

type Validator

type Validator struct {
	// Node ID of the validator
	NodeID ids.NodeID `serialize:"true" json:"nodeID"`

	// Unix time this validator starts validating
	Start uint64 `serialize:"true" json:"start"`

	// Unix time this validator stops validating
	End uint64 `serialize:"true" json:"end"`

	// Weight of this validator used when sampling
	Wght uint64 `serialize:"true" json:"weight"`
}

Validator is a validator.

func (*Validator) BoundedBy

func (v *Validator) BoundedBy(startTime, endTime time.Time) bool

BoundedBy returns true iff the period that validator validates is a (non-strict) subset of the time that [other] validates. Namely, startTime <= v.StartTime() <= v.EndTime() <= endTime

func (*Validator) Duration

func (v *Validator) Duration() time.Duration

Duration is the amount of time that this validator will be in the validator set

func (*Validator) EndTime

func (v *Validator) EndTime() time.Time

EndTime is the time that this validator will leave the validator set

func (*Validator) ID

func (v *Validator) ID() ids.NodeID

ID returns the node ID of the validator

func (*Validator) StartTime

func (v *Validator) StartTime() time.Time

StartTime is the time that this validator will enter the validator set

func (*Validator) Verify

func (v *Validator) Verify() error

Verify validates the ID for this validator

func (*Validator) Weight

func (v *Validator) Weight() uint64

Weight is this validator's weight when sampling

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL