public void Update(Tuple <ListChannelsResponse, PendingChannelsResponse, ClosedChannelsResponse> r)
        {
            OpenChannelsTable.Update(r.Item1.Channels);
            var pendingChannels = r.Item2;

            PendingOpenChannelsTable.Update(pendingChannels.PendingOpenChannels);
            PendingClosingChannelsTable.Update(pendingChannels.PendingClosingChannels);
            PendingForceClosingChannelsTable.Update(pendingChannels.PendingForceClosingChannels);
            WaitingCloseChannelsTable.Update(pendingChannels.WaitingCloseChannels);
            ClosedChannelsTable.Update(r.Item3.Channels);
        }
        private void WsOnChangeParsePayReq(Range target)
        {
            if (target.Address != "$C$2")
            {
                return;
            }

            string payReq = target.Value2;

            if (string.IsNullOrWhiteSpace(payReq))
            {
                return;
            }

            PayReq response;

            try
            {
                response = LApp.DecodePaymentRequest(payReq);
                PaymentRequestTable.Clear();
                PotentialRoutesTable.Clear();
                ClearSendStatus();
                Utilities.ClearErrorData(_errorData);
                ClearSendPaymentResponseData();
            }
            catch (RpcException e)
            {
                Utilities.DisplayError(_errorData, "Parsing error", e);
                return;
            }
            PaymentRequestTable.Update(response);
            Utilities.ClearErrorData(_errorData);

            try
            {
                var r = LApp.QueryRoutes(response, MaxRoutes);
                PotentialRoutesTable.Update(r.Routes);
            }
            catch (RpcException e)
            {
                Utilities.DisplayError(_errorData, "Query route error", e);
                return;
            }

            _payReqInputCell.Columns.ColumnWidth = PayReqColumnWidth;
        }
        public void PopulateSendPaymentResponse(SendResponse response)
        {
            ClearSendStatus();
            if (response.PaymentError == "")
            {
                _paymentPreimageCell.Value2    = BitConverter.ToString(response.PaymentPreimage.ToByteArray()).Replace("-", "").ToLower();
                _paymentPreimageCell.RowHeight = 14.3;

                RouteTakenTable.Populate(response.PaymentRoute);
                HopTable.Update(response.PaymentRoute.Hops);
                _payReqInputCell.Columns.ColumnWidth = PayReqColumnWidth;
            }
            else
            {
                Utilities.DisplayError(_errorData, "Payment error", response.PaymentError);
            }
            Utilities.EnableButton(Ws, "sendPayment", true);
        }
Ejemplo n.º 4
0
        // ReSharper disable once UnusedParameter.Local
        private void BwListCompleted <TMessage, TResponse>(object sender, RunWorkerCompletedEventArgs e,
                                                           TableSheet <TMessage> tableSheet) where TMessage : IMessage where TResponse : IMessage
        {
            try
            {
                var response        = (TResponse)e.Result;
                var fieldDescriptor = response.Descriptor.Fields.InDeclarationOrder().FirstOrDefault(f => f.IsRepeated);
                if (fieldDescriptor == null)
                {
                    return;
                }

                var data = (RepeatedField <TMessage>)fieldDescriptor.Accessor.GetValue(response);
                tableSheet.Update(data);
            }
            catch (System.Reflection.TargetInvocationException exception)
            {
                var rpcException = (RpcException)exception.InnerException;
                _excelAddIn.ConnectSheet.DisplayError("Connect error", rpcException?.Status.Detail);
                _excelAddIn.ConnectSheet.Ws.Activate();
            }
        }