public ConsumerRocksDbProvider(string basePath, IDbConfig dbConfig, ILogManager logManager) { ConsumerDepositApprovalsDb = new ConsumerDepositApprovalsRocksDb(basePath, dbConfig, logManager); ConsumerReceiptsDb = new ConsumerReceiptsRocksDb(basePath, dbConfig, logManager); ConsumerSessionsDb = new ConsumerSessionsRocksDb(basePath, dbConfig, logManager); DepositsDb = new DepositsRocksDb(basePath, dbConfig, logManager); }
public void Init(string path) { var dbOnTheRocks = new ConsumerSessionsRocksDb(path, new DbConfig(), LimboLogs.Instance); var consumerSessionsBytes = dbOnTheRocks.GetAll(); var consumerSessionsDecoder = new ConsumerSessionDecoder(); var consumerSessions = consumerSessionsBytes .Select(b => consumerSessionsDecoder.Decode(b.Value.AsRlpStream())); var window = new Window("Consumer sessions") { X = 0, Y = 10, Width = Dim.Fill(), Height = Dim.Fill() }; if (!consumerSessions.Any()) { MessageBox.Query(40, 7, "Consumer sessions", "No data." + $"{Environment.NewLine}(ESC to close)"); window.FocusPrev(); return; } var y = 1; foreach (var consumerSession in consumerSessions) { var consumerSessionBtn = new Button(1, y++, $"DepositId: {consumerSession.DepositId}," + $"ConsumerAddress: {consumerSession.ConsumerAddress}"); consumerSessionBtn.Clicked = () => { var consumerSessionDetailsWindow = new Window("Session details") { X = 0, Y = 10, Width = Dim.Fill(), Height = Dim.Fill() }; Application.Top.Add(consumerSessionDetailsWindow); var serializer = new EthereumJsonSerializer(); var consumerSessionLbl = new Label(1, 1, serializer.Serialize(consumerSession, true)); consumerSessionDetailsWindow.Add(consumerSessionLbl); Application.Run(consumerSessionDetailsWindow); }; window.Add(consumerSessionBtn); } Application.Top.Add(window); Application.Run(window); }