Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions lib/models/isar/exchange_cache/currency.dart
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import 'package:isar/isar.dart';
import '../../../app_config.dart';
import '../../../services/exchange/change_now/change_now_exchange.dart';
import '../../../services/exchange/exchange.dart';
import '../../../services/exchange/majestic_bank/majestic_bank_exchange.dart';
import '../../../services/exchange/nanswap/nanswap_exchange.dart';
import '../../../services/exchange/trocador/trocador_exchange.dart';
import 'pair.dart';
Expand Down Expand Up @@ -72,6 +71,11 @@ class Currency {
@ignore
String? _fuzzyCache;
String getFuzzyNet() {
// hack for legacy support
if (exchangeName == "Majestic Bank") {
return ticker.toLowerCase();
}

return _fuzzyCache ??= switch (Exchange.fromName(
exchangeName,
).runtimeType) {
Expand All @@ -82,8 +86,7 @@ class Currency {
// case const (SimpleSwapExchange):

// currently a hardcoded of coins so we can just
const (MajesticBankExchange) => ticker.toLowerCase(),

// const (MajesticBankExchange) => ticker.toLowerCase(),
const (TrocadorExchange) =>
(network == "Mainnet" ? ticker.toLowerCase() : network),

Expand Down
2 changes: 0 additions & 2 deletions lib/pages/exchange_view/exchange_form.dart
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ import '../../services/exchange/change_now/change_now_exchange.dart';
import '../../services/exchange/exchange.dart';
import '../../services/exchange/exchange_data_loading_service.dart';
import '../../services/exchange/exchange_response.dart';
import '../../services/exchange/majestic_bank/majestic_bank_exchange.dart';
import '../../services/exchange/nanswap/nanswap_exchange.dart';
import '../../services/exchange/trocador/trocador_exchange.dart';
import '../../themes/stack_colors.dart';
Expand Down Expand Up @@ -80,7 +79,6 @@ class _ExchangeFormState extends ConsumerState<ExchangeForm> {
return Exchange.exchangesWithTorSupport;
} else {
return [
MajesticBankExchange.instance,
ChangeNowExchange.instance,
TrocadorExchange.instance,
NanswapExchange.instance,
Expand Down
24 changes: 2 additions & 22 deletions lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ import '../../../models/exchange/aggregate_currency.dart';
import '../../../providers/providers.dart';
import '../../../services/exchange/change_now/change_now_exchange.dart';
import '../../../services/exchange/exchange.dart';
import '../../../services/exchange/majestic_bank/majestic_bank_exchange.dart';
import '../../../services/exchange/nanswap/nanswap_exchange.dart';
import '../../../services/exchange/trocador/trocador_exchange.dart';
import '../../../themes/stack_colors.dart';
Expand Down Expand Up @@ -82,11 +81,6 @@ class _ExchangeProviderOptionsState
sendCurrency: sendCurrency,
receiveCurrency: receivingCurrency,
);
final showMajesticBank = exchangeSupported(
exchangeName: MajesticBankExchange.exchangeName,
sendCurrency: sendCurrency,
receiveCurrency: receivingCurrency,
);
final showTrocador = exchangeSupported(
exchangeName: TrocadorExchange.exchangeName,
sendCurrency: sendCurrency,
Expand All @@ -112,20 +106,7 @@ class _ExchangeProviderOptionsState
fixedRate: widget.fixedRate,
reversed: widget.reversed,
),
if (showChangeNow && showMajesticBank)
isDesktop
? Container(
height: 1,
color: Theme.of(context).extension<StackColors>()!.background,
)
: const SizedBox(height: 16),
if (showMajesticBank)
ExchangeOption(
exchange: MajesticBankExchange.instance,
fixedRate: widget.fixedRate,
reversed: widget.reversed,
),
if ((showChangeNow || showMajesticBank) && showTrocador)
if (showChangeNow && showTrocador)
isDesktop
? Container(
height: 1,
Expand All @@ -138,8 +119,7 @@ class _ExchangeProviderOptionsState
reversed: widget.reversed,
exchange: TrocadorExchange.instance,
),
if ((showChangeNow || showMajesticBank || showTrocador) &&
showNanswap)
if ((showChangeNow || showTrocador) && showNanswap)
isDesktop
? Container(
height: 1,
Expand Down
151 changes: 59 additions & 92 deletions lib/pages/exchange_view/trade_details_view.dart
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ import '../../providers/providers.dart';
import '../../route_generator.dart';
import '../../services/exchange/change_now/change_now_exchange.dart';
import '../../services/exchange/exchange.dart';
import '../../services/exchange/majestic_bank/majestic_bank_exchange.dart';
import '../../services/exchange/nanswap/nanswap_exchange.dart';
import '../../services/exchange/simpleswap/simpleswap_exchange.dart';
import '../../services/exchange/trocador/trocador_exchange.dart';
Expand Down Expand Up @@ -101,7 +100,7 @@ class _TradeDetailsViewState extends ConsumerState<TradeDetailsView> {
.trades
.firstWhere((e) => e.tradeId == tradeId);

if (mounted) {
if (mounted && trade.exchangeName != "Majestic Bank") {
final exchange = Exchange.fromName(trade.exchangeName);
final response = await exchange.updateTrade(trade);

Expand Down Expand Up @@ -435,36 +434,6 @@ class _TradeDetailsViewState extends ConsumerState<TradeDetailsView> {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text("Status", style: STextStyles.itemSubtitle(context)),
if (trade.exchangeName ==
MajesticBankExchange.exchangeName &&
trade.status == "Completed")
Row(
mainAxisSize: MainAxisSize.min,
children: [
GestureDetector(
onTap: () {
showDialog<void>(
context: context,
builder:
(context) => const StackOkDialog(
title: "Trade Info",
message:
"Majestic Bank does not store order data indefinitely",
),
);
},
child: SvgPicture.asset(
Assets.svg.circleInfo,
height: 20,
width: 20,
color:
Theme.of(
context,
).extension<StackColors>()!.infoItemIcons,
),
),
],
),
],
),
const SizedBox(height: 4),
Expand Down Expand Up @@ -1202,68 +1171,66 @@ class _TradeDetailsViewState extends ConsumerState<TradeDetailsView> {
],
),
),
isDesktop ? const _Divider() : const SizedBox(height: 12),
RoundedWhiteContainer(
padding:
isDesktop
? const EdgeInsets.all(16)
: const EdgeInsets.all(12),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text("Tracking", style: STextStyles.itemSubtitle(context)),
const SizedBox(height: 4),
Builder(
builder: (context) {
late final String url;
switch (trade.exchangeName) {
case ChangeNowExchange.exchangeName:
url =
"https://changenow.io/exchange/txs/${trade.tradeId}";
break;
case SimpleSwapExchange.exchangeName:
url =
"https://simpleswap.io/exchange?id=${trade.tradeId}";
break;
case MajesticBankExchange.exchangeName:
url =
"https://majesticbank.sc/track?trx=${trade.tradeId}";
break;
case NanswapExchange.exchangeName:
url =
"https://nanswap.com/transaction/${trade.tradeId}";
break;

default:
if (trade.exchangeName.startsWith(
TrocadorExchange.exchangeName,
)) {
if (trade.exchangeName != "Majestic Bank")
isDesktop ? const _Divider() : const SizedBox(height: 12),
if (trade.exchangeName != "Majestic Bank")
RoundedWhiteContainer(
padding:
isDesktop
? const EdgeInsets.all(16)
: const EdgeInsets.all(12),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text("Tracking", style: STextStyles.itemSubtitle(context)),
const SizedBox(height: 4),
Builder(
builder: (context) {
late final String url;
switch (trade.exchangeName) {
case ChangeNowExchange.exchangeName:
url =
"https://trocador.app/en/checkout/${trade.tradeId}";
}
}
return ConditionalParent(
condition: isDesktop,
builder:
(child) => MouseRegion(
cursor: SystemMouseCursors.click,
child: child,
),
child: GestureDetector(
onTap: () {
launchUrl(
Uri.parse(url),
mode: LaunchMode.externalApplication,
);
},
child: Text(url, style: STextStyles.link2(context)),
),
);
},
),
],
"https://changenow.io/exchange/txs/${trade.tradeId}";
break;
case SimpleSwapExchange.exchangeName:
url =
"https://simpleswap.io/exchange?id=${trade.tradeId}";
break;
case NanswapExchange.exchangeName:
url =
"https://nanswap.com/transaction/${trade.tradeId}";
break;

default:
if (trade.exchangeName.startsWith(
TrocadorExchange.exchangeName,
)) {
url =
"https://trocador.app/en/checkout/${trade.tradeId}";
}
}
return ConditionalParent(
condition: isDesktop,
builder:
(child) => MouseRegion(
cursor: SystemMouseCursors.click,
child: child,
),
child: GestureDetector(
onTap: () {
launchUrl(
Uri.parse(url),
mode: LaunchMode.externalApplication,
);
},
child: Text(url, style: STextStyles.link2(context)),
),
);
},
),
],
),
),
),
if (!isDesktop) const SizedBox(height: 12),
if (!isDesktop && showSendFromStackButton)
SecondaryButton(
Expand Down
1 change: 1 addition & 0 deletions lib/pages/send_view/send_view.dart
Original file line number Diff line number Diff line change
Expand Up @@ -814,6 +814,7 @@ class _SendViewState extends ConsumerState<SendView> {
break;
}
} else if (wallet is MwebInterface &&
ref.read(pWalletInfo(walletId)).isMwebEnabled &&
ref.read(publicPrivateBalanceStateProvider) == BalanceType.private) {
txDataFuture = wallet.prepareSendMweb(
txData: TxData(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -409,6 +409,7 @@ class _DesktopSendState extends ConsumerState<DesktopSend> {
break;
}
} else if (wallet is MwebInterface &&
ref.read(pWalletInfo(walletId)).isMwebEnabled &&
ref.read(publicPrivateBalanceStateProvider) == BalanceType.private) {
txDataFuture = wallet.prepareSendMweb(
txData: TxData(
Expand Down
6 changes: 3 additions & 3 deletions lib/services/exchange/exchange.dart
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ abstract class Exchange {
return ChangeNowExchange.instance;
case SimpleSwapExchange.exchangeName:
return SimpleSwapExchange.instance;
case MajesticBankExchange.exchangeName:
return MajesticBankExchange.instance;
// case MajesticBankExchange.exchangeName:
// return MajesticBankExchange.instance;
case TrocadorExchange.exchangeName:
return TrocadorExchange.instance;
case NanswapExchange.exchangeName:
Expand Down Expand Up @@ -106,7 +106,7 @@ abstract class Exchange {
///
/// Add to this list when adding a new exchange which supports Tor.
static List<Exchange> get exchangesWithTorSupport => [
MajesticBankExchange.instance,
// MajesticBankExchange.instance,
TrocadorExchange.instance,
NanswapExchange.instance, // Maybe??
];
Expand Down
47 changes: 23 additions & 24 deletions lib/services/exchange/exchange_data_loading_service.dart
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ import '../../utilities/logger.dart';
import '../../utilities/prefs.dart';
import '../../utilities/stack_file_system.dart';
import 'change_now/change_now_exchange.dart';
import 'majestic_bank/majestic_bank_exchange.dart';
import 'nanswap/nanswap_exchange.dart';
import 'trocador/trocador_exchange.dart';

Expand Down Expand Up @@ -194,7 +193,7 @@ class ExchangeDataLoadingService {

// Exchanges which support Tor just get treated normally.
final futures = [
loadMajesticBankCurrencies(),
// loadMajesticBankCurrencies(),
loadTrocadorCurrencies(),
loadNanswapCurrencies(),
];
Expand Down Expand Up @@ -359,28 +358,28 @@ class ExchangeDataLoadingService {
// }
// }

Future<void> loadMajesticBankCurrencies() async {
if (_isar == null) {
await initDB();
}
final exchange = MajesticBankExchange.instance;
final responseCurrencies = await exchange.getAllCurrencies(false);

if (responseCurrencies.value != null) {
await isar.writeTxn(() async {
final idsToDelete =
await isar.currencies
.where()
.exchangeNameEqualTo(MajesticBankExchange.exchangeName)
.idProperty()
.findAll();
await isar.currencies.deleteAll(idsToDelete);
await isar.currencies.putAll(responseCurrencies.value!);
});
} else {
Logging.instance.w("loadMajesticBankCurrencies: $responseCurrencies");
}
}
// Future<void> loadMajesticBankCurrencies() async {
// if (_isar == null) {
// await initDB();
// }
// final exchange = MajesticBankExchange.instance;
// final responseCurrencies = await exchange.getAllCurrencies(false);
//
// if (responseCurrencies.value != null) {
// await isar.writeTxn(() async {
// final idsToDelete =
// await isar.currencies
// .where()
// .exchangeNameEqualTo(MajesticBankExchange.exchangeName)
// .idProperty()
// .findAll();
// await isar.currencies.deleteAll(idsToDelete);
// await isar.currencies.putAll(responseCurrencies.value!);
// });
// } else {
// Logging.instance.w("loadMajesticBankCurrencies: $responseCurrencies");
// }
// }

Future<void> loadTrocadorCurrencies() async {
if (_isar == null) {
Expand Down
Loading
Loading