CWA-169 | removed setup_locator and got the box as parameter in MorphTokenExchangeProvider

Oleksandr Sobol committed Feb 10, 2020 at 21:35 UTC fdeb66e6433ab772d8bd07f1c7ff3fa7dc0736ff
7 files changed +10 -25
lib/main.dart
-3
@@ -35,7 +35,6 @@ import 'package:cake_wallet/src/domain/common/wallet_type.dart';
35 import 'package:cake_wallet/src/domain/services/wallet_service.dart';
36 import 'package:cake_wallet/generated/i18n.dart';
37 import 'package:cake_wallet/src/domain/common/language.dart';
38 -import 'package:cake_wallet/src/domain/common/setup_locator.dart';
38
39 void main() async {
40 WidgetsFlutterBinding.ensureInitialized();
@@ -66,8 +65,6 @@ void main() async {
65 await Hive.openBox<Trade>(Trade.boxName, encryptionKey: tradesBoxKey);
66 final walletInfoSource = await Hive.openBox<WalletInfo>(WalletInfo.boxName);
67
69 - setupLocator(trades);
70 -
68 final sharedPreferences = await SharedPreferences.getInstance();
69 final walletService = WalletService();
70 final walletListService = WalletListService(
lib/router.dart
+3 -2
@@ -395,7 +395,8 @@ class Router {
395 ProxyProvider<SettingsStore, ExchangeTradeStore>(
396 update: (_, settingsStore, __) => ExchangeTradeStore(
397 trade: settings.arguments as Trade,
398 - walletStore: walletStore),
398 + walletStore: walletStore,
399 + trades: trades),
400 ),
401 ProxyProvider<SettingsStore, SendStore>(
402 update: (_, settingsStore, __) => SendStore(
@@ -455,7 +456,7 @@ class Router {
456 providerList: [
457 xmrtoprovider,
458 ChangeNowExchangeProvider(),
458 - MorphTokenExchangeProvider()
459 + MorphTokenExchangeProvider(trades: trades)
460 ],
461 walletStore: walletStore);
462 }),
lib/src/domain/common/setup_locator.dart deleted
-7
@@ -1,7 +0,0 @@
1 -import 'package:get_it/get_it.dart';
2 -
3 -GetIt locator = GetIt.instance;
4 -
5 -void setupLocator<T>(T instance) {
6 - locator.registerSingleton<T>(instance);
7 -}
\ No newline at end of file
lib/src/domain/exchange/morphtoken/morphtoken_exchange_provider.dart
+2 -3
@@ -19,10 +19,9 @@ import 'package:cake_wallet/src/domain/bitcoin_cash/bitcoin_cash_amount_format.d
19 import 'package:cake_wallet/src/domain/dash/dash_amount_format.dart';
20 import 'package:cake_wallet/src/domain/ethereum/ethereum_amount_format.dart';
21 import 'package:cake_wallet/src/domain/litecoin/litecoin_amount_format.dart';
22 -import 'package:cake_wallet/src/domain/common/setup_locator.dart';
22
23 class MorphTokenExchangeProvider extends ExchangeProvider {
25 - MorphTokenExchangeProvider()
24 + MorphTokenExchangeProvider({@required this.trades})
25 : super(
26 pairList: [
27 ExchangePair(from: CryptoCurrency.xmr, to: CryptoCurrency.eth),
@@ -61,7 +60,7 @@ class MorphTokenExchangeProvider extends ExchangeProvider {
60 ExchangePair(from: CryptoCurrency.btc, to: CryptoCurrency.xmr)
61 ]);
62
64 - final trades = locator.get<Box<Trade>>();
63 + Box<Trade> trades;
64
65 static const apiUri = 'https://api.morphtoken.com';
66 static const _morphURISuffix = '/morph';
lib/src/stores/exchange_trade/exchange_trade_store.dart
+5 -2
@@ -8,6 +8,7 @@ import 'package:cake_wallet/src/domain/exchange/exchange_provider_description.da
8 import 'package:cake_wallet/src/domain/exchange/xmrto/xmrto_exchange_provider.dart';
9 import 'package:cake_wallet/src/domain/exchange/morphtoken/morphtoken_exchange_provider.dart';
10 import 'package:cake_wallet/src/stores/wallet/wallet_store.dart';
11 +import 'package:hive/hive.dart';
12
13 part 'exchange_trade_store.g.dart';
14
@@ -15,7 +16,7 @@ class ExchangeTradeStore = ExchangeTradeStoreBase with _$ExchangeTradeStore;
16
17 abstract class ExchangeTradeStoreBase with Store {
18 ExchangeTradeStoreBase(
18 - {@required this.trade, @required WalletStore walletStore}) {
19 + {@required this.trade, @required WalletStore walletStore, @required this.trades}) {
20 isSendable = trade.from == walletStore.type ||
21 trade.provider == ExchangeProviderDescription.xmrto;
22
@@ -27,7 +28,7 @@ abstract class ExchangeTradeStoreBase with Store {
28 _provider = ChangeNowExchangeProvider();
29 break;
30 case ExchangeProviderDescription.morphToken:
30 - _provider = MorphTokenExchangeProvider();
31 + _provider = MorphTokenExchangeProvider(trades: trades);
32 break;
33 }
34
@@ -45,6 +46,8 @@ abstract class ExchangeTradeStoreBase with Store {
46
47 Timer _timer;
48
49 + Box<Trade> trades;
50 +
51 @override
52 void dispose() {
53 super.dispose();
pubspec.lock
-7
@@ -301,13 +301,6 @@ packages:
301 url: "https://pub.dartlang.org"
302 source: hosted
303 version: "0.1.19"
304 - get_it:
305 - dependency: "direct main"
306 - description:
307 - name: get_it
308 - url: "https://pub.dartlang.org"
309 - source: hosted
310 - version: "3.1.0"
304 glob:
305 dependency: transitive
306 description:
pubspec.yaml
-1
@@ -46,7 +46,6 @@ dependencies:
46 hive: ^1.2.0
47 hive_flutter: ^0.2.1
48 package_info: ^0.4.0+13
49 - get_it: ^3.1.0
49
50 # The following adds the Cupertino Icons font to your application.
51 # Use with the CupertinoIcons class for iOS style icons.