|
16 | 16 | import static tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeDutyBuilder.SYNC_COMMITTEE_DUTY_TYPE;
|
17 | 17 | import static tech.pegasys.teku.infrastructure.http.RestApiConstants.EXECUTION_OPTIMISTIC;
|
18 | 18 | import static tech.pegasys.teku.infrastructure.json.types.CoreTypes.BOOLEAN_TYPE;
|
| 19 | +import static tech.pegasys.teku.infrastructure.json.types.DeserializableTypeDefinition.listOf; |
19 | 20 |
|
20 | 21 | import java.util.List;
|
21 |
| -import tech.pegasys.teku.infrastructure.json.types.SerializableTypeDefinition; |
| 22 | +import tech.pegasys.teku.infrastructure.json.types.DeserializableTypeDefinition; |
22 | 23 |
|
23 | 24 | public class SyncCommitteeDutiesBuilder {
|
24 |
| - public static final SerializableTypeDefinition<SyncCommitteeDuties> SYNC_COMMITTEE_DUTIES_TYPE = |
25 |
| - SerializableTypeDefinition.object(SyncCommitteeDuties.class) |
| 25 | + public static final DeserializableTypeDefinition<SyncCommitteeDuties> SYNC_COMMITTEE_DUTIES_TYPE = |
| 26 | + DeserializableTypeDefinition.object( |
| 27 | + SyncCommitteeDuties.class, SyncCommitteeDutiesBuilder.class) |
26 | 28 | .name("GetSyncCommitteeDutiesResponse")
|
27 |
| - .withField(EXECUTION_OPTIMISTIC, BOOLEAN_TYPE, SyncCommitteeDuties::isExecutionOptimistic) |
| 29 | + .initializer(SyncCommitteeDutiesBuilder::new) |
| 30 | + .finisher(SyncCommitteeDutiesBuilder::build) |
| 31 | + .withField( |
| 32 | + EXECUTION_OPTIMISTIC, |
| 33 | + BOOLEAN_TYPE, |
| 34 | + SyncCommitteeDuties::isExecutionOptimistic, |
| 35 | + SyncCommitteeDutiesBuilder::executionOptimistic) |
28 | 36 | .withField(
|
29 | 37 | "data",
|
30 |
| - SerializableTypeDefinition.listOf(SYNC_COMMITTEE_DUTY_TYPE), |
31 |
| - SyncCommitteeDuties::getDuties) |
| 38 | + listOf(SYNC_COMMITTEE_DUTY_TYPE), |
| 39 | + SyncCommitteeDuties::getDuties, |
| 40 | + SyncCommitteeDutiesBuilder::duties) |
32 | 41 | .build();
|
33 | 42 |
|
34 | 43 | private boolean executionOptimistic;
|
|
0 commit comments