コード例 #1
0
ファイル: InitModule.cs プロジェクト: zhamppx97/nethermind
 public InitModule(IEthJsonRpcClientProxy ethJsonRpcClientProxy, IRunnerValidator runnerValidator,
                   string network)
 {
     _ethJsonRpcClientProxy = ethJsonRpcClientProxy;
     _runnerValidator       = runnerValidator;
     _network = network;
 }
コード例 #2
0
        public ConsumerServicesBackgroundProcessor(IAccountService accountService, IRefundClaimant refundClaimant,
                                                   IDepositConfirmationService depositConfirmationService, IEthPriceService ethPriceService,
                                                   IGasPriceService gasPriceService, IBlockProcessor blockProcessor,
                                                   IDepositDetailsRepository depositRepository, IConsumerNotifier consumerNotifier, ILogManager logManager,
                                                   bool useDepositTimer = false, IEthJsonRpcClientProxy ethJsonRpcClientProxy = null,
                                                   uint depositTimer    = 10000)
        {
            _accountService             = accountService;
            _refundClaimant             = refundClaimant;
            _depositConfirmationService = depositConfirmationService;
            _ethPriceService            = ethPriceService;
            _gasPriceService            = gasPriceService;
            _blockProcessor             = blockProcessor;
            _depositRepository          = depositRepository;
            _consumerNotifier           = consumerNotifier;
            _useDepositTimer            = useDepositTimer;
            _ethJsonRpcClientProxy      = ethJsonRpcClientProxy;
            _logger = logManager.GetClassLogger();
            if (_useDepositTimer)
            {
                _depositTimer = new Timer(depositTimer);
            }

            _ethPriceService.UpdateAsync();
            _gasPriceService.UpdateAsync();
        }
コード例 #3
0
ファイル: DataModule.cs プロジェクト: AlexSSD7/nethermind
 public DataModule(IEthJsonRpcClientProxy ethJsonRpcClientProxy, string address)
 {
     _ethJsonRpcClientProxy = ethJsonRpcClientProxy;
     _address  = new Address(address);
     _interval = TimeSpan.FromSeconds(5);
     _timer    = new Timer(Update, null, TimeSpan.Zero, _interval);
 }
コード例 #4
0
ファイル: NdmModuleTests.cs プロジェクト: tr002196/nethermind
 public void Setup()
 {
     _configProvider            = Substitute.For <IConfigProvider>();
     _configManager             = Substitute.For <IConfigManager>();
     _ndmConfig                 = new NdmConfig();
     _baseDbPath                = "db";
     _rocksProvider             = Substitute.For <IDbProvider>();
     _mongoProvider             = Substitute.For <IMongoProvider>();
     _logManager                = Substitute.For <ILogManager>();
     _blockTree                 = Substitute.For <IBlockTree>();
     _specProvider              = Substitute.For <ISpecProvider>();
     _transactionPool           = Substitute.For <ITxPool>();
     _receiptStorage            = Substitute.For <IReceiptStorage>();
     _filterStore               = Substitute.For <IFilterStore>();
     _filterManager             = Substitute.For <IFilterManager>();
     _wallet                    = Substitute.For <IWallet>();
     _timestamper               = Substitute.For <ITimestamper>();
     _ecdsa                     = Substitute.For <IEthereumEcdsa>();
     _keyStore                  = Substitute.For <IKeyStore>();
     _rpcModuleProvider         = Substitute.For <IRpcModuleProvider>();
     _jsonSerializer            = Substitute.For <IJsonSerializer>();
     _cryptoRandom              = Substitute.For <ICryptoRandom>();
     _enode                     = Substitute.For <IEnode>();
     _ndmConsumerChannelManager = Substitute.For <INdmConsumerChannelManager>();
     _ndmDataPublisher          = Substitute.For <INdmDataPublisher>();
     _grpcServer                = Substitute.For <IGrpcServer>();
     _ethRequestService         = Substitute.For <IEthRequestService>();
     _notifier                  = Substitute.For <INdmNotifier>();
     _enableUnsecuredDevWallet  = false;
     _blockProcessor            = Substitute.For <IBlockProcessor>();
     _jsonRpcClientProxy        = Substitute.For <IJsonRpcClientProxy>();
     _ethJsonRpcClientProxy     = Substitute.For <IEthJsonRpcClientProxy>();
     _httpClient                = Substitute.For <IHttpClient>();
     _ndmModule                 = new NdmModule();
 }
コード例 #5
0
 public TransferModule(IEthJsonRpcClientProxy ethJsonRpcClientProxy, IJsonRpcWalletClientProxy
                       jsonRpcWalletClientProxy, Address address, decimal balanceEth)
 {
     _ethJsonRpcClientProxy    = ethJsonRpcClientProxy;
     _jsonRpcWalletClientProxy = jsonRpcWalletClientProxy;
     _address    = address;
     _balanceEth = balanceEth;
     _interval   = TimeSpan.FromSeconds(5);
     _timer      = new Timer(Update, null, TimeSpan.Zero, _interval);
 }
コード例 #6
0
 public NdmCreatedServices(Address consumerAddress,
                           IAbiEncoder abiEncoder, IRlpDecoder <DataAsset> dataAssetRlpDecoder, IDepositService depositService,
                           INdmDataPublisher ndmDataPublisher, IJsonRpcNdmConsumerChannel jsonRpcNdmConsumerChannel,
                           INdmConsumerChannelManager ndmConsumerChannelManager, INdmBlockchainBridge blockchainBridge,
                           IEthJsonRpcClientProxy ethJsonRpcClientProxy)
 {
     ConsumerAddress           = consumerAddress;
     AbiEncoder                = abiEncoder;
     DataAssetRlpDecoder       = dataAssetRlpDecoder;
     DepositService            = depositService;
     NdmDataPublisher          = ndmDataPublisher;
     JsonRpcNdmConsumerChannel = jsonRpcNdmConsumerChannel;
     NdmConsumerChannelManager = ndmConsumerChannelManager;
     BlockchainBridge          = blockchainBridge;
     EthJsonRpcClientProxy     = ethJsonRpcClientProxy;
 }
コード例 #7
0
 public NdmRequiredServices(IConfigProvider configProvider, IConfigManager configManager, INdmConfig ndmConfig,
                            string baseDbPath, IDbProvider rocksProvider, IMongoProvider mongoProvider, ILogManager logManager,
                            IBlockTree blockTree, ITxPool transactionPool, ISpecProvider specProvider, IReceiptStorage receiptStorage,
                            IFilterStore filterStore, IFilterManager filterManager, IWallet wallet, ITimestamper timestamper,
                            IEthereumEcdsa ecdsa, IKeyStore keyStore, IRpcModuleProvider rpcModuleProvider,
                            IJsonSerializer jsonSerializer, ICryptoRandom cryptoRandom, IEnode enode,
                            INdmConsumerChannelManager ndmConsumerChannelManager, INdmDataPublisher ndmDataPublisher,
                            IGrpcServer grpcServer, IEthRequestService ethRequestService, INdmNotifier notifier,
                            bool enableUnsecuredDevWallet, IBlockProcessor blockProcessor, IJsonRpcClientProxy jsonRpcClientProxy,
                            IEthJsonRpcClientProxy ethJsonRpcClientProxy, IHttpClient httpClient, IMonitoringService monitoringService)
 {
     ConfigProvider            = configProvider;
     ConfigManager             = configManager;
     NdmConfig                 = ndmConfig;
     BaseDbPath                = baseDbPath;
     RocksProvider             = rocksProvider;
     MongoProvider             = mongoProvider;
     LogManager                = logManager;
     BlockTree                 = blockTree;
     TransactionPool           = transactionPool;
     SpecProvider              = specProvider;
     ReceiptStorage            = receiptStorage;
     FilterStore               = filterStore;
     FilterManager             = filterManager;
     Wallet                    = wallet;
     Timestamper               = timestamper;
     Ecdsa                     = ecdsa;
     KeyStore                  = keyStore;
     RpcModuleProvider         = rpcModuleProvider;
     JsonSerializer            = jsonSerializer;
     CryptoRandom              = cryptoRandom;
     Enode                     = enode;
     NdmConsumerChannelManager = ndmConsumerChannelManager;
     NdmDataPublisher          = ndmDataPublisher;
     GrpcServer                = grpcServer;
     EthRequestService         = ethRequestService;
     Notifier                  = notifier;
     EnableUnsecuredDevWallet  = enableUnsecuredDevWallet;
     BlockProcessor            = blockProcessor;
     JsonRpcClientProxy        = jsonRpcClientProxy;
     EthJsonRpcClientProxy     = ethJsonRpcClientProxy;
     HttpClient                = httpClient;
     MonitoringService         = monitoringService;
 }
コード例 #8
0
 public void Setup()
 {
     _ndmModule          = Substitute.For <INdmModule>();
     _ndmConsumersModule = Substitute.For <INdmConsumersModule>();
     _configProvider     = Substitute.For <IConfigProvider>();
     _dbProvider         = Substitute.For <IDbProvider>();
     _blockTree          = Substitute.For <IBlockTree>();
     _txPool             = Substitute.For <ITxPool>();
     _txSender           = Substitute.For <ITxSender>();
     _specProvider       = Substitute.For <ISpecProvider>();
     _receiptFinder      = Substitute.For <IReceiptFinder>();
     _wallet             = Substitute.For <IWallet>();
     _filterStore        = Substitute.For <IFilterStore>();
     _filterManager      = Substitute.For <IFilterManager>();
     _timestamper        = Substitute.For <ITimestamper>();
     _ecdsa                       = Substitute.For <IEthereumEcdsa>();
     _rpcModuleProvider           = Substitute.For <IRpcModuleProvider>();
     _keyStore                    = Substitute.For <IKeyStore>();
     _jsonSerializer              = Substitute.For <IJsonSerializer>();
     _cryptoRandom                = Substitute.For <ICryptoRandom>();
     _enode                       = Substitute.For <IEnode>();
     _consumerChannelManager      = Substitute.For <INdmConsumerChannelManager>();
     _dataPublisher               = Substitute.For <INdmDataPublisher>();
     _grpcServer                  = Substitute.For <IGrpcServer>();
     _nodeStatsManager            = Substitute.For <INodeStatsManager>();
     _protocolsManager            = Substitute.For <IProtocolsManager>();
     _protocolValidator           = Substitute.For <IProtocolValidator>();
     _messageSerializationService = Substitute.For <IMessageSerializationService>();
     _webSocketsManager           = Substitute.For <IWebSocketsManager>();
     _logManager                  = LimboLogs.Instance;
     _blockProcessor              = Substitute.For <IBlockProcessor>();
     _jsonRpcClientProxy          = Substitute.For <IJsonRpcClientProxy>();
     _ethJsonRpcClientProxy       = Substitute.For <IEthJsonRpcClientProxy>();
     _httpClient                  = Substitute.For <IHttpClient>();
     _monitoringService           = Substitute.For <IMonitoringService>();
     _enableUnsecuredDevWallet    = false;
     _ndmConfig                   = new NdmConfig {
         Enabled = true, StoreConfigInDatabase = false
     };
     _configProvider.GetConfig <INdmConfig>().Returns(_ndmConfig);
     _ndmInitializer = new NdmInitializer(_ndmModule, _ndmConsumersModule, _logManager);
     _bloomStorage   = Substitute.For <IBloomStorage>();
 }
コード例 #9
0
 public ConsumerServicesBackgroundProcessor(IAccountService accountService, IRefundClaimant refundClaimant,
                                            IDepositConfirmationService depositConfirmationService, IBlockProcessor blockProcessor,
                                            IDepositDetailsRepository depositRepository, IConsumerNotifier consumerNotifier, ILogManager logManager,
                                            uint tryClaimRefundsIntervalMilliseconds     = 60000, bool useDepositTimer = false,
                                            IEthJsonRpcClientProxy ethJsonRpcClientProxy = null, uint depositTimer     = 10000)
 {
     _accountService             = accountService;
     _refundClaimant             = refundClaimant;
     _depositConfirmationService = depositConfirmationService;
     _blockProcessor             = blockProcessor;
     _depositRepository          = depositRepository;
     _consumerNotifier           = consumerNotifier;
     _useDepositTimer            = useDepositTimer;
     _ethJsonRpcClientProxy      = ethJsonRpcClientProxy;
     _logger           = logManager.GetClassLogger();
     _refundClaimTimer = new Timer(tryClaimRefundsIntervalMilliseconds);
     if (_useDepositTimer)
     {
         _depositTimer = new Timer(depositTimer);
     }
 }
コード例 #10
0
        public virtual async Task <INdmCapabilityConnector> InitAsync(IConfigProvider configProvider,
                                                                      IDbProvider dbProvider, string baseDbPath, IBlockTree blockTree, ITxPool txPool, ISpecProvider specProvider,
                                                                      IReceiptStorage receiptStorage, IWallet wallet, IFilterStore filterStore, IFilterManager filterManager,
                                                                      ITimestamper timestamper, IEthereumEcdsa ecdsa, IRpcModuleProvider rpcModuleProvider, IKeyStore keyStore,
                                                                      IJsonSerializer jsonSerializer, ICryptoRandom cryptoRandom, IEnode enode,
                                                                      INdmConsumerChannelManager consumerChannelManager, INdmDataPublisher dataPublisher, IGrpcServer grpcServer,
                                                                      INodeStatsManager nodeStatsManager, IProtocolsManager protocolsManager,
                                                                      IProtocolValidator protocolValidator, IMessageSerializationService messageSerializationService,
                                                                      bool enableUnsecuredDevWallet, IWebSocketsManager webSocketsManager, ILogManager logManager,
                                                                      IBlockProcessor blockProcessor, IJsonRpcClientProxy jsonRpcClientProxy,
                                                                      IEthJsonRpcClientProxy ethJsonRpcClientProxy, IHttpClient httpClient, IMonitoringService monitoringService)
        {
            var(config, services, faucet, ethRequestService, accountService, consumerService, consumerAddress,
                providerAddress) = await PreInitAsync(configProvider, dbProvider, baseDbPath, blockTree, txPool,
                                                      specProvider, receiptStorage, wallet, filterStore, filterManager, timestamper, ecdsa, rpcModuleProvider,
                                                      keyStore, jsonSerializer, cryptoRandom, enode, consumerChannelManager, dataPublisher, grpcServer,
                                                      enableUnsecuredDevWallet, webSocketsManager, logManager, blockProcessor, jsonRpcClientProxy,
                                                      ethJsonRpcClientProxy, httpClient, monitoringService);

            if (!config.Enabled)
            {
                return(default);
コード例 #11
0
 public void Setup()
 {
     _client = Substitute.For <IJsonRpcClientProxy>();
     _proxy  = new EthJsonRpcClientProxy(_client);
 }
コード例 #12
0
 public NdmBlockchainBridgeProxy(IEthJsonRpcClientProxy proxy)
 {
     _proxy = proxy ?? throw new ArgumentNullException(nameof(proxy));
 }
コード例 #13
0
 public EthModuleProxy(IEthJsonRpcClientProxy proxy)
 {
     _proxy = proxy;
 }
コード例 #14
0
 public EthModuleProxyFactory(IEthJsonRpcClientProxy ethJsonRpcClientProxy, IWallet wallet)
 {
     _ethJsonRpcClientProxy = ethJsonRpcClientProxy;
     _wallet = wallet;
 }
コード例 #15
0
 public void Setup()
 {
     _proxy     = Substitute.For <IEthJsonRpcClientProxy>();
     _ndmBridge = new NdmBlockchainBridgeProxy(_proxy);
 }
コード例 #16
0
 public EthModuleProxyFactory(IEthJsonRpcClientProxy?ethJsonRpcClientProxy, IWallet?wallet)
 {
     _ethJsonRpcClientProxy = ethJsonRpcClientProxy ?? throw new ArgumentNullException(nameof(ethJsonRpcClientProxy));
     _wallet = wallet ?? throw new ArgumentNullException(nameof(wallet));
 }
コード例 #17
0
        public INdmServices Init(NdmRequiredServices services)
        {
            AddDecoders();
            var config          = services.NdmConfig;
            var providerAddress = string.IsNullOrWhiteSpace(config.ProviderAddress)
                ? Address.Zero
                : new Address(config.ProviderAddress);
            var consumerAddress = string.IsNullOrWhiteSpace(config.ConsumerAddress)
                ? Address.Zero
                : new Address(config.ConsumerAddress);
            var contractAddress = string.IsNullOrWhiteSpace(config.ContractAddress)
                ? Address.Zero
                : new Address(config.ContractAddress);

            UnlockHardcodedAccounts(providerAddress, consumerAddress, services.Wallet);

            var logManager              = services.LogManager;
            var jsonSerializer          = services.JsonSerializer;
            var readOnlyTree            = new ReadOnlyBlockTree(services.BlockTree);
            var readOnlyDbProvider      = new ReadOnlyDbProvider(services.RocksProvider, false);
            var readOnlyTxProcessingEnv = new ReadOnlyTxProcessingEnv(readOnlyDbProvider, readOnlyTree,
                                                                      services.SpecProvider, logManager);
            var blockchainBridge = new BlockchainBridge(
                readOnlyTxProcessingEnv.StateReader,
                readOnlyTxProcessingEnv.StateProvider,
                readOnlyTxProcessingEnv.StorageProvider,
                readOnlyTxProcessingEnv.BlockTree,
                services.TransactionPool,
                services.ReceiptStorage,
                services.FilterStore,
                services.FilterManager,
                services.Wallet,
                readOnlyTxProcessingEnv.TransactionProcessor,
                services.Ecdsa);
            var dataAssetRlpDecoder = new DataAssetDecoder();
            var encoder             = new AbiEncoder();

            IEthJsonRpcClientProxy ethJsonRpcClientProxy = null;
            INdmBlockchainBridge   ndmBlockchainBridge;

            if (config.ProxyEnabled)
            {
                ethJsonRpcClientProxy = new EthJsonRpcClientProxy(new JsonRpcClientProxy(
                                                                      new DefaultHttpClient(new HttpClient(), jsonSerializer, logManager),
                                                                      config.JsonRpcUrlProxies));
                ndmBlockchainBridge = new NdmBlockchainBridgeProxy(ethJsonRpcClientProxy);
            }
            else
            {
                ndmBlockchainBridge = new NdmBlockchainBridge(blockchainBridge, services.TransactionPool);
            }

            var depositService = new DepositService(ndmBlockchainBridge, services.TransactionPool, encoder,
                                                    services.Wallet, contractAddress, logManager);
            var ndmConsumerChannelManager = services.NdmConsumerChannelManager;
            var ndmDataPublisher          = services.NdmDataPublisher;
            var jsonRpcNdmConsumerChannel = new JsonRpcNdmConsumerChannel();

//            ndmConsumerChannelManager.Add(jsonRpcNdmConsumerChannel);

            return(new Services(services, new NdmCreatedServices(consumerAddress, encoder, dataAssetRlpDecoder,
                                                                 depositService, ndmDataPublisher, jsonRpcNdmConsumerChannel, ndmConsumerChannelManager,
                                                                 ndmBlockchainBridge, ethJsonRpcClientProxy)));
        }
コード例 #18
0
        public void constructor_should_throw_exception_if_client_argument_is_null()
        {
            Action act = () => _proxy = new EthJsonRpcClientProxy(null);

            act.Should().Throw <ArgumentNullException>();
        }
コード例 #19
0
 public EthRpcModuleProxy(IEthJsonRpcClientProxy proxy, IWallet wallet)
 {
     _proxy  = proxy;
     _wallet = wallet;
 }
コード例 #20
0
ファイル: BalanceModule.cs プロジェクト: zhamppx97/nethermind
 public BalanceModule(IEthJsonRpcClientProxy ethJsonRpcClientProxy, string address)
 {
     _ethJsonRpcClientProxy = ethJsonRpcClientProxy;
     _address = new Address(address);
     _timer   = new Timer(Update, null, TimeSpan.Zero, TimeSpan.FromSeconds(2));
 }