models

package
v1.8.4 Latest Latest
Warning

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

Go to latest
Published: Feb 25, 2024 License: GPL-3.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClientsPageData

type ClientsPageData struct {
	Clients     []*ClientsPageDataClient `json:"clients"`
	ClientCount uint64                   `json:"client_count"`
}

ClientsPageData is a struct to hold info for the clients page

type ClientsPageDataClient

type ClientsPageDataClient struct {
	Index       int       `json:"index"`
	Name        string    `json:"name"`
	Version     string    `json:"version"`
	HeadSlot    uint64    `json:"head_slot"`
	HeadRoot    []byte    `json:"head_root"`
	Status      string    `json:"status"`
	LastRefresh time.Time `json:"refresh"`
	LastError   string    `json:"error"`
}

type EpochPageData

type EpochPageData struct {
	Epoch                   uint64               `json:"epoch"`
	PreviousEpoch           uint64               `json:"prev_epoch"`
	NextEpoch               uint64               `json:"next_epoch"`
	Ts                      time.Time            `json:"ts"`
	Synchronized            bool                 `json:"synchronized"`
	Finalized               bool                 `json:"finalized"`
	AttestationCount        uint64               `json:"attestation_count"`
	DepositCount            uint64               `json:"deposit_count"`
	ExitCount               uint64               `json:"exit_count"`
	WithdrawalCount         uint64               `json:"withdrawal_count"`
	WithdrawalAmount        uint64               `json:"withdrawal_amount"`
	ProposerSlashingCount   uint64               `json:"proposer_slashing_count"`
	AttesterSlashingCount   uint64               `json:"attester_slashing_count"`
	EligibleEther           uint64               `json:"eligibleether"`
	TargetVoted             uint64               `json:"target_voted"`
	HeadVoted               uint64               `json:"head_voted"`
	TotalVoted              uint64               `json:"total_voted"`
	TargetVoteParticipation float64              `json:"target_vote_participation"`
	HeadVoteParticipation   float64              `json:"head_vote_participation"`
	TotalVoteParticipation  float64              `json:"total_vote_participation"`
	SyncParticipation       float64              `json:"sync_participation"`
	ValidatorCount          uint64               `json:"validator_count"`
	AverageValidatorBalance uint64               `json:"avg_validator_balance"`
	BlockCount              uint64               `json:"block_count"`
	CanonicalCount          uint64               `json:"canonical_count"`
	MissedCount             uint64               `json:"missed_count"`
	ScheduledCount          uint64               `json:"scheduled_count"`
	OrphanedCount           uint64               `json:"orphaned_count"`
	EthTransactionCount     uint64               `json:"eth_transaction_count"`
	Slots                   []*EpochPageDataSlot `json:"slots"`
}

EpochPageData is a struct to hold info for the epoch page

type EpochPageDataSlot

type EpochPageDataSlot struct {
	Slot                  uint64    `json:"slot"`
	Epoch                 uint64    `json:"epoch"`
	Ts                    time.Time `json:"ts"`
	Scheduled             bool      `json:"scheduled"`
	Status                uint8     `json:"status"`
	Proposer              uint64    `json:"proposer"`
	ProposerName          string    `json:"proposer_name"`
	AttestationCount      uint64    `json:"attestation_count"`
	DepositCount          uint64    `json:"deposit_count"`
	ExitCount             uint64    `json:"exit_count"`
	ProposerSlashingCount uint64    `json:"proposer_slashing_count"`
	AttesterSlashingCount uint64    `json:"attester_slashing_count"`
	SyncParticipation     float64   `json:"sync_participation"`
	EthTransactionCount   uint64    `json:"eth_transaction_count"`
	EthBlockNumber        uint64    `json:"eth_block_number"`
	WithEthBlock          bool      `json:"with_eth_block"`
	Graffiti              []byte    `json:"graffiti"`
	BlockRoot             []byte    `json:"block_root"`
}

type EpochsPageData

type EpochsPageData struct {
	Epochs     []*EpochsPageDataEpoch `json:"epochs"`
	EpochCount uint64
	FirstEpoch uint64
	LastEpoch  uint64

	IsDefaultPage    bool   `json:"default_page"`
	TotalPages       uint64 `json:"total_pages"`
	PageSize         uint64 `json:"page_size"`
	CurrentPageIndex uint64 `json:"page_index"`
	CurrentPageEpoch uint64 `json:"page_epoch"`
	PrevPageIndex    uint64 `json:"prev_page_index"`
	PrevPageEpoch    uint64 `json:"prev_page_epoch"`
	NextPageIndex    uint64 `json:"next_page_index"`
	NextPageEpoch    uint64 `json:"next_page_epoch"`
	LastPageEpoch    uint64 `json:"last_page_epoch"`
}

EpochsPageData is a struct to hold info for the epochs page

type EpochsPageDataEpoch

type EpochsPageDataEpoch struct {
	Epoch                   uint64    `json:"epoch"`
	Ts                      time.Time `json:"ts"`
	Finalized               bool      `json:"finalized"`
	Justified               bool      `json:"justified"`
	Synchronized            bool      `json:"synchronized"`
	CanonicalBlockCount     uint64    `json:"canonical_block_count"`
	OrphanedBlockCount      uint64    `json:"orphaned_block_count"`
	AttestationCount        uint64    `json:"attestation_count"`
	DepositCount            uint64    `json:"deposit_count"`
	ExitCount               uint64    `json:"exit_count"`
	ProposerSlashingCount   uint64    `json:"proposer_slashing_count"`
	AttesterSlashingCount   uint64    `json:"attester_slashing_count"`
	EligibleEther           uint64    `json:"eligibleether"`
	TargetVoted             uint64    `json:"target_voted"`
	HeadVoted               uint64    `json:"head_voted"`
	TotalVoted              uint64    `json:"total_voted"`
	TargetVoteParticipation float64   `json:"target_vote_participation"`
	HeadVoteParticipation   float64   `json:"head_vote_participation"`
	TotalVoteParticipation  float64   `json:"total_vote_participation"`
	EthTransactionCount     uint64    `json:"eth_transaction_count"`
}

type ErrorPageData

type ErrorPageData struct {
	CallTime   time.Time
	CallUrl    string
	ErrorMsg   string
	StackTrace string
	Version    string
}

type ForksPageData added in v1.7.0

type ForksPageData struct {
	Forks     []*ForksPageDataFork `json:"forks"`
	ForkCount uint64               `json:"fork_count"`
}

ForksPageData is a struct to hold info for the forks page

type ForksPageDataClient added in v1.7.0

type ForksPageDataClient struct {
	Index       int       `json:"index"`
	Name        string    `json:"name"`
	Version     string    `json:"version"`
	Status      string    `json:"status"`
	HeadSlot    uint64    `json:"head_slot"`
	Distance    uint64    `json:"distance"`
	LastRefresh time.Time `json:"refresh"`
	LastError   string    `json:"error"`
}

type ForksPageDataFork added in v1.7.0

type ForksPageDataFork struct {
	HeadSlot    uint64                 `json:"head_slot"`
	HeadRoot    []byte                 `json:"head_root"`
	Clients     []*ForksPageDataClient `json:"clients"`
	ClientCount uint64                 `json:"client_count"`
}

type IndexPageData

type IndexPageData struct {
	NetworkName             string    `json:"netname"`
	DepositContract         string    `json:"depaddr"`
	ShowSyncingMessage      bool      `json:"show_sync"`
	SlotsPerEpoch           uint64    `json:"slots_per_epoch"`
	CurrentEpoch            uint64    `json:"cur_epoch"`
	CurrentFinalizedEpoch   int64     `json:"finalized_epoch"`
	CurrentJustifiedEpoch   int64     `json:"justified_epoch"`
	CurrentSlot             uint64    `json:"cur_slot"`
	CurrentScheduledCount   uint64    `json:"cur_scheduled"`
	CurrentEpochProgress    float64   `json:"cur_epoch_prog"`
	ActiveValidatorCount    uint64    `json:"active_val"`
	EnteringValidatorCount  uint64    `json:"entering_val"`
	ExitingValidatorCount   uint64    `json:"exiting_val"`
	ValidatorsPerEpoch      uint64    `json:"churn_epoch"`
	ValidatorsPerDay        uint64    `json:"churn_day"`
	TotalEligibleEther      uint64    `json:"eligible"`
	AverageValidatorBalance uint64    `json:"avg_balance"`
	NewDepositProcessAfter  string    `json:"queue_delay"`
	GenesisTime             time.Time `json:"genesis_time"`
	GenesisForkVersion      []byte    `json:"genesis_version"`
	GenesisValidatorsRoot   []byte    `json:"genesis_valroot"`

	NetworkForks     []*IndexPageDataForks  `json:"forks"`
	RecentBlocks     []*IndexPageDataBlocks `json:"blocks"`
	RecentBlockCount uint64                 `json:"block_count"`
	RecentEpochs     []*IndexPageDataEpochs `json:"epochs"`
	RecentEpochCount uint64                 `json:"epoch_count"`
	RecentSlots      []*IndexPageDataSlots  `json:"slots"`
	RecentSlotCount  uint64                 `json:"slot_count"`
	ForkTreeWidth    int                    `json:"forktree_width"`
}

IndexPageData is a struct to hold info for the main web page

type IndexPageDataBlocks

type IndexPageDataBlocks struct {
	Epoch        uint64    `json:"epoch"`
	Slot         uint64    `json:"slot"`
	WithEthBlock bool      `json:"has_block"`
	EthBlock     uint64    `json:"eth_block"`
	EthBlockLink string    `json:"eth_link"`
	Ts           time.Time `json:"ts"`
	Proposer     uint64    `json:"proposer"`
	ProposerName string    `json:"proposer_name"`
	Status       uint64    `json:"status"`
	BlockRoot    []byte    `json:"block_root"`
}

type IndexPageDataEpochs

type IndexPageDataEpochs struct {
	Epoch             uint64    `json:"epoch"`
	Ts                time.Time `json:"ts"`
	Finalized         bool      `json:"finalized"`
	Justified         bool      `json:"justified"`
	EligibleEther     uint64    `json:"eligible"`
	TargetVoted       uint64    `json:"voted"`
	VoteParticipation float64   `json:"votep"`
}

type IndexPageDataForkGraph

type IndexPageDataForkGraph struct {
	Index int             `json:"index"`
	Left  int             `json:"left"`
	Tiles map[string]bool `json:"tiles"`
	Block bool            `json:"block"`
}

type IndexPageDataForks

type IndexPageDataForks struct {
	Name    string `json:"name"`
	Epoch   uint64 `json:"epoch"`
	Version []byte `json:"version"`
	Active  bool   `json:"active"`
}

type IndexPageDataSlots

type IndexPageDataSlots struct {
	Epoch        uint64                    `json:"epoch"`
	Slot         uint64                    `json:"slot"`
	EthBlock     uint64                    `json:"eth_block"`
	Ts           time.Time                 `json:"ts"`
	Proposer     uint64                    `json:"proposer"`
	ProposerName string                    `json:"proposer_name"`
	Status       uint64                    `json:"status"`
	BlockRoot    []byte                    `json:"block_root"`
	ParentRoot   []byte                    `json:"-"`
	ForkGraph    []*IndexPageDataForkGraph `json:"fork_graph"`
}

type SearchAheadEpochsResult

type SearchAheadEpochsResult struct {
	Epoch string `json:"epoch,omitempty"`
}

SearchAheadEpochsResult is a struct to hold the search ahead epochs results

type SearchAheadExecBlocksResult

type SearchAheadExecBlocksResult struct {
	Slot       string        `json:"slot,omitempty"`
	Root       phase0.Root   `json:"root,omitempty"`
	ExecHash   phase0.Hash32 `json:"exec_hash,omitempty"`
	ExecNumber uint64        `json:"exec_number,omitempty"`
	Orphaned   bool          `json:"orphaned,omitempty"`
}

SearchAheadExecBlocksResult is a struct to hold the search ahead execution blocks results

type SearchAheadGraffitiResult

type SearchAheadGraffitiResult struct {
	Graffiti string `json:"graffiti,omitempty"`
	Count    string `json:"count,omitempty"`
}

SearchAheadGraffitiResult is a struct to hold the search ahead blocks results with a given graffiti

type SearchAheadSlotsResult

type SearchAheadSlotsResult struct {
	Slot     string      `json:"slot,omitempty"`
	Root     phase0.Root `json:"root,omitempty"`
	Orphaned bool        `json:"orphaned,omitempty"`
}

SearchAheadSlotsResult is a struct to hold the search ahead slots results

type SearchAheadValidatorNameResult

type SearchAheadValidatorNameResult struct {
	Name  string `json:"name,omitempty"`
	Count string `json:"count,omitempty"`
}

SearchAheadValidatorNameResult is a struct to hold the search ahead blocks results with a given graffiti

type SearchBlockResult

type SearchBlockResult struct {
	Slot     uint64      `json:"slot,omitempty"`
	Root     phase0.Root `json:"root,omitempty"`
	Orphaned bool        `json:"orphaned,omitempty"`
}

SearchBlockResult is a struct to hold the search block result with a given graffiti

type SearchGraffitiResult

type SearchGraffitiResult struct {
	Graffiti string `json:"graffiti,omitempty"`
}

SearchGraffitiResult is a struct to hold the search block result with a given graffiti

type SlotPageAttestation

type SlotPageAttestation struct {
	Slot           uint64 `json:"slot"`
	CommitteeIndex uint64 `json:"committeeindex"`

	AggregationBits []byte                 `json:"aggregationbits"`
	Validators      []types.NamedValidator `json:"validators"`

	Signature []byte `json:"signature"`

	BeaconBlockRoot []byte `json:"beaconblockroot"`
	SourceEpoch     uint64 `json:"source_epoch"`
	SourceRoot      []byte `json:"source_root"`
	TargetEpoch     uint64 `json:"target_epoch"`
	TargetRoot      []byte `json:"target_root"`
}

type SlotPageAttesterSlashing

type SlotPageAttesterSlashing struct {
	Attestation1Indices         []uint64               `json:"attestation1_indices"`
	Attestation1Signature       []byte                 `json:"attestation1_signature"`
	Attestation1Slot            uint64                 `json:"attestation1_slot"`
	Attestation1Index           uint64                 `json:"attestation1_index"`
	Attestation1BeaconBlockRoot []byte                 `json:"attestation1_beaconblockroot"`
	Attestation1SourceEpoch     uint64                 `json:"attestation1_source_epoch"`
	Attestation1SourceRoot      []byte                 `json:"attestation1_source_root"`
	Attestation1TargetEpoch     uint64                 `json:"attestation1_target_epoch"`
	Attestation1TargetRoot      []byte                 `json:"attestation1_target_root"`
	Attestation2Indices         []uint64               `json:"attestation2_indices"`
	Attestation2Signature       []byte                 `json:"attestation2_signature"`
	Attestation2Slot            uint64                 `json:"attestation2_slot"`
	Attestation2Index           uint64                 `json:"attestation2_index"`
	Attestation2BeaconBlockRoot []byte                 `json:"attestation2_beaconblockroot"`
	Attestation2SourceEpoch     uint64                 `json:"attestation2_source_epoch"`
	Attestation2SourceRoot      []byte                 `json:"attestation2_source_root"`
	Attestation2TargetEpoch     uint64                 `json:"attestation2_target_epoch"`
	Attestation2TargetRoot      []byte                 `json:"attestation2_target_root"`
	SlashedValidators           []types.NamedValidator `json:"validators"`
}

BlockPageAttesterSlashing is a struct to hold data for attester slashings on the block page

type SlotPageBLSChange

type SlotPageBLSChange struct {
	ValidatorIndex uint64 `json:"validatorindex"`
	ValidatorName  string `json:"validatorname"`
	BlsPubkey      []byte `json:"pubkey"`
	Address        []byte `json:"address"`
	Signature      []byte `json:"signature"`
}

type SlotPageBlob

type SlotPageBlob struct {
	Index         uint64 `json:"index"`
	KzgCommitment []byte `json:"kzg_commitment"`
	HaveData      bool   `json:"have_data"`
	IsShort       bool   `json:"is_short"`
	BlobShort     []byte `json:"blob_short"`
	Blob          []byte `json:"blob"`
	KzgProof      []byte `json:"kzg_proof"`
}

type SlotPageBlobDetails

type SlotPageBlobDetails struct {
	Index         uint64 `json:"index"`
	Blob          string `json:"blob"`
	KzgCommitment string `json:"kzg_commitment"`
	KzgProof      string `json:"kzg_proof"`
}

type SlotPageBlockData

type SlotPageBlockData struct {
	BlockRoot              []byte                 `json:"blockroot"`
	ParentRoot             []byte                 `json:"parentroot"`
	StateRoot              []byte                 `json:"stateroot"`
	Signature              []byte                 `json:"signature"`
	RandaoReveal           []byte                 `json:"randaoreveal"`
	Graffiti               []byte                 `json:"graffiti"`
	Eth1dataDepositroot    []byte                 `json:"eth1data_depositroot"`
	Eth1dataDepositcount   uint64                 `json:"eth1data_depositcount"`
	Eth1dataBlockhash      []byte                 `json:"eth1data_blockhash"`
	SyncAggregateBits      []byte                 `json:"syncaggregate_bits"`
	SyncAggregateSignature []byte                 `json:"syncaggregate_signature"`
	SyncAggParticipation   float64                `json:"syncaggregate_participation"`
	SyncAggCommittee       []types.NamedValidator `json:"syncaggregate_committee"`
	ProposerSlashingsCount uint64                 `json:"proposer_slashings_count"`
	AttesterSlashingsCount uint64                 `json:"attester_slashings_count"`
	AttestationsCount      uint64                 `json:"attestations_count"`
	DepositsCount          uint64                 `json:"deposits_count"`
	WithdrawalsCount       uint64                 `json:"withdrawals_count"`
	BLSChangesCount        uint64                 `json:"bls_changes_count"`
	VoluntaryExitsCount    uint64                 `json:"voluntaryexits_count"`
	SlashingsCount         uint64                 `json:"slashings_count"`
	BlobsCount             uint64                 `json:"blobs_count"`
	DenyDutyLoading        bool                   `json:"deny_duties"`
	DutiesLoaded           bool                   `json:"duties_loaded"`
	TransactionsCount      uint64                 `json:"transactions_count"`

	ExecutionData     *SlotPageExecutionData      `json:"execution_data"`
	Attestations      []*SlotPageAttestation      `json:"attestations"`       // Attestations included in this block
	Deposits          []*SlotPageDeposit          `json:"deposits"`           // Deposits included in this block
	VoluntaryExits    []*SlotPageVoluntaryExit    `json:"voluntary_exits"`    // Voluntary Exits included in this block
	AttesterSlashings []*SlotPageAttesterSlashing `json:"attester_slashings"` // Attester Slashings included in this block
	ProposerSlashings []*SlotPageProposerSlashing `json:"proposer_slashings"` // Proposer Slashings included in this block
	BLSChanges        []*SlotPageBLSChange        `json:"bls_changes"`        // BLSChanges included in this block
	Withdrawals       []*SlotPageWithdrawal       `json:"withdrawals"`        // Withdrawals included in this block
	Blobs             []*SlotPageBlob             `json:"blobs"`              // Blob sidecars included in this block
	Transactions      []*SlotPageTransaction      `json:"transactions"`       // Transactions included in this block
}

type SlotPageData

type SlotPageData struct {
	Slot                   uint64             `json:"slot"`
	Epoch                  uint64             `json:"epoch"`
	EpochFinalized         bool               `json:"epoch_finalized"`
	EpochParticipationRate float64            `json:"epoch_participation_rate"`
	Ts                     time.Time          `json:"time"`
	NextSlot               uint64             `json:"next_slot"`
	PreviousSlot           uint64             `json:"prev_slot"`
	Status                 uint16             `json:"status"`
	Future                 bool               `json:"future"`
	Proposer               uint64             `json:"proposer"`
	ProposerName           string             `json:"proposer_name"`
	Block                  *SlotPageBlockData `json:"block"`
}

SlotPageData is a struct to hold info for the slot details page

type SlotPageDeposit

type SlotPageDeposit struct {
	PublicKey             []byte `json:"publickey"`
	Withdrawalcredentials []byte `json:"withdrawalcredentials"`
	Amount                uint64 `json:"amount"`
	Signature             []byte `json:"signature"`
}

type SlotPageExecutionData

type SlotPageExecutionData struct {
	ParentHash    []byte    `json:"parent_hash"`
	FeeRecipient  []byte    `json:"fee_recipient"`
	StateRoot     []byte    `json:"state_root"`
	ReceiptsRoot  []byte    `json:"receipts_root"`
	LogsBloom     []byte    `json:"logs_bloom"`
	Random        []byte    `json:"random"`
	GasLimit      uint64    `json:"gas_limit"`
	GasUsed       uint64    `json:"gas_used"`
	Timestamp     uint64    `json:"timestamp"`
	Time          time.Time `json:"time"`
	ExtraData     []byte    `json:"extra_data"`
	BaseFeePerGas uint64    `json:"base_fee_per_gas"`
	BlockHash     []byte    `json:"block_hash"`
	BlockNumber   uint64    `json:"block_number"`
}

type SlotPageProposerSlashing

type SlotPageProposerSlashing struct {
	ProposerIndex     uint64 `json:"proposerindex"`
	ProposerName      string `json:"proposername"`
	Header1Slot       uint64 `json:"header1_slot"`
	Header1ParentRoot []byte `json:"header1_parentroot"`
	Header1StateRoot  []byte `json:"header1_stateroot"`
	Header1BodyRoot   []byte `json:"header1_bodyroot"`
	Header1Signature  []byte `json:"header1_signature"`
	Header2Slot       uint64 `json:"header2_slot"`
	Header2ParentRoot []byte `json:"header2_parentroot"`
	Header2StateRoot  []byte `json:"header2_stateroot"`
	Header2BodyRoot   []byte `json:"header2_bodyroot"`
	Header2Signature  []byte `json:"header2_signature"`
}

BlockPageProposerSlashing is a struct to hold data for proposer slashings on the block page

type SlotPageTransaction added in v1.8.0

type SlotPageTransaction struct {
	Index         uint64  `json:"index"`
	Hash          []byte  `json:"hash"`
	From          string  `json:"from"`
	To            string  `json:"to"`
	Value         float64 `json:"value"`
	Data          []byte  `json:"data"`
	DataLen       uint64  `json:"datalen"`
	FuncSigStatus uint64  `json:"func_sig_status"`
	FuncBytes     string  `json:"func_bytes"`
	FuncName      string  `json:"func_name"`
	FuncSig       string  `json:"func_sig"`
	Type          uint64  `json:"type"`
}

type SlotPageVoluntaryExit

type SlotPageVoluntaryExit struct {
	ValidatorIndex uint64 `json:"validatorindex"`
	ValidatorName  string `json:"validatorname"`
	Epoch          uint64 `json:"epoch"`
	Signature      []byte `json:"signature"`
}

type SlotPageWithdrawal

type SlotPageWithdrawal struct {
	Index          uint64 `json:"index"`
	ValidatorIndex uint64 `json:"validatorindex"`
	ValidatorName  string `json:"validatorname"`
	Address        []byte `json:"address"`
	Amount         uint64 `json:"amount"`
}

type SlotStatus

type SlotStatus uint16
const (
	SlotStatusMissed   SlotStatus = 0
	SlotStatusFound    SlotStatus = 1
	SlotStatusOrphaned SlotStatus = 2
)

type SlotsFilteredPageData

type SlotsFilteredPageData struct {
	FilterGraffiti     string `json:"filter_graffiti"`
	FilterProposer     string `json:"filter_proposer"`
	FilterProposerName string `json:"filter_pname"`
	FilterWithOrphaned uint8  `json:"filter_orphaned"`
	FilterWithMissing  uint8  `json:"filter_missing"`

	Slots     []*SlotsFilteredPageDataSlot `json:"slots"`
	SlotCount uint64                       `json:"slot_count"`
	FirstSlot uint64                       `json:"first_slot"`
	LastSlot  uint64                       `json:"last_slot"`

	IsDefaultPage    bool   `json:"default_page"`
	TotalPages       uint64 `json:"total_pages"`
	PageSize         uint64 `json:"page_size"`
	CurrentPageIndex uint64 `json:"page_index"`
	CurrentPageSlot  uint64 `json:"page_slot"`
	PrevPageIndex    uint64 `json:"prev_page_index"`
	PrevPageSlot     uint64 `json:"prev_page_slot"`
	NextPageIndex    uint64 `json:"next_page_index"`
	NextPageSlot     uint64 `json:"next_page_slot"`
	LastPageSlot     uint64 `json:"last_page_slot"`

	FirstPageLink string `json:"first_page_link"`
	PrevPageLink  string `json:"prev_page_link"`
	NextPageLink  string `json:"next_page_link"`
	LastPageLink  string `json:"last_page_link"`
}

SlotsPageData is a struct to hold info for the slots page

type SlotsFilteredPageDataSlot

type SlotsFilteredPageDataSlot struct {
	Slot                  uint64    `json:"slot"`
	Epoch                 uint64    `json:"epoch"`
	Ts                    time.Time `json:"ts"`
	Finalized             bool      `json:"scheduled"`
	Scheduled             bool      `json:"finalized"`
	Status                uint8     `json:"status"`
	Synchronized          bool      `json:"synchronized"`
	Proposer              uint64    `json:"proposer"`
	ProposerName          string    `json:"proposer_name"`
	AttestationCount      uint64    `json:"attestation_count"`
	DepositCount          uint64    `json:"deposit_count"`
	ExitCount             uint64    `json:"exit_count"`
	ProposerSlashingCount uint64    `json:"proposer_slashing_count"`
	AttesterSlashingCount uint64    `json:"attester_slashing_count"`
	SyncParticipation     float64   `json:"sync_participation"`
	EthTransactionCount   uint64    `json:"eth_transaction_count"`
	WithEthBlock          bool      `json:"with_eth_block"`
	EthBlockNumber        uint64    `json:"eth_block_number"`
	Graffiti              []byte    `json:"graffiti"`
	BlockRoot             []byte    `json:"block_root"`
	ParentRoot            []byte    `json:"parent_root"`
}

type SlotsPageData

type SlotsPageData struct {
	Slots         []*SlotsPageDataSlot `json:"slots"`
	SlotCount     uint64               `json:"slot_count"`
	FirstSlot     uint64               `json:"first_slot"`
	LastSlot      uint64               `json:"last_slot"`
	ForkTreeWidth int                  `json:"forktree_width"`

	IsDefaultPage    bool   `json:"default_page"`
	TotalPages       uint64 `json:"total_pages"`
	PageSize         uint64 `json:"page_size"`
	CurrentPageIndex uint64 `json:"page_index"`
	CurrentPageSlot  uint64 `json:"page_slot"`
	PrevPageIndex    uint64 `json:"prev_page_index"`
	PrevPageSlot     uint64 `json:"prev_page_slot"`
	NextPageIndex    uint64 `json:"next_page_index"`
	NextPageSlot     uint64 `json:"next_page_slot"`
	LastPageSlot     uint64 `json:"last_page_slot"`
}

SlotsPageData is a struct to hold info for the slots page

type SlotsPageDataForkGraph

type SlotsPageDataForkGraph struct {
	Index int             `json:"index"`
	Left  int             `json:"left"`
	Tiles map[string]bool `json:"tiles"`
	Block bool            `json:"block"`
}

type SlotsPageDataSlot

type SlotsPageDataSlot struct {
	Slot                  uint64                    `json:"slot"`
	Epoch                 uint64                    `json:"epoch"`
	Ts                    time.Time                 `json:"ts"`
	Finalized             bool                      `json:"scheduled"`
	Scheduled             bool                      `json:"finalized"`
	Status                uint8                     `json:"status"`
	Synchronized          bool                      `json:"synchronized"`
	Proposer              uint64                    `json:"proposer"`
	ProposerName          string                    `json:"proposer_name"`
	AttestationCount      uint64                    `json:"attestation_count"`
	DepositCount          uint64                    `json:"deposit_count"`
	ExitCount             uint64                    `json:"exit_count"`
	ProposerSlashingCount uint64                    `json:"proposer_slashing_count"`
	AttesterSlashingCount uint64                    `json:"attester_slashing_count"`
	SyncParticipation     float64                   `json:"sync_participation"`
	EthTransactionCount   uint64                    `json:"eth_transaction_count"`
	WithEthBlock          bool                      `json:"with_eth_block"`
	EthBlockNumber        uint64                    `json:"eth_block_number"`
	Graffiti              []byte                    `json:"graffiti"`
	BlockRoot             []byte                    `json:"block_root"`
	ParentRoot            []byte                    `json:"parent_root"`
	ForkGraph             []*SlotsPageDataForkGraph `json:"fork_graph"`
}

type ValidatorPageData

type ValidatorPageData struct {
	CurrentEpoch        uint64    `json:"current_epoch"`
	Index               uint64    `json:"index"`
	Name                string    `json:"name"`
	PublicKey           []byte    `json:"pubkey"`
	Balance             uint64    `json:"balance"`
	EffectiveBalance    uint64    `json:"eff_balance"`
	State               string    `json:"state"`
	BeaconState         string    `json:"beacon_state"`
	ShowEligible        bool      `json:"show_eligible"`
	EligibleTs          time.Time `json:"eligible_ts"`
	EligibleEpoch       uint64    `json:"eligible_epoch"`
	ShowActivation      bool      `json:"show_activation"`
	ActivationTs        time.Time `json:"activation_ts"`
	ActivationEpoch     uint64    `json:"activation_epoch"`
	IsActive            bool      `json:"is_active"`
	WasActive           bool      `json:"was_active"`
	UpcheckActivity     uint8     `json:"upcheck_act"`
	UpcheckMaximum      uint8     `json:"upcheck_max"`
	ShowExit            bool      `json:"show_exit"`
	ExitTs              time.Time `json:"exit_ts"`
	ExitEpoch           uint64    `json:"exit_epoch"`
	WithdrawCredentials []byte    `json:"withdraw_credentials"`
	ShowWithdrawAddress bool      `json:"show_withdraw_address"`
	WithdrawAddress     []byte    `json:"withdraw_address"`

	RecentBlocks     []*ValidatorPageDataBlocks `json:"recent_blocks"`
	RecentBlockCount uint64                     `json:"recent_block_count"`
}

ValidatorPageData is a struct to hold info for the validator page

type ValidatorPageDataBlocks

type ValidatorPageDataBlocks struct {
	Epoch        uint64    `json:"epoch"`
	Slot         uint64    `json:"slot"`
	WithEthBlock bool      `json:"with_eth_block"`
	EthBlock     uint64    `json:"eth_block"`
	Ts           time.Time `json:"ts"`
	Status       uint64    `json:"status"`
	BlockRoot    string    `json:"block_root"`
	Graffiti     []byte    `json:"graffiti"`
}

type ValidatorSlotsPageData

type ValidatorSlotsPageData struct {
	Index uint64 `json:"index"`
	Name  string `json:"name"`

	Slots          []*ValidatorSlotsPageDataSlot `json:"slots"`
	SlotCount      uint64                        `json:"slot_count"`
	FirstSlot      uint64                        `json:"first_slot"`
	LastSlot       uint64                        `json:"last_slot"`
	GraffitiFilter string                        `json:"graffiti_filter"`

	IsDefaultPage    bool   `json:"default_page"`
	TotalPages       uint64 `json:"total_pages"`
	PageSize         uint64 `json:"page_size"`
	CurrentPageIndex uint64 `json:"page_index"`
	CurrentPageSlot  uint64 `json:"page_slot"`
	PrevPageIndex    uint64 `json:"prev_page_index"`
	PrevPageSlot     uint64 `json:"prev_page_slot"`
	NextPageIndex    uint64 `json:"next_page_index"`
	NextPageSlot     uint64 `json:"next_page_slot"`
	LastPageSlot     uint64 `json:"last_page_slot"`
}

SlotsPageData is a struct to hold info for the slots page

type ValidatorSlotsPageDataSlot

type ValidatorSlotsPageDataSlot struct {
	Slot                  uint64    `json:"slot"`
	Epoch                 uint64    `json:"epoch"`
	Ts                    time.Time `json:"ts"`
	Finalized             bool      `json:"scheduled"`
	Scheduled             bool      `json:"finalized"`
	Status                uint8     `json:"status"`
	Proposer              uint64    `json:"proposer"`
	ProposerName          string    `json:"proposer_name"`
	AttestationCount      uint64    `json:"attestation_count"`
	DepositCount          uint64    `json:"deposit_count"`
	ExitCount             uint64    `json:"exit_count"`
	ProposerSlashingCount uint64    `json:"proposer_slashing_count"`
	AttesterSlashingCount uint64    `json:"attester_slashing_count"`
	SyncParticipation     float64   `json:"sync_participation"`
	EthTransactionCount   uint64    `json:"eth_transaction_count"`
	WithEthBlock          bool      `json:"with_eth_block"`
	EthBlockNumber        uint64    `json:"eth_block_number"`
	Graffiti              []byte    `json:"graffiti"`
	BlockRoot             []byte    `json:"block_root"`
}

type ValidatorsActivityPageData added in v1.8.4

type ValidatorsActivityPageData struct {
	ViewOptionGroupBy uint64 `json:"vopt_groupby"`

	Groups         []*ValidatorsActiviyPageDataGroup `json:"validators"`
	GroupCount     uint64                            `json:"group_count"`
	FirstValidator uint64                            `json:"first_validx"`
	LastValidator  uint64                            `json:"last_validx"`
	Sorting        string                            `json:"sorting"`

	FirstGroup uint64 `json:"first_group"`
	LastGroup  uint64 `json:"last_group"`

	IsDefaultPage    bool   `json:"default_page"`
	IsDefaultSorting bool   `json:"default_sorting"`
	TotalPages       uint64 `json:"total_pages"`
	PageSize         uint64 `json:"page_size"`
	CurrentPageIndex uint64 `json:"page_index"`
	PrevPageIndex    uint64 `json:"prev_page_index"`
	NextPageIndex    uint64 `json:"next_page_index"`
	LastPageIndex    uint64 `json:"last_page_index"`

	FirstPageLink string `json:"first_page_link"`
	PrevPageLink  string `json:"prev_page_link"`
	NextPageLink  string `json:"next_page_link"`
	LastPageLink  string `json:"last_page_link"`
	ViewPageLink  string `json:"view_page_link"`
}

ValidatorsActivityPageData is a struct to hold info for the validators activity page

type ValidatorsActiviyPageDataGroup added in v1.8.4

type ValidatorsActiviyPageDataGroup struct {
	Group      string `json:"group"`
	GroupLower string `json:"-"`
	Validators uint64 `json:"validators"`
	Activated  uint64 `json:"activated"`
	Online     uint64 `json:"online"`
	Offline    uint64 `json:"offline"`
	Exited     uint64 `json:"exited"`
	Slashed    uint64 `json:"slashed"`
}

type ValidatorsPageData

type ValidatorsPageData struct {
	FilterPubKey     string                           `json:"filter_pubkey"`
	FilterIndex      string                           `json:"filter_index"`
	FilterName       string                           `json:"filter_name"`
	FilterStatus     string                           `json:"filter_status"`
	FilterStatusOpts []ValidatorsPageDataStatusOption `json:"filter_status_opts"`

	Validators        []*ValidatorsPageDataValidator `json:"validators"`
	ValidatorCount    uint64                         `json:"validator_count"`
	FirstValidator    uint64                         `json:"first_validx"`
	LastValidator     uint64                         `json:"last_validx"`
	StateFilter       string                         `json:"state_filter"`
	Sorting           string                         `json:"sorting"`
	IsDefaultSorting  bool                           `json:"default_sorting"`
	IsDefaultPage     bool                           `json:"default_page"`
	TotalPages        uint64                         `json:"total_pages"`
	PageSize          uint64                         `json:"page_size"`
	CurrentPageIndex  uint64                         `json:"page_index"`
	CurrentPageValIdx uint64                         `json:"page_validx"`
	PrevPageIndex     uint64                         `json:"prev_page_index"`
	PrevPageValIdx    uint64                         `json:"prev_page_validx"`
	NextPageIndex     uint64                         `json:"next_page_index"`
	NextPageValIdx    uint64                         `json:"next_page_validx"`
	LastPageValIdx    uint64                         `json:"last_page_validx"`
	FilteredPageLink  string                         `json:"filtered_page_link"`
}

ValidatorsPageData is a struct to hold info for the validators page

type ValidatorsPageDataStatusOption

type ValidatorsPageDataStatusOption struct {
	Status string `json:"index"`
	Count  uint64 `json:"count"`
}

type ValidatorsPageDataValidator

type ValidatorsPageDataValidator struct {
	Index               uint64    `json:"index"`
	Name                string    `json:"name"`
	PublicKey           []byte    `json:"pubkey"`
	Balance             uint64    `json:"balance"`
	EffectiveBalance    uint64    `json:"eff_balance"`
	State               string    `json:"state"`
	ShowUpcheck         bool      `json:"show_upcheck"`
	UpcheckActivity     uint8     `json:"upcheck_act"`
	UpcheckMaximum      uint8     `json:"upcheck_max"`
	ShowActivation      bool      `json:"show_activation"`
	ActivationTs        time.Time `json:"activation_ts"`
	ActivationEpoch     uint64    `json:"activation_epoch"`
	ShowExit            bool      `json:"show_exit"`
	ExitTs              time.Time `json:"exit_ts"`
	ExitEpoch           uint64    `json:"exit_epoch"`
	ShowWithdrawAddress bool      `json:"show_withdraw_address"`
	WithdrawAddress     []byte    `json:"withdraw_address"`
}

Jump to

Keyboard shortcuts

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