public void Setup() { _svc = Build.A.SerializationService().WithEth().TestObject; NetworkDiagTracer.IsEnabled = true; _session = Substitute.For <ISession>(); Node node = new(TestItem.PublicKeyA, new IPEndPoint(IPAddress.Broadcast, 30303)); _session.Node.Returns(node); _syncManager = Substitute.For <ISyncServer>(); _transactionPool = Substitute.For <ITxPool>(); _genesisBlock = Build.A.Block.Genesis.TestObject; _syncManager.Head.Returns(_genesisBlock.Header); _syncManager.Genesis.Returns(_genesisBlock.Header); ITimerFactory timerFactory = Substitute.For <ITimerFactory>(); _gossipPolicy = Substitute.For <IGossipPolicy>(); _gossipPolicy.CanGossipBlocks.Returns(true); _gossipPolicy.ShouldGossipBlock(Arg.Any <BlockHeader>()).Returns(true); _gossipPolicy.ShouldDisconnectGossipingNodes.Returns(false); _handler = new Eth62ProtocolHandler( _session, _svc, new NodeStatsManager(timerFactory, LimboLogs.Instance), _syncManager, _transactionPool, _gossipPolicy, LimboLogs.Instance); _handler.Init(); }
public void Setup() { _svc = Build.A.SerializationService().WithEth66().TestObject; NetworkDiagTracer.IsEnabled = true; _session = Substitute.For <ISession>(); Node node = new(TestItem.PublicKeyA, new IPEndPoint(IPAddress.Broadcast, 30303)); _session.Node.Returns(node); _syncManager = Substitute.For <ISyncServer>(); _transactionPool = Substitute.For <ITxPool>(); _pooledTxsRequestor = Substitute.For <IPooledTxsRequestor>(); _specProvider = Substitute.For <ISpecProvider>(); _gossipPolicy = Substitute.For <IGossipPolicy>(); _genesisBlock = Build.A.Block.Genesis.TestObject; _syncManager.Head.Returns(_genesisBlock.Header); _syncManager.Genesis.Returns(_genesisBlock.Header); ITimerFactory timerFactory = Substitute.For <ITimerFactory>(); _handler = new Eth66ProtocolHandler( _session, _svc, new NodeStatsManager(timerFactory, LimboLogs.Instance), _syncManager, _transactionPool, _pooledTxsRequestor, _gossipPolicy, _specProvider, LimboLogs.Instance); _handler.Init(); }
public MergeGossipPolicy( IGossipPolicy?apiGossipPolicy, IPoSSwitcher?poSSwitcher, IBlockCacheService blockCacheService) { _preMergeGossipPolicy = apiGossipPolicy ?? throw new ArgumentNullException(nameof(apiGossipPolicy)); _poSSwitcher = poSSwitcher ?? throw new ArgumentNullException(nameof(poSSwitcher)); _blockCacheService = blockCacheService ?? throw new ArgumentNullException(nameof(blockCacheService)); }
public Eth63ProtocolHandler(ISession session, IMessageSerializationService serializer, INodeStatsManager nodeStatsManager, ISyncServer syncServer, ITxPool txPool, IGossipPolicy gossipPolicy, ILogManager logManager) : base(session, serializer, nodeStatsManager, syncServer, txPool, gossipPolicy, logManager) { _nodeDataRequests = new MessageQueue <GetNodeDataMessage, byte[][]>(Send); _receiptsRequests = new MessageQueue <GetReceiptsMessage, TxReceipt[][]>(Send); }
public Eth64ProtocolHandler(ISession session, IMessageSerializationService serializer, INodeStatsManager nodeStatsManager, ISyncServer syncServer, ITxPool txPool, IGossipPolicy gossipPolicy, ISpecProvider specProvider, ILogManager logManager) : base(session, serializer, nodeStatsManager, syncServer, txPool, gossipPolicy, logManager) { _specProvider = specProvider ?? throw new ArgumentNullException(nameof(specProvider)); }
public Eth65ProtocolHandler(ISession session, IMessageSerializationService serializer, INodeStatsManager nodeStatsManager, ISyncServer syncServer, ITxPool txPool, IPooledTxsRequestor pooledTxsRequestor, IGossipPolicy gossipPolicy, ISpecProvider specProvider, ILogManager logManager) : base(session, serializer, nodeStatsManager, syncServer, txPool, gossipPolicy, specProvider, logManager) { _pooledTxsRequestor = pooledTxsRequestor; }
public Context() { _channel = Substitute.For <IChannel>(); _channelHandlerContext = Substitute.For <IChannelHandlerContext>(); _pipeline = Substitute.For <IChannelPipeline>(); _channelHandlerContext.Channel.Returns(_channel); _channel.Pipeline.Returns(_pipeline); _pipeline.Get <ZeroPacketSplitter>().Returns(new ZeroPacketSplitter(LimboLogs.Instance)); _packetSender = Substitute.For <IPacketSender>(); _syncServer = Substitute.For <ISyncServer>(); _syncServer = Substitute.For <ISyncServer>(); _syncServer.Genesis.Returns(Build.A.Block.Genesis.TestObject.Header); _syncServer.Head.Returns(Build.A.BlockHeader.TestObject); _txPool = Substitute.For <ITxPool>(); _pooledTxsRequestor = Substitute.For <IPooledTxsRequestor>(); _discoveryApp = Substitute.For <IDiscoveryApp>(); _serializer = new MessageSerializationService(); _rlpxHost = Substitute.For <IRlpxHost>(); _rlpxHost.LocalPort.Returns(_localPort); _rlpxHost.LocalNodeId.Returns(TestItem.PublicKeyA); ITimerFactory timerFactory = Substitute.For <ITimerFactory>(); _nodeStatsManager = new NodeStatsManager(timerFactory, LimboLogs.Instance); _blockTree = Substitute.For <IBlockTree>(); _blockTree.ChainId.Returns(1ul); _blockTree.Genesis.Returns(Build.A.Block.Genesis.TestObject.Header); _protocolValidator = new ProtocolValidator(_nodeStatsManager, _blockTree, LimboLogs.Instance); _peerStorage = Substitute.For <INetworkStorage>(); _syncPeerPool = Substitute.For <ISyncPeerPool>(); _gossipPolicy = Substitute.For <IGossipPolicy>(); _manager = new ProtocolsManager( _syncPeerPool, _syncServer, _txPool, _pooledTxsRequestor, _discoveryApp, _serializer, _rlpxHost, _nodeStatsManager, _protocolValidator, _peerStorage, MainnetSpecProvider.Instance, _gossipPolicy, LimboLogs.Instance); _serializer.Register(new HelloMessageSerializer()); _serializer.Register(new StatusMessageSerializer()); _serializer.Register(new DisconnectMessageSerializer()); }
public Eth66ProtocolHandler(ISession session, IMessageSerializationService serializer, INodeStatsManager nodeStatsManager, ISyncServer syncServer, ITxPool txPool, IPooledTxsRequestor pooledTxsRequestor, IGossipPolicy gossipPolicy, ISpecProvider specProvider, ILogManager logManager) : base(session, serializer, nodeStatsManager, syncServer, txPool, pooledTxsRequestor, gossipPolicy, specProvider, logManager) { _headersRequests66 = new MessageQueue <GetBlockHeadersMessage, BlockHeader[]>(Send); _bodiesRequests66 = new MessageQueue <GetBlockBodiesMessage, BlockBody[]>(Send); _nodeDataRequests66 = new MessageQueue <GetNodeDataMessage, byte[][]>(Send); _receiptsRequests66 = new MessageQueue <GetReceiptsMessage, TxReceipt[][]>(Send); _pooledTxsRequestor = pooledTxsRequestor; }