public TransactionProcessor(ISpecProvider specProvider, IStateProvider stateProvider, IStorageProvider storageProvider, IVirtualMachine virtualMachine, ITransactionTracer tracer, ILogManager logManager) { _logger = logManager?.GetClassLogger() ?? throw new ArgumentNullException(nameof(logManager)); _tracer = tracer ?? throw new ArgumentNullException(nameof(tracer)); _specProvider = specProvider ?? throw new ArgumentNullException(nameof(specProvider)); _virtualMachine = virtualMachine ?? throw new ArgumentNullException(nameof(virtualMachine)); _stateProvider = stateProvider ?? throw new ArgumentNullException(nameof(stateProvider)); _storageProvider = storageProvider ?? throw new ArgumentNullException(nameof(storageProvider)); }
private void ConfigureTools(InitParams initParams) { _runnerCancellation = new CancellationTokenSource(); _logger = _logManager.GetClassLogger(); _logger.Info("Initializing Ethereum"); _logger.Info($"Server GC : {System.Runtime.GCSettings.IsServerGC}"); _logger.Info($"GC latency mode : {System.Runtime.GCSettings.LatencyMode}"); _logger.Info($"LOH compaction mode : {System.Runtime.GCSettings.LargeObjectHeapCompactionMode}"); _privateKey = new PrivateKey(initParams.TestNodeKey); _dbBasePath = initParams.BaseDbPath ?? Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "db"); _tracer = initParams.TransactionTracingEnabled ? new TransactionTracer(initParams.BaseTracingPath, new UnforgivingJsonSerializer()) : NullTracer.Instance; _perfService = new PerfService(_logManager); }