mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-26 05:17:22 +00:00
0fb91437fc
* rename * gaz * gaz * Gaz * rename * edit * gaz * gaz * build * fix * build * fix up * fix * gaz * cli import export * gaz * flag * rev * comm * package renames * radek
38 lines
1.4 KiB
Go
38 lines
1.4 KiB
Go
package format
|
|
|
|
// InterchangeFormatVersion specified by https://eips.ethereum.org/EIPS/eip-3076.
|
|
// The version Prysm supports is version 5.
|
|
const InterchangeFormatVersion = "5"
|
|
|
|
// EIPSlashingProtectionFormat string representation of a standard
|
|
// format for representing validator slashing protection db data.
|
|
type EIPSlashingProtectionFormat struct {
|
|
Metadata struct {
|
|
InterchangeFormatVersion string `json:"interchange_format_version"`
|
|
GenesisValidatorsRoot string `json:"genesis_validators_root"`
|
|
} `json:"metadata"`
|
|
Data []*ProtectionData `json:"data"`
|
|
}
|
|
|
|
// ProtectionData field for the standard slashing protection format.
|
|
type ProtectionData struct {
|
|
Pubkey string `json:"pubkey"`
|
|
SignedBlocks []*SignedBlock `json:"signed_blocks"`
|
|
SignedAttestations []*SignedAttestation `json:"signed_attestations"`
|
|
}
|
|
|
|
// SignedAttestation in the standard slashing protection format file, including
|
|
// a source epoch, target epoch, and an optional signing root.
|
|
type SignedAttestation struct {
|
|
SourceEpoch string `json:"source_epoch"`
|
|
TargetEpoch string `json:"target_epoch"`
|
|
SigningRoot string `json:"signing_root,omitempty"`
|
|
}
|
|
|
|
// SignedBlock in the standard slashing protection format, including a slot
|
|
// and an optional signing root.
|
|
type SignedBlock struct {
|
|
Slot string `json:"slot"`
|
|
SigningRoot string `json:"signing_root,omitempty"`
|
|
}
|