Skip to content

Releases: ArqTras/FFI

Arqma Wallet FFI 1.0.15

Choose a tag to compare

@github-actions github-actions released this 08 Jun 21:19

Arqma Wallet FFI 1.0.15

Highlights

  • Oxen-style sync visibility: getheight now returns daemon_height and background_busy while refresh / rescan_* runs, so Flutter can show scan progress even when wallet height tracks the daemon tip.
  • Warm balance cache during scan: getheight and the background refresh poller refresh balance / unlocked_balance stale caches every 1 s (was 2 s) so heartbeat getbalance does not return zeros while the session mutex is held by the scanner.
  • Safer get_transfers during scan: when the session is busy with a background job and the mutex is contended, get_transfers returns 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_client TIP_BAND 16 → 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.a only (C mdb_* symbols; avoids duplicate LMDB static init / Win32 1114). Scan completion: background refresh / rescan_* uses exclusive session lock; getheight / getbalance / get_address return stale cache while busy; pauseRefresh() after background jobs — fixes ACCESS_VIOLATION crash near end of blockchain scan.
  • Android republish (2026-06-13): link __clear_cache stub for static-hybrid Android FFI (dlopen fix for libarqma_wallet_flutter_ffi.so). Only arqma-wallet-ffi-android-*-1.0.15.zip assets replaced; iOS, Linux, macOS, Windows, and solo-pool zips unchanged.

Flutter pairing

Requires matching Dart bridge changes in Arqma-GUI-MM (Oxen parity):

  • kWalletDaemonTipToleranceBlocks = 1 for footer progress
  • wallet_syncing / background_busy from getheight
  • 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

Choose a tag to compare

@github-actions github-actions released this 02 Jun 20:23

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, and reset so concurrent Dart isolate calls cannot race wallet2.
  • Deferred sync on open: open_wallet no longer calls refresh_async_start immediately; background sync starts on the first refresh RPC (pairs with Flutter post-open refresh kick).
  • Includes 1.0.13: iOS open-after-sleep wait, basic_string error sanitization, 1.0.12 deferred refresh on open and bad_alloc messaging.

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

Choose a tag to compare

@github-actions github-actions released this 02 Jun 19:08

Arqma Wallet FFI 1.0.13

Highlights

  • iOS open after sleep: open_wallet waits 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 in wallet2_api_wrapper.cpp.
  • Includes 1.0.12: deferred refresh on open, bad_alloc messaging, refresh_async_start after 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

Choose a tag to compare

@github-actions github-actions released this 02 Jun 18:15

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_open runs daemon init only and defers background startRefresh until the first refresh RPC (avoids overlapping cache load with refresh on memory-constrained devices).
  • Clearer OOM errors: wallet2_open and shared exception handling map std::bad_alloc to actionable messages when wallet cache files exceed available RAM.
  • open_wallet lifecycle: 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

Choose a tag to compare

@ArqTras ArqTras released this 02 Jun 17:12

Arqma Wallet FFI 1.0.11

Prebuilt arqma-wallet-flutter-ffi libraries for desktop and mobile builds.

Changes

  • Wallet file safety: refuse store while a background rescan/refresh job is running; close_wallet waits up to 90s for the background job before closing the session (reduces .keys corruption risk on iOS suspend/close).
  • Mutating RPC guard: block transfer_split, transfer, stake, sweep_all, and related calls while wallet_background_busy is set.
  • Includes 1.0.10: full rescan progress poller, getheight during 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

Choose a tag to compare

@github-actions github-actions released this 01 Jun 09:01

Arqma Wallet FFI 1.0.10

Prebuilt arqma-wallet-flutter-ffi libraries for desktop and mobile builds.

Changes

  • Full rescan progress: background rescan_blockchain poller uses scan_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.
  • getheight during background jobs: while rescan/refresh runs, returns poller cache / scan_heights instead of overwriting with a stale pre-rescan tip.
  • Includes 1.0.9: async refresh with 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

Choose a tag to compare

@github-actions github-actions released this 01 Jun 08:12

Arqma Wallet FFI 1.0.9

Prebuilt arqma-wallet-flutter-ffi libraries for desktop and mobile builds.

Changes

  • Wallet sync progress: refresh uses refreshAsync() on a background thread with a height poller (same pattern as full rescan) so getheight stale 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_heights FFI entry points; Wallet2Session::refresh_async_start / scan_heights in 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

Choose a tag to compare

@github-actions github-actions released this 01 Jun 06:45

Arqma Wallet FFI 1.0.8

Prebuilt arqma-wallet-flutter-ffi libraries for desktop and mobile builds.

Changes

  • Full rescan: rescan_blockchain uses rescanBlockchainAsync() on a background thread so the wallet session mutex is not held for hours; a height poller updates getheight stale cache every ~2s for Flutter heartbeat / Live Activity progress.
  • wallet2 API: wallet2_rescan_blockchain_async FFI 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

Choose a tag to compare

@github-actions github-actions released this 27 May 08:48

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: wallet2 stakePending expects 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.zip below, 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 no arqma_flutter_solo_pool sidecar.
  • 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)

  1. Use a local arqmad (not remote-only daemon).
  2. Wallet → Solo Pool → enable pool, set mining address, bind IP/port.
  3. Point XMRig at stratum+tcp://<bind-ip>:3333 with your wallet address.
  4. 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