Revert "Revert "monero: update dependencies"" (#3115)

* Revert "Revert "monero: update dependencies (#3064)" (#3114)" This reverts commit 2d034091ffc95dc36530d23cb0cce401b19db9bf. * bump: moneroc * fix: macos builds --------- Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>

Omar Hatem committed Mar 25, 2026 at 21:25 UTC 3917e55f46fea70f81b80949d5ed886be5a0d819
32 files changed +163 -139
.github/workflows/pr_test_build_linux.yml
+10 -7
@@ -113,12 +113,15 @@ jobs:
113
114 - name: Build monero_c
115 run: |
116 - mkdir -p scripts/monero_c
117 - pushd scripts/monero_c
118 - wget https://github.com/MrCyjaneK/monero_c/releases/download/v0.18.4.0-RC9/release-bundle.zip
119 - unzip release-bundle.zip
120 - rm release-bundle.zip
121 - unxz -fv release/*/*.xz
116 + ./scripts/prepare_moneroc.sh
117 + mkdir -p scripts/monero_c/release
118 + pushd scripts/monero_c/release
119 + mkdir -p $(git describe --tags)
120 + pushd $(git describe --tags)
121 + wget https://github.com/MrCyjaneK/monero_c/releases/download/v0.18.4.6-RC1/release-bundle.zip
122 + unzip release-bundle.zip
123 + rm release-bundle.zip
124 + popd
125 popd
126
127 - name: Execute Build and Setup Commands
@@ -218,7 +221,7 @@ jobs:
221 exec timeout --signal=SIGKILL 900 flutter drive --driver=test_driver/integration_test.dart --target=integration_test/test_suites/restore_wallet_through_seeds_flow_test.dart
222 - name: Test [cw_monero]
223 timeout-minutes: 15
221 - run: cd cw_monero && flutter test --verbose
224 + run: cd cw_monero && flutter test
225 - name: Stop screen recording, encrypt and upload
226 if: always()
227 run: |
android/app/src/main/jniLibs/.gitignore new
+1
@@ -0,0 +1 @@
1 +lib*_wallet2_api_c.so
android/app/src/main/jniLibs/arm64-v8a/libmonero_libwallet2_api_c.so deleted
-1
@@ -1 +0,0 @@
1 -../../../../../../scripts/monero_c/release/monero/aarch64-linux-android_libwallet2_api_c.so
\ No newline at end of file
android/app/src/main/jniLibs/arm64-v8a/libwownero_libwallet2_api_c.so deleted
-1
@@ -1 +0,0 @@
1 -../../../../../../scripts/monero_c/release/wownero/aarch64-linux-android_libwallet2_api_c.so
\ No newline at end of file
android/app/src/main/jniLibs/arm64-v8a/libzano_libwallet2_api_c.so deleted
-1
@@ -1 +0,0 @@
1 -../../../../../../scripts/monero_c/release/zano/aarch64-linux-android_libwallet2_api_c.so
\ No newline at end of file
android/app/src/main/jniLibs/armeabi-v7a/libmonero_libwallet2_api_c.so deleted
-1
@@ -1 +0,0 @@
1 -../../../../../../scripts/monero_c/release/monero/armv7a-linux-androideabi_libwallet2_api_c.so
\ No newline at end of file
android/app/src/main/jniLibs/armeabi-v7a/libwownero_libwallet2_api_c.so deleted
-1
@@ -1 +0,0 @@
1 -../../../../../../scripts/monero_c/release/wownero/armv7a-linux-androideabi_libwallet2_api_c.so
\ No newline at end of file
android/app/src/main/jniLibs/armeabi-v7a/libzano_libwallet2_api_c.so deleted
-1
@@ -1 +0,0 @@
1 -../../../../../../scripts/monero_c/release/zano/armv7a-linux-androideabi_libwallet2_api_c.so
\ No newline at end of file
android/app/src/main/jniLibs/x86_64/libmonero_libwallet2_api_c.so deleted
-1
@@ -1 +0,0 @@
1 -../../../../../../scripts/monero_c/release/monero/x86_64-linux-android_libwallet2_api_c.so
\ No newline at end of file
android/app/src/main/jniLibs/x86_64/libwownero_libwallet2_api_c.so deleted
-1
@@ -1 +0,0 @@
1 -../../../../../../scripts/monero_c/release/wownero/x86_64-linux-android_libwallet2_api_c.so
\ No newline at end of file
android/app/src/main/jniLibs/x86_64/libzano_libwallet2_api_c.so deleted
-1
@@ -1 +0,0 @@
1 -../../../../../../scripts/monero_c/release/zano/x86_64-linux-android_libwallet2_api_c.so
\ No newline at end of file
cw_monero/pubspec.lock
+2 -2
@@ -582,8 +582,8 @@ packages:
582 dependency: "direct main"
583 description:
584 path: "impls/monero.dart"
585 - ref: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
586 - resolved-ref: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
585 + ref: bc8d1a0b75b97156d71579581b4cdfe58c777ed2
586 + resolved-ref: bc8d1a0b75b97156d71579581b4cdfe58c777ed2
587 url: "https://github.com/mrcyjanek/monero_c"
588 source: git
589 version: "0.0.0"
cw_monero/pubspec.yaml
+1 -2
@@ -26,7 +26,7 @@ dependencies:
26 monero:
27 git:
28 url: https://github.com/mrcyjanek/monero_c
29 - ref: 411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29
29 + ref: bc8d1a0b75b97156d71579581b4cdfe58c777ed2
30 path: impls/monero.dart
31 mutex: ^3.1.0
32 ledger_flutter_plus: ^1.4.1
@@ -54,7 +54,6 @@ flutter:
54 # be modified. They are used by the tooling to maintain consistency when
55 # adding or updating assets for this project.
56
57 -
57 # To add assets to your plugin package, add an assets section, like this:
58 # assets:
59 # - images/a_dot_burr.jpeg
cw_monero/test/monero_wallet_service_test.dart
+2 -2
@@ -18,7 +18,7 @@ import 'utils/setup_monero_c.dart';
18 Future<void> main() async {
19 group("MoneroWalletService Tests", () {
20 late MoneroWalletService walletService;
21 - late File moneroCBinary;
21 + File? moneroCBinary;
22
23 setUpAll(() async {
24 await initDb(pathOverride: './test/data/db');
@@ -34,7 +34,7 @@ Future<void> main() async {
34
35 tearDownAll(() {
36 Directory('./test/data').deleteSync(recursive: true);
37 - moneroCBinary.deleteSync();
37 + moneroCBinary!.deleteSync();
38 });
39
40 group("Create wallet", () {
cw_monero/test/utils/setup_monero_c.dart
+20 -9
@@ -1,16 +1,27 @@
1 import 'dart:io';
2 +import 'package:path/path.dart' as p;
3
4 File getMoneroCBinary() {
4 - if (Platform.isWindows)
5 - return File(
6 - '../scripts/monero_c/release/monero/x86_64-w64-mingw32_libwallet2_api_c.dll');
7 - if (Platform.isMacOS) return File('../macos/monero_libwallet2_api_c.dylib');
8 - return File('../scripts/monero_c/release/monero/x86_64-linux-gnu_libwallet2_api_c.so');
5 + final baseDir = Directory('../scripts/monero_c/release');
6 +
7 + final versionDir =
8 + baseDir.listSync().whereType<Directory>().map((d) => d.path).firstWhere(
9 + (path) => p.basename(path).startsWith('v'),
10 + );
11 +
12 + if (Platform.isWindows) {
13 + return File(p.join(
14 + versionDir, 'x86_64-w64-mingw32', 'libmonero_wallet2_api_c.dll'));
15 + }
16 + if (Platform.isMacOS) {
17 + return File(p.join(versionDir, 'macos', 'libmonero_wallet2_api_c.dylib'));
18 + }
19 + return File(
20 + p.join(versionDir, 'x86_64-linux-gnu', 'libmonero_wallet2_api_c.so'));
21 }
22
23 String get moneroCBinaryName {
12 - if (Platform.isWindows)
13 - return "monero_libwallet2_api_c.dll";
14 - if (Platform.isMacOS) return "monero_libwallet2_api_c.dylib";
15 - return "/usr/lib/monero_libwallet2_api_c.so";
24 + if (Platform.isWindows) return "libmonero_wallet2_api_c.dll";
25 + if (Platform.isMacOS) return "libmonero_wallet2_api_c.dylib";
26 + return "/usr/lib/libmonero_wallet2_api_c.so";
27 }
cw_wownero/pubspec.lock
+2 -2
@@ -502,8 +502,8 @@ packages:
502 dependency: "direct main"
503 description:
504 path: "impls/monero.dart"
505 - ref: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
506 - resolved-ref: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
505 + ref: bc8d1a0b75b97156d71579581b4cdfe58c777ed2
506 + resolved-ref: bc8d1a0b75b97156d71579581b4cdfe58c777ed2
507 url: "https://github.com/mrcyjanek/monero_c"
508 source: git
509 version: "0.0.0"
cw_wownero/pubspec.yaml
+1 -2
@@ -24,7 +24,7 @@ dependencies:
24 monero:
25 git:
26 url: https://github.com/mrcyjanek/monero_c
27 - ref: 411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29 # monero_c hash
27 + ref: bc8d1a0b75b97156d71579581b4cdfe58c777ed2 # monero_c hash
28 path: impls/monero.dart
29 mutex: ^3.1.0
30
@@ -49,7 +49,6 @@ flutter:
49 # be modified. They are used by the tooling to maintain consistency when
50 # adding or updating assets for this project.
51
52 -
52 # To add assets to your plugin package, add an assets section, like this:
53 # assets:
54 # - images/a_dot_burr.jpeg
cw_zano/pubspec.lock
+2 -2
@@ -507,8 +507,8 @@ packages:
507 dependency: "direct main"
508 description:
509 path: "impls/monero.dart"
510 - ref: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
511 - resolved-ref: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
510 + ref: bc8d1a0b75b97156d71579581b4cdfe58c777ed2
511 + resolved-ref: bc8d1a0b75b97156d71579581b4cdfe58c777ed2
512 url: "https://github.com/mrcyjanek/monero_c"
513 source: git
514 version: "0.0.0"
cw_zano/pubspec.yaml
+1 -2
@@ -25,7 +25,7 @@ dependencies:
25 monero:
26 git:
27 url: https://github.com/mrcyjanek/monero_c
28 - ref: 411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29 # monero_c hash
28 + ref: bc8d1a0b75b97156d71579581b4cdfe58c777ed2 # monero_c hash
29 path: impls/monero.dart
30 dev_dependencies:
31 flutter_test:
@@ -38,7 +38,6 @@ dev_dependencies:
38 dependency_overrides:
39 watcher: ^1.1.0
40
41 -
41 # For information on the generic Dart part of this file, see the
42 # following page: https://dart.dev/tools/pub/pubspec
43
linux/CMakeLists.txt
+29 -6
@@ -113,14 +113,37 @@ else()
113 set(LIB_TRIPLET "x86_64-linux-gnu")
114 endif()
115
116 -install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../scripts/zcash_lib/target/release/libwarp_api_ffi.so" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" RENAME "libwarp_api_ffi.so"
117 - COMPONENT Runtime)
116 +execute_process(
117 + COMMAND git describe --tags
118 + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/monero_c
119 + OUTPUT_VARIABLE MONERO_C_TAG
120 + OUTPUT_STRIP_TRAILING_WHITESPACE
121 +)
122
119 -install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../scripts/monero_c/release/monero/${LIB_TRIPLET}_libwallet2_api_c.so" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" RENAME "monero_libwallet2_api_c.so"
120 - COMPONENT Runtime)
123 +set(MONERO_C_RELEASE_DIR
124 + "${CMAKE_CURRENT_SOURCE_DIR}/../scripts/monero_c/release/${MONERO_C_TAG}/${LIB_TRIPLET}"
125 +)
126
122 -install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../scripts/monero_c/release/wownero/${LIB_TRIPLET}_libwallet2_api_c.so" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" RENAME "wownero_libwallet2_api_c.so"
123 - COMPONENT Runtime)
127 +install(
128 + FILES "${CMAKE_CURRENT_SOURCE_DIR}/../scripts/zcash_lib/target/release/libwarp_api_ffi.so"
129 + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
130 + RENAME "libwarp_api_ffi.so"
131 + COMPONENT Runtime
132 +)
133 +
134 +install(
135 + FILES "${MONERO_C_RELEASE_DIR}/libmonero_wallet2_api_c.so"
136 + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
137 + RENAME "libmonero_wallet2_api_c.so"
138 + COMPONENT Runtime
139 +)
140 +
141 +install(
142 + FILES "${MONERO_C_RELEASE_DIR}/libwownero_wallet2_api_c.so"
143 + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
144 + RENAME "libwownero_wallet2_api_c.so"
145 + COMPONENT Runtime
146 +)
147
148 install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}"
149 COMPONENT Runtime)
macos/.gitignore
+1
@@ -5,3 +5,4 @@
5 # Xcode-related
6 **/dgph
7 **/xcuserdata/
8 +*.dylib
macos/Podfile.lock
+24 -24
@@ -167,34 +167,34 @@ EXTERNAL SOURCES:
167 :path: Flutter/ephemeral/.symlinks/plugins/wakelock_plus/macos
168
169 SPEC CHECKSUMS:
170 - bitbox_flutter: 16088f5c7febacf894f4d07bbdfb441c9f0757fe
171 - breez_sdk_spark_flutter: 2e864a52e699546aedea3d64d0e0cc88bc0ac595
172 - connectivity_plus: 0a976dfd033b59192912fa3c6c7b54aab5093802
173 - cw_mweb: 7440b12ead811dda972a9918442ea2a458e8742c
174 - device_info_plus: 5401765fde0b8d062a2f8eb65510fb17e77cf07f
175 - devicelocale: 9f0f36ac651cabae2c33f32dcff4f32b61c38225
170 + bitbox_flutter: b3c6d3c4970b134a78a17fddef0ef429cfec2593
171 + breez_sdk_spark_flutter: b7826ff465c65d620a03560c28c384f44c2dc383
172 + connectivity_plus: 4adf20a405e25b42b9c9f87feff8f4b6fde18a4e
173 + cw_mweb: 4746a3b5cc5bd4afe6fadd2481c4f7b239e391d0
174 + device_info_plus: b0fafc687fb901e2af612763340f1b0d4352f8e5
175 + devicelocale: 456a07c045d3113938aa4983065bd8526e2af792
176 dnssec_proof: d461cac7bd3301eb7447f87936745a0c1ae0a67e
177 - fast_scanner: d31bae07e2653403a69dac99fb710c1722b16a97
178 - file_selector_macos: cc3858c981fe6889f364731200d6232dac1d812d
179 - flutter_inappwebview_macos: bdf207b8f4ebd58e86ae06cd96b147de99a67c9b
180 - flutter_local_authentication: 85674893931e1c9cfa7c9e4f5973cb8c56b018b0
181 - flutter_local_notifications: 4ccab5b7a22835214a6672e3f9c5e8ae207dab36
182 - flutter_secure_storage_macos: d56e2d218c1130b262bef8b4a7d64f88d7f9c9ea
177 + fast_scanner: a4ead8e56f185cd565e25250fdb97fa669ea1d2e
178 + file_selector_macos: 6280b52b459ae6c590af5d78fc35c7267a3c4b31
179 + flutter_inappwebview_macos: c2d68649f9f8f1831bfcd98d73fd6256366d9d1d
180 + flutter_local_authentication: 2f9a2682f498abcc12d7e9729b5007a947170fdc
181 + flutter_local_notifications: 4bf37a31afde695b56091b4ae3e4d9c7a7e6cda0
182 + flutter_secure_storage_macos: 3dacac420d84c4d0dc5e868194ee43c8664ec797
183 FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
184 - in_app_review: 866c9b17c87a7b46a395bda43f5d3ca02deb585a
184 + in_app_review: 66e7680752b632d83f4f0e88b34d52ed303fbff4
185 OrderedSet: e539b66b644ff081c73a262d24ad552a69be3a94
186 - package_info_plus: 12f1c5c2cfe8727ca46cbd0b26677728972d9a5b
187 - path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
188 - share_plus: 1fa619de8392a4398bfaf176d441853922614e89
189 - shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78
190 - sp_scanner: 269d96e0ec3173e69156be7239b95182be3b8303
191 - sqflite_darwin: 5a7236e3b501866c1c9befc6771dfd73ffb8702d
186 + package_info_plus: f0052d280d17aa382b932f399edf32507174e870
187 + path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564
188 + share_plus: 510bf0af1a42cd602274b4629920c9649c52f4cc
189 + shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7
190 + sp_scanner: d9316427b628dd86d6e9e3c5d42ed6b4b410157c
191 + sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0
192 sqlite3: 73513155ec6979715d3904ef53a8d68892d4032b
193 - sqlite3_flutter_libs: 86f82662868ee26ff3451f73cac9c5fc2a1f57fa
194 - torch_dart: 2e94855e15fcc87bd824e179f1f9c3e0f1e1d302
195 - universal_ble: cf52a7b3fd2e7c14d6d7262e9fdadb72ab6b88a6
196 - url_launcher_macos: c82c93949963e55b228a30115bd219499a6fe404
197 - wakelock_plus: 9d63063ffb7af1c215209769067c57103bde719d
193 + sqlite3_flutter_libs: 83f8e9f5b6554077f1d93119fe20ebaa5f3a9ef1
194 + torch_dart: 7e4f682c34ee0d967a35977102590094a7510c90
195 + universal_ble: ff19787898040d721109c6324472e5dd4bc86adc
196 + url_launcher_macos: 0fba8ddabfc33ce0a9afe7c5fef5aab3d8d2d673
197 + wakelock_plus: 917609be14d812ddd9e9528876538b2263aaa03b
198
199 PODFILE CHECKSUM: 65ec1541137fb5b35d00490dec1bb48d4d9586bb
200
macos/Runner.xcodeproj/project.pbxproj
+8 -8
@@ -28,8 +28,8 @@
28 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; };
29 83FF6BF911B29965D3589BE7 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BD06F8F6E3797AC031038136 /* Pods_Runner.framework */; };
30 9F565D5929954F53009A75FB /* secRandom.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F565D5729954F53009A75FB /* secRandom.swift */; };
31 - CE75FC4A2C147EBA00CCC46E /* wownero_libwallet2_api_c.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE75FC492C147EBA00CCC46E /* wownero_libwallet2_api_c.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
32 - CED5DBE42BE59BBF0065028F /* monero_libwallet2_api_c.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = CED5DBE32BE59BBF0065028F /* monero_libwallet2_api_c.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
31 + CE5899C52F71669A008E754F /* libwownero_wallet2_api_c.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE5899C32F71669A008E754F /* libwownero_wallet2_api_c.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
32 + CE5899C62F71669A008E754F /* libmonero_wallet2_api_c.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE5899C42F71669A008E754F /* libmonero_wallet2_api_c.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
33 /* End PBXBuildFile section */
34
35 /* Begin PBXContainerItemProxy section */
@@ -59,8 +59,8 @@
59 dstPath = "";
60 dstSubfolderSpec = 10;
61 files = (
62 - CE75FC4A2C147EBA00CCC46E /* wownero_libwallet2_api_c.dylib in CopyFiles */,
63 - CED5DBE42BE59BBF0065028F /* monero_libwallet2_api_c.dylib in CopyFiles */,
62 + CE5899C52F71669A008E754F /* libwownero_wallet2_api_c.dylib in CopyFiles */,
63 + CE5899C62F71669A008E754F /* libmonero_wallet2_api_c.dylib in CopyFiles */,
64 );
65 runOnlyForDeploymentPostprocessing = 0;
66 };
@@ -90,8 +90,8 @@
90 9F1E7BFB2BF2D27500C28C9A /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = "<group>"; };
91 9F565D5729954F53009A75FB /* secRandom.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = secRandom.swift; path = CakeWallet/secRandom.swift; sourceTree = "<group>"; };
92 BD06F8F6E3797AC031038136 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
93 - CE75FC492C147EBA00CCC46E /* wownero_libwallet2_api_c.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; path = wownero_libwallet2_api_c.dylib; sourceTree = "<group>"; };
94 - CED5DBE32BE59BBF0065028F /* monero_libwallet2_api_c.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; path = monero_libwallet2_api_c.dylib; sourceTree = "<group>"; };
93 + CE5899C32F71669A008E754F /* libwownero_wallet2_api_c.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; path = libwownero_wallet2_api_c.dylib; sourceTree = "<group>"; };
94 + CE5899C42F71669A008E754F /* libmonero_wallet2_api_c.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; path = libmonero_wallet2_api_c.dylib; sourceTree = "<group>"; };
95 /* End PBXFileReference section */
96
97 /* Begin PBXFrameworksBuildPhase section */
@@ -120,8 +120,8 @@
120 33CC10E42044A3C60003C045 = {
121 isa = PBXGroup;
122 children = (
123 - CE75FC492C147EBA00CCC46E /* wownero_libwallet2_api_c.dylib */,
124 - CED5DBE32BE59BBF0065028F /* monero_libwallet2_api_c.dylib */,
123 + CE5899C42F71669A008E754F /* libmonero_wallet2_api_c.dylib */,
124 + CE5899C32F71669A008E754F /* libwownero_wallet2_api_c.dylib */,
125 9F565D5729954F53009A75FB /* secRandom.swift */,
126 33FAB671232836740065AC1E /* Runner */,
127 33CEB47122A05771004F2AC0 /* Flutter */,
macos/monero_libwallet2_api_c.dylib deleted
-1
@@ -1 +0,0 @@
1 -../scripts/monero_c/release/monero/host-apple-darwin_libwallet2_api_c.dylib
\ No newline at end of file
macos/wownero_libwallet2_api_c.dylib deleted
-1
@@ -1 +0,0 @@
1 -../scripts/monero_c/release/wownero/host-apple-darwin_libwallet2_api_c.dylib
\ No newline at end of file
scripts/android/build_monero_all.sh
+21 -3
@@ -1,7 +1,7 @@
1 #!/bin/bash
2 source "$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)/functions.sh"
3
4 -# Usage: env USE_DOCKER= ./build_all.sh
4 +# Usage: env USE_DOCKER= ./build_all.sh
5
6 set -x -e
7
@@ -12,15 +12,33 @@ cd "$(dirname "$0")"
12 for COIN in monero wownero zano;
13 do
14 pushd ../monero_c
15 + monero_c_tag=$(git describe --tags)
16 for target in {x86_64,aarch64}-linux-android armv7a-linux-androideabi
17 do
17 - if [[ -f "release/${COIN}/${target}_libwallet2_api_c.so" ]];
18 + if [[ -f "release/${monero_c_tag}/${target}/${COIN}_libwallet2_api_c.so" ]];
19 then
20 echo "file exist, not building monero_c for ${COIN}/$target.";
21 else
22 ./build_single.sh ${COIN} $target -j$MAKE_JOB_COUNT
22 - unxz -f ../monero_c/release/${COIN}/${target}_libwallet2_api_c.so.xz
23 fi
24 +
25 + case $target in
26 + x86_64-linux-android)
27 + mkdir -p ../../android/app/src/main/jniLibs/x86_64 || true
28 + cp ../monero_c/release/${monero_c_tag}/${target}/lib${COIN}_wallet2_api_c.so ../../android/app/src/main/jniLibs/x86_64/
29 + ;;
30 + armv7a-linux-androideabi)
31 + mkdir -p ../../android/app/src/main/jniLibs/armeabi-v7a || true
32 + cp ../monero_c/release/${monero_c_tag}/${target}/lib${COIN}_wallet2_api_c.so ../../android/app/src/main/jniLibs/armeabi-v7a/
33 + ;;
34 + aarch64-linux-android)
35 + mkdir -p ../../android/app/src/main/jniLibs/arm64-v8a || true
36 + cp ../monero_c/release/${monero_c_tag}/${target}/lib${COIN}_wallet2_api_c.so ../../android/app/src/main/jniLibs/arm64-v8a/
37 + ;;
38 + *)
39 + echo "Unsupported target: $target"
40 + exit 1;
41 + esac
42 done
43 popd
44 done
scripts/ios/build_monero_all.sh
+3 -11
@@ -1,5 +1,5 @@
1 #!/bin/sh
2 -source "$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)/functions.sh"
2 +source "$(cd "$(dirname "$0")/.." && pwd)/functions.sh"
3
4 . ./config.sh
5 # ./install_missing_headers.sh
@@ -19,16 +19,8 @@ for COIN in monero wownero zano;
19 do
20 pushd ../monero_c
21 ./build_single.sh ${COIN} aarch64-apple-ios -j$MAKE_JOB_COUNT
22 - ./build_single.sh ${COIN} aarch64-apple-iossimulator -j$MAKE_JOB_COUNT
22 + ./build_single.sh ${COIN} aarch64-apple-ios-simulator -j$MAKE_JOB_COUNT
23 popd
24 done
25
26 -unxz -fk ../monero_c/release/monero/aarch64-apple-ios_libwallet2_api_c.dylib.xz
27 -unxz -fk ../monero_c/release/wownero/aarch64-apple-ios_libwallet2_api_c.dylib.xz
28 -unxz -fk ../monero_c/release/zano/aarch64-apple-ios_libwallet2_api_c.dylib.xz
29 -
30 -unxz -fk ../monero_c/release/monero/aarch64-apple-iossimulator_libwallet2_api_c.dylib.xz
31 -unxz -fk ../monero_c/release/wownero/aarch64-apple-iossimulator_libwallet2_api_c.dylib.xz
32 -unxz -fk ../monero_c/release/zano/aarch64-apple-iossimulator_libwallet2_api_c.dylib.xz
33 -
34 -./gen_framework.sh
\ No newline at end of file
26 +./gen_framework.sh
scripts/ios/gen_framework.sh
+6 -5
@@ -2,7 +2,8 @@
2 set -e
3
4 IOS_DIR="$(pwd)/../../ios"
5 -DYLIB_PATH="$(pwd)/../../scripts/monero_c/release"
5 +monero_c_tag=$(cd $(pwd)/../../scripts/monero_c/; git describe --tags)
6 +DYLIB_PATH="$(pwd)/../../scripts/monero_c/release/${monero_c_tag}/"
7 TMP_DIR="${IOS_DIR}/tmp"
8
9 rm -rf "${IOS_DIR:?}/MoneroWallet.xcframework" "${IOS_DIR:?}/WowneroWallet.xcframework" "${IOS_DIR:?}/ZanoWallet.xcframework"
@@ -16,7 +17,7 @@ write_info_plist() {
17 target="$3"
18 plist_path="${framework_bundle}/Info.plist"
19
19 - if [[ "x$target" = "xiossimulator" ]]; then
20 + if [[ "x$target" = "xios-simulator" ]]; then
21 platform="iPhoneSimulator"
22 dtplatformname="iphonesimulator"
23 dtsdkname="iphonesimulator17.4"
@@ -97,11 +98,11 @@ create_framework() {
98 echo "Creating ${framework_name}.framework for target ${target} in ${out_dir}..."
99
100 framework_bundle="${out_dir}/${framework_name}.framework"
100 -
101 +
102 rm -rf "$framework_bundle"
103 mkdir -p "$framework_bundle"
104
104 - input_dylib="${DYLIB_PATH}/${wallet}/aarch64-apple-${target}_libwallet2_api_c.dylib"
105 + input_dylib="${DYLIB_PATH}/aarch64-apple-${target}/lib${wallet}_wallet2_api_c.dylib"
106 if [[ ! -f "$input_dylib" ]]; then
107 echo "Error: Input dylib not found: $input_dylib"
108 exit 1
@@ -144,7 +145,7 @@ for i in "${!wallets[@]}"; do
145 mkdir -p "$device_out" "$simulator_out"
146
147 create_framework "$wallet" "$framework_name" "ios" "$device_out"
147 - create_framework "$wallet" "$framework_name" "iossimulator" "$simulator_out"
148 + create_framework "$wallet" "$framework_name" "ios-simulator" "$simulator_out"
149
150 device_framework="${device_out}/${framework_name}.framework"
151 simulator_framework="${simulator_out}/${framework_name}.framework"
scripts/linux/build_monero_all.sh
+3 -9
@@ -16,13 +16,7 @@ do
16 else
17 target="x86_64-linux-gnu"
18 fi
19 -
20 - if [[ -f "release/${COIN}/${target}_libwallet2_api_c.so" ]];
21 - then
22 - echo "file exist, not building monero_c for ${COIN}/$target.";
23 - else
24 - ./build_single.sh ${COIN} $target -j$MAKE_JOB_COUNT
25 - unxz -f ../monero_c/release/${COIN}/${target}_libwallet2_api_c.so.xz
26 - fi
19 +
20 + ./build_single.sh ${COIN} $target -j$MAKE_JOB_COUNT
21 popd
28 -done
\ No newline at end of file
22 +done
scripts/macos/build_monero_all.sh
+18 -21
@@ -2,14 +2,14 @@
2 set -x -e
3
4 cd "$(dirname "$0")"
5 +../prepare_moneroc.sh
6
7 NPROC="-j$(sysctl -n hw.logicalcpu)"
8 MONERO_LIBS=""
9 WOWNERO_LIBS=""
9 -MONEROC_RELEASE_DIR="../monero_c/release/monero"
10 -WOWNEROC_RELEASE_DIR="../monero_c/release/wownero"
10 +monero_c_tag=$(cd ../monero_c/; git describe --tags)
11 +MONEROC_RELEASE_DIR="../monero_c/release/${monero_c_tag}"
12
12 -../prepare_moneroc.sh
13
14 # NOTE: -j1 is intentional. Otherwise you will run into weird behaviour on macos
15 if [[ ! "x$USE_DOCKER" == "x" ]];
@@ -22,29 +22,26 @@ then
22 popd
23 done
24 else
25 - ARCHS=(x86_64 arm64)
25 + ARCHS=(x86_64 arm64)
26 for COIN in monero wownero;
27 do
28 MONERO_LIBS=""
29 WOWNERO_LIBS=""
30 - for ARCH in "${ARCHS[@]}";
31 - do
32 - if [[ "$ARCH" == "arm64" ]]; then
33 - HOST="aarch64-apple-darwin"
34 - else
35 - HOST="x86_64-apple-darwin"
36 - fi
37 -
38 - MONERO_LIBS="$MONERO_LIBS -arch ${ARCH} ${MONEROC_RELEASE_DIR}/${HOST}_libwallet2_api_c.dylib"
39 - WOWNERO_LIBS="$WOWNERO_LIBS -arch ${ARCH} ${WOWNEROC_RELEASE_DIR}/${HOST}_libwallet2_api_c.dylib"
40 -
41 - pushd ../monero_c
30 + for ARCH in "${ARCHS[@]}";
31 + do
32 + if [[ "$ARCH" == "arm64" ]]; then
33 + HOST="aarch64-apple-darwin"
34 + else
35 + HOST="x86_64-apple-darwin"
36 + fi
37 + MONERO_LIBS="$MONERO_LIBS -arch ${ARCH} ${MONEROC_RELEASE_DIR}/${HOST}/libmonero_wallet2_api_c.dylib"
38 + WOWNERO_LIBS="$WOWNERO_LIBS -arch ${ARCH} ${MONEROC_RELEASE_DIR}/${HOST}/libwownero_wallet2_api_c.dylib"
39 + pushd ../monero_c
40 ./build_single.sh ${COIN} ${HOST} -j$MAKE_JOB_COUNT
43 - unxz -f ./release/${COIN}/${HOST}_libwallet2_api_c.dylib.xz
44 - popd
45 - done
41 + popd
42 + done
43 done
44 fi
45
49 -lipo -create ${MONERO_LIBS} -output "${MONEROC_RELEASE_DIR}/host-apple-darwin_libwallet2_api_c.dylib"
50 -lipo -create ${WOWNERO_LIBS} -output "${WOWNEROC_RELEASE_DIR}/host-apple-darwin_libwallet2_api_c.dylib"
46 +lipo -create ${MONERO_LIBS} -output "${MONEROC_RELEASE_DIR}/../../../../macos/libmonero_wallet2_api_c.dylib"
47 +lipo -create ${WOWNERO_LIBS} -output "${MONEROC_RELEASE_DIR}/../../../../macos/libwownero_wallet2_api_c.dylib"
scripts/prepare_moneroc.sh
+7 -8
@@ -9,18 +9,17 @@ then
9 rm -rf monero_c
10 git clone https://github.com/mrcyjanek/monero_c --branch master monero_c
11 cd monero_c
12 - # NOTE: Make sure to update monero_c prebuilds link in workflow files
13 - # https://github.com/MrCyjaneK/monero_c/releases/download/v0.18.4.0-RC9/release-bundle.zip
14 - git checkout 411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29
15 - git reset --hard
16 - git submodule update --init --force --recursive
17 - ./apply_patches.sh monero
18 - ./apply_patches.sh wownero
19 - ./apply_patches.sh zano
12 else
13 cd monero_c
14 fi
15
16 +# NOTE: Make sure to update monero_c prebuilds link in workflow files
17 +# https://github.com/MrCyjaneK/monero_c/releases/download/v0.18.4.6-RC1/release-bundle.zip
18 +git fetch -a
19 +git checkout bc8d1a0b75b97156d71579581b4cdfe58c777ed2
20 +git reset --hard
21 +git submodule update --init --force --recursive
22 +
23 for coin in monero wownero zano;
24 do
25 if [[ ! -f "$coin/.patch-applied" ]];
tool/download_moneroc_prebuilds.dart
+1 -3
@@ -20,13 +20,11 @@ final List<String> triplets = [
20 "x86_64-w64-mingw32",
21 // "x86_64-apple-darwin11", // Intel macbooks (contrib) - not used by cake
22 // "aarch64-apple-darwin11", // apple silicon macbooks (contrib) - not used by cake
23 - // "host-apple-darwin", // not available on CI (yet)
23 // "x86_64-host-apple-darwin", // not available on CI (yet)
24 "aarch64-apple-darwin", // apple silicon macbooks
25 "x86_64-apple-darwin", // intel macbooks
27 - "aarch64-host-apple-darwin", // apple silicon macbooks (local builds)
26 "aarch64-apple-ios",
29 - "aarch64-apple-iossimulator",
27 + "aarch64-apple-ios-simulator",
28 ];
29
30 Future<void> main() async {