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);
        }
Beispiel #3
0
 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();
 }
Beispiel #4
0
 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();
 }
Beispiel #5
0
        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));
            }
        }