validator

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Jun 22, 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 AllychainValidator

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

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

AllychainValidator validates a allychain on the Axia network.

func (*AllychainValidator) AllychainID

func (v *AllychainValidator) AllychainID() ids.ID

AllychainID is the ID of the allychain this validator is validating

func (*AllychainValidator) Verify

func (v *AllychainValidator) Verify() error

Verify this validator is valid

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