prysm-pulse/proto/eth/v1alpha1/archive.proto
Raul Jordan a2aa142b90
Archive Remaining Data at Epoch End in Archiver Service (#3531)
* archive participation begin implementation

* validator participation compute

* comments

* compute participation common func

* full test for archiving data

* gazelle

* complete tests

* gaz

* remove double negative grammar in comment

* use head fetcher and root

* tests pass

* archive active set changes appropriately

* archive committees

* archive info

* done with committee info archiving

* archived set changes stored

* fix build

* test for archive balances and active indices

* further abstractions

* only archive epoch end

* tests all pass

* tests pass now

* archive done

* test for activated validators

* tests for exited

* use ctx
2019-09-20 11:51:06 -05:00

49 lines
1.7 KiB
Protocol Buffer

syntax = "proto3";
package ethereum.eth.v1alpha1;
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
import "proto/eth/v1alpha1/beacon_block.proto";
option go_package = "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1;eth";
// ArchivedActiveSetChanges represents the changes to the active validator registry
// between epoch N and N-1. In particular, it keeps track of validator indices
// which were newly activated, exited, or slashed, along with those particular
// block operations.
message ArchivedActiveSetChanges {
// Activated validator indices.
repeated uint64 activated = 1;
// Exited validator indices.
repeated uint64 exited = 2;
// Proposer indices slashed.
repeated uint64 slashed = 4;
// Voluntary exit objects corresponding 1-to-1 to the exited indices
// list in this same data structure.
repeated VoluntaryExit voluntary_exits = 6;
// Proposer slashing objects corresponding 1-to-1 to the slashed proposer indices
// list in this same data structure.
repeated ProposerSlashing proposer_slashings = 7;
// Attester slashing objects corresponding 1-to-1 to the slashed attester indices
// list in this same data structure.
repeated AttesterSlashing attester_slashings = 8;
}
// ArchivedCommitteeInfo representing the minimal data required to reconstruct
// validator committee assignments for an epoch N.
message ArchivedCommitteeInfo {
// Seed represents the random seed used in shuffling validators.
bytes seed = 1 [(gogoproto.moretags) = "ssz-size:\"32\""];
// Start shard for the shuffling at epoch N.
uint64 start_shard = 2;
// Committee count is the size the committees during epoch N.
uint64 committee_count = 3;
}