Generic enhancements (#1447)
* Disable hardware wallets for Monero.com * disable ble permission on Monero.com * code cleanup [skip ci] * Fix missing Trade bytes issue
Omar Hatem committed
May 13, 2024 at 23:59 UTC
e92e8df3aaab119679f94d4561a0931d0a305a82
17 files changed
+499
-228
assets/text/Monerocom_Release_Notes.txt
+1
-1
@@ -1 +1 @@
1
-Generic bug fixes and enhancements
\ No newline at end of file
1
+Bug fixes and generic enhancements
\ No newline at end of file
assets/text/Release_Notes.txt
-2
@@ -1,3 +1 @@
1
-Hardware wallets support for Bitcoin, Ethereum and Polygon
2
-Security enhancements
1
Bug fixes and generic enhancements
\ No newline at end of file
cw_bitcoin/pubspec.lock
+52
-20
@@ -217,10 +217,10 @@ packages:
217
dependency: transitive
218
description:
219
name: collection
220
- sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c"
220
+ sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
221
url: "https://pub.dev"
222
source: hosted
223
- version: "1.17.1"
223
+ version: "1.18.0"
224
convert:
225
dependency: transitive
226
description:
@@ -446,6 +446,30 @@ packages:
446
url: "https://pub.dev"
447
source: hosted
448
version: "4.8.1"
449
+ leak_tracker:
450
+ dependency: transitive
451
+ description:
452
+ name: leak_tracker
453
+ sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa"
454
+ url: "https://pub.dev"
455
+ source: hosted
456
+ version: "10.0.0"
457
+ leak_tracker_flutter_testing:
458
+ dependency: transitive
459
+ description:
460
+ name: leak_tracker_flutter_testing
461
+ sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0
462
+ url: "https://pub.dev"
463
+ source: hosted
464
+ version: "2.0.1"
465
+ leak_tracker_testing:
466
+ dependency: transitive
467
+ description:
468
+ name: leak_tracker_testing
469
+ sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47
470
+ url: "https://pub.dev"
471
+ source: hosted
472
+ version: "2.0.1"
473
ledger_bitcoin:
474
dependency: "direct main"
475
description:
@@ -483,26 +507,26 @@ packages:
507
dependency: transitive
508
description:
509
name: matcher
486
- sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb"
510
+ sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
511
url: "https://pub.dev"
512
source: hosted
489
- version: "0.12.15"
513
+ version: "0.12.16+1"
514
material_color_utilities:
515
dependency: transitive
516
description:
517
name: material_color_utilities
494
- sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724
518
+ sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
519
url: "https://pub.dev"
520
source: hosted
497
- version: "0.2.0"
521
+ version: "0.8.0"
522
meta:
523
dependency: transitive
524
description:
525
name: meta
502
- sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
526
+ sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
527
url: "https://pub.dev"
528
source: hosted
505
- version: "1.9.1"
529
+ version: "1.11.0"
530
mime:
531
dependency: transitive
532
description:
@@ -547,10 +571,10 @@ packages:
571
dependency: transitive
572
description:
573
name: path
550
- sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
574
+ sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
575
url: "https://pub.dev"
576
source: hosted
553
- version: "1.8.3"
577
+ version: "1.9.0"
578
path_provider:
579
dependency: "direct main"
580
description:
@@ -736,26 +760,26 @@ packages:
760
dependency: transitive
761
description:
762
name: source_span
739
- sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250
763
+ sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
764
url: "https://pub.dev"
765
source: hosted
742
- version: "1.9.1"
766
+ version: "1.10.0"
767
stack_trace:
768
dependency: transitive
769
description:
770
name: stack_trace
747
- sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
771
+ sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
772
url: "https://pub.dev"
773
source: hosted
750
- version: "1.11.0"
774
+ version: "1.11.1"
775
stream_channel:
776
dependency: transitive
777
description:
778
name: stream_channel
755
- sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
779
+ sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
780
url: "https://pub.dev"
781
source: hosted
758
- version: "2.1.1"
782
+ version: "2.1.2"
783
stream_transform:
784
dependency: transitive
785
description:
@@ -784,10 +808,10 @@ packages:
808
dependency: transitive
809
description:
810
name: test_api
787
- sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb
811
+ sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
812
url: "https://pub.dev"
813
source: hosted
790
- version: "0.5.1"
814
+ version: "0.6.1"
815
timing:
816
dependency: transitive
817
description:
@@ -820,8 +844,16 @@ packages:
844
url: "https://pub.dev"
845
source: hosted
846
version: "2.1.4"
823
- watcher:
847
+ vm_service:
848
dependency: transitive
849
+ description:
850
+ name: vm_service
851
+ sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
852
+ url: "https://pub.dev"
853
+ source: hosted
854
+ version: "13.0.0"
855
+ watcher:
856
+ dependency: "direct overridden"
857
description:
858
name: watcher
859
sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8"
@@ -861,5 +893,5 @@ packages:
893
source: hosted
894
version: "3.1.2"
895
sdks:
864
- dart: ">=3.0.6 <4.0.0"
896
+ dart: ">=3.2.0-0 <4.0.0"
897
flutter: ">=3.10.0"
cw_core/pubspec.lock
+52
-20
@@ -149,10 +149,10 @@ packages:
149
dependency: transitive
150
description:
151
name: collection
152
- sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c"
152
+ sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
153
url: "https://pub.dev"
154
source: hosted
155
- version: "1.17.1"
155
+ version: "1.18.0"
156
convert:
157
dependency: transitive
158
description:
@@ -331,6 +331,30 @@ packages:
331
url: "https://pub.dev"
332
source: hosted
333
version: "4.8.1"
334
+ leak_tracker:
335
+ dependency: transitive
336
+ description:
337
+ name: leak_tracker
338
+ sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa"
339
+ url: "https://pub.dev"
340
+ source: hosted
341
+ version: "10.0.0"
342
+ leak_tracker_flutter_testing:
343
+ dependency: transitive
344
+ description:
345
+ name: leak_tracker_flutter_testing
346
+ sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0
347
+ url: "https://pub.dev"
348
+ source: hosted
349
+ version: "2.0.1"
350
+ leak_tracker_testing:
351
+ dependency: transitive
352
+ description:
353
+ name: leak_tracker_testing
354
+ sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47
355
+ url: "https://pub.dev"
356
+ source: hosted
357
+ version: "2.0.1"
358
logging:
359
dependency: transitive
360
description:
@@ -343,26 +367,26 @@ packages:
367
dependency: transitive
368
description:
369
name: matcher
346
- sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb"
370
+ sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
371
url: "https://pub.dev"
372
source: hosted
349
- version: "0.12.15"
373
+ version: "0.12.16+1"
374
material_color_utilities:
375
dependency: transitive
376
description:
377
name: material_color_utilities
354
- sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724
378
+ sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
379
url: "https://pub.dev"
380
source: hosted
357
- version: "0.2.0"
381
+ version: "0.8.0"
382
meta:
383
dependency: transitive
384
description:
385
name: meta
362
- sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
386
+ sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
387
url: "https://pub.dev"
388
source: hosted
365
- version: "1.9.1"
389
+ version: "1.11.0"
390
mime:
391
dependency: transitive
392
description:
@@ -407,10 +431,10 @@ packages:
431
dependency: transitive
432
description:
433
name: path
410
- sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
434
+ sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
435
url: "https://pub.dev"
436
source: hosted
413
- version: "1.8.3"
437
+ version: "1.9.0"
438
path_provider:
439
dependency: "direct main"
440
description:
@@ -564,26 +588,26 @@ packages:
588
dependency: transitive
589
description:
590
name: source_span
567
- sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250
591
+ sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
592
url: "https://pub.dev"
593
source: hosted
570
- version: "1.9.1"
594
+ version: "1.10.0"
595
stack_trace:
596
dependency: transitive
597
description:
598
name: stack_trace
575
- sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
599
+ sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
600
url: "https://pub.dev"
601
source: hosted
578
- version: "1.11.0"
602
+ version: "1.11.1"
603
stream_channel:
604
dependency: transitive
605
description:
606
name: stream_channel
583
- sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
607
+ sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
608
url: "https://pub.dev"
609
source: hosted
586
- version: "2.1.1"
610
+ version: "2.1.2"
611
stream_transform:
612
dependency: transitive
613
description:
@@ -612,10 +636,10 @@ packages:
636
dependency: transitive
637
description:
638
name: test_api
615
- sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb
639
+ sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
640
url: "https://pub.dev"
641
source: hosted
618
- version: "0.5.1"
642
+ version: "0.6.1"
643
timing:
644
dependency: transitive
645
description:
@@ -640,8 +664,16 @@ packages:
664
url: "https://pub.dev"
665
source: hosted
666
version: "2.1.4"
643
- watcher:
667
+ vm_service:
668
dependency: transitive
669
+ description:
670
+ name: vm_service
671
+ sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
672
+ url: "https://pub.dev"
673
+ source: hosted
674
+ version: "13.0.0"
675
+ watcher:
676
+ dependency: "direct overridden"
677
description:
678
name: watcher
679
sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8"
@@ -681,5 +713,5 @@ packages:
713
source: hosted
714
version: "3.1.2"
715
sdks:
684
- dart: ">=3.0.0 <4.0.0"
716
+ dart: ">=3.2.0-0 <4.0.0"
717
flutter: ">=3.10.0"
cw_haven/pubspec.lock
+49
-25
@@ -149,10 +149,10 @@ packages:
149
dependency: transitive
150
description:
151
name: collection
152
- sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
152
+ sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
153
url: "https://pub.dev"
154
source: hosted
155
- version: "1.17.2"
155
+ version: "1.18.0"
156
convert:
157
dependency: transitive
158
description:
@@ -338,6 +338,30 @@ packages:
338
url: "https://pub.dev"
339
source: hosted
340
version: "4.8.0"
341
+ leak_tracker:
342
+ dependency: transitive
343
+ description:
344
+ name: leak_tracker
345
+ sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa"
346
+ url: "https://pub.dev"
347
+ source: hosted
348
+ version: "10.0.0"
349
+ leak_tracker_flutter_testing:
350
+ dependency: transitive
351
+ description:
352
+ name: leak_tracker_flutter_testing
353
+ sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0
354
+ url: "https://pub.dev"
355
+ source: hosted
356
+ version: "2.0.1"
357
+ leak_tracker_testing:
358
+ dependency: transitive
359
+ description:
360
+ name: leak_tracker_testing
361
+ sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47
362
+ url: "https://pub.dev"
363
+ source: hosted
364
+ version: "2.0.1"
365
logging:
366
dependency: transitive
367
description:
@@ -350,26 +374,26 @@ packages:
374
dependency: transitive
375
description:
376
name: matcher
353
- sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
377
+ sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
378
url: "https://pub.dev"
379
source: hosted
356
- version: "0.12.16"
380
+ version: "0.12.16+1"
381
material_color_utilities:
382
dependency: transitive
383
description:
384
name: material_color_utilities
361
- sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
385
+ sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
386
url: "https://pub.dev"
387
source: hosted
364
- version: "0.5.0"
388
+ version: "0.8.0"
389
meta:
390
dependency: transitive
391
description:
392
name: meta
369
- sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
393
+ sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
394
url: "https://pub.dev"
395
source: hosted
372
- version: "1.9.1"
396
+ version: "1.11.0"
397
mime:
398
dependency: transitive
399
description:
@@ -406,10 +430,10 @@ packages:
430
dependency: transitive
431
description:
432
name: path
409
- sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
433
+ sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
434
url: "https://pub.dev"
435
source: hosted
412
- version: "1.8.3"
436
+ version: "1.9.0"
437
path_provider:
438
dependency: "direct main"
439
description:
@@ -571,18 +595,18 @@ packages:
595
dependency: transitive
596
description:
597
name: stack_trace
574
- sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
598
+ sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
599
url: "https://pub.dev"
600
source: hosted
577
- version: "1.11.0"
601
+ version: "1.11.1"
602
stream_channel:
603
dependency: transitive
604
description:
605
name: stream_channel
582
- sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
606
+ sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
607
url: "https://pub.dev"
608
source: hosted
585
- version: "2.1.1"
609
+ version: "2.1.2"
610
stream_transform:
611
dependency: transitive
612
description:
@@ -611,10 +635,10 @@ packages:
635
dependency: transitive
636
description:
637
name: test_api
614
- sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
638
+ sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
639
url: "https://pub.dev"
640
source: hosted
617
- version: "0.6.0"
641
+ version: "0.6.1"
642
timing:
643
dependency: transitive
644
description:
@@ -639,6 +663,14 @@ packages:
663
url: "https://pub.dev"
664
source: hosted
665
version: "2.1.4"
666
+ vm_service:
667
+ dependency: transitive
668
+ description:
669
+ name: vm_service
670
+ sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
671
+ url: "https://pub.dev"
672
+ source: hosted
673
+ version: "13.0.0"
674
watcher:
675
dependency: "direct overridden"
676
description:
@@ -647,14 +679,6 @@ packages:
679
url: "https://pub.dev"
680
source: hosted
681
version: "1.1.0"
650
- web:
651
- dependency: transitive
652
- description:
653
- name: web
654
- sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10
655
- url: "https://pub.dev"
656
- source: hosted
657
- version: "0.1.4-beta"
682
web_socket_channel:
683
dependency: transitive
684
description:
@@ -688,5 +712,5 @@ packages:
712
source: hosted
713
version: "3.1.1"
714
sdks:
691
- dart: ">=3.1.0-185.0.dev <4.0.0"
715
+ dart: ">=3.2.0-0 <4.0.0"
716
flutter: ">=3.7.0"
cw_monero/example/pubspec.lock
+45
-21
@@ -53,10 +53,10 @@ packages:
53
dependency: transitive
54
description:
55
name: collection
56
- sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
56
+ sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
57
url: "https://pub.dev"
58
source: hosted
59
- version: "1.17.2"
59
+ version: "1.18.0"
60
convert:
61
dependency: transitive
62
description:
@@ -201,6 +201,30 @@ packages:
201
url: "https://pub.dev"
202
source: hosted
203
version: "0.6.7"
204
+ leak_tracker:
205
+ dependency: transitive
206
+ description:
207
+ name: leak_tracker
208
+ sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa"
209
+ url: "https://pub.dev"
210
+ source: hosted
211
+ version: "10.0.0"
212
+ leak_tracker_flutter_testing:
213
+ dependency: transitive
214
+ description:
215
+ name: leak_tracker_flutter_testing
216
+ sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0
217
+ url: "https://pub.dev"
218
+ source: hosted
219
+ version: "2.0.1"
220
+ leak_tracker_testing:
221
+ dependency: transitive
222
+ description:
223
+ name: leak_tracker_testing
224
+ sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47
225
+ url: "https://pub.dev"
226
+ source: hosted
227
+ version: "2.0.1"
228
lints:
229
dependency: transitive
230
description:
@@ -213,26 +237,26 @@ packages:
237
dependency: transitive
238
description:
239
name: matcher
216
- sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
240
+ sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
241
url: "https://pub.dev"
242
source: hosted
219
- version: "0.12.16"
243
+ version: "0.12.16+1"
244
material_color_utilities:
245
dependency: transitive
246
description:
247
name: material_color_utilities
224
- sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
248
+ sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
249
url: "https://pub.dev"
250
source: hosted
227
- version: "0.5.0"
251
+ version: "0.8.0"
252
meta:
253
dependency: transitive
254
description:
255
name: meta
232
- sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
256
+ sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
257
url: "https://pub.dev"
258
source: hosted
235
- version: "1.9.1"
259
+ version: "1.11.0"
260
mobx:
261
dependency: transitive
262
description:
@@ -245,10 +269,10 @@ packages:
269
dependency: transitive
270
description:
271
name: path
248
- sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
272
+ sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
273
url: "https://pub.dev"
274
source: hosted
251
- version: "1.8.3"
275
+ version: "1.9.0"
276
path_provider:
277
dependency: transitive
278
description:
@@ -362,18 +386,18 @@ packages:
386
dependency: transitive
387
description:
388
name: stack_trace
365
- sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
389
+ sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
390
url: "https://pub.dev"
391
source: hosted
368
- version: "1.11.0"
392
+ version: "1.11.1"
393
stream_channel:
394
dependency: transitive
395
description:
396
name: stream_channel
373
- sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
397
+ sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
398
url: "https://pub.dev"
399
source: hosted
376
- version: "2.1.1"
400
+ version: "2.1.2"
401
string_scanner:
402
dependency: transitive
403
description:
@@ -394,10 +418,10 @@ packages:
418
dependency: transitive
419
description:
420
name: test_api
397
- sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
421
+ sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
422
url: "https://pub.dev"
423
source: hosted
400
- version: "0.6.0"
424
+ version: "0.6.1"
425
typed_data:
426
dependency: transitive
427
description:
@@ -414,14 +438,14 @@ packages:
438
url: "https://pub.dev"
439
source: hosted
440
version: "2.1.4"
417
- web:
441
+ vm_service:
442
dependency: transitive
443
description:
420
- name: web
421
- sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10
444
+ name: vm_service
445
+ sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
446
url: "https://pub.dev"
447
source: hosted
424
- version: "0.1.4-beta"
448
+ version: "13.0.0"
449
win32:
450
dependency: transitive
451
description:
@@ -439,5 +463,5 @@ packages:
463
source: hosted
464
version: "0.2.0+3"
465
sdks:
442
- dart: ">=3.1.0-185.0.dev <4.0.0"
466
+ dart: ">=3.2.0-0 <4.0.0"
467
flutter: ">=3.7.0"
cw_monero/pubspec.lock
+49
-25
@@ -149,10 +149,10 @@ packages:
149
dependency: transitive
150
description:
151
name: collection
152
- sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
152
+ sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
153
url: "https://pub.dev"
154
source: hosted
155
- version: "1.17.2"
155
+ version: "1.18.0"
156
convert:
157
dependency: transitive
158
description:
@@ -354,6 +354,30 @@ packages:
354
url: "https://pub.dev"
355
source: hosted
356
version: "4.8.0"
357
+ leak_tracker:
358
+ dependency: transitive
359
+ description:
360
+ name: leak_tracker
361
+ sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa"
362
+ url: "https://pub.dev"
363
+ source: hosted
364
+ version: "10.0.0"
365
+ leak_tracker_flutter_testing:
366
+ dependency: transitive
367
+ description:
368
+ name: leak_tracker_flutter_testing
369
+ sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0
370
+ url: "https://pub.dev"
371
+ source: hosted
372
+ version: "2.0.1"
373
+ leak_tracker_testing:
374
+ dependency: transitive
375
+ description:
376
+ name: leak_tracker_testing
377
+ sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47
378
+ url: "https://pub.dev"
379
+ source: hosted
380
+ version: "2.0.1"
381
logging:
382
dependency: transitive
383
description:
@@ -366,26 +390,26 @@ packages:
390
dependency: transitive
391
description:
392
name: matcher
369
- sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
393
+ sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
394
url: "https://pub.dev"
395
source: hosted
372
- version: "0.12.16"
396
+ version: "0.12.16+1"
397
material_color_utilities:
398
dependency: transitive
399
description:
400
name: material_color_utilities
377
- sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
401
+ sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
402
url: "https://pub.dev"
403
source: hosted
380
- version: "0.5.0"
404
+ version: "0.8.0"
405
meta:
406
dependency: transitive
407
description:
408
name: meta
385
- sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
409
+ sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
410
url: "https://pub.dev"
411
source: hosted
388
- version: "1.9.1"
412
+ version: "1.11.0"
413
mime:
414
dependency: transitive
415
description:
@@ -422,10 +446,10 @@ packages:
446
dependency: transitive
447
description:
448
name: path
425
- sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
449
+ sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
450
url: "https://pub.dev"
451
source: hosted
428
- version: "1.8.3"
452
+ version: "1.9.0"
453
path_provider:
454
dependency: "direct main"
455
description:
@@ -595,18 +619,18 @@ packages:
619
dependency: transitive
620
description:
621
name: stack_trace
598
- sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
622
+ sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
623
url: "https://pub.dev"
624
source: hosted
601
- version: "1.11.0"
625
+ version: "1.11.1"
626
stream_channel:
627
dependency: transitive
628
description:
629
name: stream_channel
606
- sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
630
+ sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
631
url: "https://pub.dev"
632
source: hosted
609
- version: "2.1.1"
633
+ version: "2.1.2"
634
stream_transform:
635
dependency: transitive
636
description:
@@ -635,10 +659,10 @@ packages:
659
dependency: transitive
660
description:
661
name: test_api
638
- sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
662
+ sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
663
url: "https://pub.dev"
664
source: hosted
641
- version: "0.6.0"
665
+ version: "0.6.1"
666
timing:
667
dependency: transitive
668
description:
@@ -663,6 +687,14 @@ packages:
687
url: "https://pub.dev"
688
source: hosted
689
version: "2.1.4"
690
+ vm_service:
691
+ dependency: transitive
692
+ description:
693
+ name: vm_service
694
+ sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
695
+ url: "https://pub.dev"
696
+ source: hosted
697
+ version: "13.0.0"
698
watcher:
699
dependency: "direct overridden"
700
description:
@@ -671,14 +703,6 @@ packages:
703
url: "https://pub.dev"
704
source: hosted
705
version: "1.1.0"
674
- web:
675
- dependency: transitive
676
- description:
677
- name: web
678
- sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10
679
- url: "https://pub.dev"
680
- source: hosted
681
- version: "0.1.4-beta"
706
web_socket_channel:
707
dependency: transitive
708
description:
@@ -712,5 +736,5 @@ packages:
736
source: hosted
737
version: "3.1.1"
738
sdks:
715
- dart: ">=3.1.0-185.0.dev <4.0.0"
739
+ dart: ">=3.2.0-0 <4.0.0"
740
flutter: ">=3.7.0"
cw_nano/pubspec.lock
+52
-20
@@ -173,10 +173,10 @@ packages:
173
dependency: transitive
174
description:
175
name: collection
176
- sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c"
176
+ sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
177
url: "https://pub.dev"
178
source: hosted
179
- version: "1.17.1"
179
+ version: "1.18.0"
180
convert:
181
dependency: transitive
182
description:
@@ -399,6 +399,30 @@ packages:
399
url: "https://pub.dev"
400
source: hosted
401
version: "4.8.1"
402
+ leak_tracker:
403
+ dependency: transitive
404
+ description:
405
+ name: leak_tracker
406
+ sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa"
407
+ url: "https://pub.dev"
408
+ source: hosted
409
+ version: "10.0.0"
410
+ leak_tracker_flutter_testing:
411
+ dependency: transitive
412
+ description:
413
+ name: leak_tracker_flutter_testing
414
+ sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0
415
+ url: "https://pub.dev"
416
+ source: hosted
417
+ version: "2.0.1"
418
+ leak_tracker_testing:
419
+ dependency: transitive
420
+ description:
421
+ name: leak_tracker_testing
422
+ sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47
423
+ url: "https://pub.dev"
424
+ source: hosted
425
+ version: "2.0.1"
426
libcrypto:
427
dependency: "direct main"
428
description:
@@ -419,26 +443,26 @@ packages:
443
dependency: transitive
444
description:
445
name: matcher
422
- sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb"
446
+ sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
447
url: "https://pub.dev"
448
source: hosted
425
- version: "0.12.15"
449
+ version: "0.12.16+1"
450
material_color_utilities:
451
dependency: transitive
452
description:
453
name: material_color_utilities
430
- sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724
454
+ sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
455
url: "https://pub.dev"
456
source: hosted
433
- version: "0.2.0"
457
+ version: "0.8.0"
458
meta:
459
dependency: transitive
460
description:
461
name: meta
438
- sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
462
+ sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
463
url: "https://pub.dev"
464
source: hosted
441
- version: "1.9.1"
465
+ version: "1.11.0"
466
mime:
467
dependency: transitive
468
description:
@@ -492,10 +516,10 @@ packages:
516
dependency: transitive
517
description:
518
name: path
495
- sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
519
+ sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
520
url: "https://pub.dev"
521
source: hosted
498
- version: "1.8.3"
522
+ version: "1.9.0"
523
path_provider:
524
dependency: transitive
525
description:
@@ -713,26 +737,26 @@ packages:
737
dependency: transitive
738
description:
739
name: source_span
716
- sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250
740
+ sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
741
url: "https://pub.dev"
742
source: hosted
719
- version: "1.9.1"
743
+ version: "1.10.0"
744
stack_trace:
745
dependency: transitive
746
description:
747
name: stack_trace
724
- sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
748
+ sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
749
url: "https://pub.dev"
750
source: hosted
727
- version: "1.11.0"
751
+ version: "1.11.1"
752
stream_channel:
753
dependency: transitive
754
description:
755
name: stream_channel
732
- sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
756
+ sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
757
url: "https://pub.dev"
758
source: hosted
735
- version: "2.1.1"
759
+ version: "2.1.2"
760
stream_transform:
761
dependency: transitive
762
description:
@@ -761,10 +785,10 @@ packages:
785
dependency: transitive
786
description:
787
name: test_api
764
- sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb
788
+ sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
789
url: "https://pub.dev"
790
source: hosted
767
- version: "0.5.1"
791
+ version: "0.6.1"
792
timing:
793
dependency: transitive
794
description:
@@ -789,8 +813,16 @@ packages:
813
url: "https://pub.dev"
814
source: hosted
815
version: "2.1.4"
792
- watcher:
816
+ vm_service:
817
dependency: transitive
818
+ description:
819
+ name: vm_service
820
+ sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
821
+ url: "https://pub.dev"
822
+ source: hosted
823
+ version: "13.0.0"
824
+ watcher:
825
+ dependency: "direct overridden"
826
description:
827
name: watcher
828
sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8"
@@ -830,5 +862,5 @@ packages:
862
source: hosted
863
version: "3.1.2"
864
sdks:
833
- dart: ">=3.0.0 <4.0.0"
865
+ dart: ">=3.2.0-0 <4.0.0"
866
flutter: ">=3.7.0"
ios/Podfile.lock
+1
-1
@@ -307,7 +307,7 @@ SPEC CHECKSUMS:
307
Toast: ec33c32b8688982cecc6348adeae667c1b9938da
308
uni_links: d97da20c7701486ba192624d99bffaaffcfc298a
309
UnstoppableDomainsResolution: c3c67f4d0a5e2437cb00d4bd50c2e00d6e743841
310
- url_launcher_ios: 6116280ddcfe98ab8820085d8d76ae7449447586
310
+ url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe
311
wakelock_plus: 8b09852c8876491e4b6d179e17dfe2a0b5f60d47
312
workmanager: 0afdcf5628bbde6924c21af7836fed07b42e30e6
313
lib/exchange/trade.dart
+122
-16
@@ -5,9 +5,6 @@ import 'package:cw_core/format_amount.dart';
5
import 'package:cw_core/hive_type_ids.dart';
6
import 'package:hive/hive.dart';
7
8
-part 'trade.g.dart';
9
-
10
-@HiveType(typeId: Trade.typeId)
8
class Trade extends HiveObject {
9
Trade({
10
required this.id,
@@ -32,6 +29,7 @@ class Trade extends HiveObject {
29
this.txId,
30
this.isRefund,
31
this.isSendAll,
32
+ this.router,
33
}) {
34
if (provider != null) providerRaw = provider.raw;
35
@@ -121,21 +119,26 @@ class Trade extends HiveObject {
119
@HiveField(21)
120
bool? isSendAll;
121
122
+ @HiveField(22)
123
+ String? router;
124
+
125
static Trade fromMap(Map<String, Object?> map) {
126
return Trade(
126
- id: map['id'] as String,
127
- provider: ExchangeProviderDescription.deserialize(raw: map['provider'] as int),
128
- from: CryptoCurrency.deserialize(raw: map['input'] as int),
129
- to: CryptoCurrency.deserialize(raw: map['output'] as int),
130
- createdAt:
131
- map['date'] != null ? DateTime.fromMillisecondsSinceEpoch(map['date'] as int) : null,
132
- amount: map['amount'] as String,
133
- walletId: map['wallet_id'] as String,
134
- fromWalletAddress: map['from_wallet_address'] as String?,
135
- memo: map['memo'] as String?,
136
- txId: map['tx_id'] as String?,
137
- isRefund: map['isRefund'] as bool?,
138
- isSendAll: map['isSendAll'] as bool?);
127
+ id: map['id'] as String,
128
+ provider: ExchangeProviderDescription.deserialize(raw: map['provider'] as int),
129
+ from: CryptoCurrency.deserialize(raw: map['input'] as int),
130
+ to: CryptoCurrency.deserialize(raw: map['output'] as int),
131
+ createdAt:
132
+ map['date'] != null ? DateTime.fromMillisecondsSinceEpoch(map['date'] as int) : null,
133
+ amount: map['amount'] as String,
134
+ walletId: map['wallet_id'] as String,
135
+ fromWalletAddress: map['from_wallet_address'] as String?,
136
+ memo: map['memo'] as String?,
137
+ txId: map['tx_id'] as String?,
138
+ isRefund: map['isRefund'] as bool?,
139
+ isSendAll: map['isSendAll'] as bool?,
140
+ router: map['router'] as String?,
141
+ );
142
}
143
144
Map<String, dynamic> toMap() {
@@ -152,8 +155,111 @@ class Trade extends HiveObject {
155
'tx_id': txId,
156
'isRefund': isRefund,
157
'isSendAll': isSendAll,
158
+ 'router': router,
159
};
160
}
161
162
String amountFormatted() => formatAmount(amount);
163
}
164
+
165
+class TradeAdapter extends TypeAdapter<Trade> {
166
+ @override
167
+ final int typeId = Trade.typeId;
168
+
169
+ @override
170
+ Trade read(BinaryReader reader) {
171
+ final numOfFields = reader.readByte();
172
+ final fields = <int, dynamic>{};
173
+ for (int i = 0; i < numOfFields; i++) {
174
+ try {
175
+ fields[reader.readByte()] = reader.read();
176
+ } catch (_) {}
177
+ }
178
+
179
+ return Trade(
180
+ id: fields[0] == null ? '' : fields[0] as String,
181
+ amount: fields[7] == null ? '' : fields[7] as String,
182
+ createdAt: fields[5] as DateTime?,
183
+ expiredAt: fields[6] as DateTime?,
184
+ inputAddress: fields[8] as String?,
185
+ extraId: fields[9] as String?,
186
+ outputTransaction: fields[10] as String?,
187
+ refundAddress: fields[11] as String?,
188
+ walletId: fields[12] as String?,
189
+ payoutAddress: fields[13] as String?,
190
+ password: fields[14] as String?,
191
+ providerId: fields[15] as String?,
192
+ providerName: fields[16] as String?,
193
+ fromWalletAddress: fields[17] as String?,
194
+ memo: fields[18] as String?,
195
+ txId: fields[19] as String?,
196
+ isRefund: fields[20] as bool?,
197
+ isSendAll: fields[21] as bool?,
198
+ router: fields[22] as String?,
199
+ )
200
+ ..providerRaw = fields[1] == null ? 0 : fields[1] as int
201
+ ..fromRaw = fields[2] == null ? 0 : fields[2] as int
202
+ ..toRaw = fields[3] == null ? 0 : fields[3] as int
203
+ ..stateRaw = fields[4] == null ? '' : fields[4] as String;
204
+ }
205
+
206
+ @override
207
+ void write(BinaryWriter writer, Trade obj) {
208
+ writer
209
+ ..writeByte(23)
210
+ ..writeByte(0)
211
+ ..write(obj.id)
212
+ ..writeByte(1)
213
+ ..write(obj.providerRaw)
214
+ ..writeByte(2)
215
+ ..write(obj.fromRaw)
216
+ ..writeByte(3)
217
+ ..write(obj.toRaw)
218
+ ..writeByte(4)
219
+ ..write(obj.stateRaw)
220
+ ..writeByte(5)
221
+ ..write(obj.createdAt)
222
+ ..writeByte(6)
223
+ ..write(obj.expiredAt)
224
+ ..writeByte(7)
225
+ ..write(obj.amount)
226
+ ..writeByte(8)
227
+ ..write(obj.inputAddress)
228
+ ..writeByte(9)
229
+ ..write(obj.extraId)
230
+ ..writeByte(10)
231
+ ..write(obj.outputTransaction)
232
+ ..writeByte(11)
233
+ ..write(obj.refundAddress)
234
+ ..writeByte(12)
235
+ ..write(obj.walletId)
236
+ ..writeByte(13)
237
+ ..write(obj.payoutAddress)
238
+ ..writeByte(14)
239
+ ..write(obj.password)
240
+ ..writeByte(15)
241
+ ..write(obj.providerId)
242
+ ..writeByte(16)
243
+ ..write(obj.providerName)
244
+ ..writeByte(17)
245
+ ..write(obj.fromWalletAddress)
246
+ ..writeByte(18)
247
+ ..write(obj.memo)
248
+ ..writeByte(19)
249
+ ..write(obj.txId)
250
+ ..writeByte(20)
251
+ ..write(obj.isRefund)
252
+ ..writeByte(21)
253
+ ..write(obj.isSendAll)
254
+ ..writeByte(22)
255
+ ..write(obj.router);
256
+ }
257
+
258
+ @override
259
+ int get hashCode => typeId.hashCode;
260
+
261
+ @override
262
+ bool operator ==(Object other) =>
263
+ identical(this, other) ||
264
+ other is TradeAdapter && runtimeType == other.runtimeType && typeId == other.typeId;
265
+}
lib/main.dart
+27
-59
@@ -5,7 +5,6 @@ import 'package:cake_wallet/core/secure_storage.dart';
5
import 'package:cake_wallet/entities/language_service.dart';
6
import 'package:cake_wallet/buy/order.dart';
7
import 'package:cake_wallet/locales/locale.dart';
8
-import 'package:cake_wallet/store/yat/yat_store.dart';
8
import 'package:cake_wallet/utils/device_info.dart';
9
import 'package:cake_wallet/utils/exception_handler.dart';
10
import 'package:cake_wallet/view_model/link_view_model.dart';
@@ -38,7 +37,6 @@ import 'package:cake_wallet/entities/template.dart';
37
import 'package:cake_wallet/exchange/trade.dart';
38
import 'package:cake_wallet/exchange/exchange_template.dart';
39
import 'package:cake_wallet/src/screens/root/root.dart';
41
-import 'package:uni_links/uni_links.dart';
40
import 'package:cw_core/unspent_coins_info.dart';
41
import 'package:cake_wallet/monero/monero.dart';
42
import 'package:cw_core/cake_hive.dart';
@@ -46,7 +44,7 @@ import 'package:cw_core/window_size.dart';
44
45
final navigatorKey = GlobalKey<NavigatorState>();
46
final rootKey = GlobalKey<RootState>();
49
-final RouteObserver<PageRoute> routeObserver = RouteObserver<PageRoute>();
47
+final RouteObserver<PageRoute<dynamic>> routeObserver = RouteObserver<PageRoute<dynamic>>();
48
49
Future<void> main() async {
50
await runZonedGuarded(() async {
@@ -63,13 +61,38 @@ Future<void> main() async {
61
};
62
63
await setDefaultMinimumWindowSize();
66
-
64
+
65
await CakeHive.close();
66
67
await initializeAppConfigs();
68
69
runApp(App());
70
}, (error, stackTrace) async {
71
+ runApp(
72
+ MaterialApp(
73
+ debugShowCheckedModeBanner: false,
74
+ home: Scaffold(
75
+ body: SingleChildScrollView(
76
+ child: Container(
77
+ margin: EdgeInsets.only(top: 50, left: 20, right: 20, bottom: 20),
78
+ child: Column(
79
+ children: [
80
+ Text(
81
+ 'Error:\n${error.toString()}',
82
+ style: TextStyle(fontSize: 22),
83
+ ),
84
+ Text(
85
+ 'Stack trace:\n${stackTrace.toString()}',
86
+ style: TextStyle(fontSize: 16),
87
+ ),
88
+ ],
89
+ ),
90
+ ),
91
+ ),
92
+ ),
93
+ ),
94
+ );
95
+
96
ExceptionHandler.onError(FlutterErrorDetails(exception: error, stack: stackTrace));
97
});
98
}
@@ -229,61 +252,6 @@ class App extends StatefulWidget {
252
}
253
254
class AppState extends State<App> with SingleTickerProviderStateMixin {
232
- AppState() : yatStore = getIt.get<YatStore>();
233
-
234
- YatStore yatStore;
235
- StreamSubscription? stream;
236
-
237
- @override
238
- void initState() {
239
- super.initState();
240
- //_handleIncomingLinks();
241
- //_handleInitialUri();
242
- }
243
-
244
- Future<void> _handleInitialUri() async {
245
- try {
246
- final uri = await getInitialUri();
247
- print('uri: $uri');
248
- if (uri == null) {
249
- return;
250
- }
251
- if (!mounted) return;
252
- //_fetchEmojiFromUri(uri);
253
- } catch (e) {
254
- if (!mounted) return;
255
- print(e.toString());
256
- }
257
- }
258
-
259
- void _handleIncomingLinks() {
260
- if (!kIsWeb) {
261
- stream = getUriLinksStream().listen((Uri? uri) {
262
- print('uri: $uri');
263
- if (!mounted) return;
264
- //_fetchEmojiFromUri(uri);
265
- }, onError: (Object error) {
266
- if (!mounted) return;
267
- print('Error: $error');
268
- });
269
- }
270
- }
271
-
272
- void _fetchEmojiFromUri(Uri uri) {
273
- //final queryParameters = uri.queryParameters;
274
- //if (queryParameters?.isEmpty ?? true) {
275
- // return;
276
- //}
277
- //final emoji = queryParameters['eid'];
278
- //final refreshToken = queryParameters['refresh_token'];
279
- //if ((emoji?.isEmpty ?? true)||(refreshToken?.isEmpty ?? true)) {
280
- // return;
281
- //}
282
- //yatStore.emoji = emoji;
283
- //yatStore.refreshToken = refreshToken;
284
- //yatStore.emojiIncommingSC.add(emoji);
285
- }
286
-
255
@override
256
Widget build(BuildContext context) {
257
return Observer(builder: (BuildContext context) {
lib/src/screens/restore/restore_options_page.dart
+19
-1
@@ -1,3 +1,5 @@
1
+import 'dart:io';
2
+
3
import 'package:cake_wallet/core/execution_state.dart';
4
import 'package:cake_wallet/di.dart';
5
import 'package:cake_wallet/generated/i18n.dart';
@@ -13,6 +15,9 @@ import 'package:cake_wallet/utils/responsive_layout_util.dart';
15
import 'package:cake_wallet/utils/show_pop_up.dart';
16
import 'package:cake_wallet/view_model/restore/restore_from_qr_vm.dart';
17
import 'package:cake_wallet/view_model/restore/wallet_restore_from_qr_code.dart';
18
+import 'package:cake_wallet/wallet_type_utils.dart';
19
+import 'package:cw_core/hardware/device_connection_type.dart';
20
+import 'package:cw_core/wallet_type.dart';
21
import 'package:flutter/material.dart';
22
import 'package:permission_handler/permission_handler.dart';
23
@@ -24,6 +29,19 @@ class RestoreOptionsPage extends BasePage {
29
30
final bool isNewInstall;
31
32
+ bool get _doesSupportHardwareWallets {
33
+ if (!DeviceInfo.instance.isMobile) {
34
+ return false;
35
+ }
36
+
37
+ if (isMoneroOnly) {
38
+ return DeviceConnectionType.supportedConnectionTypes(WalletType.monero, Platform.isIOS)
39
+ .isNotEmpty;
40
+ }
41
+
42
+ return true;
43
+ }
44
+
45
@override
46
Widget body(BuildContext context) {
47
final imageColor = Theme.of(context).extension<OptionTileTheme>()!.titleColor;
@@ -57,7 +75,7 @@ class RestoreOptionsPage extends BasePage {
75
description: S.of(context).restore_description_from_backup,
76
),
77
),
60
- if (DeviceInfo.instance.isMobile)
78
+ if (_doesSupportHardwareWallets)
79
Padding(
80
padding: EdgeInsets.only(top: 24),
81
child: OptionTile(
lib/src/screens/root/root.dart
-4
@@ -1,10 +1,7 @@
1
import 'dart:async';
2
import 'package:cake_wallet/core/auth_service.dart';
3
import 'package:cake_wallet/core/totp_request_details.dart';
4
-import 'package:cake_wallet/generated/i18n.dart';
5
-import 'package:cake_wallet/reactions/wallet_connect.dart';
4
import 'package:cake_wallet/utils/device_info.dart';
7
-import 'package:cake_wallet/utils/payment_request.dart';
5
import 'package:cake_wallet/view_model/link_view_model.dart';
6
import 'package:cw_core/wallet_base.dart';
7
import 'package:flutter/material.dart';
@@ -13,7 +10,6 @@ import 'package:cake_wallet/src/screens/auth/auth_page.dart';
10
import 'package:cake_wallet/store/app_store.dart';
11
import 'package:cake_wallet/store/authentication_store.dart';
12
import 'package:cake_wallet/entities/qr_scanner.dart';
16
-import 'package:fluttertoast/fluttertoast.dart';
13
import 'package:mobx/mobx.dart';
14
import 'package:uni_links/uni_links.dart';
15
import 'package:cake_wallet/src/screens/setup_2fa/setup_2fa_enter_code_page.dart';
lib/view_model/hardware_wallet/ledger_view_model.dart
+18
-1
@@ -1,8 +1,12 @@
1
+import 'dart:io';
2
+
3
import 'package:cake_wallet/bitcoin/bitcoin.dart';
4
import 'package:cake_wallet/ethereum/ethereum.dart';
5
import 'package:cake_wallet/generated/i18n.dart';
6
import 'package:cake_wallet/polygon/polygon.dart';
7
import 'package:cake_wallet/utils/device_info.dart';
8
+import 'package:cake_wallet/wallet_type_utils.dart';
9
+import 'package:cw_core/hardware/device_connection_type.dart';
10
import 'package:cw_core/wallet_base.dart';
11
import 'package:cw_core/wallet_type.dart';
12
import 'package:ledger_flutter/ledger_flutter.dart';
@@ -11,8 +15,21 @@ import 'package:permission_handler/permission_handler.dart';
15
class LedgerViewModel {
16
late final Ledger ledger;
17
18
+ bool get _doesSupportHardwareWallets {
19
+ if (!DeviceInfo.instance.isMobile) {
20
+ return false;
21
+ }
22
+
23
+ if (isMoneroOnly) {
24
+ return DeviceConnectionType.supportedConnectionTypes(WalletType.monero, Platform.isIOS)
25
+ .isNotEmpty;
26
+ }
27
+
28
+ return true;
29
+ }
30
+
31
LedgerViewModel() {
15
- if (DeviceInfo.instance.isMobile) {
32
+ if (_doesSupportHardwareWallets) {
33
ledger = Ledger(
34
options: LedgerOptions(
35
scanMode: ScanMode.balanced,
scripts/android/app_env.sh
+4
-4
@@ -15,15 +15,15 @@ TYPES=($MONERO_COM $CAKEWALLET $HAVEN)
15
APP_ANDROID_TYPE=$1
16
17
MONERO_COM_NAME="Monero.com"
18
-MONERO_COM_VERSION="1.13.0"
19
-MONERO_COM_BUILD_NUMBER=86
18
+MONERO_COM_VERSION="1.13.1"
19
+MONERO_COM_BUILD_NUMBER=87
20
MONERO_COM_BUNDLE_ID="com.monero.app"
21
MONERO_COM_PACKAGE="com.monero.app"
22
MONERO_COM_SCHEME="monero.com"
23
24
CAKEWALLET_NAME="Cake Wallet"
25
-CAKEWALLET_VERSION="4.16.0"
26
-CAKEWALLET_BUILD_NUMBER=210
25
+CAKEWALLET_VERSION="4.16.1"
26
+CAKEWALLET_BUILD_NUMBER=211
27
CAKEWALLET_BUNDLE_ID="com.cakewallet.cake_wallet"
28
CAKEWALLET_PACKAGE="com.cakewallet.cake_wallet"
29
CAKEWALLET_SCHEME="cakewallet"
scripts/ios/app_env.sh
+4
-4
@@ -13,13 +13,13 @@ TYPES=($MONERO_COM $CAKEWALLET $HAVEN)
13
APP_IOS_TYPE=$1
14
15
MONERO_COM_NAME="Monero.com"
16
-MONERO_COM_VERSION="1.13.0"
17
-MONERO_COM_BUILD_NUMBER=84
16
+MONERO_COM_VERSION="1.13.1"
17
+MONERO_COM_BUILD_NUMBER=85
18
MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
19
20
CAKEWALLET_NAME="Cake Wallet"
21
-CAKEWALLET_VERSION="4.16.0"
22
-CAKEWALLET_BUILD_NUMBER=236
21
+CAKEWALLET_VERSION="4.16.1"
22
+CAKEWALLET_BUILD_NUMBER=239
23
CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
24
25
HAVEN_NAME="Haven"
scripts/macos/app_env.sh
+4
-4
@@ -16,13 +16,13 @@ if [ -n "$1" ]; then
16
fi
17
18
MONERO_COM_NAME="Monero.com"
19
-MONERO_COM_VERSION="1.3.0"
20
-MONERO_COM_BUILD_NUMBER=17
19
+MONERO_COM_VERSION="1.3.1"
20
+MONERO_COM_BUILD_NUMBER=18
21
MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
22
23
CAKEWALLET_NAME="Cake Wallet"
24
-CAKEWALLET_VERSION="1.9.0"
25
-CAKEWALLET_BUILD_NUMBER=71
24
+CAKEWALLET_VERSION="1.9.1"
25
+CAKEWALLET_BUILD_NUMBER=72
26
CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
27
28
if ! [[ " ${TYPES[*]} " =~ " ${APP_MACOS_TYPE} " ]]; then