Пример #1
0
 public ForkchoiceUpdatedV1Handler(
     IBlockTree blockTree,
     IManualBlockFinalizationManager manualBlockFinalizationManager,
     IPoSSwitcher poSSwitcher,
     IPayloadPreparationService payloadPreparationService,
     IBlockProcessingQueue processingQueue,
     IBlockCacheService blockCacheService,
     IInvalidChainTracker invalidChainTracker,
     IMergeSyncController mergeSyncController,
     IBeaconPivot beaconPivot,
     IPeerRefresher peerRefresher,
     ILogManager logManager)
 {
     _blockTree = blockTree ?? throw new ArgumentNullException(nameof(blockTree));
     _manualBlockFinalizationManager = manualBlockFinalizationManager ?? throw new ArgumentNullException(nameof(manualBlockFinalizationManager));
     _poSSwitcher = poSSwitcher ?? throw new ArgumentNullException(nameof(poSSwitcher));
     _payloadPreparationService = payloadPreparationService;
     _processingQueue           = processingQueue;
     _blockCacheService         = blockCacheService;
     _invalidChainTracker       = invalidChainTracker;
     _mergeSyncController       = mergeSyncController;
     _beaconPivot   = beaconPivot;
     _peerRefresher = peerRefresher;
     _logger        = logManager.GetClassLogger();
 }
Пример #2
0
 public InvalidHeaderInterceptor(
     IHeaderValidator headerValidator,
     IInvalidChainTracker invalidChainTracker,
     ILogManager logManager)
 {
     _baseValidator       = headerValidator;
     _invalidChainTracker = invalidChainTracker;
     _logger = logManager.GetClassLogger(typeof(InvalidHeaderInterceptor));
 }
Пример #3
0
 public void Setup()
 {
     _baseValidator            = Substitute.For <IHeaderValidator>();
     _tracker                  = Substitute.For <IInvalidChainTracker>();
     _invalidHeaderInterceptor = new(
         _baseValidator,
         _tracker,
         NullLogManager.Instance);
 }
Пример #4
0
 public BeaconHeadersSyncFeed(
     IPoSSwitcher poSSwitcher,
     ISyncModeSelector syncModeSelector,
     IBlockTree?blockTree,
     ISyncPeerPool?syncPeerPool,
     ISyncConfig?syncConfig,
     ISyncReport?syncReport,
     IPivot?pivot,
     IMergeConfig?mergeConfig,
     IInvalidChainTracker invalidChainTracker,
     ILogManager logManager)
     : base(syncModeSelector, blockTree, syncPeerPool, syncConfig, syncReport, logManager,
            true) // alwaysStartHeaderSync = true => for the merge we're forcing header sync start. It doesn't matter if it is archive sync or fast sync
 {
     _poSSwitcher         = poSSwitcher ?? throw new ArgumentNullException(nameof(poSSwitcher));
     _pivot               = pivot ?? throw new ArgumentNullException(nameof(pivot));
     _mergeConfig         = mergeConfig ?? throw new ArgumentNullException(nameof(mergeConfig));
     _invalidChainTracker = invalidChainTracker;
     _logger              = logManager.GetClassLogger();
 }
Пример #5
0
 public MergeSynchronizer(
     IDbProvider dbProvider,
     ISpecProvider specProvider,
     IBlockTree blockTree,
     IReceiptStorage receiptStorage,
     ISyncPeerPool peerPool,
     INodeStatsManager nodeStatsManager,
     ISyncModeSelector syncModeSelector,
     ISyncConfig syncConfig,
     ISnapProvider snapProvider,
     IBlockDownloaderFactory blockDownloaderFactory,
     IPivot pivot,
     IPoSSwitcher poSSwitcher,
     IMergeConfig mergeConfig,
     IInvalidChainTracker invalidChainTracker,
     ILogManager logManager,
     ISyncReport syncReport)
     : base(
         dbProvider,
         specProvider,
         blockTree,
         receiptStorage,
         peerPool,
         nodeStatsManager,
         syncModeSelector,
         syncConfig,
         snapProvider,
         blockDownloaderFactory,
         pivot,
         syncReport,
         logManager)
 {
     _invalidChainTracker = invalidChainTracker;
     _poSSwitcher         = poSSwitcher;
     _mergeConfig         = mergeConfig;
 }