Skip to content

Commit f8c58ca

Browse files
authored
Move statics in PostSyncDuties to SharedApiTypes (Consensys#8025)
1 parent adc1dd5 commit f8c58ca

File tree

19 files changed

+157
-49
lines changed

19 files changed

+157
-49
lines changed

Diff for: beacon/validator/src/main/java/tech/pegasys/teku/validator/coordinator/ValidatorApiHandler.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@
5151
import tech.pegasys.teku.ethereum.json.types.validator.BeaconCommitteeSelectionProof;
5252
import tech.pegasys.teku.ethereum.json.types.validator.ProposerDuties;
5353
import tech.pegasys.teku.ethereum.json.types.validator.ProposerDuty;
54+
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeDuties;
55+
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeDuty;
5456
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeSelectionProof;
5557
import tech.pegasys.teku.ethereum.performance.trackers.BlockProductionPerformance;
5658
import tech.pegasys.teku.ethereum.performance.trackers.BlockProductionPerformanceFactory;
@@ -96,8 +98,6 @@
9698
import tech.pegasys.teku.validator.api.NodeSyncingException;
9799
import tech.pegasys.teku.validator.api.SendSignedBlockResult;
98100
import tech.pegasys.teku.validator.api.SubmitDataError;
99-
import tech.pegasys.teku.validator.api.SyncCommitteeDuties;
100-
import tech.pegasys.teku.validator.api.SyncCommitteeDuty;
101101
import tech.pegasys.teku.validator.api.SyncCommitteeSubnetSubscription;
102102
import tech.pegasys.teku.validator.api.ValidatorApiChannel;
103103
import tech.pegasys.teku.validator.coordinator.duties.AttesterDutiesGenerator;

Diff for: beacon/validator/src/test/java/tech/pegasys/teku/validator/coordinator/ValidatorApiHandlerTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
import tech.pegasys.teku.ethereum.json.types.validator.AttesterDuty;
6666
import tech.pegasys.teku.ethereum.json.types.validator.ProposerDuties;
6767
import tech.pegasys.teku.ethereum.json.types.validator.ProposerDuty;
68+
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeDuties;
6869
import tech.pegasys.teku.ethereum.performance.trackers.BlockProductionPerformance;
6970
import tech.pegasys.teku.ethereum.performance.trackers.BlockProductionPerformanceFactory;
7071
import tech.pegasys.teku.infrastructure.async.SafeFuture;
@@ -127,7 +128,6 @@
127128
import tech.pegasys.teku.validator.api.NodeSyncingException;
128129
import tech.pegasys.teku.validator.api.SendSignedBlockResult;
129130
import tech.pegasys.teku.validator.api.SubmitDataError;
130-
import tech.pegasys.teku.validator.api.SyncCommitteeDuties;
131131
import tech.pegasys.teku.validator.api.SyncCommitteeSubnetSubscription;
132132
import tech.pegasys.teku.validator.coordinator.performance.DefaultPerformanceTracker;
133133

Diff for: data/beaconrestapi/src/integration-test/java/tech/pegasys/teku/beaconrestapi/v1/validator/PostSyncDutiesIntegrationTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@
3232
import tech.pegasys.teku.beacon.sync.events.SyncState;
3333
import tech.pegasys.teku.beaconrestapi.AbstractDataBackedRestAPIIntegrationTest;
3434
import tech.pegasys.teku.beaconrestapi.handlers.v1.validator.PostSyncDuties;
35+
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeDuties;
36+
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeDuty;
3537
import tech.pegasys.teku.infrastructure.async.SafeFuture;
3638
import tech.pegasys.teku.spec.SpecMilestone;
37-
import tech.pegasys.teku.validator.api.SyncCommitteeDuties;
38-
import tech.pegasys.teku.validator.api.SyncCommitteeDuty;
3939

4040
public class PostSyncDutiesIntegrationTest extends AbstractDataBackedRestAPIIntegrationTest {
4141
final IntList validators = IntList.of(1);

Diff for: data/beaconrestapi/src/main/java/tech/pegasys/teku/beaconrestapi/handlers/v1/validator/PostSyncDuties.java

+3-28
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,12 @@
1414
package tech.pegasys.teku.beaconrestapi.handlers.v1.validator;
1515

1616
import static tech.pegasys.teku.beaconrestapi.BeaconRestApiTypes.EPOCH_PARAMETER;
17-
import static tech.pegasys.teku.ethereum.json.types.EthereumTypes.PUBLIC_KEY_TYPE;
17+
import static tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeDutiesBuilder.SYNC_COMMITTEE_DUTIES_TYPE;
1818
import static tech.pegasys.teku.infrastructure.http.HttpStatusCodes.SC_OK;
1919
import static tech.pegasys.teku.infrastructure.http.HttpStatusCodes.SC_SERVICE_UNAVAILABLE;
20-
import static tech.pegasys.teku.infrastructure.http.RestApiConstants.EXECUTION_OPTIMISTIC;
2120
import static tech.pegasys.teku.infrastructure.http.RestApiConstants.SERVICE_UNAVAILABLE;
2221
import static tech.pegasys.teku.infrastructure.http.RestApiConstants.TAG_VALIDATOR;
2322
import static tech.pegasys.teku.infrastructure.http.RestApiConstants.TAG_VALIDATOR_REQUIRED;
24-
import static tech.pegasys.teku.infrastructure.json.types.CoreTypes.BOOLEAN_TYPE;
2523
import static tech.pegasys.teku.infrastructure.json.types.CoreTypes.INTEGER_TYPE;
2624

2725
import com.fasterxml.jackson.core.JsonProcessingException;
@@ -32,43 +30,20 @@
3230
import tech.pegasys.teku.api.DataProvider;
3331
import tech.pegasys.teku.api.SyncDataProvider;
3432
import tech.pegasys.teku.api.ValidatorDataProvider;
33+
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeDuties;
3534
import tech.pegasys.teku.infrastructure.async.SafeFuture;
3635
import tech.pegasys.teku.infrastructure.json.types.DeserializableTypeDefinition;
37-
import tech.pegasys.teku.infrastructure.json.types.SerializableTypeDefinition;
3836
import tech.pegasys.teku.infrastructure.restapi.endpoints.AsyncApiResponse;
3937
import tech.pegasys.teku.infrastructure.restapi.endpoints.EndpointMetadata;
4038
import tech.pegasys.teku.infrastructure.restapi.endpoints.RestApiEndpoint;
4139
import tech.pegasys.teku.infrastructure.restapi.endpoints.RestApiRequest;
4240
import tech.pegasys.teku.infrastructure.unsigned.UInt64;
43-
import tech.pegasys.teku.validator.api.SyncCommitteeDuties;
44-
import tech.pegasys.teku.validator.api.SyncCommitteeDuty;
4541

4642
public class PostSyncDuties extends RestApiEndpoint {
4743
public static final String ROUTE = "/eth/v1/validator/duties/sync/{epoch}";
4844
private final ValidatorDataProvider validatorDataProvider;
4945
private final SyncDataProvider syncDataProvider;
5046

51-
private static final SerializableTypeDefinition<SyncCommitteeDuty> SYNC_COMMITTEE_DUTY_TYPE =
52-
SerializableTypeDefinition.object(SyncCommitteeDuty.class)
53-
.withField("pubkey", PUBLIC_KEY_TYPE, SyncCommitteeDuty::getPublicKey)
54-
.withField("validator_index", INTEGER_TYPE, SyncCommitteeDuty::getValidatorIndex)
55-
.withField(
56-
"validator_sync_committee_indices",
57-
SerializableTypeDefinition.listOf(INTEGER_TYPE),
58-
syncCommitteeDuty ->
59-
new IntArrayList(syncCommitteeDuty.getValidatorSyncCommitteeIndices()))
60-
.build();
61-
62-
private static final SerializableTypeDefinition<SyncCommitteeDuties> RESPONSE_TYPE =
63-
SerializableTypeDefinition.object(SyncCommitteeDuties.class)
64-
.name("GetSyncCommitteeDutiesResponse")
65-
.withField(EXECUTION_OPTIMISTIC, BOOLEAN_TYPE, SyncCommitteeDuties::isExecutionOptimistic)
66-
.withField(
67-
"data",
68-
SerializableTypeDefinition.listOf(SYNC_COMMITTEE_DUTY_TYPE),
69-
SyncCommitteeDuties::getDuties)
70-
.build();
71-
7247
public PostSyncDuties(final DataProvider dataProvider) {
7348
this(dataProvider.getSyncDataProvider(), dataProvider.getValidatorDataProvider());
7449
}
@@ -83,7 +58,7 @@ public PostSyncDuties(final DataProvider dataProvider) {
8358
.tags(TAG_VALIDATOR, TAG_VALIDATOR_REQUIRED)
8459
.pathParam(EPOCH_PARAMETER)
8560
.requestBodyType(DeserializableTypeDefinition.listOf(INTEGER_TYPE, 1))
86-
.response(SC_OK, "Request successful", RESPONSE_TYPE)
61+
.response(SC_OK, "Request successful", SYNC_COMMITTEE_DUTIES_TYPE)
8762
.withServiceUnavailableResponse()
8863
.build());
8964
this.validatorDataProvider = validatorDataProvider;

Diff for: data/beaconrestapi/src/test/java/tech/pegasys/teku/beaconrestapi/handlers/v1/validator/PostSyncDutiesTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@
3737
import org.junit.jupiter.api.BeforeEach;
3838
import org.junit.jupiter.api.Test;
3939
import tech.pegasys.teku.beaconrestapi.AbstractMigratedBeaconHandlerTest;
40+
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeDuties;
41+
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeDuty;
4042
import tech.pegasys.teku.infrastructure.async.SafeFuture;
4143
import tech.pegasys.teku.infrastructure.http.HttpErrorResponse;
42-
import tech.pegasys.teku.validator.api.SyncCommitteeDuties;
43-
import tech.pegasys.teku.validator.api.SyncCommitteeDuty;
4444

4545
public class PostSyncDutiesTest extends AbstractMigratedBeaconHandlerTest {
4646
private final SyncCommitteeDuty duty =

Diff for: data/provider/src/main/java/tech/pegasys/teku/api/ValidatorDataProvider.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
import tech.pegasys.teku.bls.BLSSignature;
4141
import tech.pegasys.teku.ethereum.json.types.validator.AttesterDuties;
4242
import tech.pegasys.teku.ethereum.json.types.validator.ProposerDuties;
43+
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeDuties;
4344
import tech.pegasys.teku.infrastructure.async.SafeFuture;
4445
import tech.pegasys.teku.infrastructure.ssz.SszList;
4546
import tech.pegasys.teku.infrastructure.unsigned.UInt64;
@@ -64,7 +65,6 @@
6465
import tech.pegasys.teku.validator.api.CommitteeSubscriptionRequest;
6566
import tech.pegasys.teku.validator.api.SendSignedBlockResult;
6667
import tech.pegasys.teku.validator.api.SubmitDataError;
67-
import tech.pegasys.teku.validator.api.SyncCommitteeDuties;
6868
import tech.pegasys.teku.validator.api.SyncCommitteeSubnetSubscription;
6969
import tech.pegasys.teku.validator.api.ValidatorApiChannel;
7070

Diff for: validator/api/src/main/java/tech/pegasys/teku/validator/api/SyncCommitteeDuties.java renamed to ethereum/json-types/src/main/java/tech/pegasys/teku/ethereum/json/types/validator/SyncCommitteeDuties.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
* specific language governing permissions and limitations under the License.
1212
*/
1313

14-
package tech.pegasys.teku.validator.api;
14+
package tech.pegasys.teku.ethereum.json.types.validator;
1515

1616
import com.google.common.base.MoreObjects;
1717
import java.util.List;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
/*
2+
* Copyright Consensys Software Inc., 2024
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
5+
* the License. You may obtain a copy of the License at
6+
*
7+
* http://www.apache.org/licenses/LICENSE-2.0
8+
*
9+
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
10+
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
11+
* specific language governing permissions and limitations under the License.
12+
*/
13+
14+
package tech.pegasys.teku.ethereum.json.types.validator;
15+
16+
import static tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeDutyBuilder.SYNC_COMMITTEE_DUTY_TYPE;
17+
import static tech.pegasys.teku.infrastructure.http.RestApiConstants.EXECUTION_OPTIMISTIC;
18+
import static tech.pegasys.teku.infrastructure.json.types.CoreTypes.BOOLEAN_TYPE;
19+
import static tech.pegasys.teku.infrastructure.json.types.DeserializableTypeDefinition.listOf;
20+
21+
import java.util.List;
22+
import tech.pegasys.teku.infrastructure.json.types.DeserializableTypeDefinition;
23+
24+
public class SyncCommitteeDutiesBuilder {
25+
public static final DeserializableTypeDefinition<SyncCommitteeDuties> SYNC_COMMITTEE_DUTIES_TYPE =
26+
DeserializableTypeDefinition.object(
27+
SyncCommitteeDuties.class, SyncCommitteeDutiesBuilder.class)
28+
.name("GetSyncCommitteeDutiesResponse")
29+
.initializer(SyncCommitteeDutiesBuilder::new)
30+
.finisher(SyncCommitteeDutiesBuilder::build)
31+
.withField(
32+
EXECUTION_OPTIMISTIC,
33+
BOOLEAN_TYPE,
34+
SyncCommitteeDuties::isExecutionOptimistic,
35+
SyncCommitteeDutiesBuilder::executionOptimistic)
36+
.withField(
37+
"data",
38+
listOf(SYNC_COMMITTEE_DUTY_TYPE),
39+
SyncCommitteeDuties::getDuties,
40+
SyncCommitteeDutiesBuilder::duties)
41+
.build();
42+
43+
private boolean executionOptimistic;
44+
private List<SyncCommitteeDuty> duties;
45+
46+
public SyncCommitteeDutiesBuilder executionOptimistic(boolean executionOptimistic) {
47+
this.executionOptimistic = executionOptimistic;
48+
return this;
49+
}
50+
51+
public SyncCommitteeDutiesBuilder duties(List<SyncCommitteeDuty> duties) {
52+
this.duties = duties;
53+
return this;
54+
}
55+
56+
public SyncCommitteeDuties build() {
57+
return new SyncCommitteeDuties(executionOptimistic, duties);
58+
}
59+
}

Diff for: validator/api/src/main/java/tech/pegasys/teku/validator/api/SyncCommitteeDuty.java renamed to ethereum/json-types/src/main/java/tech/pegasys/teku/ethereum/json/types/validator/SyncCommitteeDuty.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
* specific language governing permissions and limitations under the License.
1212
*/
1313

14-
package tech.pegasys.teku.validator.api;
14+
package tech.pegasys.teku.ethereum.json.types.validator;
1515

1616
import com.google.common.base.MoreObjects;
1717
import it.unimi.dsi.fastutil.ints.IntSet;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
/*
2+
* Copyright Consensys Software Inc., 2024
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
5+
* the License. You may obtain a copy of the License at
6+
*
7+
* http://www.apache.org/licenses/LICENSE-2.0
8+
*
9+
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
10+
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
11+
* specific language governing permissions and limitations under the License.
12+
*/
13+
14+
package tech.pegasys.teku.ethereum.json.types.validator;
15+
16+
import static tech.pegasys.teku.ethereum.json.types.EthereumTypes.PUBLIC_KEY_TYPE;
17+
import static tech.pegasys.teku.infrastructure.json.types.CoreTypes.INTEGER_TYPE;
18+
import static tech.pegasys.teku.infrastructure.json.types.DeserializableTypeDefinition.listOf;
19+
20+
import it.unimi.dsi.fastutil.ints.IntArrayList;
21+
import it.unimi.dsi.fastutil.ints.IntArraySet;
22+
import it.unimi.dsi.fastutil.ints.IntSet;
23+
import tech.pegasys.teku.bls.BLSPublicKey;
24+
import tech.pegasys.teku.infrastructure.json.types.DeserializableTypeDefinition;
25+
26+
public class SyncCommitteeDutyBuilder {
27+
public static final DeserializableTypeDefinition<SyncCommitteeDuty> SYNC_COMMITTEE_DUTY_TYPE =
28+
DeserializableTypeDefinition.object(SyncCommitteeDuty.class, SyncCommitteeDutyBuilder.class)
29+
.initializer(SyncCommitteeDutyBuilder::new)
30+
.finisher(SyncCommitteeDutyBuilder::build)
31+
.withField(
32+
"pubkey",
33+
PUBLIC_KEY_TYPE,
34+
SyncCommitteeDuty::getPublicKey,
35+
SyncCommitteeDutyBuilder::publicKey)
36+
.withField(
37+
"validator_index",
38+
INTEGER_TYPE,
39+
SyncCommitteeDuty::getValidatorIndex,
40+
SyncCommitteeDutyBuilder::validatorIndex)
41+
.withField(
42+
"validator_sync_committee_indices",
43+
listOf(INTEGER_TYPE),
44+
syncCommitteeDuty ->
45+
new IntArrayList(syncCommitteeDuty.getValidatorSyncCommitteeIndices()),
46+
(syncCommitteeDutyBuilder, integers) ->
47+
syncCommitteeDutyBuilder.validatorSyncCommitteeIndices(new IntArraySet(integers)))
48+
.build();
49+
50+
private BLSPublicKey publicKey;
51+
private int validatorIndex;
52+
private IntSet validatorSyncCommitteeIndices;
53+
54+
public SyncCommitteeDutyBuilder publicKey(BLSPublicKey publicKey) {
55+
this.publicKey = publicKey;
56+
return this;
57+
}
58+
59+
public SyncCommitteeDutyBuilder validatorIndex(int validatorIndex) {
60+
this.validatorIndex = validatorIndex;
61+
return this;
62+
}
63+
64+
public SyncCommitteeDutyBuilder validatorSyncCommitteeIndices(
65+
IntSet validatorSyncCommitteeIndices) {
66+
this.validatorSyncCommitteeIndices = validatorSyncCommitteeIndices;
67+
return this;
68+
}
69+
70+
public SyncCommitteeDuty build() {
71+
return new SyncCommitteeDuty(publicKey, validatorIndex, validatorSyncCommitteeIndices);
72+
}
73+
}

Diff for: validator/api/src/main/java/tech/pegasys/teku/validator/api/ValidatorApiChannel.java

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import tech.pegasys.teku.ethereum.json.types.validator.AttesterDuties;
2828
import tech.pegasys.teku.ethereum.json.types.validator.BeaconCommitteeSelectionProof;
2929
import tech.pegasys.teku.ethereum.json.types.validator.ProposerDuties;
30+
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeDuties;
3031
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeSelectionProof;
3132
import tech.pegasys.teku.infrastructure.async.SafeFuture;
3233
import tech.pegasys.teku.infrastructure.events.ChannelInterface;

Diff for: validator/beaconnode/src/main/java/tech/pegasys/teku/validator/beaconnode/metrics/MetricRecordingValidatorApiChannel.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import tech.pegasys.teku.ethereum.json.types.validator.AttesterDuties;
3636
import tech.pegasys.teku.ethereum.json.types.validator.BeaconCommitteeSelectionProof;
3737
import tech.pegasys.teku.ethereum.json.types.validator.ProposerDuties;
38+
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeDuties;
3839
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeSelectionProof;
3940
import tech.pegasys.teku.infrastructure.async.SafeFuture;
4041
import tech.pegasys.teku.infrastructure.metrics.TekuMetricCategory;
@@ -57,7 +58,6 @@
5758
import tech.pegasys.teku.validator.api.CommitteeSubscriptionRequest;
5859
import tech.pegasys.teku.validator.api.SendSignedBlockResult;
5960
import tech.pegasys.teku.validator.api.SubmitDataError;
60-
import tech.pegasys.teku.validator.api.SyncCommitteeDuties;
6161
import tech.pegasys.teku.validator.api.SyncCommitteeSubnetSubscription;
6262
import tech.pegasys.teku.validator.api.ValidatorApiChannel;
6363

Diff for: validator/client/src/main/java/tech/pegasys/teku/validator/client/SyncCommitteeDutyLoader.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@
1616
import it.unimi.dsi.fastutil.ints.IntCollection;
1717
import java.util.Optional;
1818
import org.hyperledger.besu.plugin.services.MetricsSystem;
19+
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeDuties;
20+
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeDuty;
1921
import tech.pegasys.teku.infrastructure.async.SafeFuture;
2022
import tech.pegasys.teku.infrastructure.metrics.SettableGauge;
2123
import tech.pegasys.teku.infrastructure.metrics.TekuMetricCategory;
2224
import tech.pegasys.teku.infrastructure.unsigned.UInt64;
2325
import tech.pegasys.teku.spec.Spec;
24-
import tech.pegasys.teku.validator.api.SyncCommitteeDuties;
25-
import tech.pegasys.teku.validator.api.SyncCommitteeDuty;
2626
import tech.pegasys.teku.validator.api.ValidatorApiChannel;
2727
import tech.pegasys.teku.validator.client.duties.synccommittee.ChainHeadTracker;
2828
import tech.pegasys.teku.validator.client.duties.synccommittee.SyncCommitteeScheduledDuties;

Diff for: validator/client/src/test/java/tech/pegasys/teku/validator/client/SyncCommitteeDutyLoaderTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
import java.util.Set;
3030
import org.junit.jupiter.api.BeforeEach;
3131
import org.junit.jupiter.api.Test;
32+
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeDuties;
33+
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeDuty;
3234
import tech.pegasys.teku.infrastructure.async.SafeFuture;
3335
import tech.pegasys.teku.infrastructure.metrics.StubMetricsSystem;
3436
import tech.pegasys.teku.infrastructure.metrics.TekuMetricCategory;
@@ -37,8 +39,6 @@
3739
import tech.pegasys.teku.spec.TestSpecFactory;
3840
import tech.pegasys.teku.spec.signatures.Signer;
3941
import tech.pegasys.teku.spec.util.DataStructureUtil;
40-
import tech.pegasys.teku.validator.api.SyncCommitteeDuties;
41-
import tech.pegasys.teku.validator.api.SyncCommitteeDuty;
4242
import tech.pegasys.teku.validator.api.SyncCommitteeSubnetSubscription;
4343
import tech.pegasys.teku.validator.api.ValidatorApiChannel;
4444
import tech.pegasys.teku.validator.client.duties.synccommittee.ChainHeadTracker;

Diff for: validator/remote/src/main/java/tech/pegasys/teku/validator/remote/FailoverValidatorApiHandler.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import tech.pegasys.teku.ethereum.json.types.validator.AttesterDuties;
3737
import tech.pegasys.teku.ethereum.json.types.validator.BeaconCommitteeSelectionProof;
3838
import tech.pegasys.teku.ethereum.json.types.validator.ProposerDuties;
39+
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeDuties;
3940
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeSelectionProof;
4041
import tech.pegasys.teku.infrastructure.async.SafeFuture;
4142
import tech.pegasys.teku.infrastructure.collections.LimitedMap;
@@ -59,7 +60,6 @@
5960
import tech.pegasys.teku.validator.api.CommitteeSubscriptionRequest;
6061
import tech.pegasys.teku.validator.api.SendSignedBlockResult;
6162
import tech.pegasys.teku.validator.api.SubmitDataError;
62-
import tech.pegasys.teku.validator.api.SyncCommitteeDuties;
6363
import tech.pegasys.teku.validator.api.SyncCommitteeSubnetSubscription;
6464
import tech.pegasys.teku.validator.api.ValidatorApiChannel;
6565
import tech.pegasys.teku.validator.beaconnode.metrics.BeaconNodeRequestLabels;

Diff for: validator/remote/src/main/java/tech/pegasys/teku/validator/remote/RemoteValidatorApiHandler.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@
4949
import tech.pegasys.teku.ethereum.json.types.validator.AttesterDuty;
5050
import tech.pegasys.teku.ethereum.json.types.validator.BeaconCommitteeSelectionProof;
5151
import tech.pegasys.teku.ethereum.json.types.validator.ProposerDuties;
52+
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeDuties;
53+
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeDuty;
5254
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeSelectionProof;
5355
import tech.pegasys.teku.infrastructure.async.AsyncRunner;
5456
import tech.pegasys.teku.infrastructure.async.ExceptionThrowingRunnable;
@@ -73,8 +75,6 @@
7375
import tech.pegasys.teku.validator.api.CommitteeSubscriptionRequest;
7476
import tech.pegasys.teku.validator.api.SendSignedBlockResult;
7577
import tech.pegasys.teku.validator.api.SubmitDataError;
76-
import tech.pegasys.teku.validator.api.SyncCommitteeDuties;
77-
import tech.pegasys.teku.validator.api.SyncCommitteeDuty;
7878
import tech.pegasys.teku.validator.api.SyncCommitteeSubnetSubscription;
7979
import tech.pegasys.teku.validator.api.required.SyncingStatus;
8080
import tech.pegasys.teku.validator.remote.apiclient.OkHttpValidatorRestApiClient;

0 commit comments

Comments
 (0)