public void Roundtrip(DepositDetails item) { DepositDecoder.Init(); TransactionInfoDecoder.Init(); DataAssetDecoder.Init(); DataAssetRuleDecoder.Init(); DataAssetRulesDecoder.Init(); DataAssetProviderDecoder.Init(); EarlyRefundTicketDecoder.Init(); DepositDetailsDecoder decoder = new DepositDetailsDecoder(); decoder.Decode(decoder.Encode(item).Bytes.AsRlpStream()).Should().BeEquivalentTo(item); }
public void Init(string path) { var dbOnTheRocks = new DepositsRocksDb(path, new DbConfig(), LimboLogs.Instance); var depositsBytes = dbOnTheRocks.GetAll(); var depositsDecoder = new DepositDecoder(); var deposits = depositsBytes .Select(b => depositsDecoder.Decode(b.Value.AsRlpStream())); var window = new Window("Deposits") { X = 0, Y = 10, Width = Dim.Fill(), Height = Dim.Fill() }; if (!deposits.Any()) { MessageBox.Query(40, 7, "Deposits", "No data." + $"{Environment.NewLine}(ESC to close)"); window.FocusPrev(); return; } var y = 1; foreach (var deposit in deposits) { var depositBtn = new Button(1, y++, $"Units: {deposit.Units}, Value: {deposit.Value}"); depositBtn.Clicked = () => { var depositDetailsWindow = new Window("Deposit details") { X = 0, Y = 10, Width = Dim.Fill(), Height = Dim.Fill() }; Application.Top.Add(depositDetailsWindow); var serializer = new EthereumJsonSerializer(); var dataAssetLbl = new Label(1, 1, serializer.Serialize(deposit, true)); depositDetailsWindow.Add(dataAssetLbl); Application.Run(depositDetailsWindow); }; } Application.Top.Add(window); Application.Run(window); }
private static void AddDecoders() { DataDeliveryReceiptDecoder.Init(); DataDeliveryReceiptRequestDecoder.Init(); DataDeliveryReceiptToMergeDecoder.Init(); DataDeliveryReceiptDetailsDecoder.Init(); DataHeaderDecoder.Init(); DataHeaderRuleDecoder.Init(); DataHeaderRulesDecoder.Init(); DataHeaderProviderDecoder.Init(); DataRequestDecoder.Init(); DepositDecoder.Init(); DepositApprovalDecoder.Init(); EarlyRefundTicketDecoder.Init(); EthRequestDecoder.Init(); SessionDecoder.Init(); UnitsRangeDecoder.Init(); }
private static void AddDecoders() { DataDeliveryReceiptDecoder.Init(); DataDeliveryReceiptRequestDecoder.Init(); DataDeliveryReceiptToMergeDecoder.Init(); DataDeliveryReceiptDetailsDecoder.Init(); DataAssetDecoder.Init(); DataAssetRuleDecoder.Init(); DataAssetRulesDecoder.Init(); DataAssetProviderDecoder.Init(); DataRequestDecoder.Init(); DepositDecoder.Init(); DepositApprovalDecoder.Init(); EarlyRefundTicketDecoder.Init(); EthRequestDecoder.Init(); FaucetResponseDecoder.Init(); FaucetRequestDetailsDecoder.Init(); SessionDecoder.Init(); TransactionInfoDecoder.Init(); UnitsRangeDecoder.Init(); }
static DepositDetailsRocksRepositoryTests() { if (_cases == null) { DepositDecoder.Init(); TransactionInfoDecoder.Init(); DataAssetDecoder.Init(); DataAssetRuleDecoder.Init(); DataAssetRulesDecoder.Init(); DataAssetProviderDecoder.Init(); EarlyRefundTicketDecoder.Init(); Deposit deposit = new Deposit(TestItem.KeccakA, 100, 100, 100); DataAssetProvider provider = new DataAssetProvider(TestItem.AddressA, "provider"); DataAsset dataAsset = new DataAsset(TestItem.KeccakA, "data_asset", "desc", 1, DataAssetUnitType.Time, 1000, 10000, new DataAssetRules(new DataAssetRule(1), null), provider, null, QueryType.Stream, DataAssetState.Published, null, false, null); DepositDetails details = new DepositDetails( deposit, dataAsset, TestItem.AddressA, Array.Empty <byte>(), 10, Array.Empty <TransactionInfo>(), 9, false, false, null, Array.Empty <TransactionInfo>(), false, false, null, 0, 6); _cases = new List <DepositDetails>(); _cases.Add(details); _cases.Add(new DepositDetails( deposit, dataAsset, TestItem.AddressA, Array.Empty <byte>(), 10, Array.Empty <TransactionInfo>(), 9, false, false, null, Array.Empty <TransactionInfo>(), false, false, null, 0, 6)); _cases.Add(new DepositDetails( deposit, dataAsset, TestItem.AddressA, Array.Empty <byte>(), 10, Array.Empty <TransactionInfo>(), 9, false, false, null, Array.Empty <TransactionInfo>(), false, false, null, 0, 6)); } }