diff --git a/beacon-chain/rpc/prysm/v1alpha1/validator/BUILD.bazel b/beacon-chain/rpc/prysm/v1alpha1/validator/BUILD.bazel index e9aefbeed7..50460c1b42 100644 --- a/beacon-chain/rpc/prysm/v1alpha1/validator/BUILD.bazel +++ b/beacon-chain/rpc/prysm/v1alpha1/validator/BUILD.bazel @@ -4,7 +4,7 @@ go_library( name = "go_default_library", srcs = [ "aggregator.go", - "assignments.go", + "duties.go", "attester.go", "blocks.go", "construct_generic_block.go", @@ -178,7 +178,7 @@ go_test( timeout = "moderate", srcs = [ "aggregator_test.go", - "assignments_test.go", + "duties_test.go", "attester_test.go", "blocks_test.go", "construct_generic_block_test.go", diff --git a/beacon-chain/rpc/prysm/v1alpha1/validator/assignments.go b/beacon-chain/rpc/prysm/v1alpha1/validator/duties.go similarity index 100% rename from beacon-chain/rpc/prysm/v1alpha1/validator/assignments.go rename to beacon-chain/rpc/prysm/v1alpha1/validator/duties.go diff --git a/beacon-chain/rpc/prysm/v1alpha1/validator/assignments_test.go b/beacon-chain/rpc/prysm/v1alpha1/validator/duties_test.go similarity index 100% rename from beacon-chain/rpc/prysm/v1alpha1/validator/assignments_test.go rename to beacon-chain/rpc/prysm/v1alpha1/validator/duties_test.go diff --git a/validator/client/aggregate_test.go b/validator/client/aggregate_test.go index c08cda6a00..93f0032f10 100644 --- a/validator/client/aggregate_test.go +++ b/validator/client/aggregate_test.go @@ -23,7 +23,7 @@ import ( func TestSubmitAggregateAndProof_GetDutiesRequestFailure(t *testing.T) { hook := logTest.NewGlobal() validator, _, validatorKey, finish := setup(t) - validator.duties = ðpb.DutiesResponse{Duties: []*ethpb.DutiesResponse_Duty{}} + validator.duties = ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{}} defer finish() var pubKey [fieldparams.BLSPubkeyLength]byte @@ -39,7 +39,7 @@ func TestSubmitAggregateAndProof_SignFails(t *testing.T) { var pubKey [fieldparams.BLSPubkeyLength]byte copy(pubKey[:], validatorKey.PublicKey().Marshal()) validator.duties = ðpb.DutiesResponse{ - Duties: []*ethpb.DutiesResponse_Duty{ + CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { PublicKey: validatorKey.PublicKey().Marshal(), }, @@ -78,7 +78,7 @@ func TestSubmitAggregateAndProof_Ok(t *testing.T) { var pubKey [fieldparams.BLSPubkeyLength]byte copy(pubKey[:], validatorKey.PublicKey().Marshal()) validator.duties = ðpb.DutiesResponse{ - Duties: []*ethpb.DutiesResponse_Duty{ + CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { PublicKey: validatorKey.PublicKey().Marshal(), }, diff --git a/validator/client/attest.go b/validator/client/attest.go index 8bc608f43b..58c7eab76d 100644 --- a/validator/client/attest.go +++ b/validator/client/attest.go @@ -187,7 +187,7 @@ func (v *validator) duty(pubKey [fieldparams.BLSPubkeyLength]byte) (*ethpb.Dutie return nil, errors.New("no duties for validators") } - for _, duty := range v.duties.Duties { + for _, duty := range v.duties.CurrentEpochDuties { if bytes.Equal(pubKey[:], duty.PublicKey) { return duty, nil } diff --git a/validator/client/attest_test.go b/validator/client/attest_test.go index 290fd51c3e..c498a54811 100644 --- a/validator/client/attest_test.go +++ b/validator/client/attest_test.go @@ -31,7 +31,7 @@ import ( func TestRequestAttestation_ValidatorDutiesRequestFailure(t *testing.T) { hook := logTest.NewGlobal() validator, _, validatorKey, finish := setup(t) - validator.duties = ðpb.DutiesResponse{Duties: []*ethpb.DutiesResponse_Duty{}} + validator.duties = ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{}} defer finish() var pubKey [fieldparams.BLSPubkeyLength]byte @@ -47,7 +47,7 @@ func TestAttestToBlockHead_SubmitAttestation_EmptyCommittee(t *testing.T) { defer finish() var pubKey [fieldparams.BLSPubkeyLength]byte copy(pubKey[:], validatorKey.PublicKey().Marshal()) - validator.duties = ðpb.DutiesResponse{Duties: []*ethpb.DutiesResponse_Duty{ + validator.duties = ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { PublicKey: validatorKey.PublicKey().Marshal(), CommitteeIndex: 0, @@ -63,7 +63,7 @@ func TestAttestToBlockHead_SubmitAttestation_RequestFailure(t *testing.T) { validator, m, validatorKey, finish := setup(t) defer finish() - validator.duties = ðpb.DutiesResponse{Duties: []*ethpb.DutiesResponse_Duty{ + validator.duties = ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { PublicKey: validatorKey.PublicKey().Marshal(), CommitteeIndex: 5, @@ -101,7 +101,7 @@ func TestAttestToBlockHead_AttestsCorrectly(t *testing.T) { committee := []primitives.ValidatorIndex{0, 3, 4, 2, validatorIndex, 6, 8, 9, 10} var pubKey [fieldparams.BLSPubkeyLength]byte copy(pubKey[:], validatorKey.PublicKey().Marshal()) - validator.duties = ðpb.DutiesResponse{Duties: []*ethpb.DutiesResponse_Duty{ + validator.duties = ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { PublicKey: validatorKey.PublicKey().Marshal(), CommitteeIndex: 5, @@ -174,7 +174,7 @@ func TestAttestToBlockHead_BlocksDoubleAtt(t *testing.T) { committee := []primitives.ValidatorIndex{0, 3, 4, 2, validatorIndex, 6, 8, 9, 10} var pubKey [fieldparams.BLSPubkeyLength]byte copy(pubKey[:], validatorKey.PublicKey().Marshal()) - validator.duties = ðpb.DutiesResponse{Duties: []*ethpb.DutiesResponse_Duty{ + validator.duties = ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { PublicKey: validatorKey.PublicKey().Marshal(), CommitteeIndex: 5, @@ -226,7 +226,7 @@ func TestAttestToBlockHead_BlocksSurroundAtt(t *testing.T) { committee := []primitives.ValidatorIndex{0, 3, 4, 2, validatorIndex, 6, 8, 9, 10} var pubKey [fieldparams.BLSPubkeyLength]byte copy(pubKey[:], validatorKey.PublicKey().Marshal()) - validator.duties = ðpb.DutiesResponse{Duties: []*ethpb.DutiesResponse_Duty{ + validator.duties = ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { PublicKey: validatorKey.PublicKey().Marshal(), CommitteeIndex: 5, @@ -278,7 +278,7 @@ func TestAttestToBlockHead_BlocksSurroundedAtt(t *testing.T) { var pubKey [fieldparams.BLSPubkeyLength]byte copy(pubKey[:], validatorKey.PublicKey().Marshal()) committee := []primitives.ValidatorIndex{0, 3, 4, 2, validatorIndex, 6, 8, 9, 10} - validator.duties = ðpb.DutiesResponse{Duties: []*ethpb.DutiesResponse_Duty{ + validator.duties = ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { PublicKey: validatorKey.PublicKey().Marshal(), CommitteeIndex: 5, @@ -365,7 +365,7 @@ func TestAttestToBlockHead_DoesAttestAfterDelay(t *testing.T) { committee := []primitives.ValidatorIndex{0, 3, 4, 2, validatorIndex, 6, 8, 9, 10} var pubKey [fieldparams.BLSPubkeyLength]byte copy(pubKey[:], validatorKey.PublicKey().Marshal()) - validator.duties = ðpb.DutiesResponse{Duties: []*ethpb.DutiesResponse_Duty{ + validator.duties = ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { PublicKey: validatorKey.PublicKey().Marshal(), CommitteeIndex: 5, @@ -404,7 +404,7 @@ func TestAttestToBlockHead_CorrectBitfieldLength(t *testing.T) { committee := []primitives.ValidatorIndex{0, 3, 4, 2, validatorIndex, 6, 8, 9, 10} var pubKey [fieldparams.BLSPubkeyLength]byte copy(pubKey[:], validatorKey.PublicKey().Marshal()) - validator.duties = ðpb.DutiesResponse{Duties: []*ethpb.DutiesResponse_Duty{ + validator.duties = ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { PublicKey: validatorKey.PublicKey().Marshal(), CommitteeIndex: 5, diff --git a/validator/client/sync_committee_test.go b/validator/client/sync_committee_test.go index 4cc43e8267..23a1941d98 100644 --- a/validator/client/sync_committee_test.go +++ b/validator/client/sync_committee_test.go @@ -22,7 +22,7 @@ import ( func TestSubmitSyncCommitteeMessage_ValidatorDutiesRequestFailure(t *testing.T) { hook := logTest.NewGlobal() validator, m, validatorKey, finish := setup(t) - validator.duties = ðpb.DutiesResponse{Duties: []*ethpb.DutiesResponse_Duty{}} + validator.duties = ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{}} defer finish() m.validatorClient.EXPECT().GetSyncMessageBlockRoot( @@ -44,7 +44,7 @@ func TestSubmitSyncCommitteeMessage_BadDomainData(t *testing.T) { hook := logTest.NewGlobal() validatorIndex := primitives.ValidatorIndex(7) committee := []primitives.ValidatorIndex{0, 3, 4, 2, validatorIndex, 6, 8, 9, 10} - validator.duties = ðpb.DutiesResponse{Duties: []*ethpb.DutiesResponse_Duty{ + validator.duties = ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { PublicKey: validatorKey.PublicKey().Marshal(), Committee: committee, @@ -76,7 +76,7 @@ func TestSubmitSyncCommitteeMessage_CouldNotSubmit(t *testing.T) { hook := logTest.NewGlobal() validatorIndex := primitives.ValidatorIndex(7) committee := []primitives.ValidatorIndex{0, 3, 4, 2, validatorIndex, 6, 8, 9, 10} - validator.duties = ðpb.DutiesResponse{Duties: []*ethpb.DutiesResponse_Duty{ + validator.duties = ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { PublicKey: validatorKey.PublicKey().Marshal(), Committee: committee, @@ -117,7 +117,7 @@ func TestSubmitSyncCommitteeMessage_OK(t *testing.T) { hook := logTest.NewGlobal() validatorIndex := primitives.ValidatorIndex(7) committee := []primitives.ValidatorIndex{0, 3, 4, 2, validatorIndex, 6, 8, 9, 10} - validator.duties = ðpb.DutiesResponse{Duties: []*ethpb.DutiesResponse_Duty{ + validator.duties = ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { PublicKey: validatorKey.PublicKey().Marshal(), Committee: committee, @@ -161,7 +161,7 @@ func TestSubmitSyncCommitteeMessage_OK(t *testing.T) { func TestSubmitSignedContributionAndProof_ValidatorDutiesRequestFailure(t *testing.T) { hook := logTest.NewGlobal() validator, _, validatorKey, finish := setup(t) - validator.duties = ðpb.DutiesResponse{Duties: []*ethpb.DutiesResponse_Duty{}} + validator.duties = ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{}} defer finish() var pubKey [fieldparams.BLSPubkeyLength]byte @@ -175,7 +175,7 @@ func TestSubmitSignedContributionAndProof_GetSyncSubcommitteeIndexFailure(t *tes validator, m, validatorKey, finish := setup(t) validatorIndex := primitives.ValidatorIndex(7) committee := []primitives.ValidatorIndex{0, 3, 4, 2, validatorIndex, 6, 8, 9, 10} - validator.duties = ðpb.DutiesResponse{Duties: []*ethpb.DutiesResponse_Duty{ + validator.duties = ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { PublicKey: validatorKey.PublicKey().Marshal(), Committee: committee, @@ -203,7 +203,7 @@ func TestSubmitSignedContributionAndProof_NothingToDo(t *testing.T) { validator, m, validatorKey, finish := setup(t) validatorIndex := primitives.ValidatorIndex(7) committee := []primitives.ValidatorIndex{0, 3, 4, 2, validatorIndex, 6, 8, 9, 10} - validator.duties = ðpb.DutiesResponse{Duties: []*ethpb.DutiesResponse_Duty{ + validator.duties = ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { PublicKey: validatorKey.PublicKey().Marshal(), Committee: committee, @@ -231,7 +231,7 @@ func TestSubmitSignedContributionAndProof_BadDomain(t *testing.T) { validator, m, validatorKey, finish := setup(t) validatorIndex := primitives.ValidatorIndex(7) committee := []primitives.ValidatorIndex{0, 3, 4, 2, validatorIndex, 6, 8, 9, 10} - validator.duties = ðpb.DutiesResponse{Duties: []*ethpb.DutiesResponse_Duty{ + validator.duties = ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { PublicKey: validatorKey.PublicKey().Marshal(), Committee: committee, @@ -273,7 +273,7 @@ func TestSubmitSignedContributionAndProof_CouldNotGetContribution(t *testing.T) validator, m, validatorKey, finish := setupWithKey(t, validatorKey) validatorIndex := primitives.ValidatorIndex(7) committee := []primitives.ValidatorIndex{0, 3, 4, 2, validatorIndex, 6, 8, 9, 10} - validator.duties = ðpb.DutiesResponse{Duties: []*ethpb.DutiesResponse_Duty{ + validator.duties = ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { PublicKey: validatorKey.PublicKey().Marshal(), Committee: committee, @@ -323,7 +323,7 @@ func TestSubmitSignedContributionAndProof_CouldNotSubmitContribution(t *testing. validator, m, validatorKey, finish := setupWithKey(t, validatorKey) validatorIndex := primitives.ValidatorIndex(7) committee := []primitives.ValidatorIndex{0, 3, 4, 2, validatorIndex, 6, 8, 9, 10} - validator.duties = ðpb.DutiesResponse{Duties: []*ethpb.DutiesResponse_Duty{ + validator.duties = ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { PublicKey: validatorKey.PublicKey().Marshal(), Committee: committee, @@ -401,7 +401,7 @@ func TestSubmitSignedContributionAndProof_Ok(t *testing.T) { validator, m, validatorKey, finish := setupWithKey(t, validatorKey) validatorIndex := primitives.ValidatorIndex(7) committee := []primitives.ValidatorIndex{0, 3, 4, 2, validatorIndex, 6, 8, 9, 10} - validator.duties = ðpb.DutiesResponse{Duties: []*ethpb.DutiesResponse_Duty{ + validator.duties = ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { PublicKey: validatorKey.PublicKey().Marshal(), Committee: committee, diff --git a/validator/client/validator.go b/validator/client/validator.go index 601fc28e02..629fb9bc05 100644 --- a/validator/client/validator.go +++ b/validator/client/validator.go @@ -701,7 +701,7 @@ func (v *validator) RolesAt(ctx context.Context, slot primitives.Slot) (map[[fie v.dutiesLock.RLock() defer v.dutiesLock.RUnlock() rolesAt := make(map[[fieldparams.BLSPubkeyLength]byte][]iface.ValidatorRole) - for validator, duty := range v.duties.Duties { + for validator, duty := range v.duties.CurrentEpochDuties { var roles []iface.ValidatorRole if duty == nil { diff --git a/validator/client/validator_test.go b/validator/client/validator_test.go index 458ede6b78..d041a3d87b 100644 --- a/validator/client/validator_test.go +++ b/validator/client/validator_test.go @@ -456,7 +456,7 @@ func TestUpdateDuties_DoesNothingWhenNotEpochStart_AlreadyExistingAssignments(t v := validator{ validatorClient: client, duties: ðpb.DutiesResponse{ - Duties: []*ethpb.DutiesResponse_Duty{ + CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { Committee: []primitives.ValidatorIndex{}, AttesterSlot: 10, @@ -482,7 +482,7 @@ func TestUpdateDuties_ReturnsError(t *testing.T) { validatorClient: client, keyManager: newMockKeymanager(t, randKeypair(t)), duties: ðpb.DutiesResponse{ - Duties: []*ethpb.DutiesResponse_Duty{ + CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { CommitteeIndex: 1, }, @@ -508,7 +508,7 @@ func TestUpdateDuties_OK(t *testing.T) { slot := params.BeaconConfig().SlotsPerEpoch resp := ðpb.DutiesResponse{ - Duties: []*ethpb.DutiesResponse_Duty{ + CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { AttesterSlot: params.BeaconConfig().SlotsPerEpoch, ValidatorIndex: 200, @@ -544,10 +544,10 @@ func TestUpdateDuties_OK(t *testing.T) { util.WaitTimeout(&wg, 2*time.Second) - assert.Equal(t, params.BeaconConfig().SlotsPerEpoch+1, v.duties.Duties[0].ProposerSlots[0], "Unexpected validator assignments") - assert.Equal(t, params.BeaconConfig().SlotsPerEpoch, v.duties.Duties[0].AttesterSlot, "Unexpected validator assignments") - assert.Equal(t, resp.Duties[0].CommitteeIndex, v.duties.Duties[0].CommitteeIndex, "Unexpected validator assignments") - assert.Equal(t, resp.Duties[0].ValidatorIndex, v.duties.Duties[0].ValidatorIndex, "Unexpected validator assignments") + assert.Equal(t, params.BeaconConfig().SlotsPerEpoch+1, v.duties.CurrentEpochDuties[0].ProposerSlots[0], "Unexpected validator assignments") + assert.Equal(t, params.BeaconConfig().SlotsPerEpoch, v.duties.CurrentEpochDuties[0].AttesterSlot, "Unexpected validator assignments") + assert.Equal(t, resp.CurrentEpochDuties[0].CommitteeIndex, v.duties.CurrentEpochDuties[0].CommitteeIndex, "Unexpected validator assignments") + assert.Equal(t, resp.CurrentEpochDuties[0].ValidatorIndex, v.duties.CurrentEpochDuties[0].ValidatorIndex, "Unexpected validator assignments") } func TestUpdateDuties_OK_FilterBlacklistedPublicKeys(t *testing.T) { @@ -570,7 +570,7 @@ func TestUpdateDuties_OK_FilterBlacklistedPublicKeys(t *testing.T) { } resp := ðpb.DutiesResponse{ - Duties: []*ethpb.DutiesResponse_Duty{}, + CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{}, } client.EXPECT().GetDuties( gomock.Any(), @@ -644,7 +644,7 @@ func TestRolesAt_OK(t *testing.T) { defer finish() v.duties = ðpb.DutiesResponse{ - Duties: []*ethpb.DutiesResponse_Duty{ + CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { CommitteeIndex: 1, AttesterSlot: 1, @@ -684,7 +684,7 @@ func TestRolesAt_OK(t *testing.T) { // Test sync committee role at epoch boundary. v.duties = ðpb.DutiesResponse{ - Duties: []*ethpb.DutiesResponse_Duty{ + CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { CommitteeIndex: 1, AttesterSlot: 1, @@ -720,7 +720,7 @@ func TestRolesAt_DoesNotAssignProposer_Slot0(t *testing.T) { defer finish() v.duties = ðpb.DutiesResponse{ - Duties: []*ethpb.DutiesResponse_Duty{ + CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { CommitteeIndex: 1, AttesterSlot: 0, @@ -847,7 +847,7 @@ func TestCheckAndLogValidatorStatus_OK(t *testing.T) { v := validator{ validatorClient: client, duties: ðpb.DutiesResponse{ - Duties: []*ethpb.DutiesResponse_Duty{ + CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{ { CommitteeIndex: 1, },