protected override async Task OnInit(IServiceProvider services) { Logger.Information($"{_confirmationsRequired} confirmations required for pool-freezer event"); _services = services; _dbContext = services.GetRequiredService <ApplicationDbContext>(); _ethereumReader = services.GetRequiredService <IEthereumReader>(); var runtimeConfig = services.GetRequiredService <RuntimeConfigHolder>().Clone(); // get last block from config if (BigInteger.TryParse(runtimeConfig.Ethereum.HarvestFromBlock, out var lbCfg) && lbCfg >= 0) { _lastBlock = lbCfg; Logger.Information($"Using last block #{lbCfg} (appsettings)"); } // get last block from db; remember last saved block if (BigInteger.TryParse(await _dbContext.GetDbSetting(DbSetting.PoolFreezerHarvLastBlock, "0"), out var lbDb) && lbDb >= 0 && lbDb >= lbCfg) { _lastBlock = lbDb; _lastSavedBlock = lbDb; Logger.Information($"Using last block #{lbDb} (DB)"); } }
protected override Task OnInit(IServiceProvider services) { _services = services; _dbContext = services.GetRequiredService <ApplicationDbContext>(); _ethReader = services.GetRequiredService <IEthereumReader>(); _ethWriter = services.GetRequiredService <IEthereumWriter>(); return(Task.CompletedTask); }
protected override Task OnInit(IServiceProvider services) { _services = services; _dbContext = services.GetRequiredService <ApplicationDbContext>(); _ethReader = services.GetRequiredService <IEthereumReader>(); _ethWriter = services.GetRequiredService <IEthereumWriter>(); _appConfig = services.GetRequiredService <AppConfig>(); _templateProvider = services.GetRequiredService <ITemplateProvider>(); _notificationQueue = services.GetRequiredService <INotificationQueue>(); return(Task.CompletedTask); }