예제 #1
0
 public BlockValidator(ITxValidator txValidator, IHeaderValidator headerValidator, IOmmersValidator ommersValidator, ISpecProvider specProvider, ILogManager logManager)
 {
     _logger          = logManager?.GetClassLogger() ?? throw new ArgumentNullException(nameof(logManager));
     _txValidator     = txValidator ?? throw new ArgumentNullException(nameof(headerValidator));
     _ommersValidator = ommersValidator ?? throw new ArgumentNullException(nameof(ommersValidator));
     _specProvider    = specProvider ?? throw new ArgumentNullException(nameof(specProvider));
     _headerValidator = headerValidator ?? throw new ArgumentNullException(nameof(headerValidator));
 }
예제 #2
0
 public BlockValidator(ITxValidator?txValidator, IHeaderValidator?headerValidator, IUnclesValidator?unclesValidator, ISpecProvider?specProvider, ILogManager?logManager)
 {
     _logger          = logManager?.GetClassLogger() ?? throw new ArgumentNullException(nameof(logManager));
     _txValidator     = txValidator ?? throw new ArgumentNullException(nameof(headerValidator));
     _unclesValidator = unclesValidator ?? throw new ArgumentNullException(nameof(unclesValidator));
     _specProvider    = specProvider ?? throw new ArgumentNullException(nameof(specProvider));
     _headerValidator = headerValidator ?? throw new ArgumentNullException(nameof(headerValidator));
 }
예제 #3
0
 public ReorgTxPool(
     ITxStorage txStorage,
     IEthereumEcdsa ecdsa,
     IChainHeadInfoProvider chainHeadInfoProvider,
     ITxPoolConfig txPoolConfig,
     ITxValidator validator,
     ILogManager?logManager,
     IComparer <Transaction> comparer)
     : base(txStorage, ecdsa, chainHeadInfoProvider, txPoolConfig, validator, logManager, comparer)
 {
 }
예제 #4
0
 public ReorgTxPool(
     ITxStorage txStorage,
     IEthereumEcdsa ecdsa,
     IChainHeadSpecProvider specProvider,
     ITxPoolConfig txPoolConfig,
     IReadOnlyStateProvider stateProvider,
     ITxValidator validator,
     ILogManager?logManager,
     IComparer <Transaction>?comparer = null)
     : base(txStorage, ecdsa, specProvider, txPoolConfig, stateProvider, validator, logManager, comparer)
 {
 }
예제 #5
0
 public FilteredTxPool(
     ITxStorage txStorage,
     IEthereumEcdsa ecdsa,
     IChainHeadInfoProvider chainHeadInfoProvider,
     ITxPoolConfig txPoolConfig,
     ITxValidator txValidator,
     ILogManager logManager,
     IComparer <Transaction> comparer,
     ITxPoolFilter txPoolFilter = null)
     : base(txStorage, ecdsa, chainHeadInfoProvider, txPoolConfig, txValidator, logManager, comparer)
 {
     _txPoolFilter = txPoolFilter;
 }
예제 #6
0
 public FilteredTxPool(
     ITxStorage txStorage,
     IEthereumEcdsa ecdsa,
     IChainHeadSpecProvider specProvider,
     ITxPoolConfig txPoolConfig,
     IReadOnlyStateProvider stateProvider,
     ITxValidator txValidator,
     ILogManager logManager,
     IComparer <Transaction> comparer = null,
     ITxPoolFilter txPoolFilter       = null)
     : base(txStorage, ecdsa, specProvider, txPoolConfig, stateProvider, txValidator, logManager, comparer)
 {
     _txPoolFilter = txPoolFilter;
 }
        public void Setup()
        {
            _genesisBlock   = Build.A.Block.WithNumber(0).TestObject;
            _blockTree      = Build.A.BlockTree(_genesisBlock).OfChainLength(1).TestObject;
            _stateDb        = new StateDb();
            _codeDb         = new StateDb();
            _receiptsDb     = new MemDb();
            _receiptStorage = Substitute.For <IReceiptStorage>();
            SyncConfig quickConfig = new SyncConfig();

            quickConfig.FastSync = false;

            ISealValidator  sealValidator  = Build.A.SealValidator.ThatAlwaysReturnsTrue.TestObject;
            IBlockValidator blockValidator = Build.A.BlockValidator.ThatAlwaysReturnsTrue.TestObject;
            ITxValidator    txValidator    = Build.A.TransactionValidator.ThatAlwaysReturnsTrue.TestObject;

            var stats = new NodeStatsManager(new StatsConfig(), LimboLogs.Instance);

            _pool         = new EthSyncPeerPool(_blockTree, stats, quickConfig, 25, LimboLogs.Instance);
            _synchronizer = new Synchronizer(MainNetSpecProvider.Instance, _blockTree, NullReceiptStorage.Instance, blockValidator, sealValidator, _pool, quickConfig, Substitute.For <INodeDataDownloader>(), LimboLogs.Instance);
            _syncServer   = new SyncServer(_stateDb, _codeDb, _blockTree, _receiptStorage, sealValidator, _pool, _synchronizer, quickConfig, LimboLogs.Instance);
        }
예제 #8
0
 public MalformedTxFilter(IChainHeadSpecProvider specProvider, ITxValidator txValidator, ILogger logger)
 {
     _txValidator  = txValidator;
     _specProvider = specProvider;
     _logger       = logger;
 }