diff --git a/beacon/validator/src/main/java/tech/pegasys/teku/validator/coordinator/ValidatorApiHandler.java b/beacon/validator/src/main/java/tech/pegasys/teku/validator/coordinator/ValidatorApiHandler.java index b0f3cff1e37..62a552122ad 100644 --- a/beacon/validator/src/main/java/tech/pegasys/teku/validator/coordinator/ValidatorApiHandler.java +++ b/beacon/validator/src/main/java/tech/pegasys/teku/validator/coordinator/ValidatorApiHandler.java @@ -505,8 +505,7 @@ public SafeFuture> createAggregate( return SafeFuture.completedFuture( attestationPool .createAggregateFor(attestationHashTreeRoot, committeeIndex) - .filter(attestation -> attestation.getData().getSlot().equals(slot)) - .map(ValidatableAttestation::getAttestation)); + .filter(attestation -> attestation.getData().getSlot().equals(slot))); } @Override diff --git a/beacon/validator/src/test/java/tech/pegasys/teku/validator/coordinator/ValidatorApiHandlerTest.java b/beacon/validator/src/test/java/tech/pegasys/teku/validator/coordinator/ValidatorApiHandlerTest.java index 9c54fd626c8..033edc107b9 100644 --- a/beacon/validator/src/test/java/tech/pegasys/teku/validator/coordinator/ValidatorApiHandlerTest.java +++ b/beacon/validator/src/test/java/tech/pegasys/teku/validator/coordinator/ValidatorApiHandlerTest.java @@ -734,7 +734,7 @@ public void createAggregate_shouldReturnAggregateFromAttestationPool() { final Optional aggregate = Optional.of(dataStructureUtil.randomAttestation()); when(attestationPool.createAggregateFor( eq(attestationData.hashTreeRoot()), eq(Optional.empty()))) - .thenReturn(aggregate.map(attestation -> ValidatableAttestation.from(spec, attestation))); + .thenReturn(aggregate); assertThat( validatorApiHandler.createAggregate( diff --git a/ethereum/statetransition/src/main/java/tech/pegasys/teku/statetransition/attestation/AggregatingAttestationPool.java b/ethereum/statetransition/src/main/java/tech/pegasys/teku/statetransition/attestation/AggregatingAttestationPool.java index 53d50c5bb56..2998fa4eef6 100644 --- a/ethereum/statetransition/src/main/java/tech/pegasys/teku/statetransition/attestation/AggregatingAttestationPool.java +++ b/ethereum/statetransition/src/main/java/tech/pegasys/teku/statetransition/attestation/AggregatingAttestationPool.java @@ -354,10 +354,11 @@ private boolean isValid( return spec.validateAttestation(stateAtBlockSlot, attestationData).isEmpty(); } - public synchronized Optional createAggregateFor( + public synchronized Optional createAggregateFor( final Bytes32 attestationHashTreeRoot, final Optional committeeIndex) { return Optional.ofNullable(attestationGroupByDataHash.get(attestationHashTreeRoot)) - .flatMap(attestations -> attestations.stream(committeeIndex).findFirst()); + .flatMap(attestations -> attestations.stream(committeeIndex).findFirst()) + .map(ValidatableAttestation::getAttestation); } public synchronized void onReorg(final UInt64 commonAncestorSlot) { diff --git a/ethereum/statetransition/src/test/java/tech/pegasys/teku/statetransition/attestation/AggregatingAttestationPoolTest.java b/ethereum/statetransition/src/test/java/tech/pegasys/teku/statetransition/attestation/AggregatingAttestationPoolTest.java index 897331c42a2..6288d870748 100644 --- a/ethereum/statetransition/src/test/java/tech/pegasys/teku/statetransition/attestation/AggregatingAttestationPoolTest.java +++ b/ethereum/statetransition/src/test/java/tech/pegasys/teku/statetransition/attestation/AggregatingAttestationPoolTest.java @@ -124,7 +124,7 @@ public void setUp(final SpecContext specContext) { @TestTemplate public void createAggregateFor_shouldReturnEmptyWhenNoAttestationsMatchGivenData() { - final Optional result = + final Optional result = aggregatingPool.createAggregateFor( dataStructureUtil.randomAttestationData().hashTreeRoot(), committeeIndex); assertThat(result).isEmpty(); @@ -136,10 +136,9 @@ public void createAggregateFor_shouldAggregateAttestationsWithMatchingData() { final Attestation attestation1 = addAttestationFromValidators(attestationData, 1, 3, 5); final Attestation attestation2 = addAttestationFromValidators(attestationData, 2, 4, 6); - final Optional result = + final Optional result = aggregatingPool.createAggregateFor(attestationData.hashTreeRoot(), committeeIndex); - assertThat(result.map(ValidatableAttestation::getAttestation)) - .contains(aggregateAttestations(attestation1, attestation2)); + assertThat(result).contains(aggregateAttestations(attestation1, attestation2)); } @TestTemplate @@ -149,10 +148,9 @@ public void createAggregateFor_shouldReturnBestAggregateForMatchingDataWhenSomeO final Attestation attestation2 = addAttestationFromValidators(attestationData, 2, 4, 6, 8); addAttestationFromValidators(attestationData, 2, 3, 9); - final Optional result = + final Optional result = aggregatingPool.createAggregateFor(attestationData.hashTreeRoot(), committeeIndex); - assertThat(result.map(ValidatableAttestation::getAttestation)) - .contains(aggregateAttestations(attestation1, attestation2)); + assertThat(result).contains(aggregateAttestations(attestation1, attestation2)); } @TestTemplate