public MoneroLikeStoreController(MoneroLikeConfiguration moneroLikeConfiguration, StoreRepository storeRepository, MoneroRPCProvider moneroRpcProvider, BTCPayNetworkProvider btcPayNetworkProvider) { _MoneroLikeConfiguration = moneroLikeConfiguration; _StoreRepository = storeRepository; _MoneroRpcProvider = moneroRpcProvider; _BtcPayNetworkProvider = btcPayNetworkProvider; }
public MoneroRPCProvider(MoneroLikeConfiguration moneroLikeConfiguration, EventAggregator eventAggregator, IHttpClientFactory httpClientFactory) { _moneroLikeConfiguration = moneroLikeConfiguration; _eventAggregator = eventAggregator; DaemonRpcClients = _moneroLikeConfiguration.MoneroLikeConfigurationItems.ToImmutableDictionary(pair => pair.Key, pair => new JsonRpcClient(pair.Value.DaemonRpcUri, "", "", httpClientFactory.CreateClient())); WalletRpcClients = _moneroLikeConfiguration.MoneroLikeConfigurationItems.ToImmutableDictionary(pair => pair.Key, pair => new JsonRpcClient(pair.Value.InternalWalletRpcUri, "", "", httpClientFactory.CreateClient())); }
public MoneroListener(InvoiceRepository invoiceRepository, EventAggregator eventAggregator, MoneroRPCProvider moneroRpcProvider, MoneroLikeConfiguration moneroLikeConfiguration, BTCPayNetworkProvider networkProvider, ILogger <MoneroListener> logger) { _invoiceRepository = invoiceRepository; _eventAggregator = eventAggregator; _moneroRpcProvider = moneroRpcProvider; _MoneroLikeConfiguration = moneroLikeConfiguration; _networkProvider = networkProvider; _logger = logger; }
private static MoneroLikeConfiguration ConfigureMoneroLikeConfiguration(this IServiceProvider serviceProvider) { var configuration = serviceProvider.GetService <IConfiguration>(); var btcPayNetworkProvider = serviceProvider.GetService <BTCPayNetworkProvider>(); var result = new MoneroLikeConfiguration(); var supportedChains = configuration.GetOrDefault <string>("chains", string.Empty) .Split(',', StringSplitOptions.RemoveEmptyEntries) .Select(t => t.ToUpperInvariant()); var supportedNetworks = btcPayNetworkProvider.Filter(supportedChains.ToArray()).GetAll() .OfType <MoneroLikeSpecificBtcPayNetwork>(); foreach (var moneroLikeSpecificBtcPayNetwork in supportedNetworks) { var daemonUri = configuration.GetOrDefault <Uri>($"{moneroLikeSpecificBtcPayNetwork.CryptoCode}_daemon_uri", null); var walletDaemonUri = configuration.GetOrDefault <Uri>( $"{moneroLikeSpecificBtcPayNetwork.CryptoCode}_wallet_daemon_uri", null); var walletDaemonWalletDirectory = configuration.GetOrDefault <string>( $"{moneroLikeSpecificBtcPayNetwork.CryptoCode}_wallet_daemon_walletdir", null); if (daemonUri == null || walletDaemonUri == null) { throw new ConfigException($"{moneroLikeSpecificBtcPayNetwork.CryptoCode} is misconfigured"); } result.MoneroLikeConfigurationItems.Add(moneroLikeSpecificBtcPayNetwork.CryptoCode, new MoneroLikeConfigurationItem() { DaemonRpcUri = daemonUri, InternalWalletRpcUri = walletDaemonUri, WalletDirectory = walletDaemonWalletDirectory }); } return(result); }
public MoneroLikeSummaryUpdaterHostedService(MoneroRPCProvider moneroRpcProvider, MoneroLikeConfiguration moneroLikeConfiguration) { _MoneroRpcProvider = moneroRpcProvider; _moneroLikeConfiguration = moneroLikeConfiguration; }