Implement ListIndexedAttestations Endpoint in Prysm (#4892)

* update patch and workspace

* stub methods

* implementation of indexed attestations list

* include latest ethereumapis

* update request type

* compute committee pure function

* use compute committee helper

* add test into list indexed attestations

* regenerate mock

* imports and out of range check

* test passing for archived epoch

* add comment

* comment

* better comment on func

* throw in continue instead
This commit is contained in:
Raul Jordan
2020-02-17 15:57:13 -06:00
committed by GitHub
parent d7db8b1f5d
commit 5db8c5ad0c
8 changed files with 546 additions and 122 deletions

View File

@@ -262,7 +262,7 @@ index 2ce5c34..4cbb276 100644
+ bytes signature = 3 [(gogoproto.moretags) = "ssz-size:\"96\""];
}
diff --git a/eth/v1alpha1/beacon_chain.proto b/eth/v1alpha1/beacon_chain.proto
index cdac301..945f8b5 100644
index 0099328..8b8c6eb 100644
--- a/eth/v1alpha1/beacon_chain.proto
+++ b/eth/v1alpha1/beacon_chain.proto
@@ -15,6 +15,7 @@ syntax = "proto3";
@@ -273,7 +273,7 @@ index cdac301..945f8b5 100644
import "google/api/annotations.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/any.proto";
@@ -358,7 +359,7 @@ message ChainHead {
@@ -410,7 +411,7 @@ message ChainHead {
uint64 head_epoch = 2;
// 32 byte merkle tree root of the canonical head block in the beacon node.
@@ -282,7 +282,7 @@ index cdac301..945f8b5 100644
// Most recent slot that contains the finalized block.
uint64 finalized_slot = 4;
@@ -367,7 +368,7 @@ message ChainHead {
@@ -419,7 +420,7 @@ message ChainHead {
uint64 finalized_epoch = 5;
// Most recent 32 byte finalized block root.
@@ -291,7 +291,7 @@ index cdac301..945f8b5 100644
// Most recent slot that contains the justified block.
uint64 justified_slot = 7;
@@ -376,7 +377,7 @@ message ChainHead {
@@ -428,7 +429,7 @@ message ChainHead {
uint64 justified_epoch = 8;
// Most recent 32 byte justified block root.
@@ -300,7 +300,7 @@ index cdac301..945f8b5 100644
// Most recent slot that contains the previous justified block.
uint64 previous_justified_slot = 10;
@@ -385,7 +386,7 @@ message ChainHead {
@@ -437,7 +438,7 @@ message ChainHead {
uint64 previous_justified_epoch = 11;
// Previous 32 byte justified block root.
@@ -309,7 +309,7 @@ index cdac301..945f8b5 100644
}
message ListCommitteesRequest {
@@ -430,7 +431,7 @@ message ListValidatorBalancesRequest {
@@ -482,7 +483,7 @@ message ListValidatorBalancesRequest {
// Validator 48 byte BLS public keys to filter validators for the given
// epoch.
@@ -318,7 +318,7 @@ index cdac301..945f8b5 100644
// Validator indices to filter validators for the given epoch.
repeated uint64 indices = 4;
@@ -451,7 +452,7 @@ message ValidatorBalances {
@@ -503,7 +504,7 @@ message ValidatorBalances {
message Balance {
// Validator's 48 byte BLS public key.
@@ -327,7 +327,7 @@ index cdac301..945f8b5 100644
// Validator's index in the validator set.
uint64 index = 2;
@@ -500,7 +501,7 @@ message GetValidatorRequest {
@@ -552,7 +553,7 @@ message GetValidatorRequest {
uint64 index = 1;
// 48 byte validator public key.
@@ -336,7 +336,7 @@ index cdac301..945f8b5 100644
}
}
@@ -542,26 +543,25 @@ message ActiveSetChanges {
@@ -594,26 +595,25 @@ message ActiveSetChanges {
uint64 epoch = 1;
// 48 byte validator public keys that have been activated in the given epoch.
@@ -369,7 +369,7 @@ index cdac301..945f8b5 100644
// Indices of validators ejected in the given epoch.
repeated uint64 ejected_indices = 9;
@@ -611,11 +611,11 @@ message ValidatorQueue {
@@ -663,11 +663,11 @@ message ValidatorQueue {
// Ordered list of 48 byte public keys awaiting activation. 0th index is the
// next key to be processed.
@@ -383,7 +383,7 @@ index cdac301..945f8b5 100644
}
message ListValidatorAssignmentsRequest {
@@ -627,7 +627,7 @@ message ListValidatorAssignmentsRequest {
@@ -679,7 +679,7 @@ message ListValidatorAssignmentsRequest {
bool genesis = 2;
}
// 48 byte validator public keys to filter assignments for the given epoch.
@@ -392,7 +392,7 @@ index cdac301..945f8b5 100644
// Validator indicies to filter assignments for the given epoch.
repeated uint64 indices = 4;
@@ -662,7 +662,7 @@ message ValidatorAssignments {
@@ -714,7 +714,7 @@ message ValidatorAssignments {
uint64 proposer_slot = 4;
// 48 byte BLS public key.