fix: use buy-specific address for buy/sell flow and restrict lightning invoice generation to bitcoin wallets

This commit is contained in:
Omar
2026-06-10 19:55:47 +02:00
parent 782253a653
commit dc1b369e08
2 changed files with 7 additions and 5 deletions
+5 -5
View File
@@ -325,7 +325,7 @@ class BuySellPage extends BasePage {
}
});
reaction((_) => buySellViewModel.wallet.walletAddresses.addressForExchange, (String address) {
reaction((_) => buySellViewModel.wallet.walletAddresses.addressForBuy, (String address) {
if (buySellViewModel.cryptoCurrency == CryptoCurrency.xmr) {
cryptoCurrencyKey.currentState!.changeAddress(address: address);
}
@@ -359,7 +359,7 @@ class BuySellPage extends BasePage {
key.currentState!.changeAddress(
address:
isCurrentTypeWallet ? buySellViewModel.wallet.walletAddresses.addressForExchange : '');
isCurrentTypeWallet ? buySellViewModel.wallet.walletAddresses.addressForBuy : '');
key.currentState!.changeAmount(amount: '');
}
@@ -371,9 +371,9 @@ class BuySellPage extends BasePage {
if (isCurrentTypeWallet) {
key.currentState!.changeWalletName(buySellViewModel.wallet.name);
key.currentState!.addressController.text =
buySellViewModel.wallet.walletAddresses.addressForExchange;
buySellViewModel.wallet.walletAddresses.addressForBuy;
} else if (key.currentState!.addressController.text ==
buySellViewModel.wallet.walletAddresses.addressForExchange) {
buySellViewModel.wallet.walletAddresses.addressForBuy) {
key.currentState!.changeWalletName('');
key.currentState!.addressController.text = '';
}
@@ -429,7 +429,7 @@ class BuySellPage extends BasePage {
initialCurrency: buySellViewModel.cryptoCurrency,
initialWalletName: '',
initialAddress: buySellViewModel.cryptoCurrency == buySellViewModel.wallet.currency
? buySellViewModel.wallet.walletAddresses.addressForExchange
? buySellViewModel.wallet.walletAddresses.addressForBuy
: buySellViewModel.cryptoCurrencyAddress,
initialIsAmountEditable: true,
isAmountEstimated: true,
@@ -1071,6 +1071,7 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with
}
if (depositCurrency == CryptoCurrency.btcln &&
wallet.type == WalletType.bitcoin &&
depositAddress == wallet.walletAddresses.addressForExchange) {
final invoice = await bitcoin!.getLightningInvoice(wallet, BigInt.zero);
if (invoice != null) {
@@ -1079,6 +1080,7 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with
}
if (receiveCurrency == CryptoCurrency.btcln &&
wallet.type == WalletType.bitcoin &&
receiveAddress == wallet.walletAddresses.addressForExchange) {
final invoice = await bitcoin!.getLightningInvoice(wallet, BigInt.zero);
if (invoice != null) {