models

package
v1.3.2 Latest Latest
Warning

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

Go to latest
Published: Aug 27, 2023 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 added in v1.3.0

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 added in v1.3.0

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"`
}

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"`
	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"`
	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 IndexPageData

type IndexPageData struct {
	NetworkName             string    `json:"networkName"`
	DepositContract         string    `json:"depositContract"`
	ShowSyncingMessage      bool      `json:"show_sync_message"`
	CurrentEpoch            uint64    `json:"current_epoch"`
	CurrentFinalizedEpoch   int64     `json:"current_finalized_epoch"`
	CurrentSlot             uint64    `json:"current_slot"`
	CurrentSlotIndex        uint64    `json:"current_slot_index"`
	CurrentScheduledCount   uint64    `json:"current_scheduled_count"`
	CurrentEpochProgress    float64   `json:"current_epoch_progress"`
	ActiveValidatorCount    uint64    `json:"active_validator_count"`
	EnteringValidatorCount  uint64    `json:"entering_validator_count"`
	ExitingValidatorCount   uint64    `json:"exiting_validator_count"`
	ValidatorsPerEpoch      uint64    `json:"validators_per_epoch"`
	ValidatorsPerDay        uint64    `json:"validators_per_day"`
	TotalEligibleEther      uint64    `json:"total_eligible_ether"`
	AverageValidatorBalance uint64    `json:"avg_validator_balance"`
	NewDepositProcessAfter  string    `json:"deposit_queue_delay"`
	GenesisTime             time.Time `json:"genesis_time"`
	GenesisForkVersion      []byte    `json:"genesis_version"`
	GenesisValidatorsRoot   []byte    `json:"genesis_valroot"`

	NetworkForks     []*IndexPageDataForks  `json:"network_forks"`
	RecentBlocks     []*IndexPageDataBlocks `json:"recent_blocks"`
	RecentBlockCount uint64                 `json:"recent_block_count"`
	RecentEpochs     []*IndexPageDataEpochs `json:"recent_epochs"`
	RecentEpochCount uint64                 `json:"recent_epoch_count"`
	RecentSlots      []*IndexPageDataSlots  `json:"recent_slots"`
	RecentSlotCount  uint64                 `json:"recent_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"`
	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"`
}

type IndexPageDataEpochs

type IndexPageDataEpochs struct {
	Epoch             uint64    `json:"epoch"`
	Ts                time.Time `json:"ts"`
	Finalized         bool      `json:"finalized"`
	EligibleEther     uint64    `json:"eligibleether"`
	TargetVoted       uint64    `json:"target_voted"`
	HeadVoted         uint64    `json:"head_voted"`
	TotalVoted        uint64    `json:"total_voted"`
	VoteParticipation float64   `json:"vote_participation"`
}

type IndexPageDataForkGraph added in v1.3.1

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 added in v1.3.1

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:"parent_root"`
	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 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     rpctypes.BytesHexStr `json:"root,omitempty"`
	Orphaned bool                 `json:"orphaned,omitempty"`
}

SearchAheadSlotsResult is a struct to hold the search ahead slots results

type SearchBlockResult

type SearchBlockResult struct {
	Slot     uint64               `json:"slot,omitempty"`
	Root     rpctypes.BytesHexStr `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 added in v1.1.0

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
	BlobsCount             uint64 `json:"blobs_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
}

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"`
	TransactionsCount uint64    `json:"transactions_count"`
}

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

type SlotsPageData struct {
	Slots          []*SlotsPageDataSlot `json:"slots"`
	SlotCount      uint64               `json:"slot_count"`
	FirstSlot      uint64               `json:"first_slot"`
	LastSlot       uint64               `json:"last_slot"`
	ShowForkTree   bool                 `json:"show_forktree"`
	ForkTreeWidth  int                  `json:"forktree_width"`
	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 SlotsPageDataForkGraph added in v1.3.0

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"`
	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 added in v1.1.0

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 added in v1.1.0

type ValidatorPageDataBlocks struct {
	Epoch     uint64    `json:"epoch"`
	Slot      uint64    `json:"slot"`
	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 added in v1.2.0

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 added in v1.2.0

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"`
	EthBlockNumber        uint64    `json:"eth_block_number"`
	Graffiti              []byte    `json:"graffiti"`
	BlockRoot             []byte    `json:"block_root"`
}

type ValidatorsPageData added in v1.1.0

type ValidatorsPageData struct {
	Validators     []*ValidatorsPageDataValidator `json:"validators"`
	ValidatorCount uint64                         `json:"validator_count"`
	FirstValidator uint64                         `json:"first_validx"`
	LastValidator  uint64                         `json:"last_validx"`
	StateFilter    string                         `json:"state_filter"`

	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"`
}

ValidatorsPageData is a struct to hold info for the validators page

type ValidatorsPageDataValidator added in v1.1.0

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