TMP
M committed
May 26, 2020 at 18:27 UTC
b605a98811d028aa1dd72ee51798ca0ba9200d52
27 files changed
+596
-256
cw_monero/lib/subaddress_list.dart
+2
-2
@@ -70,11 +70,11 @@ void _setLabelForSubaddress(Map<String, dynamic> args) {
70
}
71
72
Future addSubaddress({int accountIndex, String label}) async =>
73
- compute(_addSubaddress, {'accountIndex': accountIndex, 'label': label});
73
+ compute<Map<String, Object>, void>(_addSubaddress, {'accountIndex': accountIndex, 'label': label});
74
75
Future setLabelForSubaddress(
76
{int accountIndex, int addressIndex, String label}) =>
77
- compute(_setLabelForSubaddress, {
77
+ compute<Map<String, Object>, void>(_setLabelForSubaddress, {
78
'accountIndex': accountIndex,
79
'addressIndex': addressIndex,
80
'label': label
cw_monero/lib/wallet.dart
+2
-2
@@ -277,7 +277,7 @@ Future setupNode(
277
String password,
278
bool useSSL = false,
279
bool isLightWallet = false}) =>
280
- compute(_setupNodeSync, {
280
+ compute<Map<String, Object>, void>(_setupNodeSync, {
281
'address': address,
282
'login': login,
283
'password': password,
@@ -285,7 +285,7 @@ Future setupNode(
285
'isLightWallet': isLightWallet
286
});
287
288
-Future store() => compute(_storeSync, 0);
288
+Future store() => compute<int, void>(_storeSync, 0);
289
290
Future<bool> isConnected() => compute(_isConnected, 0);
291
cw_monero/lib/wallet_manager.dart
+3
-6
@@ -32,10 +32,7 @@ final loadWalletNative = moneroApi
32
.asFunction<LoadWallet>();
33
34
void createWalletSync(
35
- {String path,
36
- String password,
37
- String language,
38
- int nettype = 0}) {
35
+ {String path, String password, String language, int nettype = 0}) {
36
final pathPointer = Utf8.toUtf8(path);
37
final passwordPointer = Utf8.toUtf8(password);
38
final languagePointer = Utf8.toUtf8(language);
@@ -208,7 +205,7 @@ Future restoreFromSeed(
205
String seed,
206
int nettype = 0,
207
int restoreHeight = 0}) async =>
211
- compute(_restoreFromSeed, {
208
+ compute<Map<String, Object>, void>(_restoreFromSeed, {
209
'path': path,
210
'password': password,
211
'seed': seed,
@@ -225,7 +222,7 @@ Future restoreFromKeys(
222
String spendKey,
223
int nettype = 0,
224
int restoreHeight = 0}) async =>
228
- compute(_restoreFromKeys, {
225
+ compute<Map<String, Object>, void>(_restoreFromKeys, {
226
'path': path,
227
'password': password,
228
'language': language,
ios/Podfile.lock
+42
-8
@@ -2,6 +2,7 @@ PODS:
2
- barcode_scan (0.0.1):
3
- Flutter
4
- MTBBarcodeScanner
5
+ - SwiftProtobuf
6
- cw_monero (0.0.2):
7
- cw_monero/Boost (= 0.0.2)
8
- cw_monero/lmdb (= 0.0.2)
@@ -24,6 +25,8 @@ PODS:
25
- esys_flutter_share (0.0.1):
26
- Flutter
27
- Flutter (1.0.0)
28
+ - flutter_plugin_android_lifecycle (0.0.1):
29
+ - Flutter
30
- flutter_secure_storage (3.3.1):
31
- Flutter
32
- local_auth (0.0.1):
@@ -33,12 +36,21 @@ PODS:
36
- Flutter
37
- path_provider (0.0.1):
38
- Flutter
36
- - share (0.5.2):
39
+ - path_provider_macos (0.0.1):
40
+ - Flutter
41
+ - share (0.0.1):
42
- Flutter
43
- shared_preferences (0.0.1):
44
- Flutter
45
+ - shared_preferences_macos (0.0.1):
46
+ - Flutter
47
+ - shared_preferences_web (0.0.1):
48
+ - Flutter
49
+ - SwiftProtobuf (1.8.0)
50
- url_launcher (0.0.1):
51
- Flutter
52
+ - url_launcher_macos (0.0.1):
53
+ - Flutter
54
- url_launcher_web (0.0.1):
55
- Flutter
56
@@ -48,18 +60,24 @@ DEPENDENCIES:
60
- devicelocale (from `.symlinks/plugins/devicelocale/ios`)
61
- esys_flutter_share (from `.symlinks/plugins/esys_flutter_share/ios`)
62
- Flutter (from `.symlinks/flutter/ios`)
63
+ - flutter_plugin_android_lifecycle (from `.symlinks/plugins/flutter_plugin_android_lifecycle/ios`)
64
- flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`)
65
- local_auth (from `.symlinks/plugins/local_auth/ios`)
66
- package_info (from `.symlinks/plugins/package_info/ios`)
67
- path_provider (from `.symlinks/plugins/path_provider/ios`)
68
+ - path_provider_macos (from `.symlinks/plugins/path_provider_macos/ios`)
69
- share (from `.symlinks/plugins/share/ios`)
70
- shared_preferences (from `.symlinks/plugins/shared_preferences/ios`)
71
+ - shared_preferences_macos (from `.symlinks/plugins/shared_preferences_macos/ios`)
72
+ - shared_preferences_web (from `.symlinks/plugins/shared_preferences_web/ios`)
73
- url_launcher (from `.symlinks/plugins/url_launcher/ios`)
74
+ - url_launcher_macos (from `.symlinks/plugins/url_launcher_macos/ios`)
75
- url_launcher_web (from `.symlinks/plugins/url_launcher_web/ios`)
76
77
SPEC REPOS:
78
trunk:
79
- MTBBarcodeScanner
80
+ - SwiftProtobuf
81
82
EXTERNAL SOURCES:
83
barcode_scan:
@@ -72,6 +90,8 @@ EXTERNAL SOURCES:
90
:path: ".symlinks/plugins/esys_flutter_share/ios"
91
Flutter:
92
:path: ".symlinks/flutter/ios"
93
+ flutter_plugin_android_lifecycle:
94
+ :path: ".symlinks/plugins/flutter_plugin_android_lifecycle/ios"
95
flutter_secure_storage:
96
:path: ".symlinks/plugins/flutter_secure_storage/ios"
97
local_auth:
@@ -80,29 +100,43 @@ EXTERNAL SOURCES:
100
:path: ".symlinks/plugins/package_info/ios"
101
path_provider:
102
:path: ".symlinks/plugins/path_provider/ios"
103
+ path_provider_macos:
104
+ :path: ".symlinks/plugins/path_provider_macos/ios"
105
share:
106
:path: ".symlinks/plugins/share/ios"
107
shared_preferences:
108
:path: ".symlinks/plugins/shared_preferences/ios"
109
+ shared_preferences_macos:
110
+ :path: ".symlinks/plugins/shared_preferences_macos/ios"
111
+ shared_preferences_web:
112
+ :path: ".symlinks/plugins/shared_preferences_web/ios"
113
url_launcher:
114
:path: ".symlinks/plugins/url_launcher/ios"
115
+ url_launcher_macos:
116
+ :path: ".symlinks/plugins/url_launcher_macos/ios"
117
url_launcher_web:
118
:path: ".symlinks/plugins/url_launcher_web/ios"
119
120
SPEC CHECKSUMS:
93
- barcode_scan: 33f586d02270046fc6559135038b34b5754eaa4f
121
+ barcode_scan: a5c27959edfafaa0c771905bad0b29d6d39e4479
122
cw_monero: 2e1f79929880cc2293b5bc1b25e28152e4d84649
123
devicelocale: feebbe5e7a30adb8c4f83185de1b50ff19b44f00
124
esys_flutter_share: 403498dab005b36ce1f8d7aff377e81f0621b0b4
125
Flutter: 0e3d915762c693b495b44d77113d4970485de6ec
126
+ flutter_plugin_android_lifecycle: dc0b544e129eebb77a6bfb1239d4d1c673a60a35
127
flutter_secure_storage: 7953c38a04c3fdbb00571bcd87d8e3b5ceb9daec
99
- local_auth: 2571c49920ae469f46d5557435fad8fa473a5e88
128
+ local_auth: 25938960984c3a7f6e3253e3f8d962fdd16852bd
129
MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb
101
- package_info: 48b108e75b8802c2d5e126f208ef540561c98aef
102
- path_provider: fb74bd0465e96b594bb3b5088ee4a4e7bb1f2a9d
103
- share: bae0a282aab4483288913fc4dc0b935d4b491f2e
104
- shared_preferences: 430726339841afefe5142b9c1f50cb6bd7793e01
105
- url_launcher: a1c0cc845906122c4784c542523d8cacbded5626
130
+ package_info: 873975fc26034f0b863a300ad47e7f1ac6c7ec62
131
+ path_provider: abfe2b5c733d04e238b0d8691db0cfd63a27a93c
132
+ path_provider_macos: f760a3c5b04357c380e2fddb6f9db6f3015897e0
133
+ share: 0b2c3e82132f5888bccca3351c504d0003b3b410
134
+ shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d
135
+ shared_preferences_macos: f3f29b71ccbb56bf40c9dd6396c9acf15e214087
136
+ shared_preferences_web: 141cce0c3ed1a1c5bf2a0e44f52d31eeb66e5ea9
137
+ SwiftProtobuf: 2cbd9409689b7df170d82a92a33443c8e3e14a70
138
+ url_launcher: 6fef411d543ceb26efce54b05a0a40bfd74cbbef
139
+ url_launcher_macos: fd7894421cd39320dce5f292fc99ea9270b2a313
140
url_launcher_web: e5527357f037c87560776e36436bf2b0288b965c
141
142
PODFILE CHECKSUM: f1916a43bb28badbd408be80e8e4b8652a74e93e
ios/Runner.xcodeproj/project.pbxproj
+1
-13
@@ -11,10 +11,6 @@
11
0C0DB1F8237DB1AE00BD32F9 /* A.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C0DB1F7237DB1AE00BD32F9 /* A.swift */; };
12
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
13
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
14
- 3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; };
15
- 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
16
- 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; };
17
- 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
14
9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB21CF90195004384FC /* Debug.xcconfig */; };
15
978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; };
16
97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; };
@@ -30,8 +26,6 @@
26
dstPath = "";
27
dstSubfolderSpec = 10;
28
files = (
33
- 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */,
34
- 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */,
29
);
30
name = "Embed Frameworks";
31
runOnlyForDeploymentPostprocessing = 0;
@@ -45,14 +39,12 @@
39
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
40
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
41
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
48
- 3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = "<group>"; };
42
4B157CEA62824A43D7DD4C38 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
43
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
44
7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
45
7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
46
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
47
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
55
- 9740EEBA1CF902C7004384FC /* Flutter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Flutter.framework; path = Flutter/Flutter.framework; sourceTree = "<group>"; };
48
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
49
97C146F21CF9000F007C117D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
50
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
@@ -68,8 +60,6 @@
60
isa = PBXFrameworksBuildPhase;
61
buildActionMask = 2147483647;
62
files = (
71
- 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */,
72
- 3B80C3941E831B6300D905FE /* App.framework in Frameworks */,
63
02AA3DBD66A19A0A1732294D /* Pods_Runner.framework in Frameworks */,
64
);
65
runOnlyForDeploymentPostprocessing = 0;
@@ -80,9 +70,7 @@
70
9740EEB11CF90186004384FC /* Flutter */ = {
71
isa = PBXGroup;
72
children = (
83
- 3B80C3931E831B6300D905FE /* App.framework */,
73
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
85
- 9740EEBA1CF902C7004384FC /* Flutter.framework */,
74
9740EEB21CF90195004384FC /* Debug.xcconfig */,
75
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
76
9740EEB31CF90195004384FC /* Generated.xcconfig */,
@@ -240,7 +228,7 @@
228
);
229
runOnlyForDeploymentPostprocessing = 0;
230
shellPath = /bin/sh;
243
- shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin";
231
+ shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
232
};
233
95C66705E4338EEA09DF7047 /* [CP] Check Pods Manifest.lock */ = {
234
isa = PBXShellScriptBuildPhase;
lib/bitcoin/bitcoin_wallet.dart
+14
-16
@@ -108,18 +108,6 @@ class BitcoinWallet extends Wallet {
108
wallet: wallet);
109
wallet.history = history;
110
await history.init();
111
-
112
- // await wallet.connectToNode(
113
- // node: Node(uri: 'https://electrum2.hodlister.co:50002'));
114
-
115
- // final transactions = await history.fetchTransactions();
116
-
117
- // final balance = await wallet.fetchBalance();
118
-
119
- // print('balance\n$balance');
120
-
121
- // transactions.forEach((tx) => print(tx.id));
122
-
111
await wallet.updateInfo();
112
113
return wallet;
@@ -160,10 +148,20 @@ class BitcoinWallet extends Wallet {
148
149
@override
150
Future<PendingTransaction> createTransaction(
163
- TransactionCreationCredentials credentials) {
164
- final txb = TransactionBuilder(network: bitcoin.bitcoin);
165
-
166
- // TODO: implement createTransaction
151
+ TransactionCreationCredentials credentials) async {
152
+ final txb = bitcoin.TransactionBuilder(network: bitcoin.bitcoin);
153
+ final transactions = history.transactionsAll;
154
+ history.transactionsAll.sort((q, w) => q.height.compareTo(w.height));
155
+ final prevTx = transactions.first;
156
+
157
+ txb.setVersion(1);
158
+ txb.addInput(prevTx, 0);
159
+ txb.addOutput('address', 112);
160
+ txb.sign(vin: null, keyPair: null);
161
+
162
+ final hex = txb.build().toHex();
163
+
164
+ // broadcast transaction to electrum
165
return null;
166
}
167
lib/core/wallet_list_service.dart
new
+297
@@ -0,0 +1,297 @@
1
+import 'package:cake_wallet/src/domain/common/wallet_type.dart';
2
+import 'package:flutter/foundation.dart';
3
+
4
+/*
5
+*
6
+* WalletCredentials
7
+*
8
+* */
9
+
10
+abstract class WalletCredentials {
11
+ const WalletCredentials({this.name, this.password});
12
+
13
+ final String name;
14
+ final String password;
15
+}
16
+
17
+/*
18
+*
19
+* WalletListService
20
+*
21
+* */
22
+
23
+abstract class WalletListService<N extends WalletCredentials,
24
+ RFS extends WalletCredentials, RFK extends WalletCredentials> {
25
+ Future<void> create(N credentials);
26
+
27
+ Future<void> restoreFromSeed(RFS credentials);
28
+
29
+ Future<void> restoreFromKeys(RFK credentials);
30
+
31
+ Future<void> openWallet(String name, String password);
32
+
33
+ Future<bool> isWalletExit(String name);
34
+
35
+ Future<void> remove(String wallet);
36
+}
37
+
38
+/*
39
+*
40
+* BitcoinRestoreWalletFromSeedCredentials
41
+*
42
+* */
43
+
44
+class BitcoinNewWalletCredentials extends WalletCredentials {}
45
+
46
+/*
47
+*
48
+* BitcoinRestoreWalletFromSeedCredentials
49
+*
50
+* */
51
+
52
+class BitcoinRestoreWalletFromSeedCredentials extends WalletCredentials {
53
+ const BitcoinRestoreWalletFromSeedCredentials(
54
+ {String name, String password, this.mnemonic})
55
+ : super(name: name, password: password);
56
+
57
+ final String mnemonic;
58
+}
59
+
60
+/*
61
+*
62
+* BitcoinRestoreWalletFromWIFCredentials
63
+*
64
+* */
65
+
66
+class BitcoinRestoreWalletFromWIFCredentials extends WalletCredentials {
67
+ const BitcoinRestoreWalletFromWIFCredentials(
68
+ {String name, String password, this.wif})
69
+ : super(name: name, password: password);
70
+
71
+ final String wif;
72
+}
73
+
74
+/*
75
+*
76
+* BitcoinWalletListService
77
+*
78
+* */
79
+
80
+class BitcoinWalletListService extends WalletListService<
81
+ BitcoinNewWalletCredentials,
82
+ BitcoinRestoreWalletFromSeedCredentials,
83
+ BitcoinRestoreWalletFromWIFCredentials> {
84
+ @override
85
+ Future<void> create(BitcoinNewWalletCredentials credentials) async {
86
+ // TODO: implement create
87
+ throw UnimplementedError();
88
+ }
89
+
90
+ @override
91
+ Future<bool> isWalletExit(String name) async {
92
+ // TODO: implement isWalletExit
93
+ throw UnimplementedError();
94
+ }
95
+
96
+ @override
97
+ Future<void> openWallet(String name, String password) async {
98
+ // TODO: implement openWallet
99
+ throw UnimplementedError();
100
+ }
101
+
102
+ Future<void> remove(String wallet) {
103
+ // TODO: implement remove
104
+ throw UnimplementedError();
105
+ }
106
+
107
+ @override
108
+ Future<void> restoreFromKeys(
109
+ BitcoinRestoreWalletFromWIFCredentials credentials) async {
110
+ // TODO: implement restoreFromKeys
111
+ throw UnimplementedError();
112
+ }
113
+
114
+ @override
115
+ Future<void> restoreFromSeed(
116
+ BitcoinRestoreWalletFromSeedCredentials credentials) async {
117
+ // TODO: implement restoreFromSeed
118
+ throw UnimplementedError();
119
+ }
120
+}
121
+
122
+/*
123
+*
124
+* BitcoinWalletListService
125
+*
126
+* */
127
+
128
+class MoneroWalletListService extends WalletListService<
129
+ BitcoinNewWalletCredentials,
130
+ BitcoinRestoreWalletFromSeedCredentials,
131
+ BitcoinRestoreWalletFromWIFCredentials> {
132
+ @override
133
+ Future<void> create(BitcoinNewWalletCredentials credentials) async {
134
+ // TODO: implement create
135
+ throw UnimplementedError();
136
+ }
137
+
138
+ @override
139
+ Future<bool> isWalletExit(String name) async {
140
+ // TODO: implement isWalletExit
141
+ throw UnimplementedError();
142
+ }
143
+
144
+ @override
145
+ Future<void> openWallet(String name, String password) async {
146
+ // TODO: implement openWallet
147
+ throw UnimplementedError();
148
+ }
149
+
150
+ Future<void> remove(String wallet) {
151
+ // TODO: implement remove
152
+ throw UnimplementedError();
153
+ }
154
+
155
+ @override
156
+ Future<void> restoreFromKeys(
157
+ BitcoinRestoreWalletFromWIFCredentials credentials) async {
158
+ // TODO: implement restoreFromKeys
159
+ throw UnimplementedError();
160
+ }
161
+
162
+ @override
163
+ Future<void> restoreFromSeed(
164
+ BitcoinRestoreWalletFromSeedCredentials credentials) async {
165
+ // TODO: implement restoreFromSeed
166
+ throw UnimplementedError();
167
+ }
168
+}
169
+
170
+/*
171
+*
172
+* SignUpState
173
+*
174
+* */
175
+
176
+abstract class WalletCreationState {}
177
+
178
+class WalletCreating extends WalletCreationState {}
179
+
180
+class WalletCreatedSuccessfully extends WalletCreationState {}
181
+
182
+class WalletCreationFailure extends WalletCreationState {
183
+ WalletCreationFailure({@required this.error});
184
+
185
+ final String error;
186
+}
187
+
188
+/*
189
+*
190
+* WalletCreationService
191
+*
192
+* */
193
+
194
+class WalletCreationService {
195
+ WalletCreationState state;
196
+ WalletListService _service;
197
+
198
+ void changeWalletType({@required WalletType type}) {
199
+ switch (type) {
200
+ case WalletType.monero:
201
+ _service = MoneroWalletListService();
202
+ break;
203
+ case WalletType.bitcoin:
204
+ _service = BitcoinWalletListService();
205
+ break;
206
+ default:
207
+ break;
208
+ }
209
+ }
210
+
211
+ Future<void> create(WalletCredentials credentials) async {
212
+ try {
213
+ state = WalletCreating();
214
+ await _service.create(credentials);
215
+ state = WalletCreatedSuccessfully();
216
+ } catch (e) {
217
+ state = WalletCreationFailure(error: e.toString());
218
+ }
219
+ }
220
+
221
+ Future<void> restoreFromKeys(WalletCredentials credentials) async {
222
+ try {
223
+ state = WalletCreating();
224
+ await _service.create(credentials);
225
+ state = WalletCreatedSuccessfully();
226
+ } catch (e) {
227
+ state = WalletCreationFailure(error: e.toString());
228
+ }
229
+ }
230
+
231
+ Future<void> restoreFromSeed(WalletCredentials credentials) async {
232
+ try {
233
+ state = WalletCreating();
234
+ await _service.create(credentials);
235
+ state = WalletCreatedSuccessfully();
236
+ } catch (e) {
237
+ state = WalletCreationFailure(error: e.toString());
238
+ }
239
+ }
240
+}
241
+
242
+/*
243
+*
244
+* AuthService
245
+*
246
+* */
247
+
248
+//abstract class LoginState {}
249
+
250
+abstract class SetupPinCodeState {}
251
+
252
+class InitialSetupPinCodeState extends SetupPinCodeState {}
253
+
254
+class SetupPinCodeInProgress extends SetupPinCodeState {}
255
+
256
+class SetupPinCodeFinishedSuccessfully extends SetupPinCodeState {}
257
+
258
+class SetupPinCodeFinishedFailure extends SetupPinCodeState {
259
+ SetupPinCodeFinishedFailure({@required this.error});
260
+
261
+ final String error;
262
+}
263
+
264
+class AuthService {
265
+ SetupPinCodeState setupPinCodeState;
266
+
267
+ Future<void> setupPinCode({@required String pin}) async {}
268
+
269
+ Future<bool> authenticate({@required String pin}) async {
270
+ return false;
271
+ }
272
+
273
+ void resetSetupPinCodeState() =>
274
+ setupPinCodeState = InitialSetupPinCodeState();
275
+}
276
+
277
+/*
278
+*
279
+* SignUpService
280
+*
281
+* */
282
+
283
+class SignUpService {
284
+ SignUpService(
285
+ {@required this.walletCreationService, @required this.authService});
286
+
287
+ WalletCreationService walletCreationService;
288
+ AuthService authService;
289
+}
290
+
291
+/*
292
+*
293
+* AppService
294
+*
295
+* */
296
+
297
+class AppService {}
lib/main.dart
+6
-47
@@ -1,7 +1,3 @@
1
-import 'package:cake_wallet/bitcoin/api.dart';
2
-import 'package:cake_wallet/bitcoin/bitcoin_wallet.dart';
3
-import 'package:cake_wallet/bitcoin/bitcoin_wallet.manager.dart';
4
-import 'package:cake_wallet/bitcoin/key.dart';
1
import 'package:flutter_localizations/flutter_localizations.dart';
2
import 'package:path_provider/path_provider.dart';
3
import 'package:shared_preferences/shared_preferences.dart';
@@ -40,7 +36,6 @@ 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/stores/seed_language/seed_language_store.dart';
43
-import 'package:cake_wallet/bitcoin/electrum.dart';
39
40
41
void main() async {
@@ -48,12 +43,12 @@ void main() async {
43
44
final appDir = await getApplicationDocumentsDirectory();
45
Hive.init(appDir.path);
51
- Hive.registerAdapter(ContactAdapter(), 0);
52
- Hive.registerAdapter(NodeAdapter(), 1);
53
- Hive.registerAdapter(TransactionDescriptionAdapter(), 2);
54
- Hive.registerAdapter(TradeAdapter(), 3);
55
- Hive.registerAdapter(WalletInfoAdapter(), 4);
56
- Hive.registerAdapter(WalletTypeAdapter(), 5);
46
+ Hive.registerAdapter(ContactAdapter());
47
+ Hive.registerAdapter(NodeAdapter());
48
+ Hive.registerAdapter(TransactionDescriptionAdapter());
49
+ Hive.registerAdapter(TradeAdapter());
50
+ Hive.registerAdapter(WalletInfoAdapter());
51
+ Hive.registerAdapter(WalletTypeAdapter());
52
53
final secureStorage = FlutterSecureStorage();
54
final transactionDescriptionsBoxKey = await getEncryptionKey(
@@ -117,42 +112,6 @@ void main() async {
112
authenticationStore: authenticationStore,
113
loginStore: loginStore);
114
120
- // final addresses = await fetchAllAddresses(xpub: '6CUGRUonZSQ4TWtTMmzXdrXDtypWKiKrhko4egpiMZbpiaQL2jkwSB1icqYh2cfDfVxdx4df189oLKnC5fSwqPfgyP3hooxujYzAu3fDVmz');
121
- // print(addresses);
122
-
123
- final eclient = ElectrumClient();
124
- await eclient.connect(host: "electrum2.hodlister.co", port: 50002);
125
- await eclient.getMerkle(hash: '3780302c523831311afaccd883f04c814bc13c3ad7c2c13810bb5bfe2c3fa621', height: 629341);
126
- print(await eclient.getHeader(height: 629341));
127
- // final version = await eclient.version();
128
- // print('version $version');
129
-
130
- // eclient.banner();
131
- // eclient.headersSubscribe();
132
-
133
- // final history = await eclient.getHistory(address: '1QEWnc4mSxUoP1fWPs32eZNRtc9zX55TwE');
134
- // print('history $history');
135
-
136
- // final balance = await eclient.getBalance(address: '1QEWnc4mSxUoP1fWPs32eZNRtc9zX55TwE');
137
- // print('balance $balance');
138
-
139
- // final estimateFee = await eclient.estimatefee(p: 6);
140
- // print('estimateFee $estimateFee');
141
-
142
- // final walletManager = BitcoinWalletManager();
143
- // final key = "zLEjJ96r4WPzlc8rWbuaP2HgxoNfec6sbWjKAcNwqTjzBfiE62A8/0Wp5P3a8Ryo3GUIs/GDG7KfwkoI1FpyuhzWZNU1P8sMN/fp88sB9ktffU5V4B9GZJU5ufSblQOKsvZxqxLJWA8nhL7iaUGcifr9TkwbpqHxBTZDlQxlZXAf/DlRUFEF2LLwo8EJ0HcCn+iPVsnqeGtgtjmOG6l7puP31AErKzaLX4yEgXaKxrdqo0ljS4g7fn4UUXpipv7ry83ZId9ZhpkcdqMRnzu84Msyg/UGGg3BX7VTtbO/ko7ojIBoyzEaF355Tg+sgbfwYAY0CNvOJqPpIhDwu+sq4mhb5H592JP426rDTcy9KV1JbZWbnbbWcqcb04vE2zvXN0x37bd4WfO77qkdoGN5m1XZB2+F2wzNUxvf25WPp5L/nvPZFk/rJGGFoy6X8mASnmIXcq5bRzwC+F2zkZSbXoRFx3yXxlaRnzltVDjWlLUrh8S01TV2llUJEFQhefzR3Xz7mgmHRXANIqRztb1AmjD7eVZid84OfedhD2Lfg9rzFcXeMTcBlaKR36ChIY5zw+ljpnqAm86pSwcJXOAJVKcQ0fJLT6dYbHYkOQqdiSs4cJQMdr/xshrkFd1raVDyL8CTNznfxSvWqSrCUqxbuvylGfrWgHzJfK5CB0oLZnA=WBZ/TzHfP4A=";
144
- // await walletManager.openWallet('name', password)
145
- // print(await walletManager.isWalletExit('qwerty'));
146
- // final wallet = await walletManager.openWallet('green', key);
147
- // final keys = await wallet.getKeys();
148
- // final seed = await wallet.getSeed();
149
- // final address = await wallet.getAddress();
150
-
151
- // print('key $key');
152
- // print('keys $keys');
153
- // print('seed $seed');
154
- // print('address $address');
155
-
115
runApp(MultiProvider(providers: [
116
Provider(create: (_) => sharedPreferences),
117
Provider(create: (_) => walletService),
lib/src/domain/common/contact.dart
+1
-1
@@ -4,7 +4,7 @@ import 'package:cake_wallet/src/domain/common/crypto_currency.dart';
4
5
part 'contact.g.dart';
6
7
-@HiveType()
7
+@HiveType(typeId: 0)
8
class Contact extends HiveObject {
9
Contact({@required this.name, @required this.address, CryptoCurrency type})
10
: raw = type?.raw;
lib/src/domain/common/crypto_currency.dart
+1
-1
@@ -3,7 +3,7 @@ import 'package:hive/hive.dart';
3
4
part 'crypto_currency.g.dart';
5
6
-@HiveType()
6
+@HiveType(typeId: 0)
7
class CryptoCurrency extends EnumerableItem<int> with Serializable<int> {
8
const CryptoCurrency({final String title, final int raw})
9
: super(title: title, raw: raw);
lib/src/domain/common/node.dart
+1
-1
@@ -6,7 +6,7 @@ import 'package:cake_wallet/src/domain/common/digest_request.dart';
6
7
part 'node.g.dart';
8
9
-@HiveType()
9
+@HiveType(typeId: 1)
10
class Node extends HiveObject {
11
Node({@required this.uri, this.login, this.password});
12
lib/src/domain/common/qr_scanner.dart
+1
-1
@@ -7,7 +7,7 @@ Future<String> presentQRScanner() async {
7
try {
8
final result = await BarcodeScanner.scan();
9
isQrScannerShown = false;
10
- return result;
10
+ return result.rawContent;
11
} catch (e) {
12
isQrScannerShown = false;
13
rethrow;
lib/src/domain/common/wallet_info.dart
+1
-1
@@ -3,7 +3,7 @@ import 'package:hive/hive.dart';
3
4
part 'wallet_info.g.dart';
5
6
-@HiveType()
6
+@HiveType(typeId: 4)
7
class WalletInfo extends HiveObject {
8
WalletInfo(
9
{this.id, this.name, this.type, this.isRecovery, this.restoreHeight});
lib/src/domain/common/wallet_type.dart
+1
-1
@@ -4,7 +4,7 @@ part 'wallet_type.g.dart';
4
5
const walletTypes = [WalletType.monero, WalletType.bitcoin];
6
7
-@HiveType()
7
+@HiveType(typeId: 5)
8
enum WalletType {
9
@HiveField(0)
10
monero,
lib/src/domain/exchange/trade.dart
+1
-1
@@ -6,7 +6,7 @@ import 'package:cake_wallet/src/domain/common/format_amount.dart';
6
7
part 'trade.g.dart';
8
9
-@HiveType()
9
+@HiveType(typeId: 3)
10
class Trade extends HiveObject {
11
Trade(
12
{this.id,
lib/src/domain/monero/transaction_description.dart
+1
-1
@@ -2,7 +2,7 @@ import 'package:hive/hive.dart';
2
3
part 'transaction_description.g.dart';
4
5
-@HiveType()
5
+@HiveType(typeId: 2)
6
class TransactionDescription extends HiveObject {
7
TransactionDescription({this.id, this.recipientAddress});
8
lib/src/stores/account_list/account_list_store.dart
+8
-8
@@ -41,16 +41,16 @@ abstract class AcountListStoreBase with Store {
41
StreamSubscription<Wallet> _onWalletChangeSubscription;
42
StreamSubscription<List<Account>> _onAccountsChangeSubscription;
43
44
- @override
45
- void dispose() {
46
- _onWalletChangeSubscription.cancel();
44
+ // @override
45
+ // void dispose() {
46
+ // _onWalletChangeSubscription.cancel();
47
48
- if (_onAccountsChangeSubscription != null) {
49
- _onAccountsChangeSubscription.cancel();
50
- }
48
+ // if (_onAccountsChangeSubscription != null) {
49
+ // _onAccountsChangeSubscription.cancel();
50
+ // }
51
52
- super.dispose();
53
- }
52
+ // super.dispose();
53
+ // }
54
55
void updateAccountList() {
56
_accountList.refresh();
lib/src/stores/action_list/action_list_store.dart
+15
-15
@@ -155,21 +155,21 @@ abstract class ActionListBase with Store {
155
StreamSubscription<BoxEvent> _onTransactionDescriptions;
156
StreamSubscription<BoxEvent> _onTradesChanged;
157
158
- @override
159
- void dispose() {
160
- if (_onTransactionsChangeSubscription != null) {
161
- _onTransactionsChangeSubscription.cancel();
162
- }
163
-
164
- if (_onAccountChangeSubscription != null) {
165
- _onAccountChangeSubscription.cancel();
166
- }
167
-
168
- _onTransactionDescriptions?.cancel();
169
- _onWalletChangeSubscription.cancel();
170
- _onTradesChanged?.cancel();
171
- super.dispose();
172
- }
158
+ // @override
159
+ // void dispose() {
160
+ // if (_onTransactionsChangeSubscription != null) {
161
+ // _onTransactionsChangeSubscription.cancel();
162
+ // }
163
+
164
+ // if (_onAccountChangeSubscription != null) {
165
+ // _onAccountChangeSubscription.cancel();
166
+ // }
167
+
168
+ // _onTransactionDescriptions?.cancel();
169
+ // _onWalletChangeSubscription.cancel();
170
+ // _onTradesChanged?.cancel();
171
+ // super.dispose();
172
+ // }
173
174
@action
175
Future updateTradeList() async => this.trades =
lib/src/stores/balance/balance_store.dart
+8
-8
@@ -76,16 +76,16 @@ abstract class BalanceStoreBase with Store {
76
SettingsStore _settingsStore;
77
PriceStore _priceStore;
78
79
- @override
80
- void dispose() {
81
- _onWalletChangeSubscription.cancel();
79
+ // @override
80
+ // void dispose() {
81
+ // _onWalletChangeSubscription.cancel();
82
83
- if (_onBalanceChangeSubscription != null) {
84
- _onBalanceChangeSubscription.cancel();
85
- }
83
+ // if (_onBalanceChangeSubscription != null) {
84
+ // _onBalanceChangeSubscription.cancel();
85
+ // }
86
87
- super.dispose();
88
- }
87
+ // super.dispose();
88
+ // }
89
90
Future _onBalanceChange(Balance balance) async {
91
if (balance is MoneroBalance) {
lib/src/stores/exchange_trade/exchange_trade_store.dart
+7
-7
@@ -48,14 +48,14 @@ abstract class ExchangeTradeStoreBase with Store {
48
49
Timer _timer;
50
51
- @override
52
- void dispose() {
53
- super.dispose();
51
+ // @override
52
+ // void dispose() {
53
+ // super.dispose();
54
55
- if (_timer != null) {
56
- _timer.cancel();
57
- }
58
- }
55
+ // if (_timer != null) {
56
+ // _timer.cancel();
57
+ // }
58
+ // }
59
60
@action
61
Future<void> _updateTrade() async {
lib/src/stores/node_list/node_list_store.dart
+8
-8
@@ -29,14 +29,14 @@ abstract class NodeListBase with Store {
29
30
StreamSubscription<BoxEvent> _onNodesChangeSubscription;
31
32
- @override
33
- void dispose() {
34
- super.dispose();
35
-
36
- if (_onNodesChangeSubscription != null) {
37
- _onNodesChangeSubscription.cancel();
38
- }
39
- }
32
+ // @override
33
+ // void dispose() {
34
+ // super.dispose();
35
+
36
+ // if (_onNodesChangeSubscription != null) {
37
+ // _onNodesChangeSubscription.cancel();
38
+ // }
39
+ // }
40
41
@action
42
void update() =>
lib/src/stores/subaddress_creation/subaddress_creation_store.dart
+8
-8
@@ -39,16 +39,16 @@ abstract class SubadrressCreationStoreBase with Store {
39
StreamSubscription<Account> _onAccountChangeSubscription;
40
Account _account;
41
42
- @override
43
- void dispose() {
44
- _onWalletChangeSubscription.cancel();
42
+ // @override
43
+ // void dispose() {
44
+ // _onWalletChangeSubscription.cancel();
45
46
- if (_onAccountChangeSubscription != null) {
47
- _onAccountChangeSubscription.cancel();
48
- }
46
+ // if (_onAccountChangeSubscription != null) {
47
+ // _onAccountChangeSubscription.cancel();
48
+ // }
49
50
- super.dispose();
51
- }
50
+ // super.dispose();
51
+ // }
52
53
Future<void> add({String label}) async {
54
try {
lib/src/stores/subaddress_list/subaddress_list_store.dart
+13
-13
@@ -33,19 +33,19 @@ abstract class SubaddressListStoreBase with Store {
33
StreamSubscription<Account> _onAccountChangeSubscription;
34
Account _account;
35
36
- @override
37
- void dispose() {
38
- if (_onSubaddressesChangeSubscription != null) {
39
- _onSubaddressesChangeSubscription.cancel();
40
- }
41
-
42
- if (_onAccountChangeSubscription != null) {
43
- _onAccountChangeSubscription.cancel();
44
- }
45
-
46
- _onWalletChangeSubscription.cancel();
47
- super.dispose();
48
- }
36
+ // @override
37
+ // void dispose() {
38
+ // if (_onSubaddressesChangeSubscription != null) {
39
+ // _onSubaddressesChangeSubscription.cancel();
40
+ // }
41
+
42
+ // if (_onAccountChangeSubscription != null) {
43
+ // _onAccountChangeSubscription.cancel();
44
+ // }
45
+
46
+ // _onWalletChangeSubscription.cancel();
47
+ // super.dispose();
48
+ // }
49
50
Future<void> _updateSubaddressList({int accountIndex}) async {
51
await _subaddressList.refresh(accountIndex: accountIndex);
lib/src/stores/sync/sync_store.dart
+9
-9
@@ -29,15 +29,15 @@ abstract class SyncStoreBase with Store {
29
StreamSubscription<Wallet> _onWalletChangeSubscription;
30
StreamSubscription<SyncStatus> _onSyncStatusChangeSubscription;
31
32
- @override
33
- void dispose() {
34
- if (_onSyncStatusChangeSubscription != null) {
35
- _onSyncStatusChangeSubscription.cancel();
36
- }
37
-
38
- _onWalletChangeSubscription.cancel();
39
- super.dispose();
40
- }
32
+ // @override
33
+ // void dispose() {
34
+ // if (_onSyncStatusChangeSubscription != null) {
35
+ // _onSyncStatusChangeSubscription.cancel();
36
+ // }
37
+
38
+ // _onWalletChangeSubscription.cancel();
39
+ // super.dispose();
40
+ // }
41
42
void _onWalletChanged(Wallet wallet) {
43
if (_onSyncStatusChangeSubscription != null) {
lib/src/stores/wallet/wallet_store.dart
+16
-16
@@ -63,22 +63,22 @@ abstract class WalletStoreBase with Store {
63
StreamSubscription<Account> _onAccountChangeSubscription;
64
StreamSubscription<Subaddress> _onSubaddressChangeSubscription;
65
66
- @override
67
- void dispose() {
68
- if (_onWalletChangeSubscription != null) {
69
- _onWalletChangeSubscription.cancel();
70
- }
71
-
72
- if (_onAccountChangeSubscription != null) {
73
- _onAccountChangeSubscription.cancel();
74
- }
75
-
76
- if (_onSubaddressChangeSubscription != null) {
77
- _onSubaddressChangeSubscription.cancel();
78
- }
79
-
80
- super.dispose();
81
- }
66
+ // @override
67
+ // void dispose() {
68
+ // if (_onWalletChangeSubscription != null) {
69
+ // _onWalletChangeSubscription.cancel();
70
+ // }
71
+
72
+ // if (_onAccountChangeSubscription != null) {
73
+ // _onAccountChangeSubscription.cancel();
74
+ // }
75
+
76
+ // if (_onSubaddressChangeSubscription != null) {
77
+ // _onSubaddressChangeSubscription.cancel();
78
+ // }
79
+
80
+ // super.dispose();
81
+ // }
82
83
@action
84
void setAccount(Account account) {
pubspec.lock
+122
-59
@@ -14,28 +14,28 @@ packages:
14
name: archive
15
url: "https://pub.dartlang.org"
16
source: hosted
17
- version: "2.0.11"
17
+ version: "2.0.13"
18
args:
19
dependency: transitive
20
description:
21
name: args
22
url: "https://pub.dartlang.org"
23
source: hosted
24
- version: "1.5.2"
24
+ version: "1.6.0"
25
asn1lib:
26
dependency: transitive
27
description:
28
name: asn1lib
29
url: "https://pub.dartlang.org"
30
source: hosted
31
- version: "0.5.15"
31
+ version: "0.6.4"
32
async:
33
dependency: transitive
34
description:
35
name: async
36
url: "https://pub.dartlang.org"
37
source: hosted
38
- version: "2.4.0"
38
+ version: "2.4.1"
39
auto_size_text:
40
dependency: "direct main"
41
description:
@@ -49,7 +49,7 @@ packages:
49
name: barcode_scan
50
url: "https://pub.dartlang.org"
51
source: hosted
52
- version: "1.0.0"
52
+ version: "3.0.1"
53
basic_utils:
54
dependency: "direct main"
55
description:
@@ -84,14 +84,14 @@ packages:
84
name: bitcoin_flutter
85
url: "https://pub.dartlang.org"
86
source: hosted
87
- version: "2.0.0"
87
+ version: "2.0.1"
88
boolean_selector:
89
dependency: transitive
90
description:
91
name: boolean_selector
92
url: "https://pub.dartlang.org"
93
source: hosted
94
- version: "1.0.5"
94
+ version: "2.0.0"
95
bs58check:
96
dependency: transitive
97
description:
@@ -112,14 +112,14 @@ packages:
112
name: build_config
113
url: "https://pub.dartlang.org"
114
source: hosted
115
- version: "0.4.1+1"
115
+ version: "0.4.2"
116
build_daemon:
117
dependency: transitive
118
description:
119
name: build_daemon
120
url: "https://pub.dartlang.org"
121
source: hosted
122
- version: "2.1.2"
122
+ version: "2.1.4"
123
build_resolvers:
124
dependency: transitive
125
description:
@@ -133,28 +133,28 @@ packages:
133
name: build_runner
134
url: "https://pub.dartlang.org"
135
source: hosted
136
- version: "1.7.2"
136
+ version: "1.9.0"
137
build_runner_core:
138
dependency: transitive
139
description:
140
name: build_runner_core
141
url: "https://pub.dartlang.org"
142
source: hosted
143
- version: "4.2.0"
143
+ version: "5.1.0"
144
built_collection:
145
dependency: transitive
146
description:
147
name: built_collection
148
url: "https://pub.dartlang.org"
149
source: hosted
150
- version: "4.3.0"
150
+ version: "4.3.2"
151
built_value:
152
dependency: transitive
153
description:
154
name: built_value
155
url: "https://pub.dartlang.org"
156
source: hosted
157
- version: "7.0.0"
157
+ version: "7.1.0"
158
characters:
159
dependency: transitive
160
description:
@@ -168,7 +168,7 @@ packages:
168
name: charcode
169
url: "https://pub.dartlang.org"
170
source: hosted
171
- version: "1.1.2"
171
+ version: "1.1.3"
172
checked_yaml:
173
dependency: transitive
174
description:
@@ -189,14 +189,14 @@ packages:
189
name: code_builder
190
url: "https://pub.dartlang.org"
191
source: hosted
192
- version: "3.2.1"
192
+ version: "3.3.0"
193
collection:
194
dependency: transitive
195
description:
196
name: collection
197
url: "https://pub.dartlang.org"
198
source: hosted
199
- version: "1.14.11"
199
+ version: "1.14.12"
200
convert:
201
dependency: transitive
202
description:
@@ -210,7 +210,7 @@ packages:
210
name: crypto
211
url: "https://pub.dartlang.org"
212
source: hosted
213
- version: "2.1.3"
213
+ version: "2.1.4"
214
csslib:
215
dependency: transitive
216
description:
@@ -240,12 +240,12 @@ packages:
240
source: hosted
241
version: "1.2.9"
242
dartx:
243
- dependency: transitive
243
+ dependency: "direct overridden"
244
description:
245
name: dartx
246
url: "https://pub.dartlang.org"
247
source: hosted
248
- version: "0.2.0"
248
+ version: "0.3.0"
249
date_range_picker:
250
dependency: "direct main"
251
description:
@@ -259,7 +259,7 @@ packages:
259
name: devicelocale
260
url: "https://pub.dartlang.org"
261
source: hosted
262
- version: "0.2.1"
262
+ version: "0.2.3"
263
dio:
264
dependency: "direct main"
265
description:
@@ -273,7 +273,7 @@ packages:
273
name: encrypt
274
url: "https://pub.dartlang.org"
275
source: hosted
276
- version: "4.0.0"
276
+ version: "4.0.1"
277
esys_flutter_share:
278
dependency: "direct main"
279
description:
@@ -313,7 +313,7 @@ packages:
313
name: flutter_launcher_icons
314
url: "https://pub.dartlang.org"
315
source: hosted
316
- version: "0.7.4"
316
+ version: "0.7.5"
317
flutter_localizations:
318
dependency: "direct main"
319
description: flutter
@@ -326,13 +326,20 @@ packages:
326
url: "https://pub.dartlang.org"
327
source: hosted
328
version: "0.3.0+1"
329
+ flutter_plugin_android_lifecycle:
330
+ dependency: transitive
331
+ description:
332
+ name: flutter_plugin_android_lifecycle
333
+ url: "https://pub.dartlang.org"
334
+ source: hosted
335
+ version: "1.0.8"
336
flutter_secure_storage:
337
dependency: "direct main"
338
description:
339
name: flutter_secure_storage
340
url: "https://pub.dartlang.org"
341
source: hosted
335
- version: "3.3.1+1"
342
+ version: "3.3.3"
343
flutter_slidable:
344
dependency: "direct main"
345
description:
@@ -384,21 +391,21 @@ packages:
391
name: hive
392
url: "https://pub.dartlang.org"
393
source: hosted
387
- version: "1.2.0"
394
+ version: "1.4.1+1"
395
hive_flutter:
396
dependency: "direct main"
397
description:
398
name: hive_flutter
399
url: "https://pub.dartlang.org"
400
source: hosted
394
- version: "0.2.1"
401
+ version: "0.3.0+2"
402
hive_generator:
403
dependency: "direct dev"
404
description:
405
name: hive_generator
406
url: "https://pub.dartlang.org"
407
source: hosted
401
- version: "0.6.0"
408
+ version: "0.7.0+2"
409
html:
410
dependency: transitive
411
description:
@@ -412,42 +419,42 @@ packages:
419
name: http
420
url: "https://pub.dartlang.org"
421
source: hosted
415
- version: "0.12.0+2"
422
+ version: "0.12.1"
423
http_multi_server:
424
dependency: transitive
425
description:
426
name: http_multi_server
427
url: "https://pub.dartlang.org"
428
source: hosted
422
- version: "2.1.0"
429
+ version: "2.2.0"
430
http_parser:
431
dependency: transitive
432
description:
433
name: http_parser
434
url: "https://pub.dartlang.org"
435
source: hosted
429
- version: "3.1.3"
436
+ version: "3.1.4"
437
image:
438
dependency: transitive
439
description:
440
name: image
441
url: "https://pub.dartlang.org"
442
source: hosted
436
- version: "2.1.4"
443
+ version: "2.1.12"
444
intl:
445
dependency: "direct main"
446
description:
447
name: intl
448
url: "https://pub.dartlang.org"
449
source: hosted
443
- version: "0.16.0"
450
+ version: "0.16.1"
451
io:
452
dependency: transitive
453
description:
454
name: io
455
url: "https://pub.dartlang.org"
456
source: hosted
450
- version: "0.3.3"
457
+ version: "0.3.4"
458
js:
459
dependency: transitive
460
description:
@@ -461,7 +468,7 @@ packages:
468
name: json_annotation
469
url: "https://pub.dartlang.org"
470
source: hosted
464
- version: "3.0.0"
471
+ version: "3.0.1"
472
kernel:
473
dependency: transitive
474
description:
@@ -475,14 +482,14 @@ packages:
482
name: local_auth
483
url: "https://pub.dartlang.org"
484
source: hosted
478
- version: "0.6.1"
485
+ version: "0.6.2+3"
486
logging:
487
dependency: transitive
488
description:
489
name: logging
490
url: "https://pub.dartlang.org"
491
source: hosted
485
- version: "0.11.3+2"
492
+ version: "0.11.4"
493
matcher:
494
dependency: transitive
495
description:
@@ -510,7 +517,7 @@ packages:
517
name: mobx
518
url: "https://pub.dartlang.org"
519
source: hosted
513
- version: "0.3.9+3"
520
+ version: "0.3.10"
521
mobx_codegen:
522
dependency: "direct dev"
523
description:
@@ -524,28 +531,28 @@ packages:
531
name: node_interop
532
url: "https://pub.dartlang.org"
533
source: hosted
527
- version: "1.0.3"
534
+ version: "1.1.1"
535
node_io:
536
dependency: transitive
537
description:
538
name: node_io
539
url: "https://pub.dartlang.org"
540
source: hosted
534
- version: "1.0.1+2"
541
+ version: "1.1.1"
542
package_config:
543
dependency: transitive
544
description:
545
name: package_config
546
url: "https://pub.dartlang.org"
547
source: hosted
541
- version: "1.1.0"
548
+ version: "1.9.3"
549
package_info:
550
dependency: "direct main"
551
description:
552
name: package_info
553
url: "https://pub.dartlang.org"
554
source: hosted
548
- version: "0.4.0+13"
555
+ version: "0.4.0+18"
556
package_resolver:
557
dependency: transitive
558
description:
@@ -573,14 +580,28 @@ packages:
580
name: path_provider
581
url: "https://pub.dartlang.org"
582
source: hosted
576
- version: "1.5.1"
583
+ version: "1.6.9"
584
+ path_provider_macos:
585
+ dependency: transitive
586
+ description:
587
+ name: path_provider_macos
588
+ url: "https://pub.dartlang.org"
589
+ source: hosted
590
+ version: "0.0.4+3"
591
+ path_provider_platform_interface:
592
+ dependency: transitive
593
+ description:
594
+ name: path_provider_platform_interface
595
+ url: "https://pub.dartlang.org"
596
+ source: hosted
597
+ version: "1.0.2"
598
pedantic:
599
dependency: "direct dev"
600
description:
601
name: pedantic
602
url: "https://pub.dartlang.org"
603
source: hosted
583
- version: "1.8.0+1"
604
+ version: "1.9.0"
605
petitparser:
606
dependency: transitive
607
description:
@@ -595,6 +616,20 @@ packages:
616
url: "https://pub.dartlang.org"
617
source: hosted
618
version: "2.2.1"
619
+ platform_detect:
620
+ dependency: transitive
621
+ description:
622
+ name: platform_detect
623
+ url: "https://pub.dartlang.org"
624
+ source: hosted
625
+ version: "1.4.0"
626
+ plugin_platform_interface:
627
+ dependency: transitive
628
+ description:
629
+ name: plugin_platform_interface
630
+ url: "https://pub.dartlang.org"
631
+ source: hosted
632
+ version: "1.0.2"
633
pointycastle:
634
dependency: transitive
635
description:
@@ -609,6 +644,13 @@ packages:
644
url: "https://pub.dartlang.org"
645
source: hosted
646
version: "1.4.0"
647
+ protobuf:
648
+ dependency: transitive
649
+ description:
650
+ name: protobuf
651
+ url: "https://pub.dartlang.org"
652
+ source: hosted
653
+ version: "1.0.1"
654
provider:
655
dependency: "direct main"
656
description:
@@ -622,7 +664,7 @@ packages:
664
name: pub_semver
665
url: "https://pub.dartlang.org"
666
source: hosted
625
- version: "1.4.2"
667
+ version: "1.4.4"
668
pubspec_parse:
669
dependency: transitive
670
description:
@@ -643,7 +685,7 @@ packages:
685
name: quiver
686
url: "https://pub.dartlang.org"
687
source: hosted
646
- version: "2.0.5"
688
+ version: "2.1.3"
689
rxdart:
690
dependency: "direct main"
691
description:
@@ -657,21 +699,35 @@ packages:
699
name: share
700
url: "https://pub.dartlang.org"
701
source: hosted
660
- version: "0.6.3+5"
702
+ version: "0.6.4+3"
703
shared_preferences:
704
dependency: "direct main"
705
description:
706
name: shared_preferences
707
url: "https://pub.dartlang.org"
708
source: hosted
667
- version: "0.5.4+9"
709
+ version: "0.5.7+3"
710
+ shared_preferences_macos:
711
+ dependency: transitive
712
+ description:
713
+ name: shared_preferences_macos
714
+ url: "https://pub.dartlang.org"
715
+ source: hosted
716
+ version: "0.0.1+9"
717
shared_preferences_platform_interface:
718
dependency: transitive
719
description:
720
name: shared_preferences_platform_interface
721
url: "https://pub.dartlang.org"
722
source: hosted
674
- version: "1.0.1"
723
+ version: "1.0.4"
724
+ shared_preferences_web:
725
+ dependency: transitive
726
+ description:
727
+ name: shared_preferences_web
728
+ url: "https://pub.dartlang.org"
729
+ source: hosted
730
+ version: "0.1.2+7"
731
shelf:
732
dependency: transitive
733
description:
@@ -704,7 +760,7 @@ packages:
760
name: source_span
761
url: "https://pub.dartlang.org"
762
source: hosted
707
- version: "1.5.5"
763
+ version: "1.7.0"
764
stack_trace:
765
dependency: transitive
766
description:
@@ -725,7 +781,7 @@ packages:
781
name: stream_transform
782
url: "https://pub.dartlang.org"
783
source: hosted
728
- version: "0.0.20"
784
+ version: "1.2.0"
785
string_scanner:
786
dependency: transitive
787
description:
@@ -746,14 +802,14 @@ packages:
802
name: test_api
803
url: "https://pub.dartlang.org"
804
source: hosted
749
- version: "0.2.11"
805
+ version: "0.2.15"
806
time:
807
dependency: transitive
808
description:
809
name: time
810
url: "https://pub.dartlang.org"
811
source: hosted
756
- version: "1.2.0"
812
+ version: "1.3.0"
813
timing:
814
dependency: transitive
815
description:
@@ -774,21 +830,28 @@ packages:
830
name: url_launcher
831
url: "https://pub.dartlang.org"
832
source: hosted
777
- version: "5.3.0"
833
+ version: "5.4.10"
834
+ url_launcher_macos:
835
+ dependency: transitive
836
+ description:
837
+ name: url_launcher_macos
838
+ url: "https://pub.dartlang.org"
839
+ source: hosted
840
+ version: "0.0.1+7"
841
url_launcher_platform_interface:
842
dependency: transitive
843
description:
844
name: url_launcher_platform_interface
845
url: "https://pub.dartlang.org"
846
source: hosted
784
- version: "1.0.1"
847
+ version: "1.0.7"
848
url_launcher_web:
849
dependency: transitive
850
description:
851
name: url_launcher_web
852
url: "https://pub.dartlang.org"
853
source: hosted
791
- version: "0.1.0+1"
854
+ version: "0.1.1+6"
855
uuid:
856
dependency: "direct main"
857
description:
@@ -809,7 +872,7 @@ packages:
872
name: watcher
873
url: "https://pub.dartlang.org"
874
source: hosted
812
- version: "0.9.7+13"
875
+ version: "0.9.7+15"
876
web_socket_channel:
877
dependency: transitive
878
description:
@@ -823,14 +886,14 @@ packages:
886
name: xml
887
url: "https://pub.dartlang.org"
888
source: hosted
826
- version: "3.5.0"
889
+ version: "3.6.1"
890
yaml:
891
dependency: "direct main"
892
description:
893
name: yaml
894
url: "https://pub.dartlang.org"
895
source: hosted
833
- version: "2.2.0"
896
+ version: "2.2.1"
897
sdks:
835
- dart: ">=2.6.0 <3.0.0"
836
- flutter: ">=1.12.8 <2.0.0"
898
+ dart: ">=2.7.0 <3.0.0"
899
+ flutter: ">=1.12.13+hotfix.5 <2.0.0"
pubspec.yaml
+7
-3
@@ -43,8 +43,8 @@ dependencies:
43
dio: 3.0.7
44
cw_monero:
45
path: ./cw_monero
46
- hive: ^1.2.0
47
- hive_flutter: ^0.2.1
46
+ hive: ^1.4.1+1
47
+ hive_flutter: ^0.3.0+2
48
local_auth: ^0.6.1
49
package_info: ^0.4.0+13
50
devicelocale: ^0.2.1
@@ -63,10 +63,14 @@ dev_dependencies:
63
sdk: flutter
64
build_runner: ^1.3.1
65
mobx_codegen: 0.3.3+1
66
- hive_generator: ^0.6.0
66
+ hive_generator: ^0.7.0+2
67
flutter_launcher_icons: ^0.7.4
68
pedantic: ^1.8.0
69
70
+# Fix for hive https://github.com/hivedb/hive/issues/247#issuecomment-606838497
71
+dependency_overrides:
72
+ dartx: ^0.3.0
73
+
74
flutter_icons:
75
image_path: "assets/images/app_logo.png"
76
android: true