Esempio n. 1
0
 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()));
 }
Esempio n. 3
0
 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;
 }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
 public ZcashLikeSummaryUpdaterHostedService(ZcashRPCProvider ZcashRpcProvider, ZcashLikeConfiguration ZcashLikeConfiguration, Logs logs)
 {
     _ZcashRpcProvider       = ZcashRpcProvider;
     _ZcashLikeConfiguration = ZcashLikeConfiguration;
     Logs = logs;
 }