public WitnessPruner(IBlockTree blockTree, IWitnessRepository witnessRepository, ILogManager logManager, int followDistance = 16) { _blockTree = blockTree ?? throw new ArgumentNullException(nameof(blockTree)); _witnessRepository = witnessRepository ?? throw new ArgumentNullException(nameof(witnessRepository)); _logger = logManager?.GetClassLogger() ?? throw new ArgumentNullException(nameof(logManager)); _followDistance = followDistance; }
public SyncServer( IDb stateDb, IDb codeDb, IBlockTree blockTree, IReceiptFinder receiptFinder, IBlockValidator blockValidator, ISealValidator sealValidator, ISyncPeerPool pool, ISyncModeSelector syncModeSelector, ISyncConfig syncConfig, IWitnessRepository?witnessRepository, ILogManager logManager, CanonicalHashTrie?cht = null) { _syncConfig = syncConfig ?? throw new ArgumentNullException(nameof(syncConfig)); _witnessRepository = witnessRepository ?? throw new ArgumentNullException(nameof(witnessRepository)); _pool = pool ?? throw new ArgumentNullException(nameof(pool)); _syncModeSelector = syncModeSelector ?? throw new ArgumentNullException(nameof(syncModeSelector)); _sealValidator = sealValidator ?? throw new ArgumentNullException(nameof(sealValidator)); _stateDb = stateDb ?? throw new ArgumentNullException(nameof(stateDb)); _codeDb = codeDb ?? throw new ArgumentNullException(nameof(codeDb)); _blockTree = blockTree ?? throw new ArgumentNullException(nameof(blockTree)); _receiptFinder = receiptFinder ?? throw new ArgumentNullException(nameof(receiptFinder)); _blockValidator = blockValidator ?? throw new ArgumentNullException(nameof(blockValidator)); _logger = logManager.GetClassLogger() ?? throw new ArgumentNullException(nameof(logManager)); _cht = cht; _pivotNumber = _syncConfig.PivotNumberParsed; _blockTree.NewHeadBlock += OnNewHeadBlock; _pivotHash = new Keccak(_syncConfig.PivotHash ?? Keccak.Zero.ToString()); }
public static IWitnessRepository WithPruning( this IWitnessRepository repository, IBlockTree blockTree, ILogManager logManager, int followDistance = 16) { new WitnessPruner(blockTree, repository, logManager, followDistance).Start(); return(repository); }
public WitnessRpcModule(IWitnessRepository witnessRepository, IBlockFinder finder) { _witnessRepository = witnessRepository; _blockFinder = finder; }