mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2025-01-07 10:12:19 +00:00
1b5b8a57e0
* Update io_kubernetes_build commit hash to 1246899 * Update dependency build_bazel_rules_nodejs to v0.33.1 * Update dependency com_github_hashicorp_golang_lru to v0.5.1 * Update libp2p * Update io_bazel_rules_k8s commit hash to e68d5d7 * Starting to remove old protos * Bazel build proto passes * Fixing pb version * Cleaned up core package * Fixing tests * 6 tests failing * Update proto bugs * Fixed incorrect validator ordering proto * Sync with master * Update go-ssz commit * Removed bad copies from v1alpha1 folder * add json spec json to pb handler * add nested proto example * proto/testing test works * fix refactoring build failures * use merged ssz * push latest changes * used forked json encoding * used forked json encoding * fix warning * fix build issues * fix test and lint * fix build * lint
73 lines
2.6 KiB
Protocol Buffer
73 lines
2.6 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package ethereum.eth.v1alpha1;
|
|
|
|
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
|
|
|
|
option go_package = "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1;eth";
|
|
|
|
message Attestation {
|
|
// A bitfield representation of validator indices that have voted exactly
|
|
// the same vote and have been aggregated into this attestation.
|
|
// Spec type: Bitlist[N]
|
|
bytes aggregation_bits = 1 [(gogoproto.moretags) = "ssz-max:\"4096\"", (gogoproto.casttype) = "github.com/prysmaticlabs/go-bitfield.Bitlist"];
|
|
|
|
AttestationData data = 2;
|
|
|
|
// Not used in phase 0.
|
|
bytes custody_bits = 3 [(gogoproto.moretags) = "ssz-max:\"4096\"", (gogoproto.casttype) = "github.com/prysmaticlabs/go-bitfield.Bitlist"];
|
|
|
|
// 96 byte BLS aggregate signature.
|
|
bytes signature = 4 [(gogoproto.moretags) = "ssz-size:\"96\""];
|
|
}
|
|
|
|
message AttestationData {
|
|
// Attestation data includes information on Casper the Friendly Finality Gadget's votes
|
|
// See: https://arxiv.org/pdf/1710.09437.pdf
|
|
|
|
// 32 byte root of the LMD GHOST block vote.
|
|
bytes beacon_block_root = 1 [(gogoproto.moretags) = "ssz-size:\"32\""];
|
|
|
|
// Source contains information relating to the recent justified epoch
|
|
// as well as the 32 byte root of the epoch boundary block at the
|
|
// source epoch.
|
|
Checkpoint source = 2;
|
|
|
|
// Target contains information relating to the epoch the attestation
|
|
// is targeting as well as the 32 byte root of the epoch boundary
|
|
// block at the source epoch.
|
|
Checkpoint target = 3;
|
|
|
|
// Crosslink voted by this attestation.
|
|
Crosslink crosslink = 4;
|
|
}
|
|
|
|
message Checkpoint {
|
|
// A checkpoint is every epoch's first slot. The goal of Casper FFG
|
|
// is to link the check points together for justification and finalization.
|
|
|
|
// epoch of the check point reference to.
|
|
uint64 epoch = 1;
|
|
// block root of the check point reference to.
|
|
bytes root = 2 [(gogoproto.moretags) = "ssz-size:\"32\""];
|
|
}
|
|
|
|
message Crosslink {
|
|
// The shard that crosslinks to the beacon chain.
|
|
uint64 shard = 1;
|
|
|
|
// 32 byte root of the parent crosslink.
|
|
bytes parent_root = 2 [(gogoproto.moretags) = "ssz-size:\"32\""];
|
|
|
|
// Start epoch must match the parent crosslink's end epoch.
|
|
uint64 start_epoch = 3;
|
|
|
|
// Ending epoch for this crosslink period. This field matches the attestation
|
|
// target epoch or the start epoch + MAX_EPOCHS_PER_CROSSLINK, whichever is
|
|
// less.
|
|
uint64 end_epoch = 4;
|
|
|
|
// 32 byte root of the crosslinked shard data since the previous crosslink.
|
|
bytes data_root = 5 [(gogoproto.moretags) = "ssz-size:\"32\""];
|
|
}
|