mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-22 19:40:37 +00:00
5afb1255fe
* Add endpoint * Uncomment in InitializeRoutes * Add test * Add 404 * Add more checks * Test improvements * Ssz * Add ssz tags * Add DepositSnapshot to bazel * Fix tests * Fix max size * Resolve conflicts * Revert untouched code * Fix test + review * Lint * Oops * Preston + Radek' review * Only return 3 finalized roots * Change to deposit contract depth * Radek' review * Gaz --------- Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com>
199 lines
5.7 KiB
Go
199 lines
5.7 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"`
|
|
}
|