Documentation
¶
Index ¶
- func APIConsensusClients(w http.ResponseWriter, r *http.Request)
- func APIConsolidationRequestsV1(w http.ResponseWriter, r *http.Request)
- func APIDasGuardianMassScan(w http.ResponseWriter, r *http.Request)
- func APIDasGuardianScan(w http.ResponseWriter, r *http.Request)
- func APIDepositsIncludedV1(w http.ResponseWriter, r *http.Request)
- func APIDepositsQueueV1(w http.ResponseWriter, r *http.Request)
- func APIDepositsTransactionsV1(w http.ResponseWriter, r *http.Request)
- func APIEpochDutiesV1(w http.ResponseWriter, r *http.Request)
- func APIEpochsV1(w http.ResponseWriter, r *http.Request)
- func APIExecutionClients(w http.ResponseWriter, r *http.Request)
- func APIMevBlocksV1(w http.ResponseWriter, r *http.Request)
- func APINetworkClientHeadForksV1(w http.ResponseWriter, r *http.Request)
- func APINetworkFastConfirmationV1(w http.ResponseWriter, r *http.Request)
- func APINetworkForksV1(w http.ResponseWriter, r *http.Request)
- func APINetworkOverviewV1(w http.ResponseWriter, r *http.Request)
- func APINetworkSplitsV1(w http.ResponseWriter, r *http.Request)
- func APISlashingsV1(w http.ResponseWriter, r *http.Request)
- func APISlotBidsV1(w http.ResponseWriter, r *http.Request)
- func APISlotBlockAccessListV1(w http.ResponseWriter, r *http.Request)
- func APISlotCommitteesV1(w http.ResponseWriter, r *http.Request)
- func APISlotInclusionListsV1(w http.ResponseWriter, r *http.Request)
- func APISlotPayloadHeaderV1(w http.ResponseWriter, r *http.Request)
- func APISlotPtcVotesV1(w http.ResponseWriter, r *http.Request)
- func APISlotV1(w http.ResponseWriter, r *http.Request)
- func APISlotsV1(w http.ResponseWriter, r *http.Request)
- func APIValidatorNamesV1(w http.ResponseWriter, r *http.Request)
- func APIValidatorsActivityV1(w http.ResponseWriter, r *http.Request)
- func APIValidatorsStatusV1(w http.ResponseWriter, r *http.Request)
- func APIValidatorsV1(w http.ResponseWriter, r *http.Request)
- func APIVoluntaryExitsV1(w http.ResponseWriter, r *http.Request)
- func APIWithdrawalRequestsV1(w http.ResponseWriter, r *http.Request)
- func ApiEpochHealthV1(w http.ResponseWriter, r *http.Request)
- func ApiEpochV1(w http.ResponseWriter, r *http.Request)
- func ApiValidatorByEth1AddressV1(w http.ResponseWriter, r *http.Request)
- func ApiValidatorDepositsV1(w http.ResponseWriter, r *http.Request)
- func ApiValidatorGetV1(w http.ResponseWriter, r *http.Request)
- func ApiValidatorPostV1(w http.ResponseWriter, r *http.Request)
- func ApiWithdrawalCredentialsValidatorsV1(w http.ResponseWriter, r *http.Request)
- func SendOKResponse(j *json.Encoder, route string, data []interface{})
- type APICheckpoints
- type APIClientHeadFork
- type APIClientHeadForkPeer
- type APIClientHeadForksData
- type APIClientHeadForksResponse
- type APIConsensusClientMetadata
- type APIConsensusClientNodeInfo
- type APIConsensusClientsResponse
- type APIConsolidationRequestInfo
- type APIConsolidationRequestTxDetails
- type APIConsolidationRequestsData
- type APIConsolidationRequestsResponse
- type APICurrentState
- type APIDasGuardianEvalResult
- type APIDasGuardianMassScanRequest
- type APIDasGuardianMassScanResponse
- type APIDasGuardianMetadata
- type APIDasGuardianScanRequest
- type APIDasGuardianScanResponse
- type APIDasGuardianScanResult
- type APIDasGuardianStatus
- type APIDepositIncludedInfo
- type APIDepositQueueInfo
- type APIDepositTransactionInfo
- type APIDepositsIncludedData
- type APIDepositsIncludedResponse
- type APIDepositsQueueData
- type APIDepositsQueueResponse
- type APIDepositsTransactionsData
- type APIDepositsTransactionsResponse
- type APIEpochDutiesData
- type APIEpochDutiesResponse
- type APIEpochDutiesSlotInfo
- type APIEpochHealthResponseV1
- type APIEpochInfo
- type APIEpochResponseV1
- type APIEpochsData
- type APIEpochsResponse
- type APIExecutionClientNodeInfo
- type APIExecutionClientsResponse
- type APIFastConfirmationClient
- type APIFastConfirmationData
- type APIFastConfirmationResponse
- type APIMassNodeResult
- type APIMevBlockInfo
- type APIMevBlockRelayInfo
- type APIMevBlocksData
- type APIMevBlocksResponse
- type APINetworkForkInfo
- type APINetworkForksData
- type APINetworkForksResponse
- type APINetworkInfo
- type APINetworkOverviewData
- type APINetworkOverviewMetadata
- type APINetworkOverviewResponse
- type APINetworkParticipation
- type APINetworkRawAggregates
- type APINetworkSplitInfo
- type APINetworkSplitsData
- type APINetworkSplitsResponse
- type APIQueueStats
- type APISlashingInfo
- type APISlashingsData
- type APISlashingsResponse
- type APISlotBid
- type APISlotBidsData
- type APISlotBidsResponse
- type APISlotBlockAccessListBalance
- type APISlotBlockAccessListCode
- type APISlotBlockAccessListData
- type APISlotBlockAccessListEntry
- type APISlotBlockAccessListNonce
- type APISlotBlockAccessListResponse
- type APISlotBlockAccessListStorage
- type APISlotBlockAccessListStorageGroup
- type APISlotCommitteeInfo
- type APISlotCommitteesData
- type APISlotCommitteesResponse
- type APISlotData
- type APISlotInclusionList
- type APISlotInclusionListTransaction
- type APISlotInclusionListsData
- type APISlotInclusionListsResponse
- type APISlotListItem
- type APISlotPayloadHeaderData
- type APISlotPayloadHeaderResponse
- type APISlotPtcAggregate
- type APISlotPtcValidator
- type APISlotPtcVotesData
- type APISlotPtcVotesResponse
- type APISlotResponse
- type APISlotsData
- type APISlotsResponse
- type APIValidatorActivityGroup
- type APIValidatorInfo
- type APIValidatorNameInfo
- type APIValidatorNamesData
- type APIValidatorNamesRequest
- type APIValidatorNamesResponse
- type APIValidatorStats
- type APIValidatorStatusInfo
- type APIValidatorsActivityData
- type APIValidatorsActivityResponse
- type APIValidatorsData
- type APIValidatorsResponse
- type APIValidatorsStatusData
- type APIValidatorsStatusRequest
- type APIValidatorsStatusResponse
- type APIVoluntaryExitInfo
- type APIVoluntaryExitsData
- type APIVoluntaryExitsResponse
- type APIWithdrawalRequestInfo
- type APIWithdrawalRequestTxDetails
- type APIWithdrawalRequestsData
- type APIWithdrawalRequestsResponse
- type ApiResponse
- type ApiValidatorDepositsResponseV1
- type ApiValidatorEth1ResponseV1
- type ApiValidatorRequestV1
- type ApiValidatorResponseV1
- type ApiWithdrawalCredentialsResponseV1
- type IndexerBeacon
- type SlotResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func APIConsensusClients ¶ added in v1.17.0
func APIConsensusClients(w http.ResponseWriter, r *http.Request)
APIConsensusClients returns consensus client node information as JSON @Summary Get consensus clients information @Description Returns a list of all connected consensus clients with their node information, including PeerDAS support. Sensitive information (PeerID, NodeID, ENR) is only included if ShowSensitivePeerInfos is enabled in the configuration. @Tags clients @Accept json @Produce json @Success 200 {object} APIConsensusClientsResponse @Failure 429 {object} map[string]string "Rate limit exceeded" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/clients/consensus [get] @ID getConsensusClients
func APIConsolidationRequestsV1 ¶ added in v1.19.0
func APIConsolidationRequestsV1(w http.ResponseWriter, r *http.Request)
APIConsolidationRequests returns a list of consolidation requests with filters @Summary Get consolidation requests list @Description Returns a list of consolidation requests (EL triggered) with detailed information and filtering options @Tags consolidation_requests @Accept json @Produce json @Param limit query int false "Number of consolidation requests to return (max 100)" @Param offset query int false "Offset for pagination" @Param min_slot query int false "Minimum slot number" @Param max_slot query int false "Maximum slot number" @Param source_address query string false "Filter by source address" @Param min_src_index query int false "Minimum source validator index" @Param max_src_index query int false "Maximum source validator index" @Param src_validator_name query string false "Filter by source validator name" @Param min_tgt_index query int false "Minimum target validator index" @Param max_tgt_index query int false "Maximum target validator index" @Param tgt_validator_name query string false "Filter by target validator name" @Param with_orphaned query int false "Include orphaned requests (2=orphaned only, 1=include all, 0=exclude orphaned)" @Param public_key query string false "Filter by public key" @Success 200 {object} APIConsolidationRequestsResponse @Failure 400 {object} map[string]string "Invalid parameters" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/consolidation_requests [get] @ID getConsolidationRequests
func APIDasGuardianMassScan ¶ added in v1.18.0
func APIDasGuardianMassScan(w http.ResponseWriter, r *http.Request)
APIDasGuardianMassScan performs a DAS Guardian scan on all available nodes @Summary Scan all nodes using DAS Guardian @Description Performs DAS Guardian scans on all available consensus client nodes in parallel @Tags das-guardian @Accept json @Produce json @Param request body APIDasGuardianMassScanRequest true "Mass scan parameters" @Success 200 {object} APIDasGuardianMassScanResponse @Failure 400 {object} map[string]string "Invalid request" @Failure 429 {object} map[string]string "Rate limit exceeded" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/das-guardian/mass-scan [post] @ID massDasGuardianScan
func APIDasGuardianScan ¶ added in v1.18.0
func APIDasGuardianScan(w http.ResponseWriter, r *http.Request)
APIDasGuardianScan performs a DAS Guardian scan on a given ENR @Summary Scan a node using DAS Guardian @Description Performs a comprehensive scan of a beacon node using eth-das-guardian to check P2P connectivity, fork digest validity, head accuracy, and custody information @Tags das-guardian @Accept json @Produce json @Param request body APIDasGuardianScanRequest true "Node ENR to scan" @Success 200 {object} APIDasGuardianScanResponse @Failure 400 {object} map[string]string "Invalid request" @Failure 429 {object} map[string]string "Rate limit exceeded" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/das-guardian/scan [post] @ID scanDasGuardian
func APIDepositsIncludedV1 ¶ added in v1.19.0
func APIDepositsIncludedV1(w http.ResponseWriter, r *http.Request)
APIDepositsIncludedV1 returns a list of deposits that have been included in blocks @Summary Get deposits included in blocks @Description Returns a list of deposits that have been successfully included in beacon chain blocks with comprehensive filtering @Tags deposits @Accept json @Produce json @Param limit query int false "Number of deposits to return (max 100)" @Param offset query int false "Offset for pagination" @Param min_index query int false "Minimum deposit index" @Param max_index query int false "Maximum deposit index" @Param public_key query string false "Filter by validator public key (with or without 0x prefix)" @Param validator_name query string false "Filter by validator name" @Param min_amount query int false "Minimum deposit amount in gwei" @Param max_amount query int false "Maximum deposit amount in gwei" @Param with_orphaned query int false "Include orphaned deposits (0=canonical only, 1=include all, 2=orphaned only)" @Param address query string false "Filter by depositor address" @Param with_valid query int false "Filter by signature validity (0=invalid only, 1=valid only, 2=all)" @Param cred_type query []int false "Filter by withdrawal credential type prefix byte (0-3). Repeat the parameter to include multiple types, e.g. cred_type=1&cred_type=2." collectionFormat(multi) @Success 200 {object} APIDepositsIncludedResponse @Failure 400 {object} map[string]string "Invalid parameters" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/deposits/included [get] @ID getDepositsIncluded
func APIDepositsQueueV1 ¶ added in v1.19.0
func APIDepositsQueueV1(w http.ResponseWriter, r *http.Request)
APIDepositsQueueV1 returns a list of queued deposits @Summary Get deposit queue @Description Returns a list of deposits in the queue waiting to be processed (Electra only) with comprehensive filtering @Tags deposits @Accept json @Produce json @Param limit query int false "Number of deposits to return (max 100)" @Param offset query int false "Offset for pagination" @Param min_index query int false "Minimum deposit index" @Param max_index query int false "Maximum deposit index" @Param public_key query string false "Filter by validator public key (with or without 0x prefix)" @Param min_amount query int false "Minimum deposit amount in gwei" @Param max_amount query int false "Maximum deposit amount in gwei" @Success 200 {object} APIDepositsQueueResponse @Failure 400 {object} map[string]string "Invalid parameters" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/deposits/queue [get] @ID getDepositsQueue
func APIDepositsTransactionsV1 ¶ added in v1.19.0
func APIDepositsTransactionsV1(w http.ResponseWriter, r *http.Request)
APIDepositsTransactionsV1 returns a list of deposit transactions @Summary Get deposit transactions @Description Returns a list of deposit transactions that have been initiated on the execution layer with comprehensive filtering @Tags deposits @Accept json @Produce json @Param limit query int false "Number of deposits to return (max 100)" @Param offset query int false "Offset for pagination" @Param min_index query int false "Minimum deposit index" @Param max_index query int false "Maximum deposit index" @Param public_key query string false "Filter by validator public key (with or without 0x prefix)" @Param validator_name query string false "Filter by validator name" @Param min_amount query int false "Minimum deposit amount in gwei" @Param max_amount query int false "Maximum deposit amount in gwei" @Param with_orphaned query int false "Include orphaned deposits (0=canonical only, 1=include all, 2=orphaned only)" @Param address query string false "Filter by transaction sender address" @Param target_address query string false "Filter by transaction target address" @Param with_valid query int false "Filter by signature validity (0=invalid only, 1=valid only, 2=all)" @Success 200 {object} APIDepositsTransactionsResponse @Failure 400 {object} map[string]string "Invalid parameters" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/deposits/transactions [get] @ID getDepositsTransactions
func APIEpochDutiesV1 ¶ added in v1.24.4
func APIEpochDutiesV1(w http.ResponseWriter, r *http.Request)
APIEpochDutiesV1 returns the attester committees for every slot in an epoch @Summary Get epoch attester duties @Description Returns the attester committees for every slot in the specified epoch. Committee members are global validator indices in committee order. @Tags Epoch @Produce json @Param epoch path int true "Epoch number" @Param dependent_root query string false "Resolve duties on the fork with this committee-shuffling dependent root (0x-prefixed hex)" @Param block_root query string false "Resolve duties on the fork that this block root sits on (0x-prefixed hex)" @Success 200 {object} APIEpochDutiesResponse @Failure 400 {object} map[string]string "Invalid parameters" @Failure 404 {object} map[string]string "Duties not available" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/epoch/{epoch}/duties [get] @ID getEpochDuties @Security BearerAuth
func APIEpochsV1 ¶ added in v1.19.0
func APIEpochsV1(w http.ResponseWriter, r *http.Request)
APIEpochs returns a list of epochs with filters @Summary Get epochs list @Description Returns a list of epochs with detailed information and statistics @Tags epochs @Accept json @Produce json @Param epoch query int false "First epoch to display" @Param limit query int false "Number of epochs to return (max 100)" @Success 200 {object} APIEpochsResponse @Failure 400 {object} map[string]string "Invalid parameters" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/epochs [get] @ID getEpochs
func APIExecutionClients ¶ added in v1.17.0
func APIExecutionClients(w http.ResponseWriter, r *http.Request)
APIExecutionClients returns execution client node information as JSON @Summary Get execution clients information @Description Returns a list of all connected execution clients with their node information. Sensitive information (IP addresses, ports, enode) is only included if ShowSensitivePeerInfos is enabled in the configuration. @Tags clients @Accept json @Produce json @Success 200 {object} APIExecutionClientsResponse @Failure 429 {object} map[string]string "Rate limit exceeded" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/clients/execution [get] @ID getExecutionClients
func APIMevBlocksV1 ¶ added in v1.19.0
func APIMevBlocksV1(w http.ResponseWriter, r *http.Request)
APIMevBlocksV1 returns a list of MEV blocks with filters @Summary Get MEV blocks @Description Returns a list of MEV blocks with relay information and comprehensive filtering @Tags mev_blocks @Accept json @Produce json @Param limit query int false "Number of MEV blocks to return (max 100)" @Param offset query int false "Offset for pagination" @Param min_slot query int false "Minimum slot number" @Param max_slot query int false "Maximum slot number" @Param min_index query int false "Minimum proposer validator index" @Param max_index query int false "Maximum proposer validator index" @Param validator_name query string false "Filter by proposer validator name" @Param relays query string false "Filter by MEV relays (comma-separated relay IDs)" @Param proposed query string false "Filter by proposed status (comma-separated: 0=not proposed, 1=proposed, 2=orphaned)" @Success 200 {object} APIMevBlocksResponse @Failure 400 {object} map[string]string "Invalid parameters" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/mev_blocks [get] @ID getMevBlocks
func APINetworkClientHeadForksV1 ¶ added in v1.20.4
func APINetworkClientHeadForksV1(w http.ResponseWriter, r *http.Request)
APINetworkClientHeadForksV1 returns consensus client head fork information. @Summary Get consensus client head forks @Description Returns information about consensus client head forks, showing which clients are on which chain head. Useful for detecting chain splits from the client perspective. @Tags network @Produce json @Success 200 {object} APIClientHeadForksResponse @Failure 500 {object} map[string]string "Internal server error" @Router /v1/network/client_head_forks [get] @ID getNetworkClientHeadForks
func APINetworkFastConfirmationV1 ¶ added in v1.24.2
func APINetworkFastConfirmationV1(w http.ResponseWriter, r *http.Request)
APINetworkFastConfirmationV1 returns the safe block from the fast confirmation rule. @Summary Get fast confirmation (safe block) status @Description Returns the network-wide safe block derived from the fast confirmation rule (fast_confirmation event stream), plus the per-client fast confirmation status. Clients that don't support the fast confirmation rule are listed with fcr_enabled=false. @Tags network @Produce json @Success 200 {object} APIFastConfirmationResponse @Failure 500 {object} map[string]string "Internal server error" @Router /v1/network/fast_confirmation [get] @ID getNetworkFastConfirmation
func APINetworkForksV1 ¶ added in v1.19.0
func APINetworkForksV1(w http.ResponseWriter, r *http.Request)
APINetworkForksV1 returns information about network forks including BPO forks and fork digests @Summary Get network forks @Description Returns comprehensive information about past, current, and future network forks including consensus forks and BPO (Block Parameter Override) forks with fork digests @Tags network @Accept json @Produce json @Success 200 {object} APINetworkForksResponse @Failure 500 {object} map[string]string "Internal server error" @Router /v1/network/forks [get] @ID getNetworkForks
func APINetworkOverviewV1 ¶ added in v1.19.0
func APINetworkOverviewV1(w http.ResponseWriter, r *http.Request)
APINetworkOverviewV1 returns comprehensive network state overview @Summary Get network overview @Description Returns comprehensive network state information including network info, current state, checkpoints, validator stats, queue stats, fork information and a health snapshot with finality status, validator counts and provenance-aware participation data @Tags network @Accept json @Produce json @Success 200 {object} APINetworkOverviewResponse @Failure 500 {object} ApiResponse "Server Error" @Router /v1/network/overview [get] @ID getNetworkOverview
func APINetworkSplitsV1 ¶ added in v1.19.0
func APINetworkSplitsV1(w http.ResponseWriter, r *http.Request)
APINetworkSplitsV1 returns information about active network splits/forks @Summary Get network splits @Description Returns information about active network forks/splits, their participation rates, and head blocks @Tags network @Accept json @Produce json @Param with_stale query bool false "Include stale forks with no voting weight (default: false)" @Success 200 {object} APINetworkSplitsResponse @Failure 500 {object} map[string]string "Internal server error" @Router /v1/network/splits [get] @ID getNetworkSplits
func APISlashingsV1 ¶ added in v1.19.0
func APISlashingsV1(w http.ResponseWriter, r *http.Request)
APISlashings returns a list of slashings with filters @Summary Get slashings list @Description Returns a list of slashings with detailed information and filtering options @Tags slashings @Accept json @Produce json @Param limit query int false "Number of slashings to return (max 100)" @Param page query int false "Page number (starts at 1)" @Param min_slot query int false "Minimum slot number" @Param max_slot query int false "Maximum slot number" @Param min_index query int false "Minimum validator index" @Param max_index query int false "Maximum validator index" @Param validator_name query string false "Filter by validator name" @Param slasher_name query string false "Filter by slasher name" @Param reason query int false "Filter by slashing reason" @Param with_orphaned query int false "Include orphaned slashings (0=exclude, 1=include, 2=only orphaned)" @Success 200 {object} APISlashingsResponse @Failure 400 {object} map[string]string "Invalid parameters" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/slashings [get] @ID getSlashings
func APISlotBidsV1 ¶ added in v1.22.6
func APISlotBidsV1(w http.ResponseWriter, r *http.Request)
APISlotBidsV1 returns all execution payload bids submitted for a slot (ePBS, EIP-7732) @Summary Get execution payload bids for a slot @Description Returns all execution payload bids submitted for a slot (ePBS, gloas+), including bids targeting other forks or deeper ancestors (reorg bids). Each bid is classified against the slot's actual block parent chain. @Tags Slot @Produce json @Param slotOrHash path string true "Slot number or block root (0x-prefixed hex)" @Success 200 {object} APISlotBidsResponse @Failure 400 {object} map[string]string "Invalid slot number or root format" @Failure 404 {object} map[string]string "Slot not found" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/slot/{slotOrHash}/bids [get] @ID getSlotBids
func APISlotBlockAccessListV1 ¶ added in v1.22.6
func APISlotBlockAccessListV1(w http.ResponseWriter, r *http.Request)
APISlotBlockAccessListV1 returns the EIP-7928 block access list for a slot @Summary Get block access list for a slot @Description Returns the EIP-7928 block access list (BAL) decoded for a specific slot. @Tags Slot @Produce json @Param slotOrHash path string true "Slot number or block root (0x-prefixed hex)" @Success 200 {object} APISlotBlockAccessListResponse @Failure 400 {object} map[string]string "Invalid slot number or root format" @Failure 404 {object} map[string]string "Slot not found" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/slot/{slotOrHash}/block_access_list [get] @ID getSlotBlockAccessList
func APISlotCommitteesV1 ¶ added in v1.24.4
func APISlotCommitteesV1(w http.ResponseWriter, r *http.Request)
APISlotCommitteesV1 returns the attester committees for a slot @Summary Get slot attester committees @Description Returns the attester committees for the specified slot. Committee members are global validator indices in committee order. @Tags Slot @Produce json @Param slot path int true "Slot number" @Param committee query string false "Comma-separated list of committee indices to filter by" @Param dependent_root query string false "Resolve committees on the fork with this committee-shuffling dependent root (0x-prefixed hex)" @Param block_root query string false "Resolve committees on the fork that this block root sits on (0x-prefixed hex)" @Success 200 {object} APISlotCommitteesResponse @Failure 400 {object} map[string]string "Invalid parameters" @Failure 404 {object} map[string]string "Committees not available" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/slot/{slot}/committees [get] @ID getSlotCommittees @Security BearerAuth
func APISlotInclusionListsV1 ¶ added in v1.22.6
func APISlotInclusionListsV1(w http.ResponseWriter, r *http.Request)
APISlotInclusionListsV1 returns the EIP-7805 inclusion lists for a slot. @Summary Get inclusion lists for a slot @Description Returns the cached EIP-7805 inclusion lists for a slot, with each transaction @Description marked as included or not based on whether it appears in the slot's block transactions. @Tags Slot @Produce json @Param slotOrHash path string true "Slot number or block root (0x-prefixed hex)" @Success 200 {object} APISlotInclusionListsResponse @Failure 400 {object} map[string]string "Invalid slot number or root format" @Failure 404 {object} map[string]string "Slot not found" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/slot/{slotOrHash}/inclusion_lists [get] @ID getSlotInclusionLists
func APISlotPayloadHeaderV1 ¶ added in v1.22.6
func APISlotPayloadHeaderV1(w http.ResponseWriter, r *http.Request)
APISlotPayloadHeaderV1 returns the gloas+ signed execution payload bid (header) for a slot. @Summary Get the execution payload header for a slot @Description Returns the gloas+ signed execution payload bid (header) included in a block, @Description plus its observed payload status (canonical / orphaned). Pre-gloas blocks return @Description has_payload_header=false. @Tags Slot @Produce json @Param slotOrHash path string true "Slot number or block root (0x-prefixed hex)" @Success 200 {object} APISlotPayloadHeaderResponse @Failure 400 {object} map[string]string "Invalid slot number or root format" @Failure 404 {object} map[string]string "Slot not found" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/slot/{slotOrHash}/payload_header [get] @ID getSlotPayloadHeader
func APISlotPtcVotesV1 ¶ added in v1.22.6
func APISlotPtcVotesV1(w http.ResponseWriter, r *http.Request)
APISlotPtcVotesV1 returns the PTC (Payload Timeliness Committee) votes contained in a slot. @Summary Get PTC votes for a slot @Description Returns the PTC (Payload Timeliness Committee) payload attestations included in a gloas+ block. @Description The attestations target the previous slot, mirroring what is shown on the slot page. @Tags Slot @Produce json @Param slotOrHash path string true "Slot number or block root (0x-prefixed hex)" @Param dependent_root query string false "Resolve the PTC on the fork with this committee-shuffling dependent root (0x-prefixed hex)" @Param block_root query string false "Resolve the PTC on the fork that this block root sits on (0x-prefixed hex)" @Success 200 {object} APISlotPtcVotesResponse @Failure 400 {object} map[string]string "Invalid slot number or root format" @Failure 404 {object} map[string]string "Slot not found" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/slot/{slotOrHash}/ptc_votes [get] @ID getSlotPtcVotes
func APISlotV1 ¶ added in v1.18.0
func APISlotV1(w http.ResponseWriter, r *http.Request)
APISlotV1 returns information about a specific slot by slot number or block root @Summary Get slot information @Description Returns detailed information about a specific slot from the database. Accepts either slot number or block root (0x-prefixed hex) @Tags Slot @Produce json @Param slotOrHash path string true "Slot number or block root (0x-prefixed hex)" @Success 200 {object} APISlotResponse @Failure 400 {object} map[string]string "Invalid slot number or root format" @Failure 404 {object} map[string]string "Slot not found" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/slot/{slotOrHash} [get] @ID getSlot
func APISlotsV1 ¶ added in v1.19.0
func APISlotsV1(w http.ResponseWriter, r *http.Request)
APISlotsV1 returns a list of slots with filters @Summary Get filtered slots list @Description Returns a list of slots with various filtering options, sorted by slot number descending @Tags Slot @Produce json @Param graffiti query string false "Filter by graffiti" @Param graffiti_invert query bool false "Invert graffiti filter" @Param extra_data query string false "Filter by extra data" @Param extra_data_invert query bool false "Invert extra data filter" @Param proposer query string false "Filter by proposer index" @Param proposer_name query string false "Filter by proposer name" @Param proposer_invert query bool false "Invert proposer filter" @Param with_orphaned query int false "Include orphaned blocks (0=exclude, 1=include, 2=only orphaned)" @Param with_missing query int false "Include missing blocks (0=exclude, 1=include, 2=only missing)" @Param min_sync query float32 false "Minimum sync aggregate participation (0-100)" @Param max_sync query float32 false "Maximum sync aggregate participation (0-100)" @Param min_exec_time query int false "Minimum execution time in ms" @Param max_exec_time query int false "Maximum execution time in ms" @Param min_tx_count query int false "Minimum transaction count" @Param max_tx_count query int false "Maximum transaction count" @Param min_blob_count query int false "Minimum blob count" @Param max_blob_count query int false "Maximum blob count" @Param fork_ids query string false "Comma-separated list of fork IDs" @Param min_slot query int false "Minimum slot number to return (inclusive)" @Param max_slot query int false "Maximum slot number to return (inclusive)" @Param page query int false "Page number for pagination (0-indexed, default 0)" @Param limit query int false "Number of results to return (max 1000, default 100)" @Success 200 {object} APISlotsResponse @Failure 400 {object} map[string]string "Invalid parameters" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/slots [get] @ID getSlots
func APIValidatorNamesV1 ¶ added in v1.19.0
func APIValidatorNamesV1(w http.ResponseWriter, r *http.Request)
APIValidatorNamesV1 returns validator names for given indices or public keys Supports both GET (with query params) and POST (with JSON body) requests @Summary Get validator names @Description Returns validator names for given validator indices or public keys. Supports GET with query params or POST with JSON body for large lists. @Tags validator_names @Accept json @Produce json @Param indices query string false "Comma-separated list of validator indices (GET only)" @Param pubkeys query string false "Comma-separated list of validator public keys (GET only, with or without 0x prefix)" @Param body body APIValidatorNamesRequest false "Request body for POST requests with indices and/or pubkeys arrays" @Success 200 {object} APIValidatorNamesResponse @Failure 400 {object} map[string]string "Invalid parameters" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/validator_names [get] @Router /v1/validator_names [post] @ID getValidatorNames
func APIValidatorsActivityV1 ¶ added in v1.19.0
func APIValidatorsActivityV1(w http.ResponseWriter, r *http.Request)
APIValidatorsActivityV1 returns aggregated validator activity stats @Summary Get validators activity statistics @Description Returns aggregated validator activity statistics with grouping and filtering options @Tags validators @Accept json @Produce json @Param limit query int false "Number of groups to return (max 1000, default 50)" @Param page query int false "Page number (starts at 1)" @Param group query int false "Grouping option: 1=by 100k indexes, 2=by 10k indexes, 3=by validator names, 4=by withdrawal address (default: 3 if names available, else 1)" @Param search query string false "Search term for group names, withdrawal addresses, or withdrawal credentials (supports regex for non-exact address searches)" @Param order query string false "Sort order: group, group-d, count, count-d, active, active-d, online, online-d, offline, offline-d, exited, exited-d, slashed, slashed-d (default: group)" @Success 200 {object} APIValidatorsActivityResponse @Failure 400 {object} map[string]string "Invalid parameters" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/validators/activity [get] @ID getValidatorsActivity
func APIValidatorsStatusV1 ¶ added in v1.24.4
func APIValidatorsStatusV1(w http.ResponseWriter, r *http.Request)
APIValidatorsStatusV1 returns the status of validators in bulk Supports both GET (with query params) and POST (with JSON body) requests @Summary Get validator status in bulk @Description Returns status, slashed flag and lifecycle epochs for up to 10000 validators by index. Supports GET with query params or POST with JSON body for large lists. Unknown indices are omitted from the response. @Tags validators @Accept json @Produce json @Param indices query string false "Comma-separated list of validator indices (GET only)" @Param body body APIValidatorsStatusRequest false "Request body for POST requests with indices array" @Success 200 {object} APIValidatorsStatusResponse @Failure 400 {object} map[string]string "Invalid parameters" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/validators/status [get] @Router /v1/validators/status [post] @ID getValidatorsStatus @Security BearerAuth
func APIValidatorsV1 ¶ added in v1.19.0
func APIValidatorsV1(w http.ResponseWriter, r *http.Request)
APIValidators returns a list of validators with filters @Summary Get validators list @Description Returns a list of validators with detailed information and filtering options @Tags validators @Accept json @Produce json @Param limit query int false "Number of validators to return (max 1000)" @Param page query int false "Page number (starts at 1)" @Param pubkey query string false "Filter by public key" @Param index query string false "Filter by validator index" @Param name query string false "Filter by validator name" @Param status query string false "Filter by validator status (comma-separated)" @Param withdrawal query string false "Filter by withdrawal address or withdrawal credentials" @Param order query string false "Sort order: index, index-d, pubkey, pubkey-d, balance, balance-d, activation, activation-d, exit, exit-d" @Success 200 {object} APIValidatorsResponse @Failure 400 {object} map[string]string "Invalid parameters" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/validators [get] @ID getValidators
func APIVoluntaryExitsV1 ¶ added in v1.19.0
func APIVoluntaryExitsV1(w http.ResponseWriter, r *http.Request)
APIVoluntaryExits returns a list of voluntary exits with filters @Summary Get voluntary exits list @Description Returns a list of voluntary exits with detailed information and filtering options @Tags voluntary_exits @Accept json @Produce json @Param limit query int false "Number of voluntary exits to return (max 100)" @Param page query int false "Page number (starts at 1)" @Param min_slot query int false "Minimum slot number" @Param max_slot query int false "Maximum slot number" @Param min_index query int false "Minimum validator index" @Param max_index query int false "Maximum validator index" @Param validator_name query string false "Filter by validator name" @Param with_orphaned query int false "Include orphaned exits (1=include, 0=exclude)" @Success 200 {object} APIVoluntaryExitsResponse @Failure 400 {object} map[string]string "Invalid parameters" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/voluntary_exits [get] @ID getVoluntaryExits
func APIWithdrawalRequestsV1 ¶ added in v1.19.0
func APIWithdrawalRequestsV1(w http.ResponseWriter, r *http.Request)
APIWithdrawalRequests returns a list of withdrawal requests with filters @Summary Get withdrawal requests list @Description Returns a list of withdrawal requests (EL triggered) with detailed information and filtering options @Tags withdrawal_requests @Accept json @Produce json @Param limit query int false "Number of withdrawal requests to return (max 100)" @Param offset query int false "Offset for pagination" @Param min_slot query int false "Minimum slot number" @Param max_slot query int false "Maximum slot number" @Param source_address query string false "Filter by source address" @Param min_index query int false "Minimum validator index" @Param max_index query int false "Maximum validator index" @Param validator_name query string false "Filter by validator name" @Param with_orphaned query int false "Include orphaned requests (1=include, 0=exclude)" @Param type query int false "Filter by type (1=withdrawals, 2=exits)" @Param public_key query string false "Filter by public key" @Success 200 {object} APIWithdrawalRequestsResponse @Failure 400 {object} map[string]string "Invalid parameters" @Failure 500 {object} map[string]string "Internal server error" @Router /v1/withdrawal_requests [get] @ID getWithdrawalRequests
func ApiEpochHealthV1 ¶ added in v1.24.1
func ApiEpochHealthV1(w http.ResponseWriter, r *http.Request)
ApiEpochHealthV1 godoc @Summary Get epoch health by number, latest, finalized @Tags Epoch @Description Returns the vote, proposal and payload participation rates for an epoch. The chain is only fully healthy when all three reach 100%. Post-ePBS (EIP-7732) payloads are revealed separately from beacon blocks and may be missing. @Produce json @Param epoch path string true "Epoch number, the string latest or the string finalized" @Success 200 {object} ApiResponse{data=APIEpochHealthResponseV1} "Success" @Failure 400 {object} ApiResponse "Failure" @Failure 500 {object} ApiResponse "Server Error" @Router /v1/epoch/{epoch}/health [get] @ID getEpochHealth
func ApiEpochV1 ¶
func ApiEpochV1(w http.ResponseWriter, r *http.Request)
ApiEpoch godoc @Summary Get epoch by number, latest, finalized @Tags Epoch @Description Returns information for a specified epoch by the epoch number or an epoch tag (can be latest or finalized) @Produce json @Param epoch path string true "Epoch number, the string latest or the string finalized" @Success 200 {object} ApiResponse{data=APIEpochResponseV1} "Success" @Failure 400 {object} ApiResponse "Failure" @Failure 500 {object} ApiResponse "Server Error" @Router /v1/epoch/{epoch} [get] @ID getEpoch
func ApiValidatorByEth1AddressV1 ¶
func ApiValidatorByEth1AddressV1(w http.ResponseWriter, r *http.Request)
ApiValidatorByEth1Address godoc @Summary Get all validators that belong to an eth1 address @Tags Validator @Produce json @Param eth1address path string true "Eth1 address from which the validator deposits were sent". @Param limit query string false "Limit the number of results (default: 2000)" @Param offset query string false "Offset the results (default: 0)" @Success 200 {object} ApiResponse{data=[]ApiValidatorEth1ResponseV1} @Failure 400 {object} ApiResponse @Router /v1/validator/eth1/{eth1address} [get] @ID getValidatorByEth1Address
func ApiValidatorDepositsV1 ¶ added in v1.16.0
func ApiValidatorDepositsV1(w http.ResponseWriter, r *http.Request)
ApiValidatorDepositsV1 godoc @Summary Get validator execution layer deposits @Description Get all eth1 deposits for up to 100 validators @Tags Validators @Produce json @Param indexOrPubkey path string true "Up to 100 validator indicesOrPubkeys, comma separated" @Success 200 {object} api.ApiResponse{data=[]api.ApiValidatorDepositsResponseV1} @Failure 400 {object} api.ApiResponse @Router /v1/validator/{indexOrPubkey}/deposits [get] @ID getValidatorDeposits
func ApiValidatorGetV1 ¶
func ApiValidatorGetV1(w http.ResponseWriter, r *http.Request)
ApiValidator godoc @Summary Get up to 100 validators @Tags Validator @Description Searching for too many validators based on their pubkeys will lead to a "URI too long" error @Produce json @Param indexOrPubkey path string true "Up to 100 validator indicesOrPubkeys, comma separated" @Success 200 {object} ApiResponse{data=[]ApiValidatorResponseV1} @Failure 400 {object} ApiResponse @Router /v1/validator/{indexOrPubkey} [get] @ID getValidator
func ApiValidatorPostV1 ¶
func ApiValidatorPostV1(w http.ResponseWriter, r *http.Request)
ApiValidator godoc @Summary Get up to 100 validators @Tags Validator @Description This POST endpoint exists because the GET endpoint can lead to a "URI too long" error when searching for too many validators based on their pubkeys. @Produce json @Param indexOrPubkey body ApiValidatorRequestV1 true "Up to 100 validator indicesOrPubkeys, comma separated" @Success 200 {object} ApiResponse{data=[]ApiValidatorResponseV1} @Failure 400 {object} ApiResponse @Router /v1/validator [post] @ID getValidatorPost
func ApiWithdrawalCredentialsValidatorsV1 ¶
func ApiWithdrawalCredentialsValidatorsV1(w http.ResponseWriter, r *http.Request)
ApiWithdrawalCredentialsValidators godoc @Summary Get all validators that have a specific withdrawal credentials @Tags Validator @Produce json @Param withdrawalCredentialsOrEth1address path string true "Provide a withdrawal credential or an eth1 address with an optional 0x prefix". It can also be a valid ENS name. @Param limit query int false "Limit the number of results, maximum: 200" default(10) @Param offset query int false "Offset the number of results" default(0) @Success 200 {object} ApiResponse{data=[]ApiWithdrawalCredentialsResponseV1} @Failure 400 {object} ApiResponse @Router /v1/validator/withdrawalCredentials/{withdrawalCredentialsOrEth1address} [get] @ID getWithdrawalCredentialsValidators
func SendOKResponse ¶
Types ¶
type APICheckpoints ¶ added in v1.19.0
type APICheckpoints struct {
FinalizedEpoch int64 `json:"finalized_epoch"`
FinalizedRoot string `json:"finalized_root,omitempty"`
JustifiedEpoch int64 `json:"justified_epoch"`
JustifiedRoot string `json:"justified_root,omitempty"`
}
APICheckpoints contains finalization and justification information
type APIClientHeadFork ¶ added in v1.20.4
type APIClientHeadFork struct {
HeadSlot uint64 `json:"head_slot"`
HeadRoot string `json:"head_root"`
Clients []*APIClientHeadForkPeer `json:"clients"`
ClientCount uint64 `json:"client_count"`
}
APIClientHeadFork represents a single head fork with its associated clients.
type APIClientHeadForkPeer ¶ added in v1.20.4
type APIClientHeadForkPeer 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:"last_refresh"`
LastError string `json:"last_error,omitempty"`
}
APIClientHeadForkPeer represents a consensus client on a particular fork head.
type APIClientHeadForksData ¶ added in v1.20.4
type APIClientHeadForksData struct {
Forks []*APIClientHeadFork `json:"forks"`
ForkCount uint64 `json:"fork_count"`
}
APIClientHeadForksData contains information about consensus client head forks.
type APIClientHeadForksResponse ¶ added in v1.20.4
type APIClientHeadForksResponse struct {
Status string `json:"status"`
Data *APIClientHeadForksData `json:"data"`
}
APIClientHeadForksResponse represents the response for the client head forks endpoint.
type APIConsensusClientMetadata ¶ added in v1.18.0
type APIConsensusClientMetadata struct {
Attnets string `json:"attnets,omitempty"`
Syncnets string `json:"syncnets,omitempty"`
SeqNumber string `json:"seq_number,omitempty"`
CustodyGroupCount string `json:"custody_group_count,omitempty"` // MetadataV3 field for Fulu
}
APIConsensusClientMetadata represents the metadata from the node identity
type APIConsensusClientNodeInfo ¶ added in v1.17.0
type APIConsensusClientNodeInfo struct {
ClientName string `json:"client_name"`
ClientType string `json:"client_type"`
Version string `json:"version"`
PeerID string `json:"peer_id"`
NodeID string `json:"node_id"`
ENR string `json:"enr"`
ENRDecoded map[string]interface{} `json:"enr_decoded,omitempty"`
HeadSlot uint64 `json:"head_slot"`
HeadRoot string `json:"head_root"`
FcrEnabled bool `json:"fcr_enabled"`
SafeSlot uint64 `json:"safe_slot,omitempty"`
SafeRoot string `json:"safe_root,omitempty"`
Status string `json:"status"`
PeerCount uint32 `json:"peer_count"`
PeersInbound uint32 `json:"peers_inbound"`
PeersOutbound uint32 `json:"peers_outbound"`
LastRefresh time.Time `json:"last_refresh"`
LastError string `json:"last_error,omitempty"`
DataColumns []uint64 `json:"data_columns"`
Metadata *APIConsensusClientMetadata `json:"metadata,omitempty"`
}
APIConsensusClientNodeInfo represents the response structure for consensus client node info
type APIConsensusClientsResponse ¶ added in v1.17.0
type APIConsensusClientsResponse struct {
Clients []APIConsensusClientNodeInfo `json:"clients"`
Count int `json:"count"`
}
APIConsensusClientsResponse represents the full API response
type APIConsolidationRequestInfo ¶ added in v1.19.0
type APIConsolidationRequestInfo struct {
SourceAddress string `json:"source_address"`
SourcePublicKey string `json:"source_public_key"`
SourceValidatorIndex uint64 `json:"source_validator_index,omitempty"`
SourceValidatorName string `json:"source_validator_name,omitempty"`
SourceValidatorValid bool `json:"source_validator_valid"`
TargetPublicKey string `json:"target_public_key"`
TargetValidatorIndex uint64 `json:"target_validator_index,omitempty"`
TargetValidatorName string `json:"target_validator_name,omitempty"`
TargetValidatorValid bool `json:"target_validator_valid"`
IsIncluded bool `json:"is_included"`
SlotNumber uint64 `json:"slot_number,omitempty"`
SlotRoot string `json:"slot_root,omitempty"`
Time int64 `json:"time,omitempty"`
Status uint64 `json:"status"` // 0=pending, 1=included, 2=orphaned
Result uint8 `json:"result,omitempty"`
ResultMessage string `json:"result_message,omitempty"`
TxStatus uint64 `json:"tx_status"` // 0=pending, 1=confirmed, 2=orphaned
TransactionHash string `json:"transaction_hash,omitempty"`
TransactionDetails *APIConsolidationRequestTxDetails `json:"transaction_details,omitempty"`
}
APIConsolidationRequestInfo represents information about a single consolidation request
type APIConsolidationRequestTxDetails ¶ added in v1.19.0
type APIConsolidationRequestTxDetails struct {
BlockNumber uint64 `json:"block_number"`
BlockHash string `json:"block_hash"`
BlockTime int64 `json:"block_time"`
TxOrigin string `json:"tx_origin"`
TxTarget string `json:"tx_target"`
TxHash string `json:"tx_hash"`
}
APIConsolidationRequestTxDetails represents transaction details for a consolidation request
type APIConsolidationRequestsData ¶ added in v1.19.0
type APIConsolidationRequestsData struct {
ConsolidationRequests []*APIConsolidationRequestInfo `json:"consolidation_requests"`
Count uint64 `json:"count"`
TotalRequests uint64 `json:"total_requests"`
TotalPending uint64 `json:"total_pending"`
}
APIConsolidationRequestsData contains the consolidation requests data
type APIConsolidationRequestsResponse ¶ added in v1.19.0
type APIConsolidationRequestsResponse struct {
Status string `json:"status"`
Data *APIConsolidationRequestsData `json:"data"`
}
APIConsolidationRequestsResponse represents the response structure for consolidation requests list
type APICurrentState ¶ added in v1.19.0
type APICurrentState struct {
CurrentSlot uint64 `json:"current_slot"`
CurrentEpoch uint64 `json:"current_epoch"`
CurrentEpochProgress float64 `json:"current_epoch_progress"`
SlotsPerEpoch uint64 `json:"slots_per_epoch"`
SlotDurationMs uint64 `json:"slot_duration_ms"`
EpochDurationMs uint64 `json:"epoch_duration_ms"`
}
APICurrentState contains current network state
type APIDasGuardianEvalResult ¶ added in v1.18.0
type APIDasGuardianEvalResult struct {
NodeID string `json:"node_id"`
Slots []uint64 `json:"slots"`
ColumnIdx []uint64 `json:"column_idx"`
DownloadedResult [][]string `json:"downloaded_result"`
ValidKzg [][]string `json:"valid_kzg"`
ValidColumn [][]bool `json:"valid_column"`
ValidSlot []bool `json:"valid_slot"`
Error string `json:"error,omitempty"`
}
APIDasGuardianEvalResult represents the DAS evaluation results
type APIDasGuardianMassScanRequest ¶ added in v1.18.0
type APIDasGuardianMassScanRequest struct {
Slots []uint64 `json:"slots,omitempty"` // Optional slot numbers to scan
RandomMode string `json:"random_mode,omitempty"` // Random slot selection mode: "non_missed", "with_blobs", "available"
RandomCount int32 `json:"random_count,omitempty"` // Number of random slots to select (default: 4)
}
APIDasGuardianMassScanRequest represents the request body for mass DAS Guardian scan
type APIDasGuardianMassScanResponse ¶ added in v1.18.0
type APIDasGuardianMassScanResponse struct {
Success bool `json:"success"`
Error string `json:"error,omitempty"`
Slots []uint64 `json:"slots,omitempty"` // The slots that were scanned
Results map[string]*APIMassNodeResult `json:"results,omitempty"` // ENR -> node result
}
APIDasGuardianMassScanResponse represents the response from mass DAS Guardian scan
type APIDasGuardianMetadata ¶ added in v1.18.0
type APIDasGuardianMetadata struct {
SeqNumber uint64 `json:"seq_number"`
Attnets string `json:"attnets"`
Syncnets string `json:"syncnets"`
CustodyGroupCount uint64 `json:"custody_group_count"`
}
APIDasGuardianMetadata represents the beacon node metadata
type APIDasGuardianScanRequest ¶ added in v1.18.0
type APIDasGuardianScanRequest struct {
ENR string `json:"enr"`
Slots []uint64 `json:"slots,omitempty"` // Optional slot numbers to scan
RandomMode string `json:"random_mode,omitempty"` // Random slot selection mode: "non_missed", "with_blobs", "available"
RandomCount int32 `json:"random_count,omitempty"` // Number of random slots to select (default: 4)
}
APIDasGuardianScanRequest represents the request body for DAS Guardian scan
type APIDasGuardianScanResponse ¶ added in v1.18.0
type APIDasGuardianScanResponse struct {
Success bool `json:"success"`
Error string `json:"error,omitempty"`
Result *APIDasGuardianScanResult `json:"result,omitempty"`
}
APIDasGuardianScanResponse represents the response from DAS Guardian scan
type APIDasGuardianScanResult ¶ added in v1.18.0
type APIDasGuardianScanResult struct {
// P2P Information
Libp2pInfo map[string]interface{} `json:"libp2p_info"`
// Status Information (from RemoteStatus)
RemoteStatus *APIDasGuardianStatus `json:"remote_status,omitempty"`
// Metadata (from RemoteMetadata)
RemoteMetadata *APIDasGuardianMetadata `json:"remote_metadata,omitempty"`
// DAS Evaluation Result
EvalResult *APIDasGuardianEvalResult `json:"eval_result,omitempty"`
}
APIDasGuardianScanResult represents the scan result details
type APIDasGuardianStatus ¶ added in v1.18.0
type APIDasGuardianStatus struct {
ForkDigest string `json:"fork_digest"`
FinalizedRoot string `json:"finalized_root"`
FinalizedEpoch uint64 `json:"finalized_epoch"`
HeadRoot string `json:"head_root"`
HeadSlot uint64 `json:"head_slot"`
EarliestSlot uint64 `json:"earliest_slot"`
}
APIDasGuardianStatus represents the beacon node status
type APIDepositIncludedInfo ¶ added in v1.19.0
type APIDepositIncludedInfo struct {
Index uint64 `json:"index,omitempty"`
SlotNumber uint64 `json:"slot_number,omitempty"`
SlotRoot string `json:"slot_root,omitempty"`
Time int64 `json:"time"`
BlockNumber uint64 `json:"block_number,omitempty"`
PublicKey string `json:"public_key"`
ValidatorIndex int64 `json:"validator_index"`
ValidatorName string `json:"validator_name,omitempty"`
Amount uint64 `json:"amount"`
WithdrawalCredentials string `json:"withdrawal_credentials"`
TxHash string `json:"tx_hash,omitempty"`
TxOrigin string `json:"tx_origin,omitempty"`
TxTarget string `json:"tx_target,omitempty"`
Orphaned bool `json:"orphaned"`
Valid bool `json:"valid,omitempty"`
}
APIDepositIncludedInfo represents information about a single deposit included in blocks
type APIDepositQueueInfo ¶ added in v1.19.0
type APIDepositQueueInfo struct {
Index uint64 `json:"index,omitempty"`
QueuePosition uint64 `json:"queue_position"`
EstimatedTime int64 `json:"estimated_time"`
PublicKey string `json:"public_key"`
ValidatorIndex int64 `json:"validator_index"`
ValidatorName string `json:"validator_name,omitempty"`
ValidatorStatus string `json:"validator_status"`
Amount uint64 `json:"amount"`
WithdrawalCredentials string `json:"withdrawal_credentials"`
Postponed bool `json:"postponed"`
TxHash string `json:"tx_hash,omitempty"`
TxOrigin string `json:"tx_origin,omitempty"`
TxTarget string `json:"tx_target,omitempty"`
BlockNumber uint64 `json:"block_number,omitempty"`
BlockHash string `json:"block_hash,omitempty"`
Time int64 `json:"time,omitempty"`
ValidatorLiveness uint8 `json:"validator_liveness,omitempty"`
ValidatorLivenessMax uint8 `json:"validator_liveness_max,omitempty"`
}
APIDepositQueueInfo represents information about a single queued deposit
type APIDepositTransactionInfo ¶ added in v1.19.0
type APIDepositTransactionInfo struct {
Index uint64 `json:"index"`
BlockNumber uint64 `json:"block_number"`
BlockHash string `json:"block_hash,omitempty"`
Time int64 `json:"time"`
PublicKey string `json:"public_key"`
ValidatorIndex int64 `json:"validator_index"`
ValidatorName string `json:"validator_name,omitempty"`
ValidatorStatus string `json:"validator_status"`
Amount uint64 `json:"amount"`
WithdrawalCredentials string `json:"withdrawal_credentials"`
TxHash string `json:"tx_hash"`
TxOrigin string `json:"tx_origin"`
TxTarget string `json:"tx_target"`
Orphaned bool `json:"orphaned"`
Valid bool `json:"valid"`
ValidatorLiveness uint8 `json:"validator_liveness,omitempty"`
ValidatorLivenessMax uint8 `json:"validator_liveness_max,omitempty"`
}
APIDepositTransactionInfo represents information about a single deposit transaction
type APIDepositsIncludedData ¶ added in v1.19.0
type APIDepositsIncludedData struct {
Deposits []*APIDepositIncludedInfo `json:"deposits"`
Count uint64 `json:"count"`
TotalCount uint64 `json:"total_count"`
CurrentEpoch uint64 `json:"current_epoch"`
}
APIDepositsIncludedData contains the deposits included data
type APIDepositsIncludedResponse ¶ added in v1.19.0
type APIDepositsIncludedResponse struct {
Status string `json:"status"`
Data *APIDepositsIncludedData `json:"data"`
}
APIDepositsIncludedResponse represents the response structure for deposits included in blocks
type APIDepositsQueueData ¶ added in v1.19.0
type APIDepositsQueueData struct {
Deposits []*APIDepositQueueInfo `json:"deposits"`
Count uint64 `json:"count"`
TotalCount uint64 `json:"total_count"`
CurrentEpoch uint64 `json:"current_epoch"`
IsElectra bool `json:"is_electra"`
TotalNewValidators uint64 `json:"total_new_validators,omitempty"`
TotalAmount uint64 `json:"total_amount,omitempty"`
EstimatedProcessTime *int64 `json:"estimated_process_time,omitempty"`
}
APIDepositsQueueData contains the deposit queue data
type APIDepositsQueueResponse ¶ added in v1.19.0
type APIDepositsQueueResponse struct {
Status string `json:"status"`
Data *APIDepositsQueueData `json:"data"`
}
APIDepositsQueueResponse represents the response structure for deposit queue
type APIDepositsTransactionsData ¶ added in v1.19.0
type APIDepositsTransactionsData struct {
Deposits []*APIDepositTransactionInfo `json:"deposits"`
Count uint64 `json:"count"`
TotalCount uint64 `json:"total_count"`
CurrentEpoch uint64 `json:"current_epoch"`
}
APIDepositsTransactionsData contains the deposit transactions data
type APIDepositsTransactionsResponse ¶ added in v1.19.0
type APIDepositsTransactionsResponse struct {
Status string `json:"status"`
Data *APIDepositsTransactionsData `json:"data"`
}
APIDepositsTransactionsResponse represents the response structure for deposit transactions
type APIEpochDutiesData ¶ added in v1.24.4
type APIEpochDutiesData struct {
Epoch uint64 `json:"epoch"`
DependentRoot string `json:"dependent_root,omitempty"`
CommitteesPerSlot uint64 `json:"committees_per_slot"`
Slots []*APIEpochDutiesSlotInfo `json:"slots"`
}
APIEpochDutiesData contains the attester committees for all slots of an epoch
type APIEpochDutiesResponse ¶ added in v1.24.4
type APIEpochDutiesResponse struct {
Status string `json:"status"`
Data *APIEpochDutiesData `json:"data"`
}
APIEpochDutiesResponse represents the response structure for epoch attester duties
type APIEpochDutiesSlotInfo ¶ added in v1.24.4
type APIEpochDutiesSlotInfo struct {
Slot uint64 `json:"slot"`
Proposer uint64 `json:"proposer"`
Committees [][]uint64 `json:"committees"`
}
APIEpochDutiesSlotInfo contains the attester committees of a single slot. The position in the committees array is the committee index, the values are global validator indices in committee order.
type APIEpochHealthResponseV1 ¶ added in v1.24.1
type APIEpochHealthResponseV1 struct {
Epoch uint64 `json:"epoch"`
Ts uint64 `json:"ts"`
Finalized bool `json:"finalized"`
EligibleEther uint64 `json:"eligible_ether"`
VotedEther uint64 `json:"voted_ether"`
VoteParticipation float64 `json:"vote_participation"`
ProposedBlocks uint64 `json:"proposed_blocks"`
ProposalParticipation float64 `json:"proposal_participation"`
ProposedPayloads uint64 `json:"proposed_payloads"`
PayloadParticipation float64 `json:"payload_participation"`
Slots uint64 `json:"slots"`
Healthy bool `json:"healthy"`
}
APIEpochHealthResponseV1 reports the three participation rates that together describe the health of an epoch. Post-ePBS (EIP-7732) a beacon block can be proposed while its execution payload is missing, so payload participation is tracked separately from proposal participation. The chain is only fully healthy for an epoch when all three rates reach 100%.
type APIEpochInfo ¶ added in v1.19.0
type APIEpochInfo struct {
Epoch uint64 `json:"epoch"`
Finalized bool `json:"finalized"`
VotingFinalized bool `json:"voting_finalized"`
VotingJustified bool `json:"voting_justified"`
Validators uint64 `json:"validators"`
ValidatorBalance uint64 `json:"validator_balance"`
EligibleEther uint64 `json:"eligible_ether"`
TargetVoted uint64 `json:"target_voted"`
HeadVoted uint64 `json:"head_voted"`
TotalVoted uint64 `json:"total_voted"`
VoteParticipation float64 `json:"vote_participation"`
Attestations uint64 `json:"attestations"`
Deposits uint64 `json:"deposits"`
DepositsAmount uint64 `json:"deposits_amount"`
ProposerSlashings uint64 `json:"proposer_slashings"`
AttesterSlashings uint64 `json:"attester_slashings"`
Exits uint64 `json:"exits"`
WithdrawalsCount uint64 `json:"withdrawals_count"`
WithdrawalsAmount uint64 `json:"withdrawals_amount"`
BLSChanges uint64 `json:"bls_changes"`
SyncParticipation float64 `json:"sync_participation"`
ProposedBlocks uint64 `json:"proposed_blocks"`
MissedBlocks uint64 `json:"missed_blocks"`
OrphanedBlocks uint64 `json:"orphaned_blocks"`
ProposedPayloads uint64 `json:"proposed_payloads"`
MissedPayloads uint64 `json:"missed_payloads"`
MinSyncCommitteeSize uint64 `json:"min_sync_committee_size,omitempty"`
MaxSyncCommitteeSize uint64 `json:"max_sync_committee_size,omitempty"`
WithdrawalRequests uint64 `json:"withdrawal_requests,omitempty"`
ConsolidationRequests uint64 `json:"consolidation_requests,omitempty"`
}
APIEpochInfo represents information about a single epoch
type APIEpochResponseV1 ¶
type APIEpochResponseV1 struct {
Epoch uint64 `json:"epoch"`
Ts uint64 `json:"ts"`
AttestationsCount uint64 `json:"attestationscount"`
AttesterSlashingsCount uint64 `json:"attesterslashingscount"`
AverageValidatorBalance uint64 `json:"averagevalidatorbalance"`
BlocksCount uint64 `json:"blockscount"`
DepositsCount uint64 `json:"depositscount"`
EligibleEther uint64 `json:"eligibleether"`
Finalized bool `json:"finalized"`
GlobalParticipationRate uint64 `json:"globalparticipationrate"`
MissedBlocks uint64 `json:"missedblocks"`
OrphanedBlocks uint64 `json:"orphanedblocks"`
ProposedBlocks uint64 `json:"proposedblocks"`
ProposedPayloads uint64 `json:"proposedpayloads"`
MissedPayloads uint64 `json:"missedpayloads"`
ProposerSlashingsCount uint64 `json:"proposerslashingscount"`
ScheduledBlocks uint64 `json:"scheduledblocks"`
TotalValidatorBalance uint64 `json:"totalvalidatorbalance"`
ValidatorsCount uint64 `json:"validatorscount"`
VoluntaryExitsCount uint64 `json:"voluntaryexitscount"`
VotedEther uint64 `json:"votedether"`
RewardsExported uint64 `json:"rewards_exported"`
WithdrawalCount uint64 `json:"withdrawalcount"`
}
type APIEpochsData ¶ added in v1.19.0
type APIEpochsData struct {
Epochs []*APIEpochInfo `json:"epochs"`
EpochCount uint64 `json:"epoch_count"`
FirstEpoch uint64 `json:"first_epoch"`
LastEpoch uint64 `json:"last_epoch"`
TotalEpochs uint64 `json:"total_epochs"`
CurrentEpoch uint64 `json:"current_epoch"`
FinalizedEpoch uint64 `json:"finalized_epoch"`
}
APIEpochsData contains the epochs data
type APIEpochsResponse ¶ added in v1.19.0
type APIEpochsResponse struct {
Status string `json:"status"`
Data *APIEpochsData `json:"data"`
}
APIEpochsResponse represents the response structure for epochs list
type APIExecutionClientNodeInfo ¶ added in v1.17.0
type APIExecutionClientNodeInfo struct {
ClientName string `json:"client_name"`
NodeID string `json:"node_id"`
Enode string `json:"enode"`
IP string `json:"ip"`
Port int `json:"port"`
Version string `json:"version"`
Status string `json:"status"`
LastUpdate time.Time `json:"last_update"`
}
APIExecutionClientNodeInfo represents the response structure for execution client node info
type APIExecutionClientsResponse ¶ added in v1.17.0
type APIExecutionClientsResponse struct {
Clients []APIExecutionClientNodeInfo `json:"clients"`
Count int `json:"count"`
}
APIExecutionClientsResponse represents the full API response
type APIFastConfirmationClient ¶ added in v1.24.2
type APIFastConfirmationClient struct {
Index int `json:"index"`
Name string `json:"name"`
Status string `json:"status"`
FcrEnabled bool `json:"fcr_enabled"`
SafeSlot uint64 `json:"safe_slot,omitempty"`
SafeRoot string `json:"safe_root,omitempty"`
LastFastConfirmation *time.Time `json:"last_fast_confirmation,omitempty"`
}
APIFastConfirmationClient represents the fast confirmation status of a single consensus client.
type APIFastConfirmationData ¶ added in v1.24.2
type APIFastConfirmationData struct {
FcrEnabled bool `json:"fcr_enabled"`
SafeSlot uint64 `json:"safe_slot"`
SafeRoot string `json:"safe_root,omitempty"`
SafeEpoch uint64 `json:"safe_epoch"`
LastFastConfirmation *time.Time `json:"last_fast_confirmation,omitempty"`
Clients []*APIFastConfirmationClient `json:"clients"`
ClientCount uint64 `json:"client_count"`
}
APIFastConfirmationData contains the network-wide safe block derived from the fast confirmation rule and the per-client fast confirmation status.
type APIFastConfirmationResponse ¶ added in v1.24.2
type APIFastConfirmationResponse struct {
Status string `json:"status"`
Data *APIFastConfirmationData `json:"data"`
}
APIFastConfirmationResponse represents the response for the fast confirmation endpoint.
type APIMassNodeResult ¶ added in v1.18.0
type APIMassNodeResult struct {
Success bool `json:"success"`
Error string `json:"error,omitempty"`
NodeAlias string `json:"node_alias,omitempty"`
ValidColumns [][]bool `json:"valid_columns,omitempty"` // Per-slot array of column validity
TotalColumns int `json:"total_columns"` // Total number of columns per slot
SlotResults map[uint64]*SlotResult `json:"slot_results,omitempty"` // Slot -> result details
CustodyGroupCount uint64 `json:"custody_group_count"` // CGC from node metadata
CustodyColumns []uint64 `json:"custody_columns,omitempty"` // Custody column indices
EarliestSlot uint64 `json:"earliest_slot"` // Earliest available slot from node status
}
APIMassNodeResult represents the scan result for a single node in mass scan
type APIMevBlockInfo ¶ added in v1.19.0
type APIMevBlockInfo struct {
SlotNumber uint64 `json:"slot_number"`
BlockHash string `json:"block_hash"`
BlockNumber uint64 `json:"block_number"`
Time int64 `json:"time"`
ValidatorIndex uint64 `json:"validator_index"`
ValidatorName string `json:"validator_name,omitempty"`
BuilderPubkey string `json:"builder_pubkey,omitempty"`
Proposed uint8 `json:"proposed"` // 0=not proposed, 1=proposed, 2=orphaned
Relays []*APIMevBlockRelayInfo `json:"relays"`
FeeRecipient string `json:"fee_recipient"`
TxCount uint32 `json:"tx_count"`
BlobCount uint64 `json:"blob_count"`
GasUsed uint64 `json:"gas_used"`
BlockValue uint64 `json:"block_value_gwei"`
}
APIMevBlockInfo represents information about a single MEV block
type APIMevBlockRelayInfo ¶ added in v1.19.0
type APIMevBlockRelayInfo struct {
RelayId uint8 `json:"relay_id"`
RelayName string `json:"relay_name"`
}
APIMevBlockRelayInfo represents information about a MEV relay for a block
type APIMevBlocksData ¶ added in v1.19.0
type APIMevBlocksData struct {
MevBlocks []*APIMevBlockInfo `json:"mev_blocks"`
Count uint64 `json:"count"`
TotalCount uint64 `json:"total_count"`
}
APIMevBlocksData contains the MEV blocks data
type APIMevBlocksResponse ¶ added in v1.19.0
type APIMevBlocksResponse struct {
Status string `json:"status"`
Data *APIMevBlocksData `json:"data"`
}
APIMevBlocksResponse represents the response structure for MEV blocks list
type APINetworkForkInfo ¶ added in v1.19.0
type APINetworkForkInfo struct {
Name string `json:"name"`
Version *string `json:"version,omitempty"` // nil for BPO forks
Epoch uint64 `json:"epoch"`
Active bool `json:"active"`
Scheduled bool `json:"scheduled"`
Time int64 `json:"time,omitempty"`
Type string `json:"type"` // "consensus" or "bpo"
ForkDigest string `json:"fork_digest"`
MaxBlobsPerBlock *uint64 `json:"max_blobs_per_block,omitempty"` // only for BPO forks
}
APINetworkForkInfo represents information about a single network fork
type APINetworkForksData ¶ added in v1.19.0
type APINetworkForksData struct {
ConfigName string `json:"config_name"`
CurrentEpoch uint64 `json:"current_epoch"`
FinalizedEpoch int64 `json:"finalized_epoch"`
Forks []*APINetworkForkInfo `json:"forks"`
Count uint64 `json:"count"`
}
APINetworkForksData contains the network forks data
type APINetworkForksResponse ¶ added in v1.19.0
type APINetworkForksResponse struct {
Status string `json:"status"`
Data *APINetworkForksData `json:"data"`
}
APINetworkForksResponse represents the response structure for network forks
type APINetworkInfo ¶ added in v1.19.0
type APINetworkInfo struct {
NetworkName string `json:"network_name"`
ConfigName string `json:"config_name"`
DepositContract string `json:"deposit_contract"`
WithdrawalContract string `json:"withdrawal_contract"`
ConsolidationContract string `json:"consolidation_contract"`
GenesisTime int64 `json:"genesis_time"`
GenesisRoot string `json:"genesis_root"`
GenesisValidatorsRoot string `json:"genesis_validators_root"`
}
APINetworkInfo contains basic network information
type APINetworkOverviewData ¶ added in v1.19.0
type APINetworkOverviewData struct {
NetworkInfo *APINetworkInfo `json:"network_info"`
CurrentState *APICurrentState `json:"current_state"`
Checkpoints *APICheckpoints `json:"checkpoints"`
ValidatorStats *APIValidatorStats `json:"validator_stats"`
QueueStats *APIQueueStats `json:"queue_stats,omitempty"`
Forks []*APINetworkForkInfo `json:"forks"`
IsSynced bool `json:"is_synced"`
CurrentSlot uint64 `json:"current_slot"`
CurrentEpoch uint64 `json:"current_epoch"`
FinalizedEpoch uint64 `json:"finalized_epoch"`
EpochsSinceFinality uint64 `json:"epochs_since_finality"`
Finalizing bool `json:"finalizing"`
ActiveValidatorCount uint64 `json:"active_validator_count"`
TotalValidatorCount uint64 `json:"total_validator_count"`
PendingValidatorCount uint64 `json:"pending_validator_count"`
ExitedValidatorCount uint64 `json:"exited_validator_count"`
DataQualityWarnings []string `json:"data_quality_warnings"`
Participation *APINetworkParticipation `json:"participation,omitempty"`
RawAggregates *APINetworkRawAggregates `json:"raw_aggregates,omitempty"`
Metadata APINetworkOverviewMetadata `json:"metadata"`
}
APINetworkOverviewData contains comprehensive network state information
type APINetworkOverviewMetadata ¶ added in v1.24.0
type APINetworkOverviewMetadata struct {
SlotsPerEpoch uint64 `json:"slots_per_epoch"`
}
APINetworkOverviewMetadata contains metadata for interpreting the overview values
type APINetworkOverviewResponse ¶ added in v1.19.0
type APINetworkOverviewResponse struct {
Status string `json:"status"`
Data *APINetworkOverviewData `json:"data,omitempty"`
}
APINetworkOverviewResponse represents the response structure for network overview
type APINetworkParticipation ¶ added in v1.24.0
type APINetworkParticipation struct {
Rate *float64 `json:"rate"`
Source string `json:"source"`
Complete bool `json:"complete"`
IndexedSlots uint64 `json:"indexed_slots"`
ExpectedSlots uint64 `json:"expected_slots"`
Warning string `json:"warning,omitempty"`
}
APINetworkParticipation contains provenance-aware participation data
type APINetworkRawAggregates ¶ added in v1.24.0
type APINetworkRawAggregates struct {
GlobalParticipationRate float64 `json:"globalparticipationrate"`
VoteParticipation float64 `json:"vote_participation"`
AttestationsIndexed uint64 `json:"attestations_indexed"`
IndexedSlots uint64 `json:"indexed_slots"`
ExpectedSlots uint64 `json:"expected_slots"`
Source string `json:"source"`
Complete bool `json:"complete"`
}
APINetworkRawAggregates contains raw aggregate values from the epoch vote index
type APINetworkSplitInfo ¶ added in v1.19.0
type APINetworkSplitInfo struct {
ForkId string `json:"fork_id"`
HeadSlot uint64 `json:"head_slot"`
HeadRoot string `json:"head_root"`
HeadBlockHash string `json:"head_block_hash,omitempty"`
HeadExecutionNumber uint64 `json:"head_execution_number,omitempty"`
TotalChainWeight uint64 `json:"total_chain_weight"`
LastEpochVotes []uint64 `json:"last_epoch_votes"`
LastEpochParticipation []float64 `json:"last_epoch_participation"`
IsCanonical bool `json:"is_canonical"`
}
APINetworkSplitInfo represents information about a single network split/fork
type APINetworkSplitsData ¶ added in v1.19.0
type APINetworkSplitsData struct {
CurrentEpoch uint64 `json:"current_epoch"`
CurrentSlot uint64 `json:"current_slot"`
FinalizedEpoch int64 `json:"finalized_epoch"`
FinalizedRoot string `json:"finalized_root"`
Splits []*APINetworkSplitInfo `json:"splits"`
}
APINetworkSplitsData contains information about active network forks/splits
type APINetworkSplitsResponse ¶ added in v1.19.0
type APINetworkSplitsResponse struct {
Status string `json:"status"`
Data *APINetworkSplitsData `json:"data"`
}
APINetworkSplitsResponse represents the response structure for network splits
type APIQueueStats ¶ added in v1.19.0
type APIQueueStats struct {
EnteringValidatorCount uint64 `json:"entering_validator_count"`
ExitingValidatorCount uint64 `json:"exiting_validator_count"`
EnteringEtherAmount uint64 `json:"entering_ether_amount"`
EtherChurnPerDay uint64 `json:"ether_churn_per_day"`
DepositEstimatedTimeToProcess uint64 `json:"deposit_estimated_time"`
ExitEstimatedTimeToProcess uint64 `json:"exit_estimated_time"`
}
APIQueueStats contains queue statistics (Electra era)
type APISlashingInfo ¶ added in v1.19.0
type APISlashingInfo struct {
SlotNumber uint64 `json:"slot_number"`
SlotRoot string `json:"slot_root"`
Time int64 `json:"time"`
Orphaned bool `json:"orphaned"`
Reason uint8 `json:"reason"`
ValidatorIndex uint64 `json:"validator_index"`
ValidatorName string `json:"validator_name,omitempty"`
ValidatorStatus string `json:"validator_status"`
ValidatorBalance uint64 `json:"validator_balance,omitempty"`
SlasherIndex uint64 `json:"slasher_index"`
SlasherName string `json:"slasher_name,omitempty"`
ValidatorLiveness uint8 `json:"validator_liveness,omitempty"`
ValidatorLivenessTotal uint8 `json:"validator_liveness_total,omitempty"`
}
APISlashingInfo represents information about a single slashing
type APISlashingsData ¶ added in v1.19.0
type APISlashingsData struct {
Slashings []*APISlashingInfo `json:"slashings"`
Count uint64 `json:"count"`
TotalCount uint64 `json:"total_count"`
PageIndex uint64 `json:"page_index"`
TotalPages uint64 `json:"total_pages"`
}
APISlashingsData contains the slashings data
type APISlashingsResponse ¶ added in v1.19.0
type APISlashingsResponse struct {
Status string `json:"status"`
Data *APISlashingsData `json:"data"`
}
APISlashingsResponse represents the response structure for slashings list
type APISlotBid ¶ added in v1.22.6
type APISlotBid struct {
ParentRoot string `json:"parent_root"`
ParentHash string `json:"parent_hash"`
BlockHash string `json:"block_hash"`
FeeRecipient string `json:"fee_recipient"`
GasLimit uint64 `json:"gas_limit"`
BuilderIndex uint64 `json:"builder_index"`
BuilderName string `json:"builder_name,omitempty"`
IsSelfBuilt bool `json:"is_self_built"`
Slot uint64 `json:"slot"`
Value uint64 `json:"value"`
ElPayment uint64 `json:"el_payment"`
TotalValue uint64 `json:"total_value"`
IsWinning bool `json:"is_winning"`
// Bid target classification relative to the slot's actual block parent chain.
// ParentClass: "parent" (targets the block's actual beacon parent), "reorg" (targets a
// deeper ancestor, orphaning ReorgDepth blocks), "orphaned" (targets a block outside
// the block's chain), "unknown" (parent root not resolvable).
ParentClass string `json:"parent_class"`
// ParentFull: the bid builds on the targeted block's own payload (full) rather than an
// earlier payload (empty).
ParentFull bool `json:"parent_full"`
ReorgDepth uint64 `json:"reorg_depth,omitempty"`
// ParentSlot is the slot of the targeted beacon parent block (0 if unknown).
ParentSlot uint64 `json:"parent_slot,omitempty"`
// ElParentSlot is the slot whose payload block hash matches the bid's parent hash,
// i.e. the EL head the bid builds on (omitted if not resolvable).
ElParentSlot *uint64 `json:"el_parent_slot,omitempty"`
// ElParentUnrevealed: the bid's parent hash matches a committed payload hash that was
// never revealed - such a bid can never become valid.
ElParentUnrevealed bool `json:"el_parent_unrevealed,omitempty"`
// CandidateKey is the buildoor-style candidate identifier (parent_full, parent_empty,
// grandparent_full, grandparent_empty, ancestor-N_full/-empty); empty for orphaned-fork
// and unknown-parent bids.
CandidateKey string `json:"candidate_key,omitempty"`
// Gossip visibility: SeenCount of SeenTotal connected clients observed the bid
// on gossip. SeenTotal 0 = no observation data available for this bid.
// Per-client details are served by the /slot/{slotOrHash}/bidseen page endpoint.
SeenCount uint32 `json:"seen_count"`
SeenTotal uint32 `json:"seen_total"`
}
APISlotBid represents a single execution payload bid (ePBS, EIP-7732)
type APISlotBidsData ¶ added in v1.22.6
type APISlotBidsData struct {
Slot uint64 `json:"slot"`
BlockRoot string `json:"block_root"`
Count uint64 `json:"count"`
Bids []*APISlotBid `json:"bids"`
}
APISlotBidsData represents the bids data for a slot
type APISlotBidsResponse ¶ added in v1.22.6
type APISlotBidsResponse struct {
Status string `json:"status"`
Data *APISlotBidsData `json:"data"`
}
APISlotBidsResponse represents the response for the slot bids endpoint
type APISlotBlockAccessListBalance ¶ added in v1.22.6
type APISlotBlockAccessListBalance struct {
BlockAccessIndex uint16 `json:"block_access_index"`
Balance string `json:"balance"`
}
APISlotBlockAccessListBalance is a per-tx balance update for an account.
type APISlotBlockAccessListCode ¶ added in v1.22.6
type APISlotBlockAccessListCode struct {
BlockAccessIndex uint16 `json:"block_access_index"`
Code string `json:"code"`
}
APISlotBlockAccessListCode is a per-tx code update for an account.
type APISlotBlockAccessListData ¶ added in v1.22.6
type APISlotBlockAccessListData struct {
Slot uint64 `json:"slot"`
BlockRoot string `json:"block_root"`
Count uint64 `json:"count"`
Accesses []*APISlotBlockAccessListEntry `json:"accesses"`
}
APISlotBlockAccessListData represents the EIP-7928 block access list for a slot
type APISlotBlockAccessListEntry ¶ added in v1.22.6
type APISlotBlockAccessListEntry struct {
Address string `json:"address"`
StorageChanges []*APISlotBlockAccessListStorageGroup `json:"storage_changes,omitempty"`
StorageReads []string `json:"storage_reads,omitempty"`
BalanceChanges []*APISlotBlockAccessListBalance `json:"balance_changes,omitempty"`
NonceChanges []*APISlotBlockAccessListNonce `json:"nonce_changes,omitempty"`
CodeChanges []*APISlotBlockAccessListCode `json:"code_changes,omitempty"`
}
APISlotBlockAccessListEntry is the per-account section of the BAL.
type APISlotBlockAccessListNonce ¶ added in v1.22.6
type APISlotBlockAccessListNonce struct {
BlockAccessIndex uint16 `json:"block_access_index"`
Nonce uint64 `json:"nonce"`
}
APISlotBlockAccessListNonce is a per-tx nonce update for an account.
type APISlotBlockAccessListResponse ¶ added in v1.22.6
type APISlotBlockAccessListResponse struct {
Status string `json:"status"`
Data *APISlotBlockAccessListData `json:"data"`
}
APISlotBlockAccessListResponse represents the response for the slot BAL endpoint
type APISlotBlockAccessListStorage ¶ added in v1.22.6
type APISlotBlockAccessListStorage struct {
BlockAccessIndex uint16 `json:"block_access_index"`
Value string `json:"value"`
}
APISlotBlockAccessListStorage is a single storage write within a slot group.
type APISlotBlockAccessListStorageGroup ¶ added in v1.22.6
type APISlotBlockAccessListStorageGroup struct {
Slot string `json:"slot"`
Changes []*APISlotBlockAccessListStorage `json:"changes"`
}
APISlotBlockAccessListStorageGroup groups the writes for a single storage slot.
type APISlotCommitteeInfo ¶ added in v1.24.4
type APISlotCommitteeInfo struct {
Index uint64 `json:"index"`
Validators []uint64 `json:"validators"`
}
APISlotCommitteeInfo represents a single attester committee of a slot. Validators are global validator indices in committee order.
type APISlotCommitteesData ¶ added in v1.24.4
type APISlotCommitteesData struct {
Slot uint64 `json:"slot"`
Epoch uint64 `json:"epoch"`
Committees []*APISlotCommitteeInfo `json:"committees"`
}
APISlotCommitteesData contains the attester committees of a single slot
type APISlotCommitteesResponse ¶ added in v1.24.4
type APISlotCommitteesResponse struct {
Status string `json:"status"`
Data *APISlotCommitteesData `json:"data"`
}
APISlotCommitteesResponse represents the response structure for slot committees
type APISlotData ¶ added in v1.18.0
type APISlotData struct {
AttestationsCount uint64 `json:"attestationscount"`
AttesterSlashingsCount uint64 `json:"attesterslashingscount"`
BlockRoot string `json:"blockroot"`
DepositsCount uint64 `json:"depositscount"`
Epoch uint64 `json:"epoch"`
ExecBaseFeePerGas uint64 `json:"exec_base_fee_per_gas"`
ExecBlockHash string `json:"exec_block_hash"`
ExecBlockNumber uint64 `json:"exec_block_number"`
ExecExtraData string `json:"exec_extra_data"`
ExecFeeRecipient string `json:"exec_fee_recipient"`
ExecGasLimit uint64 `json:"exec_gas_limit"`
ExecGasUsed uint64 `json:"exec_gas_used"`
ExecTransactionsCount uint64 `json:"exec_transactions_count"`
Graffiti string `json:"graffiti"`
GraffitiText string `json:"graffiti_text"`
ParentRoot string `json:"parentroot"`
Proposer uint64 `json:"proposer"`
ProposerSlashingsCount uint64 `json:"proposerslashingscount"`
Slot uint64 `json:"slot"`
StateRoot string `json:"stateroot"`
Status string `json:"status"`
SyncAggregateParticipation float64 `json:"syncaggregate_participation"`
VoluntaryExitsCount uint64 `json:"voluntaryexitscount"`
WithdrawalCount uint64 `json:"withdrawalcount"`
BlobCount uint64 `json:"blob_count"`
}
APISlotData represents detailed slot information
type APISlotInclusionList ¶ added in v1.22.6
type APISlotInclusionList struct {
ValidatorIndex uint64 `json:"validator_index"`
ValidatorName string `json:"validator_name,omitempty"`
InclusionListCommitteeRoot string `json:"inclusion_list_committee_root"`
Signature string `json:"signature"`
TransactionsCount uint64 `json:"transactions_count"`
Transactions []*APISlotInclusionListTransaction `json:"transactions"`
}
APISlotInclusionList is a single signed inclusion list (EIP-7805).
type APISlotInclusionListTransaction ¶ added in v1.22.6
type APISlotInclusionListTransaction struct {
Index uint64 `json:"index"`
Hash string `json:"hash"`
From string `json:"from,omitempty"`
To string `json:"to,omitempty"`
Value string `json:"value,omitempty"`
Nonce uint64 `json:"nonce"`
GasLimit uint64 `json:"gas_limit"`
Type uint8 `json:"type"`
DataLen uint64 `json:"data_len"`
IsIncluded bool `json:"is_included"`
DecodeErr string `json:"decode_error,omitempty"`
}
APISlotInclusionListTransaction describes one transaction in an inclusion list.
type APISlotInclusionListsData ¶ added in v1.22.6
type APISlotInclusionListsData struct {
Slot uint64 `json:"slot"`
BlockRoot string `json:"block_root"`
Count uint64 `json:"count"`
InclusionLists []*APISlotInclusionList `json:"inclusion_lists"`
}
APISlotInclusionListsData groups the EIP-7805 inclusion lists for a slot.
type APISlotInclusionListsResponse ¶ added in v1.22.6
type APISlotInclusionListsResponse struct {
Status string `json:"status"`
Data *APISlotInclusionListsData `json:"data"`
}
APISlotInclusionListsResponse represents the response for the slot inclusion lists endpoint.
type APISlotListItem ¶ added in v1.19.0
type APISlotListItem struct {
Slot uint64 `json:"slot"`
Epoch uint64 `json:"epoch"`
Time time.Time `json:"time"`
Finalized bool `json:"finalized"`
Scheduled bool `json:"scheduled"`
Status string `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"`
SyncAggregateParticipation float64 `json:"sync_aggregate_participation"`
EthTransactionCount uint64 `json:"eth_transaction_count"`
BlobCount uint64 `json:"blob_count"`
WithEthBlock bool `json:"with_eth_block"`
EthBlockNumber *uint64 `json:"eth_block_number,omitempty"`
Graffiti string `json:"graffiti"`
GraffitiText string `json:"graffiti_text"`
ElExtraData string `json:"el_extra_data"`
GasUsed uint64 `json:"gas_used"`
GasLimit uint64 `json:"gas_limit"`
BlockSize uint64 `json:"block_size"`
BlockRoot string `json:"block_root"`
ParentRoot string `json:"parent_root"`
StateRoot string `json:"state_root"`
RecvDelay *int32 `json:"recv_delay,omitempty"`
MinExecTime *uint32 `json:"min_exec_time,omitempty"`
MaxExecTime *uint32 `json:"max_exec_time,omitempty"`
AvgExecTime *uint32 `json:"avg_exec_time,omitempty"`
ExecutionTimes []models.ExecutionTimeDetail `json:"execution_times,omitempty"`
IsMevBlock bool `json:"is_mev_block"`
MevBlockRelays string `json:"mev_block_relays,omitempty"`
}
APISlotListItem represents a single slot in the list
type APISlotPayloadHeaderData ¶ added in v1.22.6
type APISlotPayloadHeaderData struct {
Slot uint64 `json:"slot"`
BlockRoot string `json:"block_root"`
HasPayloadHeader bool `json:"has_payload_header"`
PayloadStatus uint16 `json:"payload_status"`
PayloadStatusName string `json:"payload_status_name"`
ParentBlockHash string `json:"parent_block_hash,omitempty"`
ParentBlockRoot string `json:"parent_block_root,omitempty"`
BlockHash string `json:"block_hash,omitempty"`
GasLimit uint64 `json:"gas_limit,omitempty"`
BuilderIndex uint64 `json:"builder_index"`
BuilderName string `json:"builder_name,omitempty"`
IsSelfBuilt bool `json:"is_self_built"`
Value uint64 `json:"value,omitempty"`
BlobKZGCommitments []string `json:"blob_kzg_commitments,omitempty"`
Signature string `json:"signature,omitempty"`
}
APISlotPayloadHeaderData wraps the gloas signed execution payload bid (header).
type APISlotPayloadHeaderResponse ¶ added in v1.22.6
type APISlotPayloadHeaderResponse struct {
Status string `json:"status"`
Data *APISlotPayloadHeaderData `json:"data"`
}
APISlotPayloadHeaderResponse represents the response for the slot payload header endpoint.
type APISlotPtcAggregate ¶ added in v1.22.6
type APISlotPtcAggregate struct {
PayloadPresent bool `json:"payload_present"`
BlobDataAvailable bool `json:"blob_data_available"`
AggregationBits string `json:"aggregation_bits"`
Signature string `json:"signature"`
VoteCount uint64 `json:"vote_count"`
VotePercent float64 `json:"vote_percent"`
Validators []APISlotPtcValidator `json:"validators"`
}
APISlotPtcAggregate represents a single PTC payload-attestation aggregate.
type APISlotPtcValidator ¶ added in v1.22.6
APISlotPtcValidator is a named validator entry.
type APISlotPtcVotesData ¶ added in v1.22.6
type APISlotPtcVotesData struct {
Slot uint64 `json:"slot"`
BlockRoot string `json:"block_root"`
VotedSlot uint64 `json:"voted_slot"`
VotedBlockRoot string `json:"voted_block_root,omitempty"`
TotalPtcSize uint64 `json:"total_ptc_size"`
VoteCount uint64 `json:"vote_count"`
NonVoterCount uint64 `json:"non_voter_count"`
NonVoterPercent float64 `json:"non_voter_percent"`
Participation float64 `json:"participation"`
Aggregates []*APISlotPtcAggregate `json:"aggregates"`
NonVoters []APISlotPtcValidator `json:"non_voters"`
}
APISlotPtcVotesData represents the PTC vote summary for a slot.
type APISlotPtcVotesResponse ¶ added in v1.22.6
type APISlotPtcVotesResponse struct {
Status string `json:"status"`
Data *APISlotPtcVotesData `json:"data"`
}
APISlotPtcVotesResponse represents the response for the slot PTC votes endpoint.
type APISlotResponse ¶ added in v1.18.0
type APISlotResponse struct {
Status string `json:"status"`
Data *APISlotData `json:"data"`
}
APISlotResponse represents the response for slot information
type APISlotsData ¶ added in v1.19.0
type APISlotsData struct {
Slots []*APISlotListItem `json:"slots"`
TotalCount int `json:"total_count"`
Page uint64 `json:"page"`
NextPage *uint64 `json:"next_page,omitempty"`
NextSlot *uint64 `json:"next_slot,omitempty"` // Use with max_slot for cursor-based pagination
}
APISlotsData represents the slots list data
type APISlotsResponse ¶ added in v1.19.0
type APISlotsResponse struct {
Status string `json:"status"`
Data *APISlotsData `json:"data"`
}
APISlotsResponse represents the response for slots list endpoint
type APIValidatorActivityGroup ¶ added in v1.19.0
type APIValidatorActivityGroup struct {
Group string `json:"group"`
Validators uint64 `json:"validators"`
Activated uint64 `json:"activated"`
Online uint64 `json:"online"`
Offline uint64 `json:"offline"`
Exited uint64 `json:"exited"`
Slashed uint64 `json:"slashed"`
}
APIValidatorActivityGroup represents a group of validators with their activity statistics
type APIValidatorInfo ¶ added in v1.19.0
type APIValidatorInfo struct {
Index uint64 `json:"index"`
Name string `json:"name,omitempty"`
PublicKey string `json:"public_key"`
Balance uint64 `json:"balance"`
EffectiveBalance uint64 `json:"effective_balance"`
Status string `json:"status"`
ActivationEpoch uint64 `json:"activation_epoch,omitempty"`
ActivationTime int64 `json:"activation_time,omitempty"`
ExitEpoch uint64 `json:"exit_epoch,omitempty"`
ExitTime int64 `json:"exit_time,omitempty"`
Slashed bool `json:"slashed"`
WithdrawableEpoch uint64 `json:"withdrawable_epoch"`
WithdrawalAddress string `json:"withdrawal_address,omitempty"`
WithdrawalCreds string `json:"withdrawal_credentials"`
ValidatorLiveness uint8 `json:"validator_liveness,omitempty"`
ValidatorLivenessMax uint8 `json:"validator_liveness_max,omitempty"`
}
APIValidatorInfo represents information about a single validator
type APIValidatorNameInfo ¶ added in v1.19.0
type APIValidatorNameInfo struct {
Index uint64 `json:"index"`
Name string `json:"name,omitempty"`
PublicKey string `json:"public_key"`
Found bool `json:"found"`
}
APIValidatorNameInfo represents information about a single validator name lookup
type APIValidatorNamesData ¶ added in v1.19.0
type APIValidatorNamesData struct {
ValidatorNames []*APIValidatorNameInfo `json:"validator_names"`
Count uint64 `json:"count"`
}
APIValidatorNamesData contains the validator names data
type APIValidatorNamesRequest ¶ added in v1.19.0
type APIValidatorNamesRequest struct {
Indices []uint64 `json:"indices,omitempty"`
Pubkeys []string `json:"pubkeys,omitempty"`
}
APIValidatorNamesRequest represents the request body for POST requests
type APIValidatorNamesResponse ¶ added in v1.19.0
type APIValidatorNamesResponse struct {
Status string `json:"status"`
Data *APIValidatorNamesData `json:"data"`
}
APIValidatorNamesResponse represents the response structure for validator names lookup
type APIValidatorStats ¶ added in v1.19.0
type APIValidatorStats struct {
TotalBalance uint64 `json:"total_balance"`
TotalActiveBalance uint64 `json:"total_active_balance"`
ActiveValidatorCount uint64 `json:"active_validator_count"`
AverageBalance uint64 `json:"average_balance"`
TotalEligibleEther uint64 `json:"total_eligible_ether"`
}
APIValidatorStats contains validator statistics
type APIValidatorStatusInfo ¶ added in v1.24.4
type APIValidatorStatusInfo struct {
Index uint64 `json:"index"`
Status string `json:"status"`
Slashed bool `json:"slashed"`
ActivationEpoch uint64 `json:"activation_epoch"`
ExitEpoch uint64 `json:"exit_epoch"`
WithdrawableEpoch uint64 `json:"withdrawable_epoch"`
EffectiveBalance uint64 `json:"effective_balance"`
}
APIValidatorStatusInfo represents the status of a single validator. Unknown validator indices are omitted from the response.
type APIValidatorsActivityData ¶ added in v1.19.0
type APIValidatorsActivityData struct {
Groups []*APIValidatorActivityGroup `json:"groups"`
GroupCount uint64 `json:"group_count"`
TotalGroups uint64 `json:"total_groups"`
PageIndex uint64 `json:"page_index"`
TotalPages uint64 `json:"total_pages"`
FirstGroup uint64 `json:"first_group"`
LastGroup uint64 `json:"last_group"`
CurrentEpoch uint64 `json:"current_epoch"`
FinalizedEpoch uint64 `json:"finalized_epoch"`
// Filter and grouping options
GroupBy uint64 `json:"group_by"`
SearchTerm string `json:"search_term,omitempty"`
Sorting string `json:"sorting"`
}
APIValidatorsActivityData contains the validators activity data
type APIValidatorsActivityResponse ¶ added in v1.19.0
type APIValidatorsActivityResponse struct {
Status string `json:"status"`
Data *APIValidatorsActivityData `json:"data"`
}
APIValidatorsActivityResponse represents the response structure for validators activity
type APIValidatorsData ¶ added in v1.19.0
type APIValidatorsData struct {
Validators []*APIValidatorInfo `json:"validators"`
Count uint64 `json:"count"`
TotalCount uint64 `json:"total_count"`
PageIndex uint64 `json:"page_index"`
TotalPages uint64 `json:"total_pages"`
FirstValidator uint64 `json:"first_validator"`
LastValidator uint64 `json:"last_validator"`
CurrentEpoch uint64 `json:"current_epoch"`
FinalizedEpoch uint64 `json:"finalized_epoch"`
}
APIValidatorsData contains the validators data
type APIValidatorsResponse ¶ added in v1.19.0
type APIValidatorsResponse struct {
Status string `json:"status"`
Data *APIValidatorsData `json:"data"`
}
APIValidatorsResponse represents the response structure for validators list
type APIValidatorsStatusData ¶ added in v1.24.4
type APIValidatorsStatusData struct {
Validators []*APIValidatorStatusInfo `json:"validators"`
Count uint64 `json:"count"`
}
APIValidatorsStatusData contains the validator status data
type APIValidatorsStatusRequest ¶ added in v1.24.4
type APIValidatorsStatusRequest struct {
Indices []uint64 `json:"indices"`
}
APIValidatorsStatusRequest represents the request body for POST requests
type APIValidatorsStatusResponse ¶ added in v1.24.4
type APIValidatorsStatusResponse struct {
Status string `json:"status"`
Data *APIValidatorsStatusData `json:"data"`
}
APIValidatorsStatusResponse represents the response structure for bulk validator status lookup
type APIVoluntaryExitInfo ¶ added in v1.19.0
type APIVoluntaryExitInfo struct {
SlotNumber uint64 `json:"slot_number"`
SlotRoot string `json:"slot_root"`
Time int64 `json:"time"`
Orphaned bool `json:"orphaned"`
ValidatorIndex uint64 `json:"validator_index"`
ValidatorName string `json:"validator_name,omitempty"`
ValidatorStatus string `json:"validator_status"`
ValidatorBalance uint64 `json:"validator_balance,omitempty"`
PublicKey string `json:"public_key,omitempty"`
WithdrawalCredentials string `json:"withdrawal_credentials,omitempty"`
ValidatorLiveness uint8 `json:"validator_liveness,omitempty"`
ValidatorLivenessTotal uint8 `json:"validator_liveness_total,omitempty"`
}
APIVoluntaryExitInfo represents information about a single voluntary exit
type APIVoluntaryExitsData ¶ added in v1.19.0
type APIVoluntaryExitsData struct {
VoluntaryExits []*APIVoluntaryExitInfo `json:"voluntary_exits"`
Count uint64 `json:"count"`
TotalCount uint64 `json:"total_count"`
PageIndex uint64 `json:"page_index"`
TotalPages uint64 `json:"total_pages"`
}
APIVoluntaryExitsData contains the voluntary exits data
type APIVoluntaryExitsResponse ¶ added in v1.19.0
type APIVoluntaryExitsResponse struct {
Status string `json:"status"`
Data *APIVoluntaryExitsData `json:"data"`
}
APIVoluntaryExitsResponse represents the response structure for voluntary exits list
type APIWithdrawalRequestInfo ¶ added in v1.19.0
type APIWithdrawalRequestInfo struct {
SourceAddress string `json:"source_address"`
Amount uint64 `json:"amount"`
PublicKey string `json:"public_key"`
ValidatorIndex uint64 `json:"validator_index,omitempty"`
ValidatorName string `json:"validator_name,omitempty"`
ValidatorValid bool `json:"validator_valid"`
IsIncluded bool `json:"is_included"`
SlotNumber uint64 `json:"slot_number,omitempty"`
SlotRoot string `json:"slot_root,omitempty"`
Time int64 `json:"time,omitempty"`
Status uint64 `json:"status"` // 0=pending, 1=included, 2=orphaned
Result uint8 `json:"result,omitempty"`
ResultMessage string `json:"result_message,omitempty"`
TxStatus uint64 `json:"tx_status"` // 0=pending, 1=confirmed, 2=orphaned
TransactionHash string `json:"transaction_hash,omitempty"`
TransactionDetails *APIWithdrawalRequestTxDetails `json:"transaction_details,omitempty"`
}
APIWithdrawalRequestInfo represents information about a single withdrawal request
type APIWithdrawalRequestTxDetails ¶ added in v1.19.0
type APIWithdrawalRequestTxDetails struct {
BlockNumber uint64 `json:"block_number"`
BlockHash string `json:"block_hash"`
BlockTime int64 `json:"block_time"`
TxOrigin string `json:"tx_origin"`
TxTarget string `json:"tx_target"`
TxHash string `json:"tx_hash"`
}
APIWithdrawalRequestTxDetails represents transaction details for a withdrawal request
type APIWithdrawalRequestsData ¶ added in v1.19.0
type APIWithdrawalRequestsData struct {
WithdrawalRequests []*APIWithdrawalRequestInfo `json:"withdrawal_requests"`
Count uint64 `json:"count"`
TotalRequests uint64 `json:"total_requests"`
TotalPending uint64 `json:"total_pending"`
}
APIWithdrawalRequestsData contains the withdrawal requests data
type APIWithdrawalRequestsResponse ¶ added in v1.19.0
type APIWithdrawalRequestsResponse struct {
Status string `json:"status"`
Data *APIWithdrawalRequestsData `json:"data"`
}
APIWithdrawalRequestsResponse represents the response structure for withdrawal requests list
type ApiResponse ¶
type ApiResponse struct {
Status string `json:"status"`
Data interface{} `json:"data"`
}
type ApiValidatorDepositsResponseV1 ¶ added in v1.16.0
type ApiValidatorDepositsResponseV1 struct {
Amount uint64 `json:"amount"`
BlockNumber uint64 `json:"block_number"`
BlockTS uint64 `json:"block_ts"`
FromAddress string `json:"from_address"`
MerkleTreeIndex string `json:"merkletree_index"`
PublicKey string `json:"publickey"`
Removed bool `json:"removed"`
Signature string `json:"signature"`
TxHash string `json:"tx_hash"`
TxIndex uint64 `json:"tx_index"`
TxInput string `json:"tx_input"`
ValidSignature bool `json:"valid_signature"`
WithdrawalCredentials string `json:"withdrawal_credentials"`
}
type ApiValidatorRequestV1 ¶ added in v1.17.0
type ApiValidatorRequestV1 struct {
IndicesOrPubKey string `json:"indicesOrPubkey"`
}
type ApiValidatorResponseV1 ¶
type ApiValidatorResponseV1 struct {
Activationeligibilityepoch uint64 `json:"activationeligibilityepoch"`
Activationepoch uint64 `json:"activationepoch"`
Balance uint64 `json:"balance"`
Effectivebalance uint64 `json:"effectivebalance"`
Exitepoch uint64 `json:"exitepoch"`
Isonline bool `json:"isonline"`
Name string `json:"name"`
Pubkey string `json:"pubkey"`
Slashed bool `json:"slashed"`
Status string `json:"status"`
Validatorindex uint64 `json:"validatorindex"`
Withdrawableepoch uint64 `json:"withdrawableepoch"`
Withdrawalcredentials string `json:"withdrawalcredentials"`
}
type IndexerBeacon ¶ added in v1.19.0
type IndexerBeacon interface {
GetChainHeads() []*beacon.ChainHead
GetBlocksByForkId(forkId beacon.ForkKey) []*beacon.Block
}
Helper function to get IndexerBeacon interface methods we need
type SlotResult ¶ added in v1.18.0
type SlotResult struct {
ValidColumnCount int `json:"valid_column_count"`
TotalColumns int `json:"total_columns"`
Error string `json:"error,omitempty"`
}
SlotResult represents the scan result for a single slot
Source Files
¶
- api_clients_cl.go
- api_clients_el.go
- api_das_guardian.go
- api_das_guardian_mass.go
- consolidation_requests_v1.go
- deposits_included_v1.go
- deposits_queue_v1.go
- deposits_transactions_v1.go
- duties_fork.go
- epoch_duties_v1.go
- epoch_health_v1.go
- epoch_v1.go
- epochs_v1.go
- general.go
- handler.go
- mev_blocks_v1.go
- network_client_head_forks_v1.go
- network_fast_confirmation_v1.go
- network_forks_v1.go
- network_overview_v1.go
- network_splits_v1.go
- slashings_v1.go
- slot_bids_v1.go
- slot_block_access_list_v1.go
- slot_committees_v1.go
- slot_inclusion_lists_v1.go
- slot_payload_header_v1.go
- slot_ptc_votes_v1.go
- slot_v1.go
- slots_v1.go
- validator_deposits_v1.go
- validator_eth1_v1.go
- validator_names_v1.go
- validator_v1.go
- validator_withdrawalcredentials_v1.go
- validators_activity_v1.go
- validators_status_v1.go
- validators_v1.go
- voluntary_exits_v1.go
- withdrawal_requests_v1.go