slotutil

package
v1.0.0-beta.0.rc Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2020 License: GPL-3.0 Imports: 6 Imported by: 34

Documentation

Overview

Package slotutil includes ticker and timer-related functions for eth2.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CountdownToGenesis added in v1.0.0

func CountdownToGenesis(ctx context.Context, genesisTime time.Time, genesisValidatorCount uint64)

CountdownToGenesis starts a ticker at the specified duration logging the remaining minutes until the genesis chainstart event along with important genesis state metadata such as number of genesis validators.

func DivideSlotBy added in v1.0.0

func DivideSlotBy(timesPerSlot int64) time.Duration

DivideSlotBy divides the SECONDS_PER_SLOT configuration parameter by a specified number. It returns a value of time.Duration in milliseconds, useful for dividing values such as 1 second into millisecond-based durations.

func EpochsSinceGenesis added in v0.3.0

func EpochsSinceGenesis(genesis time.Time) uint64

EpochsSinceGenesis returns the number of slots since the provided genesis time.

func SlotStartTime

func SlotStartTime(genesis, slot uint64) time.Time

SlotStartTime returns the start time in terms of its unix epoch value.

func SlotsSinceGenesis added in v0.3.0

func SlotsSinceGenesis(genesis time.Time) uint64

SlotsSinceGenesis returns the number of slots since the provided genesis time.

Types

type SlotTicker

type SlotTicker struct {
	// contains filtered or unexported fields
}

SlotTicker is a special ticker for the beacon chain block. The channel emits over the slot interval, and ensures that the ticks are in line with the genesis time. This means that the duration between the ticks and the genesis time are always a multiple of the slot duration. In addition, the channel returns the new slot number.

func GetSlotTicker

func GetSlotTicker(genesisTime time.Time, secondsPerSlot uint64) *SlotTicker

GetSlotTicker is the constructor for SlotTicker.

func GetSlotTickerWithOffset added in v1.0.0

func GetSlotTickerWithOffset(genesisTime time.Time, offset time.Duration, secondsPerSlot uint64) *SlotTicker

GetSlotTickerWithOffset is a constructor for SlotTicker that allows a offset of time from genesis, entering a offset greater than secondsPerSlot is not allowed.

func (*SlotTicker) C

func (s *SlotTicker) C() <-chan uint64

C returns the ticker channel. Call Cancel afterwards to ensure that the goroutine exits cleanly.

func (*SlotTicker) Done

func (s *SlotTicker) Done()

Done should be called to clean up the ticker.

type Ticker added in v0.3.0

type Ticker interface {
	C() <-chan uint64
	Done()
}

The Ticker interface defines a type which can expose a receive-only channel firing slot events.

Directories

Path Synopsis
Package testing includes useful mocks for slot tickers in unit tests.
Package testing includes useful mocks for slot tickers in unit tests.

Jump to

Keyboard shortcuts

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