public StoreOnChainWalletsController(
     IAuthorizationService authorizationService,
     BTCPayWalletProvider btcPayWalletProvider,
     BTCPayNetworkProvider btcPayNetworkProvider,
     WalletRepository walletRepository,
     ExplorerClientProvider explorerClientProvider,
     CssThemeManager cssThemeManager,
     NBXplorerDashboard nbXplorerDashboard,
     WalletsController walletsController,
     PayjoinClient payjoinClient,
     DelayedTransactionBroadcaster delayedTransactionBroadcaster,
     EventAggregator eventAggregator,
     WalletReceiveService walletReceiveService)
 {
     _authorizationService          = authorizationService;
     _btcPayWalletProvider          = btcPayWalletProvider;
     _btcPayNetworkProvider         = btcPayNetworkProvider;
     _walletRepository              = walletRepository;
     _explorerClientProvider        = explorerClientProvider;
     _cssThemeManager               = cssThemeManager;
     _nbXplorerDashboard            = nbXplorerDashboard;
     _walletsController             = walletsController;
     _payjoinClient                 = payjoinClient;
     _delayedTransactionBroadcaster = delayedTransactionBroadcaster;
     _eventAggregator               = eventAggregator;
     _walletReceiveService          = walletReceiveService;
 }
 public GreenfieldStoreOnChainWalletsController(
     IAuthorizationService authorizationService,
     BTCPayWalletProvider btcPayWalletProvider,
     BTCPayNetworkProvider btcPayNetworkProvider,
     WalletRepository walletRepository,
     ExplorerClientProvider explorerClientProvider,
     NBXplorerDashboard nbXplorerDashboard,
     PoliciesSettings policiesSettings,
     UIWalletsController walletsController,
     PayjoinClient payjoinClient,
     DelayedTransactionBroadcaster delayedTransactionBroadcaster,
     EventAggregator eventAggregator,
     WalletReceiveService walletReceiveService,
     IFeeProviderFactory feeProviderFactory,
     LabelFactory labelFactory
     )
 {
     _authorizationService          = authorizationService;
     _btcPayWalletProvider          = btcPayWalletProvider;
     _btcPayNetworkProvider         = btcPayNetworkProvider;
     _walletRepository              = walletRepository;
     _explorerClientProvider        = explorerClientProvider;
     PoliciesSettings               = policiesSettings;
     _nbXplorerDashboard            = nbXplorerDashboard;
     _walletsController             = walletsController;
     _payjoinClient                 = payjoinClient;
     _delayedTransactionBroadcaster = delayedTransactionBroadcaster;
     _eventAggregator               = eventAggregator;
     _walletReceiveService          = walletReceiveService;
     _feeProviderFactory            = feeProviderFactory;
     _labelFactory = labelFactory;
 }
Пример #3
0
 public void LazyPayjoinServerTest()
 {
     // This tests the scenario where the payjoin server returns the same
     // transaction that we sent to it and adds no inputs. This can give
     // us the fake sense of privacy but it should be valid.
     var httpClient = new MockTorHttpClient
     {
         OnSendAsync = PayjoinServerOk(psbt => psbt)
     };
     var payjoinClient      = new PayjoinClient(httpClient);
     var transactionFactory = CreateTransactionFactory(new[]
Пример #4
0
        public void ApplyOptionalParametersTest()
        {
            var clientParameters = new PayjoinClientParameters();

            clientParameters.Version = 1;
            clientParameters.MaxAdditionalFeeContribution = new Money(50, MoneyUnit.MilliBTC);

            Uri result = PayjoinClient.ApplyOptionalParameters(new Uri("http://test.me/btc/?something=1"), clientParameters);

            // Assert that the final URI does not contain `something=1` and that it contains proper parameters (in lowercase!).
            Assert.Equal("http://test.me/btc/?v=1&disableoutputsubstitution=false&maxadditionalfeecontribution=5000000", result.AbsoluteUri);
        }