Beispiel #1
0
        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)");
            }
        }
Beispiel #2
0
 protected override Task OnInit(IServiceProvider services)
 {
     _services  = services;
     _dbContext = services.GetRequiredService <ApplicationDbContext>();
     _ethReader = services.GetRequiredService <IEthereumReader>();
     _ethWriter = services.GetRequiredService <IEthereumWriter>();
     return(Task.CompletedTask);
 }
Beispiel #3
0
 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);
 }