eligibility

package
v0.1.17-profiler Latest Latest
Warning

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

Go to latest
Published: Nov 22, 2020 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Beacon added in v0.1.11

type Beacon struct {
	log.Log
	// contains filtered or unexported fields
}

Beacon provides the value that is under consensus as defined by the hare.

func NewBeacon

func NewBeacon(patternProvider patternProvider, confidenceParam uint64, lg log.Log) *Beacon

NewBeacon returns a new Beacon. patternProvider provides the contextually valid blocks. confidenceParam is the number of layers that the Beacon assumes for consensus view.

func (*Beacon) Value added in v0.1.11

func (b *Beacon) Value(layer types.LayerID) (uint32, error)

Value returns the unpredictable and agreed value for the given Layer Note: Value is concurrency-safe but not concurrency-optimized

type Oracle

type Oracle struct {
	log.Log
	// contains filtered or unexported fields
}

Oracle is the hare eligibility oracle

func New

func New(beacon valueProvider, activeSetFunc activeSetFunc, vrfVerifier verifierFunc, vrfSigner signer,
	layersPerEpoch uint16, genesisActiveSet int, goodBlocksProvider goodBlocksProvider,
	cfg eCfg.Config, log log.Log) *Oracle

New returns a new eligibility oracle instance.

func (*Oracle) Eligible

func (o *Oracle) Eligible(layer types.LayerID, round int32, committeeSize int, id types.NodeID, sig []byte) (bool, error)

Eligible checks if ID is eligible on the given Layer where msg is the VRF message, sig is the role proof and assuming commSize as the expected committee size

func (*Oracle) IsIdentityActiveOnConsensusView

func (o *Oracle) IsIdentityActiveOnConsensusView(edID string, layer types.LayerID) (bool, error)

IsIdentityActiveOnConsensusView returns true if the provided identity is active on the consensus view derived from the specified layer, false otherwise.

func (*Oracle) Proof

func (o *Oracle) Proof(layer types.LayerID, round int32) ([]byte, error)

Proof returns the role proof for the current Layer & Round

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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