public UIZcashLikeStoreController(ZcashLikeConfiguration ZcashLikeConfiguration, StoreRepository storeRepository, ZcashRPCProvider ZcashRpcProvider, BTCPayNetworkProvider btcPayNetworkProvider) { _ZcashLikeConfiguration = ZcashLikeConfiguration; _StoreRepository = storeRepository; _ZcashRpcProvider = ZcashRpcProvider; _BtcPayNetworkProvider = btcPayNetworkProvider; }
public ZcashRPCProvider(ZcashLikeConfiguration ZcashLikeConfiguration, EventAggregator eventAggregator, IHttpClientFactory httpClientFactory) { _ZcashLikeConfiguration = ZcashLikeConfiguration; _eventAggregator = eventAggregator; DaemonRpcClients = _ZcashLikeConfiguration.ZcashLikeConfigurationItems.ToImmutableDictionary(pair => pair.Key, pair => new JsonRpcClient(pair.Value.DaemonRpcUri, "", "", httpClientFactory.CreateClient())); WalletRpcClients = _ZcashLikeConfiguration.ZcashLikeConfigurationItems.ToImmutableDictionary(pair => pair.Key, pair => new JsonRpcClient(pair.Value.InternalWalletRpcUri, "", "", httpClientFactory.CreateClient())); }
public ZcashListener(InvoiceRepository invoiceRepository, EventAggregator eventAggregator, ZcashRPCProvider ZcashRpcProvider, ZcashLikeConfiguration ZcashLikeConfiguration, BTCPayNetworkProvider networkProvider, ILogger <ZcashListener> logger, PaymentService paymentService) { _invoiceRepository = invoiceRepository; _eventAggregator = eventAggregator; _ZcashRpcProvider = ZcashRpcProvider; _ZcashLikeConfiguration = ZcashLikeConfiguration; _networkProvider = networkProvider; _logger = logger; _paymentService = paymentService; }
private static ZcashLikeConfiguration ConfigureZcashLikeConfiguration(this IServiceProvider serviceProvider) { var configuration = serviceProvider.GetService <IConfiguration>(); var btcPayNetworkProvider = serviceProvider.GetService <BTCPayNetworkProvider>(); var result = new ZcashLikeConfiguration(); var supportedChains = configuration.GetOrDefault <string>("chains", string.Empty) .Split(',', StringSplitOptions.RemoveEmptyEntries) .Select(t => t.ToUpperInvariant()); var supportedNetworks = btcPayNetworkProvider.Filter(supportedChains.ToArray()).GetAll() .OfType <ZcashLikeSpecificBtcPayNetwork>(); foreach (var ZcashLikeSpecificBtcPayNetwork in supportedNetworks) { var daemonUri = configuration.GetOrDefault <Uri>($"{ZcashLikeSpecificBtcPayNetwork.CryptoCode}_daemon_uri", null); var walletDaemonUri = configuration.GetOrDefault <Uri>( $"{ZcashLikeSpecificBtcPayNetwork.CryptoCode}_wallet_daemon_uri", null); var walletDaemonWalletDirectory = configuration.GetOrDefault <string>( $"{ZcashLikeSpecificBtcPayNetwork.CryptoCode}_wallet_daemon_walletdir", null); if (daemonUri == null || walletDaemonUri == null) { throw new ConfigException($"{ZcashLikeSpecificBtcPayNetwork.CryptoCode} is misconfigured"); } result.ZcashLikeConfigurationItems.Add(ZcashLikeSpecificBtcPayNetwork.CryptoCode, new ZcashLikeConfigurationItem() { DaemonRpcUri = daemonUri, InternalWalletRpcUri = walletDaemonUri, WalletDirectory = walletDaemonWalletDirectory }); } return(result); }
public ZcashLikeSummaryUpdaterHostedService(ZcashRPCProvider ZcashRpcProvider, ZcashLikeConfiguration ZcashLikeConfiguration, Logs logs) { _ZcashRpcProvider = ZcashRpcProvider; _ZcashLikeConfiguration = ZcashLikeConfiguration; Logs = logs; }