v1

package
v0.15.2 Latest Latest
Warning

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

Go to latest
Published: Jan 9, 2023 License: Apache-2.0 Imports: 14 Imported by: 165

Documentation

Overview

Code generated by fastssz. DO NOT EDIT. Hash: 3097923ada74064650686815bf747adbd92e200d44c0eb8452925f7e8b6dafce

Index

Constants

This section is empty.

Variables

View Source
var SupportedEventTopics = map[string]bool{
	"attestation":            true,
	"block":                  true,
	"chain_reorg":            true,
	"finalized_checkpoint":   true,
	"head":                   true,
	"voluntary_exit":         true,
	"contribution_and_proof": true,
}

SupportedEventTopics is a map of supported event topics.

Functions

This section is empty.

Types

type AttesterDuty

type AttesterDuty struct {
	// PubKey is the public key of the validator that should attest.
	PubKey phase0.BLSPubKey
	// Slot is the slot in which the validator should attest.
	Slot phase0.Slot
	// ValidatorIndex is the index of the validator that should attest.
	ValidatorIndex phase0.ValidatorIndex
	// CommitteeIndex is the index of the committee in which the attesting validator has been placed.
	CommitteeIndex phase0.CommitteeIndex
	// CommitteeLength is the length of the committee in which the attesting validator has been placed.
	CommitteeLength uint64
	// CommitteesAtSlot is the number of committees in the slot.
	CommitteesAtSlot uint64
	// ValidatorCommitteeIndex is the index of the validator in the list of validators in the committee.
	ValidatorCommitteeIndex uint64
}

AttesterDuty is the data regarding which validators have the duty to attest in a slot.

func (*AttesterDuty) MarshalJSON

func (a *AttesterDuty) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*AttesterDuty) String

func (a *AttesterDuty) String() string

String returns a string version of the structure.

func (*AttesterDuty) UnmarshalJSON

func (a *AttesterDuty) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type BeaconBlockHeader added in v0.6.9

type BeaconBlockHeader struct {
	// Root is the root of the beacon block.
	Root phase0.Root
	// Canonical is true if the block is considered canonical.
	Canonical bool
	// Header is the beacon block header.
	Header *phase0.SignedBeaconBlockHeader
}

BeaconBlockHeader is the data providing information about beacon blocks.

func (*BeaconBlockHeader) MarshalJSON added in v0.6.9

func (b *BeaconBlockHeader) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*BeaconBlockHeader) String added in v0.6.9

func (b *BeaconBlockHeader) String() string

String returns a string version of the structure.

func (*BeaconBlockHeader) UnmarshalJSON added in v0.6.9

func (b *BeaconBlockHeader) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type BeaconCommittee

type BeaconCommittee struct {
	// Slot is the slot in which the committee attests.
	Slot phase0.Slot
	// Index is the index of the committee.
	Index phase0.CommitteeIndex
	// Validators is the list of validator indices in the committee.
	Validators []phase0.ValidatorIndex
}

BeaconCommittee is the data providing information validator membership of committees.

func (*BeaconCommittee) MarshalJSON

func (b *BeaconCommittee) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*BeaconCommittee) String

func (b *BeaconCommittee) String() string

String returns a string version of the structure.

func (*BeaconCommittee) UnmarshalJSON

func (b *BeaconCommittee) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type BeaconCommitteeSubscription

type BeaconCommitteeSubscription struct {
	// ValidatorIdex is the index of the validator making the subscription request.
	ValidatorIndex phase0.ValidatorIndex
	// Slot is the slot for which the validator is attesting.
	Slot phase0.Slot
	// CommitteeIndex is the index of the committee of which the validator is a member at the given slot.
	CommitteeIndex phase0.CommitteeIndex
	// CommitteesAtSlot is the number of committees at the given slot.
	CommitteesAtSlot uint64
	// IsAggregator is true if the validator that wishes to subscribe is required to aggregate attestations.
	IsAggregator bool
}

BeaconCommitteeSubscription is the data required for a beacon committee subscription.

func (*BeaconCommitteeSubscription) MarshalJSON

func (b *BeaconCommitteeSubscription) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*BeaconCommitteeSubscription) String

func (b *BeaconCommitteeSubscription) String() string

String returns a string version of the structure.

func (*BeaconCommitteeSubscription) UnmarshalJSON

func (b *BeaconCommitteeSubscription) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type BlockEvent added in v0.6.9

type BlockEvent struct {
	Slot                phase0.Slot
	Block               phase0.Root
	ExecutionOptimistic bool
}

BlockEvent is the data for the block event.

func (*BlockEvent) MarshalJSON added in v0.6.9

func (e *BlockEvent) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*BlockEvent) String added in v0.6.9

func (e *BlockEvent) String() string

String returns a string version of the structure.

func (*BlockEvent) UnmarshalJSON added in v0.6.9

func (e *BlockEvent) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ChainReorgEvent added in v0.6.9

type ChainReorgEvent struct {
	Slot         phase0.Slot
	Depth        uint64
	OldHeadBlock phase0.Root
	NewHeadBlock phase0.Root
	OldHeadState phase0.Root
	NewHeadState phase0.Root
	Epoch        phase0.Epoch
}

ChainReorgEvent is the data for the head event.

func (*ChainReorgEvent) MarshalJSON added in v0.6.9

func (e *ChainReorgEvent) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*ChainReorgEvent) String added in v0.6.9

func (e *ChainReorgEvent) String() string

String returns a string version of the structure.

func (*ChainReorgEvent) UnmarshalJSON added in v0.6.9

func (e *ChainReorgEvent) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type DepositContract added in v0.6.2

type DepositContract struct {
	ChainID uint64
	Address []byte
}

DepositContract represents the details of the Ethereum 1 deposit contract for a chain.

func (*DepositContract) MarshalJSON added in v0.6.2

func (d *DepositContract) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*DepositContract) String added in v0.6.2

func (d *DepositContract) String() string

String returns a string version of the structure.

func (*DepositContract) UnmarshalJSON added in v0.6.2

func (d *DepositContract) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Event added in v0.6.9

type Event struct {
	// Topic is the topic of the event.
	Topic string
	// Data is the data of the event.
	Data interface{}
}

Event is the container for events sent from the API.

func (*Event) MarshalJSON added in v0.6.20

func (e *Event) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*Event) String added in v0.6.20

func (e *Event) String() string

String returns a string version of the structure.

func (*Event) UnmarshalJSON added in v0.6.20

func (e *Event) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Finality added in v0.6.4

type Finality struct {
	// Finalized is the finalized checkpoint.
	Finalized *phase0.Checkpoint
	// Justified is the justified checkpoint.
	Justified *phase0.Checkpoint
	// PreviousJustified is the previous justified checkpoint.
	PreviousJustified *phase0.Checkpoint
}

Finality is the data regarding finality checkpoints at a given state.

func (*Finality) MarshalJSON added in v0.6.4

func (f *Finality) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*Finality) String added in v0.6.4

func (f *Finality) String() string

String returns a string version of the structure.

func (*Finality) UnmarshalJSON added in v0.6.4

func (f *Finality) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type FinalizedCheckpointEvent added in v0.6.9

type FinalizedCheckpointEvent struct {
	Block phase0.Root
	State phase0.Root
	Epoch phase0.Epoch
}

FinalizedCheckpointEvent is the data for the finalized checkpoint event.

func (*FinalizedCheckpointEvent) MarshalJSON added in v0.6.9

func (e *FinalizedCheckpointEvent) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*FinalizedCheckpointEvent) String added in v0.6.9

func (e *FinalizedCheckpointEvent) String() string

String returns a string version of the structure.

func (*FinalizedCheckpointEvent) UnmarshalJSON added in v0.6.9

func (e *FinalizedCheckpointEvent) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Genesis

type Genesis struct {
	GenesisTime           time.Time
	GenesisValidatorsRoot phase0.Root
	GenesisForkVersion    phase0.Version
}

Genesis provides information about the genesis of a chain.

func (*Genesis) MarshalJSON added in v0.6.2

func (g *Genesis) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*Genesis) String added in v0.6.2

func (g *Genesis) String() string

String returns a string version of the structure.

func (*Genesis) UnmarshalJSON added in v0.6.2

func (g *Genesis) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type HeadEvent added in v0.6.9

type HeadEvent struct {
	Slot                      phase0.Slot
	Block                     phase0.Root
	State                     phase0.Root
	EpochTransition           bool
	CurrentDutyDependentRoot  phase0.Root
	PreviousDutyDependentRoot phase0.Root
}

HeadEvent is the data for the head event.

func (*HeadEvent) MarshalJSON added in v0.6.9

func (e *HeadEvent) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*HeadEvent) String added in v0.6.9

func (e *HeadEvent) String() string

String returns a string version of the structure.

func (*HeadEvent) UnmarshalJSON added in v0.6.9

func (e *HeadEvent) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ProposalPreparation added in v0.11.0

type ProposalPreparation struct {
	// ValidatorIdex is the index of the validator making the proposal request.
	ValidatorIndex phase0.ValidatorIndex
	// FeeRecipient is the execution address to be used with preparing blocks.
	FeeRecipient bellatrix.ExecutionAddress `ssz-size:"20"`
}

ProposalPreparation is the data required for proposal preparation.

func (*ProposalPreparation) MarshalJSON added in v0.11.0

func (p *ProposalPreparation) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*ProposalPreparation) String added in v0.11.0

func (p *ProposalPreparation) String() string

String returns a string version of the structure.

func (*ProposalPreparation) UnmarshalJSON added in v0.11.0

func (p *ProposalPreparation) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ProposerDuty

type ProposerDuty struct {
	PubKey         phase0.BLSPubKey
	Slot           phase0.Slot
	ValidatorIndex phase0.ValidatorIndex
}

ProposerDuty represents a duty of a validator to propose a slot.

func (*ProposerDuty) MarshalJSON

func (p *ProposerDuty) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*ProposerDuty) String

func (p *ProposerDuty) String() string

String returns a string version of the structure.

func (*ProposerDuty) UnmarshalJSON

func (p *ProposerDuty) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type SignedValidatorRegistration added in v0.12.0

type SignedValidatorRegistration struct {
	Message   *ValidatorRegistration
	Signature phase0.BLSSignature `ssz-size:"96"`
}

SignedValidatorRegistration is a signed ValidatorRegistrationV1

func (*SignedValidatorRegistration) MarshalJSON added in v0.12.0

func (s *SignedValidatorRegistration) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*SignedValidatorRegistration) MarshalYAML added in v0.12.0

func (s *SignedValidatorRegistration) MarshalYAML() ([]byte, error)

MarshalYAML implements yaml.Marshaler.

func (*SignedValidatorRegistration) String added in v0.12.0

func (s *SignedValidatorRegistration) String() string

String returns a string version of the structure.

func (*SignedValidatorRegistration) UnmarshalJSON added in v0.12.0

func (s *SignedValidatorRegistration) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

func (*SignedValidatorRegistration) UnmarshalYAML added in v0.12.0

func (s *SignedValidatorRegistration) UnmarshalYAML(input []byte) error

UnmarshalYAML implements yaml.Unmarshaler.

type SyncCommittee added in v0.7.0

type SyncCommittee struct {
	// Validators is the list of validator indices in the committee.
	Validators []phase0.ValidatorIndex
	// ValidatorAggregates are the lists of validators in each aggregate.
	ValidatorAggregates [][]phase0.ValidatorIndex
}

SyncCommittee is the data providing validator membership of sync committees.

func (*SyncCommittee) MarshalJSON added in v0.7.0

func (s *SyncCommittee) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*SyncCommittee) String added in v0.7.0

func (s *SyncCommittee) String() string

String returns a string version of the structure.

func (*SyncCommittee) UnmarshalJSON added in v0.7.0

func (s *SyncCommittee) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type SyncCommitteeDuty added in v0.7.0

type SyncCommitteeDuty struct {
	// PubKey is the public key of the validator that should contribute.
	PubKey phase0.BLSPubKey
	// ValidatorIndex is the index of the validator that should contribute.
	ValidatorIndex phase0.ValidatorIndex
	// ValidatorSyncCommitteeIndices is the index of the validator in the list of validators in the committee.
	ValidatorSyncCommitteeIndices []phase0.CommitteeIndex
}

SyncCommitteeDuty is the data regarding which validators have the duty to contribute to sync committees in a slot.

func (*SyncCommitteeDuty) MarshalJSON added in v0.7.0

func (s *SyncCommitteeDuty) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*SyncCommitteeDuty) String added in v0.7.0

func (s *SyncCommitteeDuty) String() string

String returns a string version of the structure.

func (*SyncCommitteeDuty) UnmarshalJSON added in v0.7.0

func (s *SyncCommitteeDuty) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type SyncCommitteeSubscription added in v0.7.0

type SyncCommitteeSubscription struct {
	// ValidatorIdex is the index of the validator making the subscription request.
	ValidatorIndex phase0.ValidatorIndex
	// SyncCommitteeIndices are the indices of the sync committees of which the validator is a member.
	SyncCommitteeIndices []phase0.CommitteeIndex
	// UntilEpoch is the epoch at which the subscription no longer applies.
	UntilEpoch phase0.Epoch
}

SyncCommitteeSubscription is the data required for a sync committee subscription.

func (*SyncCommitteeSubscription) MarshalJSON added in v0.7.0

func (s *SyncCommitteeSubscription) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*SyncCommitteeSubscription) String added in v0.7.0

func (s *SyncCommitteeSubscription) String() string

String returns a string version of the structure.

func (*SyncCommitteeSubscription) UnmarshalJSON added in v0.7.0

func (s *SyncCommitteeSubscription) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type SyncState

type SyncState struct {
	// HeadSlot is the head slot of the chain as understood by the node.
	HeadSlot phase0.Slot
	// SyncDistance is the distance between the node's highest synced slot and the head slot.
	SyncDistance phase0.Slot
	// IsOptimistic is true if the node is optimistic.
	IsOptimistic bool
	// IsSyncing is true if the node is syncing.
	IsSyncing bool
}

SyncState is the data regarding the node's synchronization state to the chain.

func (*SyncState) MarshalJSON

func (s *SyncState) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*SyncState) String

func (s *SyncState) String() string

String returns a string version of the structure.

func (*SyncState) UnmarshalJSON

func (s *SyncState) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Validator

type Validator struct {
	Index     phase0.ValidatorIndex
	Balance   phase0.Gwei
	Status    ValidatorState
	Validator *phase0.Validator
}

Validator contains the spec validator plus additional fields.

func (*Validator) MarshalJSON

func (v *Validator) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*Validator) PubKey added in v0.6.1

func (v *Validator) PubKey(ctx context.Context) (phase0.BLSPubKey, error)

PubKey implements ValidatorPubKeyProvider

func (*Validator) String

func (v *Validator) String() string

String returns a string version of the structure.

func (*Validator) UnmarshalJSON

func (v *Validator) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ValidatorBalance added in v0.6.9

type ValidatorBalance struct {
	Index   phase0.ValidatorIndex
	Balance phase0.Gwei
}

ValidatorBalance contains the balance of a validator.

func (*ValidatorBalance) MarshalJSON added in v0.6.9

func (v *ValidatorBalance) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*ValidatorBalance) String added in v0.6.9

func (v *ValidatorBalance) String() string

String returns a string version of the structure.

func (*ValidatorBalance) UnmarshalJSON added in v0.6.9

func (v *ValidatorBalance) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ValidatorRegistration added in v0.12.0

type ValidatorRegistration struct {
	FeeRecipient bellatrix.ExecutionAddress `ssz-size:"20"`
	GasLimit     uint64
	Timestamp    time.Time
	Pubkey       phase0.BLSPubKey `ssz-size:"48"`
}

ValidatorRegistration represents a ValidatorRegistrationV1.

func (*ValidatorRegistration) GetTree added in v0.13.0

func (v *ValidatorRegistration) GetTree() (*ssz.Node, error)

GetTree ssz hashes the ValidatorRegistration object

func (*ValidatorRegistration) HashTreeRoot added in v0.12.0

func (v *ValidatorRegistration) HashTreeRoot() ([32]byte, error)

HashTreeRoot ssz hashes the ValidatorRegistration object

func (*ValidatorRegistration) HashTreeRootWith added in v0.12.0

func (v *ValidatorRegistration) HashTreeRootWith(hh ssz.HashWalker) (err error)

HashTreeRootWith ssz hashes the ValidatorRegistration object with a hasher

func (*ValidatorRegistration) MarshalJSON added in v0.12.0

func (v *ValidatorRegistration) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*ValidatorRegistration) MarshalSSZ added in v0.12.0

func (v *ValidatorRegistration) MarshalSSZ() ([]byte, error)

MarshalSSZ ssz marshals the ValidatorRegistration object

func (*ValidatorRegistration) MarshalSSZTo added in v0.12.0

func (v *ValidatorRegistration) MarshalSSZTo(buf []byte) (dst []byte, err error)

MarshalSSZTo ssz marshals the ValidatorRegistration object to a target array

func (*ValidatorRegistration) MarshalYAML added in v0.12.0

func (v *ValidatorRegistration) MarshalYAML() ([]byte, error)

MarshalYAML implements yaml.Marshaler.

func (*ValidatorRegistration) SizeSSZ added in v0.12.0

func (v *ValidatorRegistration) SizeSSZ() (size int)

SizeSSZ returns the ssz encoded size in bytes for the ValidatorRegistration object

func (*ValidatorRegistration) String added in v0.12.0

func (v *ValidatorRegistration) String() string

String returns a string version of the structure.

func (*ValidatorRegistration) UnmarshalJSON added in v0.12.0

func (v *ValidatorRegistration) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

func (*ValidatorRegistration) UnmarshalSSZ added in v0.12.0

func (v *ValidatorRegistration) UnmarshalSSZ(buf []byte) error

UnmarshalSSZ ssz unmarshals the ValidatorRegistration object

func (*ValidatorRegistration) UnmarshalYAML added in v0.12.0

func (v *ValidatorRegistration) UnmarshalYAML(input []byte) error

UnmarshalYAML implements yaml.Unmarshaler.

type ValidatorState

type ValidatorState int

ValidatorState defines the state of the validator.

const (
	// ValidatorStateUnknown means no information can be found about the validator.
	ValidatorStateUnknown ValidatorState = iota
	// ValidatorStatePendingInitialized means the validator is not yet in the queue to be activated.
	ValidatorStatePendingInitialized
	// ValidatorStatePendingQueued means the validator is in the queue to be activated.
	ValidatorStatePendingQueued
	// ValidatorStateActiveOngoing means the validator is active.
	ValidatorStateActiveOngoing
	// ValidatorStateActiveExiting means the validator is active but exiting.
	ValidatorStateActiveExiting
	// ValidatorStateActiveSlashed means the validator is active but exiting due to being slashed.
	ValidatorStateActiveSlashed
	// ValidatorStateExitedUnslashed means the validator has exited without being slashed.
	ValidatorStateExitedUnslashed
	// ValidatorStateExitedSlashed means the validator has exited due to being slashed.
	ValidatorStateExitedSlashed
	// ValidatorStateWithdrawalPossible means it is possible to withdraw funds from the validator.
	ValidatorStateWithdrawalPossible
	// ValidatorStateWithdrawalDone means funds have been withdrawn from the validator.
	ValidatorStateWithdrawalDone
)

func ValidatorToState

func ValidatorToState(validator *phase0.Validator, currentEpoch phase0.Epoch, farFutureEpoch phase0.Epoch) ValidatorState

ValidatorToState is a helper that calculates the validator status given a validator struct.

func (ValidatorState) HasActivated added in v0.6.7

func (v ValidatorState) HasActivated() bool

HasActivated returns true if the validator has activated.

func (ValidatorState) HasBalance added in v0.6.1

func (v ValidatorState) HasBalance() bool

HasBalance returns true if the validator has a balance.

func (ValidatorState) HasExited added in v0.6.7

func (v ValidatorState) HasExited() bool

HasExited returns true if the validator has exited.

func (ValidatorState) IsActive added in v0.6.7

func (v ValidatorState) IsActive() bool

IsActive returns true if the validator is active.

func (ValidatorState) IsAttesting

func (v ValidatorState) IsAttesting() bool

IsAttesting returns true if the validator should be attesting.

func (ValidatorState) IsExited added in v0.6.7

func (v ValidatorState) IsExited() bool

IsExited returns true if the validator is exited.

func (ValidatorState) IsPending added in v0.6.7

func (v ValidatorState) IsPending() bool

IsPending returns true if the validator is pending.

func (*ValidatorState) MarshalJSON

func (v *ValidatorState) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (ValidatorState) String

func (v ValidatorState) String() string

func (*ValidatorState) UnmarshalJSON

func (v *ValidatorState) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

Directories

Path Synopsis
Code generated by fastssz.
Code generated by fastssz.
Code generated by fastssz.
Code generated by fastssz.

Jump to

Keyboard shortcuts

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