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; }
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[]
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); }