Releases: ArqTras/FFI
Release list
Arqma Wallet FFI 1.0.15
Arqma Wallet FFI 1.0.15
Highlights
- Oxen-style sync visibility:
getheightnow returnsdaemon_heightandbackground_busywhilerefresh/rescan_*runs, so Flutter can show scan progress even when wallet height tracks the daemon tip. - Warm balance cache during scan:
getheightand the background refresh poller refreshbalance/unlocked_balancestale caches every 1 s (was 2 s) so heartbeatgetbalancedoes not return zeros while the session mutex is held by the scanner. - Safer
get_transfersduring scan: when the session is busy with a background job and the mutex is contended,get_transfersreturns a retryable error instead of empty buckets — Flutter no longer clears transaction history with a blank snapshot mid-scan. - Near-tip sync (republish 2026-06-12):
wallet2_clientTIP_BAND16 → 1 so background refresh continues until the wallet is within one block of the daemon tip. - Solo pool sidecar (republish 2026-06-12): Block reward from template/
get_block;solo_pool_block_found+ notifications on submit; SIGTERM graceful shutdown (Linux app exit); includes header-nonce submit fix and full 256-bit block candidate check. - Includes 1.0.14: macOS/desktop open stability (8 MiB pthread stack), FFI call serialization, deferred sync on open.
- Republish (2026-06-11): Windows-gnu links
liblmdb.aonly (Cmdb_*symbols; avoids duplicate LMDB static init / Win32 1114). Scan completion: backgroundrefresh/rescan_*uses exclusive session lock;getheight/getbalance/get_addressreturn stale cache while busy;pauseRefresh()after background jobs — fixes ACCESS_VIOLATION crash near end of blockchain scan. - Android republish (2026-06-13): link
__clear_cachestub for static-hybrid Android FFI (dlopenfix forlibarqma_wallet_flutter_ffi.so). Onlyarqma-wallet-ffi-android-*-1.0.15.zipassets replaced; iOS, Linux, macOS, Windows, and solo-pool zips unchanged.
Flutter pairing
Requires matching Dart bridge changes in Arqma-GUI-MM (Oxen parity):
kWalletDaemonTipToleranceBlocks = 1for footer progresswallet_syncing/background_busyfromgetheight- transaction refresh on balance change (not every block)
- solo pool sidecar stop on
close_wallet/ app exit (Flutter desktop)
Artifacts
Standard platform zips on this release (iOS, Android, Linux, macOS, Windows, solo pool sidecars).
Full changelog: 1.0.14...1.0.15
Arqma Wallet FFI 1.0.14
Arqma Wallet FFI 1.0.14
Highlights
- macOS / desktop open stability: Heavy wallet2 RPC (
open_wallet,close_wallet, restore, create) runs on a dedicated pthread with an 8 MiB stack, avoiding Dart isolate stack overflow on large wallet cache files. - FFI call serialization: Process-wide mutex around
configure,call_json, andresetso concurrent Dart isolate calls cannot race wallet2. - Deferred sync on open:
open_walletno longer callsrefresh_async_startimmediately; background sync starts on the firstrefreshRPC (pairs with Flutter post-open refresh kick). - Includes 1.0.13: iOS open-after-sleep wait,
basic_stringerror sanitization, 1.0.12 deferred refresh on open andbad_allocmessaging.
Artifacts
Standard platform zips on this release (iOS, Android, Linux, macOS, Windows, solo pool sidecars).
Full changelog: 1.0.13...1.0.14
Arqma Wallet FFI 1.0.13
Arqma Wallet FFI 1.0.13
Highlights
- iOS open after sleep:
open_walletwaits up to 30s for background refresh/rescan to finish before replacing the session. - Clearer open failures: map useless C++ labels (
basic_string) to a user-facing message inwallet2_api_wrapper.cpp. - Includes 1.0.12: deferred refresh on open,
bad_allocmessaging,refresh_async_startafter open, session close before open.
Artifacts
Standard platform zips on this release (iOS, Android, Linux, macOS, Windows, solo pool sidecars).
Arqma Wallet FFI 1.0.12
Arqma Wallet FFI 1.0.12
Prebuilt arqma-wallet-flutter-ffi libraries for desktop and mobile builds.
Changes
- Lower iOS/mobile open RAM peak:
wallet2_openruns daemoninitonly and defers backgroundstartRefreshuntil the firstrefreshRPC (avoids overlapping cache load with refresh on memory-constrained devices). - Clearer OOM errors:
wallet2_openand shared exception handling mapstd::bad_allocto actionable messages when wallet cache files exceed available RAM. open_walletlifecycle: close any existing session before opening another wallet; start async refresh after a successful open so the UI can sync without an immediate full refresh in native open.- Includes 1.0.11: wallet file safety during background jobs, mutating RPC guard while
wallet_background_busy.
Full changelog: 1.0.11...1.0.12
Assets
| Platform | Archive |
|---|---|
| Android (arm64) | arqma-wallet-ffi-android-arm64-1.0.12.zip |
| Android (x86_64) | arqma-wallet-ffi-android-x86_64-1.0.12.zip |
| iOS | arqma-wallet-ffi-ios-1.0.12.zip |
| Linux (x86_64) | arqma-wallet-ffi-linux-x86_64-1.0.12.zip |
| macOS (arm64) | arqma-wallet-ffi-macos-arm64-1.0.12.zip |
| Windows (x86_64-gnu) | arqma-wallet-ffi-windows-x86_64-gnu-1.0.12.zip |
| Solo pool (Linux) | arqma-wallet-solo-pool-linux-x86_64-1.0.12.zip |
| Solo pool (macOS) | arqma-wallet-solo-pool-macos-arm64-1.0.12.zip |
| Solo pool (Windows) | arqma-wallet-solo-pool-windows-x86_64-gnu-1.0.12.zip |
Checksums: SHA256SUMS-ffi-1.0.12.txt.
Arqma Wallet FFI 1.0.11
Arqma Wallet FFI 1.0.11
Prebuilt arqma-wallet-flutter-ffi libraries for desktop and mobile builds.
Changes
- Wallet file safety: refuse
storewhile a background rescan/refresh job is running;close_walletwaits up to 90s for the background job before closing the session (reduces.keyscorruption risk on iOS suspend/close). - Mutating RPC guard: block
transfer_split,transfer,stake,sweep_all, and related calls whilewallet_background_busyis set. - Includes 1.0.10: full rescan progress poller,
getheightduring background jobs, async refresh height polling.
Full changelog: ArqTras/Arqma-GUI-MM@3b0a204...HEAD (wallet2_client + mobile bridge; source in Arqma-GUI-MM rust/arqma-wallet-rpc).
Assets
| Platform | Archive |
|---|---|
| Android (arm64) | arqma-wallet-ffi-android-arm64-1.0.11.zip |
| Android (x86_64) | arqma-wallet-ffi-android-x86_64-1.0.11.zip |
| iOS | arqma-wallet-ffi-ios-1.0.11.zip |
| Linux (x86_64) | arqma-wallet-ffi-linux-x86_64-1.0.11.zip |
| macOS (arm64) | arqma-wallet-ffi-macos-arm64-1.0.11.zip |
| Windows (x86_64-gnu) | arqma-wallet-ffi-windows-x86_64-gnu-1.0.11.zip |
| Solo pool (Linux) | arqma-wallet-solo-pool-linux-x86_64-1.0.11.zip |
| Solo pool (macOS) | arqma-wallet-solo-pool-macos-arm64-1.0.11.zip |
| Solo pool (Windows) | arqma-wallet-solo-pool-windows-x86_64-gnu-1.0.11.zip |
Checksums: SHA256SUMS-ffi-1.0.11.txt.
Arqma Wallet FFI 1.0.10
Arqma Wallet FFI 1.0.10
Prebuilt arqma-wallet-flutter-ffi libraries for desktop and mobile builds.
Changes
- Full rescan progress: background
rescan_blockchainpoller usesscan_heights()and waits for a real rewind before treating the wallet as caught up — fixes frozen 0% UI when height was still at the pre-rescan tip. getheightduring background jobs: while rescan/refresh runs, returns poller cache /scan_heightsinstead of overwriting with a stale pre-rescan tip.- Includes 1.0.9: async
refreshwith live height polling during wallet catch-up.
Full changelog: 1.0.9...1.0.10
Assets
| Platform | Archive |
|---|---|
| Linux x86_64 | arqma-wallet-ffi-linux-x86_64-1.0.10.zip |
| macOS arm64 | arqma-wallet-ffi-macos-arm64-1.0.10.zip |
| Windows x86_64 GNU | arqma-wallet-ffi-windows-x86_64-gnu-1.0.10.zip |
| Android arm64 | arqma-wallet-ffi-android-arm64-1.0.10.zip |
| Android x86_64 | arqma-wallet-ffi-android-x86_64-1.0.10.zip |
| iOS | arqma-wallet-ffi-ios-1.0.10.zip |
Desktop solo pool sidecars: arqma-wallet-solo-pool-<platform>-1.0.10.zip.
Checksums: SHA256SUMS-ffi-1.0.10.txt.
Arqma Wallet FFI 1.0.9
Arqma Wallet FFI 1.0.9
Prebuilt arqma-wallet-flutter-ffi libraries for desktop and mobile builds.
Changes
- Wallet sync progress:
refreshusesrefreshAsync()on a background thread with a height poller (same pattern as full rescan) sogetheightstale cache updates every ~2s during catch-up — fixes frozen 0% footer / Live Activity while the wallet scans after open or manual refresh. - wallet2 API:
wallet2_refresh_async_start,wallet2_read_scan_heightsFFI entry points;Wallet2Session::refresh_async_start/scan_heightsin Rust. - Includes 1.0.8: async
rescan_blockchain+ live height during full rescan.
Full changelog: 1.0.8...1.0.9
Assets
| Platform | Archive |
|---|---|
| Linux x86_64 | arqma-wallet-ffi-linux-x86_64-1.0.9.zip |
| macOS arm64 | arqma-wallet-ffi-macos-arm64-1.0.9.zip |
| Windows x86_64 GNU | arqma-wallet-ffi-windows-x86_64-gnu-1.0.9.zip |
| Android arm64 | arqma-wallet-ffi-android-arm64-1.0.9.zip |
| Android x86_64 | arqma-wallet-ffi-android-x86_64-1.0.9.zip |
| iOS | arqma-wallet-ffi-ios-1.0.9.zip |
Desktop solo pool sidecars: arqma-wallet-solo-pool-<platform>-1.0.9.zip.
Checksums: SHA256SUMS-ffi-1.0.9.txt.
Arqma Wallet FFI 1.0.8
Arqma Wallet FFI 1.0.8
Prebuilt arqma-wallet-flutter-ffi libraries for desktop and mobile builds.
Changes
- Full rescan:
rescan_blockchainusesrescanBlockchainAsync()on a background thread so the wallet session mutex is not held for hours; a height poller updatesgetheightstale cache every ~2s for Flutter heartbeat / Live Activity progress. - wallet2 API:
wallet2_rescan_blockchain_asyncFFI entry point.
Full changelog: 1.0.7...1.0.8
Assets
| Platform | Archive |
|---|---|
| Linux x86_64 | arqma-wallet-ffi-linux-x86_64-1.0.8.zip |
| macOS arm64 | arqma-wallet-ffi-macos-arm64-1.0.8.zip |
| Windows x86_64 GNU | arqma-wallet-ffi-windows-x86_64-gnu-1.0.8.zip |
| Android arm64 | arqma-wallet-ffi-android-arm64-1.0.8.zip |
| Android x86_64 | arqma-wallet-ffi-android-x86_64-1.0.8.zip |
| iOS | arqma-wallet-ffi-ios-1.0.8.zip |
Desktop solo pool sidecars: arqma-wallet-solo-pool-<platform>-1.0.8.zip.
Checksums: SHA256SUMS-ffi-1.0.8.txt.
Arqma Wallet FFI 1.0.7
Arqma Wallet FFI 1.0.7
Prebuilt arqma-wallet-flutter-ffi and arqma_flutter_solo_pool libraries for desktop and mobile, plus Arqma Wallet 5.1.1 GUI bundles built against this FFI.
GUI release: Arqma-GUI-MM 5.1.1
FFI fixes (1.0.7)
- Stake:
wallet2stakePendingexpects a decimal coin amount string (9 fractional digits); the in-process RPC layer was forwarding raw atomic units, causing"Incorrect amount"for typical stake sizes (e.g. 100–1000 ARQ).
Mobile & desktop GUI (5.1.1 refresh — commit 11164a8)
- Android: Rebuilt APK/AAB — tx-history poll every 5 s, About copyright 2018–2026 (Arqma only).
- iOS: TestFlight 5.1.1 (16) — IPA + xcarchive below (FFI 1.0.7).
- macOS: Local Flutter bundle with FFI 1.0.7 + solo pool sidecar (zip + dmg).
- Windows / Linux: CI rebuild from tag 5.1.1 (same About + tx-history fixes on desktop).
Solo pool (desktop — Windows, Linux, macOS)
Bundled in 5.1.1 desktop builds and available as arqma-wallet-solo-pool-*-1.0.7.zip for custom packaging.
- Block submission: Detect network-valid blocks using the same difficulty rule as universal nodejs-pool (
hashDiff), not only a compact 4-byte target approximation. - Template refresh: Pool respects Automatic block template refresh and the interval (seconds) from settings; when disabled, templates refresh on new chain height.
- VarDiff defaults: Start 60k, max 5M, retarget 30s, max jump 50% — adjust per your hashrate in Solo Pool settings.
Native wallet (FFI)
- Desktop: Download
arqma-wallet-ffi-<platform>-1.0.7.zipbelow, or use the full 5.1.1 Flutter bundles (FFI already included). - Android / iOS:
arqma-wallet-ffi-android-*-1.0.7.zip/arqma-wallet-ffi-ios-1.0.7.zip— mobile builds have noarqma_flutter_solo_poolsidecar. - Local build:
rust/tool/build_native_wallet_flutter_ffi_*in Arqma-GUI-MM.
Release assets (by platform)
| Platform | File(s) | How to run |
|---|---|---|
| Windows | Arqma-Wallet-Flutter-5.1.1-windows-x64.zip (portable) or Arqma-Wallet-Flutter-5.1.1-windows-x64-Setup.exe (installer) |
ZIP: unzip anywhere, run Arqma-Wallet.exe. Setup: run installer, launch from Start menu. |
| Linux | Arqma-Wallet-Flutter-5.1.1-linux-x64.tar.gz and/or Arqma-Wallet-Flutter-5.1.1-x86_64.AppImage |
tar.gz: extract and run ./Arqma-Wallet. AppImage: chmod +x and run. |
| macOS | Arqma-Wallet-Flutter-5.1.1-macos.zip and/or Arqma-Wallet-Flutter-5.1.1-macos.dmg |
Open DMG, drag Arqma-Wallet.app to Applications. |
| Android | Arqma-Wallet-Android-5.1.1.apk (sideload), Arqma-Wallet-Android-5.1.1.aab (Play) |
Install APK on device. AAB for Play Console. |
| iOS | Arqma-Wallet-Mobile-5.1.1-ios-testflight.ipa, *-ios.xcarchive.zip, *-ios-manifest.txt |
Transporter / Xcode → TestFlight. Build 16. |
FFI-only zips: arqma-wallet-ffi-<os>-1.0.7.zip, arqma-wallet-solo-pool-<os>-1.0.7.zip (desktop solo pool only).
Checksums: SHA256SUMS-gui-5.1.1.txt, SHA256SUMS-android-5.1.1.txt, SHA256SUMS-ios.txt
Solo pool quick start (desktop)
- Use a local
arqmad(not remote-only daemon). - Wallet → Solo Pool → enable pool, set mining address, bind IP/port.
- Point XMRig at
stratum+tcp://<bind-ip>:3333with your wallet address. - After changing VarDiff settings, save and restart the solo pool.
macOS — Gatekeeper
xattr -cr "/Applications/Arqma-Wallet.app"FFI changelog: 1.0.6...1.0.7
GUI changelog: ArqTras/Arqma-GUI-MM@5.1.0...5.1.1