mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-05-02 03:02:54 -04:00
* add http endpoint * add tests * Gaz * Add pointers * add endpoint to test * Electra: EIP-7251 Update `process_voluntary_exit` (#14176) * Electra: EIP-7251 Update `process_voluntary_exit` * Add unit test for VerifyExitAndSignature EIP-7251 * @potuz peer feedback * Avoid Cloning When Creating a New Gossip Message (#14201) * Add Current Changes * add back check * Avoid a Panic * fix: Multiple network flags should prevent the BN to start (#14169) * Implement Initial Logic * Include check in main.go * Add tests for multiple flags * remove usage of append * remove config/features dependency * Move ValidateNetworkFlags to config/features * Nit * removed NetworkFlags from cmd * remove usage of empty string literal * add comment * add flag validation to prysctl validator-exit --------- Co-authored-by: Manu NALEPA <enalepa@offchainlabs.com> * fix tests * Radek' review + tests * fix tests * Radek' review * forgot one * almost forgot the tests --------- Co-authored-by: Preston Van Loon <pvanloon@offchainlabs.com> Co-authored-by: Nishant Das <nishdas93@gmail.com> Co-authored-by: kira <shyampkira@gmail.com> Co-authored-by: Manu NALEPA <enalepa@offchainlabs.com> Co-authored-by: Radosław Kapka <rkapka@wp.pl>
228 lines
7.2 KiB
Go
228 lines
7.2 KiB
Go
package structs
|
|
|
|
import (
|
|
"encoding/json"
|
|
)
|
|
|
|
type BlockRootResponse struct {
|
|
Data *BlockRoot `json:"data"`
|
|
ExecutionOptimistic bool `json:"execution_optimistic"`
|
|
Finalized bool `json:"finalized"`
|
|
}
|
|
|
|
type BlockRoot struct {
|
|
Root string `json:"root"`
|
|
}
|
|
|
|
type GetCommitteesResponse struct {
|
|
Data []*Committee `json:"data"`
|
|
ExecutionOptimistic bool `json:"execution_optimistic"`
|
|
Finalized bool `json:"finalized"`
|
|
}
|
|
|
|
type ListAttestationsResponse struct {
|
|
Data []*Attestation `json:"data"`
|
|
}
|
|
|
|
type SubmitAttestationsRequest struct {
|
|
Data []*Attestation `json:"data"`
|
|
}
|
|
|
|
type ListVoluntaryExitsResponse struct {
|
|
Data []*SignedVoluntaryExit `json:"data"`
|
|
}
|
|
|
|
type SubmitSyncCommitteeSignaturesRequest struct {
|
|
Data []*SyncCommitteeMessage `json:"data"`
|
|
}
|
|
|
|
type GetStateForkResponse struct {
|
|
Data *Fork `json:"data"`
|
|
ExecutionOptimistic bool `json:"execution_optimistic"`
|
|
Finalized bool `json:"finalized"`
|
|
}
|
|
|
|
type GetFinalityCheckpointsResponse struct {
|
|
ExecutionOptimistic bool `json:"execution_optimistic"`
|
|
Finalized bool `json:"finalized"`
|
|
Data *FinalityCheckpoints `json:"data"`
|
|
}
|
|
|
|
type FinalityCheckpoints struct {
|
|
PreviousJustified *Checkpoint `json:"previous_justified"`
|
|
CurrentJustified *Checkpoint `json:"current_justified"`
|
|
Finalized *Checkpoint `json:"finalized"`
|
|
}
|
|
|
|
type GetGenesisResponse struct {
|
|
Data *Genesis `json:"data"`
|
|
}
|
|
|
|
type Genesis struct {
|
|
GenesisTime string `json:"genesis_time"`
|
|
GenesisValidatorsRoot string `json:"genesis_validators_root"`
|
|
GenesisForkVersion string `json:"genesis_fork_version"`
|
|
}
|
|
|
|
type GetBlockHeadersResponse struct {
|
|
Data []*SignedBeaconBlockHeaderContainer `json:"data"`
|
|
ExecutionOptimistic bool `json:"execution_optimistic"`
|
|
Finalized bool `json:"finalized"`
|
|
}
|
|
|
|
type GetBlockHeaderResponse struct {
|
|
ExecutionOptimistic bool `json:"execution_optimistic"`
|
|
Finalized bool `json:"finalized"`
|
|
Data *SignedBeaconBlockHeaderContainer `json:"data"`
|
|
}
|
|
|
|
type GetValidatorsRequest struct {
|
|
Ids []string `json:"ids"`
|
|
Statuses []string `json:"statuses"`
|
|
}
|
|
|
|
type GetValidatorsResponse struct {
|
|
ExecutionOptimistic bool `json:"execution_optimistic"`
|
|
Finalized bool `json:"finalized"`
|
|
Data []*ValidatorContainer `json:"data"`
|
|
}
|
|
|
|
type GetValidatorResponse struct {
|
|
ExecutionOptimistic bool `json:"execution_optimistic"`
|
|
Finalized bool `json:"finalized"`
|
|
Data *ValidatorContainer `json:"data"`
|
|
}
|
|
|
|
type GetValidatorBalancesResponse struct {
|
|
ExecutionOptimistic bool `json:"execution_optimistic"`
|
|
Finalized bool `json:"finalized"`
|
|
Data []*ValidatorBalance `json:"data"`
|
|
}
|
|
|
|
type ValidatorContainer struct {
|
|
Index string `json:"index"`
|
|
Balance string `json:"balance"`
|
|
Status string `json:"status"`
|
|
Validator *Validator `json:"validator"`
|
|
}
|
|
|
|
type ValidatorBalance struct {
|
|
Index string `json:"index"`
|
|
Balance string `json:"balance"`
|
|
}
|
|
|
|
type GetBlockResponse struct {
|
|
Data *SignedBlock `json:"data"`
|
|
}
|
|
|
|
type GetBlockV2Response struct {
|
|
Version string `json:"version"`
|
|
ExecutionOptimistic bool `json:"execution_optimistic"`
|
|
Finalized bool `json:"finalized"`
|
|
Data *SignedBlock `json:"data"`
|
|
}
|
|
|
|
type SignedBlock struct {
|
|
Message json.RawMessage `json:"message"` // represents the block values based on the version
|
|
Signature string `json:"signature"`
|
|
}
|
|
|
|
type GetBlockAttestationsResponse struct {
|
|
ExecutionOptimistic bool `json:"execution_optimistic"`
|
|
Finalized bool `json:"finalized"`
|
|
Data []*Attestation `json:"data"`
|
|
}
|
|
|
|
type GetStateRootResponse struct {
|
|
ExecutionOptimistic bool `json:"execution_optimistic"`
|
|
Finalized bool `json:"finalized"`
|
|
Data *StateRoot `json:"data"`
|
|
}
|
|
|
|
type StateRoot struct {
|
|
Root string `json:"root"`
|
|
}
|
|
|
|
type GetRandaoResponse struct {
|
|
ExecutionOptimistic bool `json:"execution_optimistic"`
|
|
Finalized bool `json:"finalized"`
|
|
Data *Randao `json:"data"`
|
|
}
|
|
|
|
type Randao struct {
|
|
Randao string `json:"randao"`
|
|
}
|
|
|
|
type GetSyncCommitteeResponse struct {
|
|
ExecutionOptimistic bool `json:"execution_optimistic"`
|
|
Finalized bool `json:"finalized"`
|
|
Data *SyncCommitteeValidators `json:"data"`
|
|
}
|
|
|
|
type SyncCommitteeValidators struct {
|
|
Validators []string `json:"validators"`
|
|
ValidatorAggregates [][]string `json:"validator_aggregates"`
|
|
}
|
|
|
|
type BLSToExecutionChangesPoolResponse struct {
|
|
Data []*SignedBLSToExecutionChange `json:"data"`
|
|
}
|
|
|
|
type GetAttesterSlashingsResponse struct {
|
|
Data []*AttesterSlashing `json:"data"`
|
|
}
|
|
|
|
type GetProposerSlashingsResponse struct {
|
|
Data []*ProposerSlashing `json:"data"`
|
|
}
|
|
|
|
type GetWeakSubjectivityResponse struct {
|
|
Data *WeakSubjectivityData `json:"data"`
|
|
}
|
|
|
|
type WeakSubjectivityData struct {
|
|
WsCheckpoint *Checkpoint `json:"ws_checkpoint"`
|
|
StateRoot string `json:"state_root"`
|
|
}
|
|
|
|
type GetDepositSnapshotResponse struct {
|
|
Data *DepositSnapshot `json:"data"`
|
|
}
|
|
|
|
type DepositSnapshot struct {
|
|
Finalized []string `json:"finalized"`
|
|
DepositRoot string `json:"deposit_root"`
|
|
DepositCount string `json:"deposit_count"`
|
|
ExecutionBlockHash string `json:"execution_block_hash"`
|
|
ExecutionBlockHeight string `json:"execution_block_height"`
|
|
}
|
|
|
|
type GetIndividualVotesRequest struct {
|
|
Epoch string `json:"epoch"`
|
|
PublicKeys []string `json:"public_keys,omitempty"`
|
|
Indices []string `json:"indices,omitempty"`
|
|
}
|
|
|
|
type GetIndividualVotesResponse struct {
|
|
IndividualVotes []*IndividualVote `json:"individual_votes"`
|
|
}
|
|
|
|
type IndividualVote struct {
|
|
Epoch string `json:"epoch"`
|
|
PublicKey string `json:"public_keys,omitempty"`
|
|
ValidatorIndex string `json:"validator_index"`
|
|
IsSlashed bool `json:"is_slashed"`
|
|
IsWithdrawableInCurrentEpoch bool `json:"is_withdrawable_in_current_epoch"`
|
|
IsActiveInCurrentEpoch bool `json:"is_active_in_current_epoch"`
|
|
IsActiveInPreviousEpoch bool `json:"is_active_in_previous_epoch"`
|
|
IsCurrentEpochAttester bool `json:"is_current_epoch_attester"`
|
|
IsCurrentEpochTargetAttester bool `json:"is_current_epoch_target_attester"`
|
|
IsPreviousEpochAttester bool `json:"is_previous_epoch_attester"`
|
|
IsPreviousEpochTargetAttester bool `json:"is_previous_epoch_target_attester"`
|
|
IsPreviousEpochHeadAttester bool `json:"is_previous_epoch_head_attester"`
|
|
CurrentEpochEffectiveBalanceGwei string `json:"current_epoch_effective_balance_gwei"`
|
|
InclusionSlot string `json:"inclusion_slot"`
|
|
InclusionDistance string `json:"inclusion_distance"`
|
|
InactivityScore string `json:"inactivity_score"`
|
|
}
|