public MergeBlockDownloaderFactory(IPoSSwitcher poSSwitcher, IBeaconPivot beaconPivot, ISpecProvider specProvider, IBlockTree blockTree, IBlockCacheService blockCacheService, IReceiptStorage receiptStorage, IBlockValidator blockValidator, ISealValidator sealValidator, ISyncPeerPool peerPool, ISyncConfig syncConfig, IBetterPeerStrategy betterPeerStrategy, ISyncReport syncReport, ISyncProgressResolver syncProgressResolver, ILogManager logManager) { _poSSwitcher = poSSwitcher ?? throw new ArgumentNullException(nameof(poSSwitcher)); _beaconPivot = beaconPivot ?? throw new ArgumentNullException(nameof(beaconPivot)); _specProvider = specProvider ?? throw new ArgumentNullException(nameof(specProvider)); _blockTree = blockTree ?? throw new ArgumentNullException(nameof(blockTree)); _receiptStorage = receiptStorage ?? throw new ArgumentNullException(nameof(receiptStorage)); _blockValidator = blockValidator ?? throw new ArgumentNullException(nameof(blockValidator)); _sealValidator = sealValidator ?? throw new ArgumentNullException(nameof(sealValidator)); _syncPeerPool = peerPool ?? throw new ArgumentNullException(nameof(peerPool)); _betterPeerStrategy = betterPeerStrategy ?? throw new ArgumentNullException(nameof(betterPeerStrategy)); _logManager = logManager ?? throw new ArgumentNullException(nameof(logManager)); _syncReport = syncReport ?? throw new ArgumentNullException(nameof(syncReport)); _chainLevelHelper = new ChainLevelHelper(_blockTree, _beaconPivot, syncConfig, _logManager); _syncProgressResolver = syncProgressResolver ?? throw new ArgumentNullException(nameof(syncProgressResolver));; }
public MergeBlockDownloader( IPoSSwitcher posSwitcher, IBeaconPivot beaconPivot, ISyncFeed <BlocksRequest?>?feed, ISyncPeerPool?syncPeerPool, IBlockTree?blockTree, IBlockValidator?blockValidator, ISealValidator?sealValidator, ISyncReport?syncReport, IReceiptStorage?receiptStorage, ISpecProvider specProvider, IBetterPeerStrategy betterPeerStrategy, IChainLevelHelper chainLevelHelper, ISyncProgressResolver syncProgressResolver, ILogManager logManager) : base(feed, syncPeerPool, blockTree, blockValidator, sealValidator, syncReport, receiptStorage, specProvider, new MergeBlocksSyncPeerAllocationStrategyFactory(posSwitcher, beaconPivot, logManager), betterPeerStrategy, logManager) { _blockTree = blockTree ?? throw new ArgumentNullException(nameof(blockTree)); _specProvider = specProvider ?? throw new ArgumentNullException(nameof(specProvider)); _chainLevelHelper = chainLevelHelper ?? throw new ArgumentNullException(nameof(chainLevelHelper)); _poSSwitcher = posSwitcher ?? throw new ArgumentNullException(nameof(posSwitcher)); _blockValidator = blockValidator ?? throw new ArgumentNullException(nameof(blockValidator)); _syncReport = syncReport ?? throw new ArgumentNullException(nameof(syncReport)); _receiptStorage = receiptStorage ?? throw new ArgumentNullException(nameof(receiptStorage)); _beaconPivot = beaconPivot; _receiptsRecovery = new ReceiptsRecovery(new EthereumEcdsa(specProvider.ChainId, logManager), specProvider); _syncProgressResolver = syncProgressResolver ?? throw new ArgumentNullException(nameof(syncProgressResolver)); _logger = logManager.GetClassLogger(); }
public Context() { BlockTree = Substitute.For <IBlockTree>(); Stats = Substitute.For <INodeStatsManager>(); PeerStrategy = new TotalDifficultyBetterPeerStrategy(LimboLogs.Instance); Pool = new SyncPeerPool(BlockTree, Stats, PeerStrategy, 25, 50, LimboLogs.Instance); }
public static int Compare(this IBetterPeerStrategy peerStrategy, BlockHeader?header, ISyncPeer?peerInfo) { UInt256 headerDifficulty = header?.TotalDifficulty ?? UInt256.Zero; long headerNumber = header?.Number ?? 0; UInt256 peerDifficulty = peerInfo?.TotalDifficulty ?? UInt256.Zero; long peerInfoHeadNumber = peerInfo?.HeadNumber ?? 0; return(peerStrategy.Compare((headerDifficulty, headerNumber), (peerDifficulty, peerInfoHeadNumber))); }
public MergeBetterPeerStrategy( IBetterPeerStrategy preMergeBetterPeerStrategy, IPoSSwitcher poSSwitcher, IBeaconPivot beaconPivot, ILogManager logManager) { _preMergeBetterPeerStrategy = preMergeBetterPeerStrategy; _poSSwitcher = poSSwitcher; _beaconPivot = beaconPivot; _logger = logManager.GetClassLogger(); }
public BlockDownloaderFactory( ISpecProvider specProvider, IBlockTree blockTree, IReceiptStorage receiptStorage, IBlockValidator blockValidator, ISealValidator sealValidator, ISyncPeerPool peerPool, IBetterPeerStrategy betterPeerStrategy, ISyncReport syncReport, ILogManager logManager) { _specProvider = specProvider ?? throw new ArgumentNullException(nameof(specProvider)); _blockTree = blockTree ?? throw new ArgumentNullException(nameof(blockTree)); _receiptStorage = receiptStorage ?? throw new ArgumentNullException(nameof(receiptStorage)); _blockValidator = blockValidator ?? throw new ArgumentNullException(nameof(blockValidator)); _sealValidator = sealValidator ?? throw new ArgumentNullException(nameof(sealValidator)); _syncPeerPool = peerPool ?? throw new ArgumentNullException(nameof(peerPool)); _betterPeerStrategy = betterPeerStrategy ?? throw new ArgumentNullException(nameof(betterPeerStrategy)); _syncReport = syncReport ?? throw new ArgumentNullException(nameof(syncReport)); _logManager = logManager ?? throw new ArgumentNullException(nameof(logManager)); }
public static int Compare(this IBetterPeerStrategy peerStrategy, (UInt256 TotalDifficulty, long Number) value, ISyncPeer?peerInfo)
public AuRaBetterPeerStrategy(IBetterPeerStrategy betterPeerStrategy, ILogManager logManager) { _betterPeerStrategy = betterPeerStrategy; _logger = logManager.GetClassLogger(); }