public Task <bool> PromptForSignaturesAsync(IInvoice invoice) { if (invoice is null) { throw new ArgumentNullException(nameof(invoice)); } _input = new SigningInput() { Invoice = invoice, TransactionInHex = Hex.FromBytes(invoice.TxBytes), StatusMessage = "Waiting for signature(s)...", }; _taskCompletionSource = new TaskCompletionSource <bool>(); StartCountDown(); StateHasChanged(); return(_taskCompletionSource.Task); }
private void SubmitToNetwork() { TryParseSignature(); try { if (_input.PendingSignatureMap is not null || (string.IsNullOrWhiteSpace(_input.SignatureInHex) && _input.ConfirmedSignatureMap != null)) { if (_input.ConfirmedSignatureMap is not null) { foreach (var signature in _input.ConfirmedSignatureMap.SigPair) { AddSignatureToInvoice(signature); } } if (_input.PendingSignatureMap is not null) { foreach (var signature in _input.PendingSignatureMap.SigPair) { AddSignatureToInvoice(signature); } } _input.CountDownTimer?.Dispose(); _input.CountDownTimer = null; _input = default !;