Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 3
0
 public static IWitnessRepository WithPruning(
     this IWitnessRepository repository,
     IBlockTree blockTree,
     ILogManager logManager,
     int followDistance = 16)
 {
     new WitnessPruner(blockTree, repository, logManager, followDistance).Start();
     return(repository);
 }
Ejemplo n.º 4
0
 public WitnessRpcModule(IWitnessRepository witnessRepository, IBlockFinder finder)
 {
     _witnessRepository = witnessRepository;
     _blockFinder       = finder;
 }