use of tech.pegasys.teku.spec.logic.versions.bellatrix.block.BlockProcessorBellatrix in project teku by ConsenSys.
the class SpecLogicBellatrix method create.
public static SpecLogicBellatrix create(final SpecConfigBellatrix config, final SchemaDefinitionsBellatrix schemaDefinitions) {
// Helpers
final Predicates predicates = new Predicates();
final MiscHelpersBellatrix miscHelpers = new MiscHelpersBellatrix(config);
final BeaconStateAccessorsBellatrix beaconStateAccessors = new BeaconStateAccessorsBellatrix(config, predicates, miscHelpers);
final BeaconStateMutatorsBellatrix beaconStateMutators = new BeaconStateMutatorsBellatrix(config, miscHelpers, beaconStateAccessors);
// Operation validaton
final OperationSignatureVerifier operationSignatureVerifier = new OperationSignatureVerifier(miscHelpers, beaconStateAccessors);
// Util
final ValidatorsUtil validatorsUtil = new ValidatorsUtil(config, miscHelpers, beaconStateAccessors);
final BeaconStateUtil beaconStateUtil = new BeaconStateUtil(config, schemaDefinitions, predicates, miscHelpers, beaconStateAccessors);
final AttestationUtil attestationUtil = new AttestationUtil(schemaDefinitions, beaconStateAccessors, miscHelpers);
final OperationValidator operationValidator = OperationValidator.create(config, predicates, miscHelpers, beaconStateAccessors, attestationUtil);
final ValidatorStatusFactoryAltair validatorStatusFactory = new ValidatorStatusFactoryAltair(config, beaconStateUtil, attestationUtil, predicates, miscHelpers, beaconStateAccessors);
final EpochProcessorBellatrix epochProcessor = new EpochProcessorBellatrix(config, miscHelpers, beaconStateAccessors, beaconStateMutators, validatorsUtil, beaconStateUtil, validatorStatusFactory, schemaDefinitions);
final SyncCommitteeUtil syncCommitteeUtil = new SyncCommitteeUtil(beaconStateAccessors, validatorsUtil, config, miscHelpers, schemaDefinitions);
final BlockProcessorBellatrix blockProcessor = new BlockProcessorBellatrix(config, predicates, miscHelpers, syncCommitteeUtil, beaconStateAccessors, beaconStateMutators, operationSignatureVerifier, beaconStateUtil, attestationUtil, validatorsUtil, operationValidator, schemaDefinitions);
final ForkChoiceUtil forkChoiceUtil = new ForkChoiceUtil(config, beaconStateAccessors, attestationUtil, miscHelpers);
final BlockProposalUtil blockProposalUtil = new BlockProposalUtil(schemaDefinitions, blockProcessor);
// State upgrade
final BellatrixStateUpgrade stateUpgrade = new BellatrixStateUpgrade(config, schemaDefinitions, beaconStateAccessors);
final BellatrixTransitionHelpers bellatrixTransitionHelpers = new BellatrixTransitionHelpers(config, miscHelpers);
return new SpecLogicBellatrix(config, predicates, miscHelpers, beaconStateAccessors, beaconStateMutators, operationSignatureVerifier, validatorsUtil, beaconStateUtil, attestationUtil, operationValidator, validatorStatusFactory, epochProcessor, blockProcessor, forkChoiceUtil, blockProposalUtil, syncCommitteeUtil, stateUpgrade, bellatrixTransitionHelpers);
}
Aggregations