Cw 1220 fix payjoin dependency issues (#2519)
* feat: use latest payjoin deps * build(cw_bitcoin_cash): bump required dart sdk for * chore: update PR test build workflow container image to latest version * chore: update container images in PR test build workflows to Flutter 3.29.0 * chore: update container images in PR test build workflows to Flutter 3.29.3 * chore: update uni_links dependency to latest commit hash [skip-ci] * chore: remove unused PluginRegistrantCallback implementation from Application classes * fix: CakeTor for PayJoin workers and add retry delay
Konstantin Ullrich committed
Sep 22, 2025 at 06:47 UTC
3508efb1672dedba27d16cb745dd57182af878f2
11 files changed
+82
-67
.github/workflows/pr_test_build_android.yml
+1
-1
@@ -9,7 +9,7 @@ jobs:
9
PR_test_build:
10
runs-on: linux-amd64
11
container:
12
- image: ghcr.io/cake-tech/cake_wallet:debian12-flutter3.27.4-ndkr28-go1.24.1-ruststablenightly
12
+ image: ghcr.io/cake-tech/cake_wallet:debian12-flutter3.29.3-ndkr28-go1.24.1-ruststablenightly
13
env:
14
STORE_PASS: test@cake_wallet
15
KEY_PASS: test@cake_wallet
.github/workflows/pr_test_build_linux.yml
+1
-1
@@ -9,7 +9,7 @@ jobs:
9
PR_test_build:
10
runs-on: linux-amd64
11
container:
12
- image: ghcr.io/cake-tech/cake_wallet:debian12-flutter3.27.4-ndkr28-go1.24.1-ruststablenightly
12
+ image: ghcr.io/cake-tech/cake_wallet:debian12-flutter3.29.3-ndkr28-go1.24.1-ruststablenightly
13
env:
14
STORE_PASS: test@cake_wallet
15
KEY_PASS: test@cake_wallet
android/app/src/main/java/com/cakewallet/cake_wallet/Application.java
+2
-7
@@ -1,11 +1,6 @@
1
package com.cakewallet.cake_wallet;
2
3
import io.flutter.app.FlutterApplication;
4
-import io.flutter.plugin.common.PluginRegistry;
5
-import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback;
6
-import io.flutter.plugins.GeneratedPluginRegistrant;
4
8
-public class Application extends FlutterApplication implements PluginRegistrantCallback {
9
- @Override
10
- public void registerWith(PluginRegistry registry) {}
11
-}
\ No newline at end of file
5
+public class Application extends FlutterApplication {
6
+}
android/app/src/main/java/com/cakewallet/haven/Application.java
+2
-7
@@ -1,11 +1,6 @@
1
package com.cakewallet.haven;
2
3
import io.flutter.app.FlutterApplication;
4
-import io.flutter.plugin.common.PluginRegistry;
5
-import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback;
6
-import io.flutter.plugins.GeneratedPluginRegistrant;
4
8
-public class Application extends FlutterApplication implements PluginRegistrantCallback {
9
- @Override
10
- public void registerWith(PluginRegistry registry) {}
11
-}
\ No newline at end of file
5
+public class Application extends FlutterApplication {
6
+}
android/app/src/main/java/com/monero/app/Application.java
+2
-7
@@ -1,11 +1,6 @@
1
package com.monero.app;
2
3
import io.flutter.app.FlutterApplication;
4
-import io.flutter.plugin.common.PluginRegistry;
5
-import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback;
6
-import io.flutter.plugins.GeneratedPluginRegistrant;
4
8
-public class Application extends FlutterApplication implements PluginRegistrantCallback {
9
- @Override
10
- public void registerWith(PluginRegistry registry) {}
11
-}
\ No newline at end of file
5
+public class Application extends FlutterApplication {
6
+}
cw_bitcoin/lib/payjoin/payjoin_receive_worker.dart
+3
@@ -9,6 +9,7 @@ import 'package:cw_bitcoin/payjoin/payjoin_session_errors.dart';
9
import 'package:cw_bitcoin/psbt/signer.dart';
10
import 'package:cw_core/utils/print_verbose.dart';
11
import 'package:cw_core/utils/proxy_wrapper.dart';
12
+import 'package:cw_core/utils/tor/abstract.dart';
13
import 'package:payjoin_flutter/bitcoin_ffi.dart';
14
import 'package:payjoin_flutter/common.dart';
15
import 'package:payjoin_flutter/receive.dart';
@@ -32,6 +33,7 @@ class PayjoinReceiverWorker {
33
static final client = ProxyWrapper().getHttpIOClient();
34
static Future<void> run(List<Object> args) async {
35
await pj.core.init();
36
+ CakeTor.instance = await CakeTorInstance.getInstance();
37
38
final sendPort = args[0] as SendPort;
39
final receiverJson = args[1] as String;
@@ -113,6 +115,7 @@ class PayjoinReceiverWorker {
115
final proposal = await session.processRes(
116
body: httpRequest.bodyBytes, ctx: extractReq.$2);
117
if (proposal != null) return proposal;
118
+ sleep(Duration(seconds: 2));
119
}
120
}
121
cw_bitcoin/lib/payjoin/payjoin_send_worker.dart
+3
@@ -6,6 +6,7 @@ import 'package:cw_bitcoin/payjoin/manager.dart';
6
import 'package:cw_bitcoin/payjoin/payjoin_session_errors.dart';
7
import 'package:cw_core/utils/print_verbose.dart';
8
import 'package:cw_core/utils/proxy_wrapper.dart';
9
+import 'package:cw_core/utils/tor/abstract.dart';
10
import 'package:payjoin_flutter/common.dart';
11
import 'package:payjoin_flutter/send.dart';
12
import 'package:payjoin_flutter/src/generated/frb_generated.dart' as pj;
@@ -26,6 +27,7 @@ class PayjoinSenderWorker {
27
28
static Future<void> run(List<Object> args) async {
29
await pj.core.init();
30
+ CakeTor.instance = await CakeTorInstance.getInstance();
31
32
final sendPort = args[0] as SendPort;
33
final senderJson = args[1] as String;
@@ -91,6 +93,7 @@ class PayjoinSenderWorker {
93
);
94
printV("$proposalPsbt");
95
if (proposalPsbt != null) return proposalPsbt;
96
+ sleep(Duration(seconds: 2));
97
}
98
} catch (e) {
99
rethrow;
cw_bitcoin/pubspec.lock
+64
-40
@@ -42,10 +42,10 @@ packages:
42
dependency: transitive
43
description:
44
name: async
45
- sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
45
+ sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63
46
url: "https://pub.dev"
47
source: hosted
48
- version: "2.11.0"
48
+ version: "2.12.0"
49
bbqrdart:
50
dependency: "direct main"
51
description:
@@ -119,10 +119,10 @@ packages:
119
dependency: transitive
120
description:
121
name: boolean_selector
122
- sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
122
+ sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea"
123
url: "https://pub.dev"
124
source: hosted
125
- version: "2.1.1"
125
+ version: "2.1.2"
126
bs58check:
127
dependency: transitive
128
description:
@@ -216,10 +216,10 @@ packages:
216
dependency: transitive
217
description:
218
name: characters
219
- sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
219
+ sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803
220
url: "https://pub.dev"
221
source: hosted
222
- version: "1.3.0"
222
+ version: "1.4.0"
223
checked_yaml:
224
dependency: transitive
225
description:
@@ -240,10 +240,10 @@ packages:
240
dependency: transitive
241
description:
242
name: clock
243
- sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
243
+ sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b
244
url: "https://pub.dev"
245
source: hosted
246
- version: "1.1.1"
246
+ version: "1.1.2"
247
code_builder:
248
dependency: transitive
249
description:
@@ -256,10 +256,10 @@ packages:
256
dependency: transitive
257
description:
258
name: collection
259
- sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf
259
+ sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76"
260
url: "https://pub.dev"
261
source: hosted
262
- version: "1.19.0"
262
+ version: "1.19.1"
263
convert:
264
dependency: transitive
265
description:
@@ -350,10 +350,10 @@ packages:
350
dependency: transitive
351
description:
352
name: fake_async
353
- sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
353
+ sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc"
354
url: "https://pub.dev"
355
source: hosted
356
- version: "1.3.1"
356
+ version: "1.3.2"
357
ffi:
358
dependency: "direct overridden"
359
description:
@@ -573,18 +573,18 @@ packages:
573
dependency: transitive
574
description:
575
name: leak_tracker
576
- sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06"
576
+ sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec
577
url: "https://pub.dev"
578
source: hosted
579
- version: "10.0.7"
579
+ version: "10.0.8"
580
leak_tracker_flutter_testing:
581
dependency: transitive
582
description:
583
name: leak_tracker_flutter_testing
584
- sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379"
584
+ sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
585
url: "https://pub.dev"
586
source: hosted
587
- version: "3.0.8"
587
+ version: "3.0.9"
588
leak_tracker_testing:
589
dependency: transitive
590
description:
@@ -647,10 +647,10 @@ packages:
647
dependency: transitive
648
description:
649
name: matcher
650
- sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
650
+ sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2
651
url: "https://pub.dev"
652
source: hosted
653
- version: "0.12.16+1"
653
+ version: "0.12.17"
654
material_color_utilities:
655
dependency: transitive
656
description:
@@ -663,10 +663,10 @@ packages:
663
dependency: transitive
664
description:
665
name: meta
666
- sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
666
+ sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c
667
url: "https://pub.dev"
668
source: hosted
669
- version: "1.15.0"
669
+ version: "1.16.0"
670
mime:
671
dependency: transitive
672
description:
@@ -691,6 +691,14 @@ packages:
691
url: "https://pub.dev"
692
source: hosted
693
version: "2.7.1"
694
+ mockito:
695
+ dependency: transitive
696
+ description:
697
+ name: mockito
698
+ sha256: f99d8d072e249f719a5531735d146d8cf04c580d93920b04de75bef6dfb2daf6
699
+ url: "https://pub.dev"
700
+ source: hosted
701
+ version: "5.4.5"
702
nested:
703
dependency: transitive
704
description:
@@ -720,10 +728,10 @@ packages:
728
dependency: transitive
729
description:
730
name: path
723
- sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
731
+ sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5"
732
url: "https://pub.dev"
733
source: hosted
726
- version: "1.9.0"
734
+ version: "1.9.1"
735
path_provider:
736
dependency: "direct main"
737
description:
@@ -776,9 +784,9 @@ packages:
784
dependency: "direct main"
785
description:
786
path: "."
779
- ref: da83a23f3a011cb49eb3b6513cd485b3fb8867ff
780
- resolved-ref: da83a23f3a011cb49eb3b6513cd485b3fb8867ff
781
- url: "https://github.com/OmarHatem28/payjoin-flutter"
787
+ ref: "01ba81f6d9ba063fd1902a7fd1e185c2d56f6002"
788
+ resolved-ref: "01ba81f6d9ba063fd1902a7fd1e185c2d56f6002"
789
+ url: "https://github.com/LtbLightning/payjoin-flutter"
790
source: git
791
version: "0.23.0"
792
petitparser:
@@ -992,10 +1000,10 @@ packages:
1000
dependency: transitive
1001
description:
1002
name: source_span
995
- sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
1003
+ sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c"
1004
url: "https://pub.dev"
1005
source: hosted
998
- version: "1.10.0"
1006
+ version: "1.10.1"
1007
sp_scanner:
1008
dependency: "direct main"
1009
description:
@@ -1005,22 +1013,30 @@ packages:
1013
url: "https://github.com/cake-tech/sp_scanner"
1014
source: git
1015
version: "0.0.1"
1016
+ sprintf:
1017
+ dependency: transitive
1018
+ description:
1019
+ name: sprintf
1020
+ sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23"
1021
+ url: "https://pub.dev"
1022
+ source: hosted
1023
+ version: "7.0.0"
1024
stack_trace:
1025
dependency: transitive
1026
description:
1027
name: stack_trace
1012
- sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377"
1028
+ sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1"
1029
url: "https://pub.dev"
1030
source: hosted
1015
- version: "1.12.0"
1031
+ version: "1.12.1"
1032
stream_channel:
1033
dependency: transitive
1034
description:
1035
name: stream_channel
1020
- sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
1036
+ sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d"
1037
url: "https://pub.dev"
1038
source: hosted
1023
- version: "2.1.2"
1039
+ version: "2.1.4"
1040
stream_transform:
1041
dependency: transitive
1042
description:
@@ -1033,26 +1049,26 @@ packages:
1049
dependency: transitive
1050
description:
1051
name: string_scanner
1036
- sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3"
1052
+ sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43"
1053
url: "https://pub.dev"
1054
source: hosted
1039
- version: "1.3.0"
1055
+ version: "1.4.1"
1056
term_glyph:
1057
dependency: transitive
1058
description:
1059
name: term_glyph
1044
- sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
1060
+ sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e"
1061
url: "https://pub.dev"
1062
source: hosted
1047
- version: "1.2.1"
1063
+ version: "1.2.2"
1064
test_api:
1065
dependency: transitive
1066
description:
1067
name: test_api
1052
- sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c"
1068
+ sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd
1069
url: "https://pub.dev"
1070
source: hosted
1055
- version: "0.7.3"
1071
+ version: "0.7.4"
1072
timing:
1073
dependency: transitive
1074
description:
@@ -1117,6 +1133,14 @@ packages:
1133
url: "https://github.com/bukata-sa/bc-ur-dart"
1134
source: git
1135
version: "0.1.0"
1136
+ uuid:
1137
+ dependency: transitive
1138
+ description:
1139
+ name: uuid
1140
+ sha256: a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff
1141
+ url: "https://pub.dev"
1142
+ source: hosted
1143
+ version: "4.5.1"
1144
vector_math:
1145
dependency: transitive
1146
description:
@@ -1129,10 +1153,10 @@ packages:
1153
dependency: transitive
1154
description:
1155
name: vm_service
1132
- sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b
1156
+ sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14"
1157
url: "https://pub.dev"
1158
source: hosted
1135
- version: "14.3.0"
1159
+ version: "14.3.1"
1160
watcher:
1161
dependency: "direct overridden"
1162
description:
@@ -1198,5 +1222,5 @@ packages:
1222
source: hosted
1223
version: "2.2.2"
1224
sdks:
1201
- dart: ">=3.6.2 <4.0.0"
1225
+ dart: ">=3.7.0-0 <4.0.0"
1226
flutter: ">=3.27.0"
cw_bitcoin/pubspec.yaml
+2
-2
@@ -42,8 +42,8 @@ dependencies:
42
url: https://github.com/cake-tech/bech32.git
43
payjoin_flutter:
44
git:
45
- url: https://github.com/OmarHatem28/payjoin-flutter
46
- ref: da83a23f3a011cb49eb3b6513cd485b3fb8867ff #cake-v2
45
+ url: https://github.com/LtbLightning/payjoin-flutter
46
+ ref: 01ba81f6d9ba063fd1902a7fd1e185c2d56f6002
47
ledger_flutter_plus: ^1.4.1
48
ledger_bitcoin:
49
git:
cw_bitcoin_cash/pubspec.yaml
+1
-1
@@ -6,7 +6,7 @@ author: Cake Wallet
6
homepage: https://cakewallet.com
7
8
environment:
9
- sdk: '>=2.19.0 <3.0.0'
9
+ sdk: ">=2.17.5 <3.0.0"
10
flutter: ">=1.20.0"
11
12
dependencies:
pubspec_base.yaml
+1
-1
@@ -43,7 +43,7 @@ dependencies:
43
uni_links:
44
git:
45
url: https://github.com/MrCyjaneK/uni_links
46
- ref: 8e9efa4d9beb19e4ac44009576337f1ce51c22e2
46
+ ref: 1989db3f5d625e2fffbad7b85a3b1b8c78c6dfa1
47
path: uni_links
48
lottie: ^3.3.1
49
animate_do: ^2.1.0