Skip to content

Commit 884e78d

Browse files
authored
Merge branch 'staging' into open_crypto_pay
2 parents 8d2d97a + 7d9cba1 commit 884e78d

31 files changed

Lines changed: 539 additions & 388 deletions

‎.github/workflows/test.yaml‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,12 @@ jobs:
6060
const kShopInBitPartnerSecret = "";
6161
const kCakePayApiToken = "";
6262
const kExolixApiKey = "";
63+
const kLetsExchangeId = "";
64+
const kLetsExchangeToken = "";
65+
const kCypherGoatApiKey = "";
66+
const kCypherGoatAffiliate = "";
67+
const kTrocadorApiKey = "";
68+
const kTrocadorRefCode = "";
6369
EOF
6470
fi
6571

‎.gitignore‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,6 @@ pubspec.yaml
106106

107107
scripts/linux/build/libsecret/subprojects/gi-docgen/.meson-subproject-wrap-hash.txt
108108

109-
crypto_plugins/cs_monero/built_outputs
110-
crypto_plugins/cs_monero/build
111-
crypto_plugins/*.diff
112109
/devtools_options.yaml
113110

114111
# generated interfaces

‎.gitmodules‎

Whitespace-only changes.
Lines changed: 1 addition & 0 deletions
Loading
Lines changed: 1 addition & 0 deletions
Loading
Lines changed: 1 addition & 0 deletions
Loading

‎lib/app_config.dart‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
// ignore: unused_import
22
import 'dart:io';
33

4+
import 'models/isar/models/ethereum/eth_contract.dart';
5+
import 'utilities/default_eth_tokens.dart';
46
import 'wallets/crypto_currency/crypto_currency.dart';
57
import 'wallets/crypto_currency/intermediate/frost_currency.dart';
68

@@ -28,6 +30,8 @@ abstract class AppConfig {
2830

2931
static List<CryptoCurrency> get coins => _supportedCoins;
3032

33+
static List<EthContract> get defaultEthTokens => _defaultEthTokens;
34+
3135
static ({String from, String fromFuzzyNet, String to, String toFuzzyNet})
3236
get swapDefaults => _swapDefaults;
3337

‎lib/db/db_version_migration.dart‎

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import '../services/mixins/wallet_db.dart';
2424
import '../services/wallets_service.dart';
2525
import '../utilities/amount/amount.dart';
2626
import '../utilities/constants.dart';
27+
import '../utilities/default_eth_tokens.dart';
2728
import '../utilities/flutter_secure_storage_interface.dart';
2829
import '../utilities/logger.dart';
2930
import '../utilities/prefs.dart';
@@ -379,9 +380,8 @@ class DbVersionMigrator with WalletDB {
379380
final mwcMigrationWalletsService = WalletsService();
380381
final mwcMigrationWalletNames =
381382
await mwcMigrationWalletsService.walletNames;
382-
final mwcIdentifier = Mimblewimblecoin(
383-
CryptoCurrencyNetwork.main,
384-
).identifier;
383+
final mwcIdentifier = Mimblewimblecoin(CryptoCurrencyNetwork.main)
384+
.identifier;
385385
for (final walletId in mwcMigrationWalletNames.keys) {
386386
if (mwcMigrationWalletNames[walletId]!.coinIdentifier ==
387387
mwcIdentifier) {
@@ -399,6 +399,30 @@ class DbVersionMigrator with WalletDB {
399399
// try to continue migrating
400400
return await migrate(16, secureStore: secureStore);
401401

402+
case 16:
403+
if (AppConfig.defaultEthTokens.contains(DefaultTokens.rsFiro)) {
404+
final db = MainDB.instance;
405+
await db.initMainDB();
406+
if (await db.getEthContracts().isNotEmpty() &&
407+
await db
408+
.getEthContracts()
409+
.filter()
410+
.addressEqualTo(
411+
DefaultTokens.rsFiro.address,
412+
caseSensitive: false,
413+
)
414+
.isEmpty()) {
415+
await db.putEthContract(DefaultTokens.rsFiro);
416+
}
417+
}
418+
419+
await DB.instance.put<dynamic>(
420+
boxName: DB.boxNameDBInfo,
421+
key: "hive_data_version",
422+
value: 17,
423+
);
424+
return await migrate(17, secureStore: secureStore);
425+
402426
default:
403427
// finally return
404428
return;

‎lib/pages/add_wallet_views/add_token_view/edit_wallet_tokens_view.dart‎

Lines changed: 28 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
1515
import 'package:flutter_svg/svg.dart';
1616
import 'package:isar_community/isar.dart';
1717

18+
import '../../../app_config.dart';
1819
import '../../../db/isar/main_db.dart';
1920
import '../../../models/isar/models/ethereum/eth_contract.dart';
2021
import '../../../models/isar/models/solana/sol_contract.dart';
@@ -25,7 +26,6 @@ import '../../../providers/global/wallets_provider.dart';
2526
import '../../../themes/stack_colors.dart';
2627
import '../../../utilities/assets.dart';
2728
import '../../../utilities/constants.dart';
28-
import '../../../utilities/default_eth_tokens.dart';
2929
import '../../../utilities/default_sol_tokens.dart';
3030
import '../../../utilities/text_styles.dart';
3131
import '../../../utilities/util.dart';
@@ -100,11 +100,10 @@ class _EditWalletTokensViewState extends ConsumerState<EditWalletTokensView> {
100100
}
101101

102102
Future<void> onNextPressed() async {
103-
final selectedTokens =
104-
tokenEntities
105-
.where((e) => e.selected)
106-
.map((e) => e.token.address)
107-
.toList();
103+
final selectedTokens = tokenEntities
104+
.where((e) => e.selected)
105+
.map((e) => e.token.address)
106+
.toList();
108107

109108
final wallet = ref.read(pWallets).getWallet(widget.walletId);
110109

@@ -119,13 +118,11 @@ class _EditWalletTokensViewState extends ConsumerState<EditWalletTokensView> {
119118
Navigator.of(context).pop(42);
120119
} else {
121120
if (isDesktop) {
122-
Navigator.of(
123-
context,
124-
).popUntil(ModalRoute.withName(DesktopHomeView.routeName));
121+
Navigator.of(context)
122+
.popUntil(ModalRoute.withName(DesktopHomeView.routeName));
125123
} else {
126-
await Navigator.of(
127-
context,
128-
).pushNamedAndRemoveUntil(HomeView.routeName, (route) => false);
124+
await Navigator.of(context)
125+
.pushNamedAndRemoveUntil(HomeView.routeName, (route) => false);
129126
}
130127
if (mounted) {
131128
unawaited(
@@ -160,9 +157,8 @@ class _EditWalletTokensViewState extends ConsumerState<EditWalletTokensView> {
160157
),
161158
);
162159
} else {
163-
final result = await Navigator.of(
164-
context,
165-
).pushNamed(AddCustomTokenView.routeName);
160+
final result = await Navigator.of(context)
161+
.pushNamed(AddCustomTokenView.routeName);
166162
contract = result as EthContract?;
167163
}
168164

@@ -177,7 +173,9 @@ class _EditWalletTokensViewState extends ConsumerState<EditWalletTokensView> {
177173
tokenEntities.add(
178174
AddTokenListElementData(contract!)..selected = true,
179175
);
180-
tokenEntities.sort((a, b) => a.token.name.compareTo(b.token.name));
176+
tokenEntities.sort(
177+
(a, b) => a.token.name.compareTo(b.token.name),
178+
);
181179
}
182180
});
183181
}
@@ -199,9 +197,7 @@ class _EditWalletTokensViewState extends ConsumerState<EditWalletTokensView> {
199197
),
200198
);
201199
} else {
202-
final result = await Navigator.of(
203-
context,
204-
).pushNamed(
200+
final result = await Navigator.of(context).pushNamed(
205201
AddCustomSolanaTokenView.routeName,
206202
arguments: widget.walletId,
207203
);
@@ -228,9 +224,7 @@ class _EditWalletTokensViewState extends ConsumerState<EditWalletTokensView> {
228224
if (tokenEntities
229225
.where((e) => e.token.address == token!.address)
230226
.isEmpty) {
231-
tokenEntities.add(
232-
AddTokenListElementData(token!)..selected = true,
233-
);
227+
tokenEntities.add(AddTokenListElementData(token!)..selected = true);
234228
tokenEntities.sort((a, b) => a.token.name.compareTo(b.token.name));
235229
}
236230
});
@@ -268,7 +262,7 @@ class _EditWalletTokensViewState extends ConsumerState<EditWalletTokensView> {
268262
.findAllSync();
269263

270264
if (contracts.isEmpty) {
271-
contracts.addAll(DefaultTokens.list);
265+
contracts.addAll(AppConfig.defaultEthTokens);
272266
MainDB.instance
273267
.putEthContracts(contracts)
274268
.then(
@@ -448,9 +442,8 @@ class _EditWalletTokensViewState extends ConsumerState<EditWalletTokensView> {
448442
_searchTerm = value;
449443
});
450444
},
451-
style: STextStyles.desktopTextMedium(
452-
context,
453-
).copyWith(height: 2),
445+
style: STextStyles.desktopTextMedium(context)
446+
.copyWith(height: 2),
454447
decoration:
455448
standardInputDecoration(
456449
"Search",
@@ -516,9 +509,9 @@ class _EditWalletTokensViewState extends ConsumerState<EditWalletTokensView> {
516509
} else {
517510
return Background(
518511
child: Scaffold(
519-
backgroundColor: Theme.of(
520-
context,
521-
).extension<StackColors>()!.background,
512+
backgroundColor: Theme.of(context)
513+
.extension<StackColors>()!
514+
.background,
522515
appBar: AppBar(
523516
leading: AppBarBackButton(
524517
onPressed: () {
@@ -533,14 +526,14 @@ class _EditWalletTokensViewState extends ConsumerState<EditWalletTokensView> {
533526
child: AppBarIconButton(
534527
size: 36,
535528
shadows: const [],
536-
color: Theme.of(
537-
context,
538-
).extension<StackColors>()!.background,
529+
color: Theme.of(context)
530+
.extension<StackColors>()!
531+
.background,
539532
icon: SvgPicture.asset(
540533
Assets.svg.circlePlusFilled,
541-
color: Theme.of(
542-
context,
543-
).extension<StackColors>()!.topNavIconPrimary,
534+
color: Theme.of(context)
535+
.extension<StackColors>()!
536+
.topNavIconPrimary,
544537
width: 20,
545538
height: 20,
546539
),

0 commit comments

Comments
 (0)