Search in sources :

Example 1 with BellatrixStateUpgrade

use of tech.pegasys.teku.spec.logic.versions.bellatrix.forktransition.BellatrixStateUpgrade 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);
}
Also used : ForkChoiceUtil(tech.pegasys.teku.spec.logic.common.util.ForkChoiceUtil) AttestationUtil(tech.pegasys.teku.spec.logic.common.util.AttestationUtil) SyncCommitteeUtil(tech.pegasys.teku.spec.logic.common.util.SyncCommitteeUtil) OperationSignatureVerifier(tech.pegasys.teku.spec.logic.common.operations.OperationSignatureVerifier) BlockProcessorBellatrix(tech.pegasys.teku.spec.logic.versions.bellatrix.block.BlockProcessorBellatrix) BeaconStateMutatorsBellatrix(tech.pegasys.teku.spec.logic.versions.bellatrix.helpers.BeaconStateMutatorsBellatrix) ValidatorsUtil(tech.pegasys.teku.spec.logic.common.util.ValidatorsUtil) BellatrixTransitionHelpers(tech.pegasys.teku.spec.logic.versions.bellatrix.helpers.BellatrixTransitionHelpers) OperationValidator(tech.pegasys.teku.spec.logic.common.operations.validation.OperationValidator) BellatrixStateUpgrade(tech.pegasys.teku.spec.logic.versions.bellatrix.forktransition.BellatrixStateUpgrade) BeaconStateUtil(tech.pegasys.teku.spec.logic.common.util.BeaconStateUtil) BeaconStateAccessorsBellatrix(tech.pegasys.teku.spec.logic.versions.bellatrix.helpers.BeaconStateAccessorsBellatrix) BlockProposalUtil(tech.pegasys.teku.spec.logic.common.util.BlockProposalUtil) EpochProcessorBellatrix(tech.pegasys.teku.spec.logic.versions.bellatrix.statetransition.epoch.EpochProcessorBellatrix) MiscHelpersBellatrix(tech.pegasys.teku.spec.logic.versions.bellatrix.helpers.MiscHelpersBellatrix) Predicates(tech.pegasys.teku.spec.logic.common.helpers.Predicates) ValidatorStatusFactoryAltair(tech.pegasys.teku.spec.logic.versions.altair.statetransition.epoch.ValidatorStatusFactoryAltair)

Aggregations

Predicates (tech.pegasys.teku.spec.logic.common.helpers.Predicates)1 OperationSignatureVerifier (tech.pegasys.teku.spec.logic.common.operations.OperationSignatureVerifier)1 OperationValidator (tech.pegasys.teku.spec.logic.common.operations.validation.OperationValidator)1 AttestationUtil (tech.pegasys.teku.spec.logic.common.util.AttestationUtil)1 BeaconStateUtil (tech.pegasys.teku.spec.logic.common.util.BeaconStateUtil)1 BlockProposalUtil (tech.pegasys.teku.spec.logic.common.util.BlockProposalUtil)1 ForkChoiceUtil (tech.pegasys.teku.spec.logic.common.util.ForkChoiceUtil)1 SyncCommitteeUtil (tech.pegasys.teku.spec.logic.common.util.SyncCommitteeUtil)1 ValidatorsUtil (tech.pegasys.teku.spec.logic.common.util.ValidatorsUtil)1 ValidatorStatusFactoryAltair (tech.pegasys.teku.spec.logic.versions.altair.statetransition.epoch.ValidatorStatusFactoryAltair)1 BlockProcessorBellatrix (tech.pegasys.teku.spec.logic.versions.bellatrix.block.BlockProcessorBellatrix)1 BellatrixStateUpgrade (tech.pegasys.teku.spec.logic.versions.bellatrix.forktransition.BellatrixStateUpgrade)1 BeaconStateAccessorsBellatrix (tech.pegasys.teku.spec.logic.versions.bellatrix.helpers.BeaconStateAccessorsBellatrix)1 BeaconStateMutatorsBellatrix (tech.pegasys.teku.spec.logic.versions.bellatrix.helpers.BeaconStateMutatorsBellatrix)1 BellatrixTransitionHelpers (tech.pegasys.teku.spec.logic.versions.bellatrix.helpers.BellatrixTransitionHelpers)1 MiscHelpersBellatrix (tech.pegasys.teku.spec.logic.versions.bellatrix.helpers.MiscHelpersBellatrix)1 EpochProcessorBellatrix (tech.pegasys.teku.spec.logic.versions.bellatrix.statetransition.epoch.EpochProcessorBellatrix)1