public async Task ShowAsync(Gateway?selected) { _gateways = await GatewayListService.GetNetworkGateways(); var network = FindNetwork(selected); var list = FindGatewayList(network); _input = new SelectGatewayInput() { SelectedGateway = selected, SelectedNetwork = network, Networks = _gateways.Keys.OrderBy(n => n).ToArray(), Gateways = list }; StateHasChanged(); }
public async Task ExecuteAsync(Gateway gateway, Address?payer, Func <Client, Task> executeFunction) { int txSequenceNo = OnStartTransaction(); try { if (executeFunction is null) { throw new ArgumentNullException(nameof(executeFunction)); } _isMainNetwork = GatewayListService.IsMainNetwork(gateway); await using var client = RootClientService.RootClient.Clone(ctx => { ctx.Gateway = gateway; ctx.Payer = payer; ctx.FeeLimit = DefaultsService.FeeLimit; ctx.TransactionDuration = DefaultsService.TransactionDuration; ctx.RetryDelay = Util.ComputeRetryDelay(DefaultsService.ReceiptWaitDuration, DefaultsService.ReceiptRetryCount); ctx.RetryCount = DefaultsService.ReceiptRetryCount; ctx.OnSendingRequest = SetupOnSendingRequest(txSequenceNo); ctx.OnResponseReceived = SetupOnResponseReceived(txSequenceNo); ctx.Signatory = SetupOnSignRequest(txSequenceNo); }); await executeFunction(client); if (gateway != null) { DefaultsService.Gateway = gateway; } if (payer != null) { DefaultsService.Payer = payer; } } catch (Exception ex) { OnTransactionError(txSequenceNo, ex); } finally { OnTransactionFinished(txSequenceNo); } }