Repository navigation
Conversation
Port the useful MWC FFI coverage out of Stack Wallet into the plugin: - create/open a wallet in a temporary directory - validate an invalid send address - round-trip a real compact slate from the MWC integration docs - require wallet context for encrypted slatepacks - reject malformed slatepacks Fix the example's fixtures to include transaction/participant data and a valid UUID, and accept the binary slatepack armor the Rust encoder emits.
|
Local verification on macOS arm64 with the pinned prebuilt native asset: flutter test test/ffi_test.dart test/native_assets_test.dart
# 9 tests passedThe GitHub checks are showing |
Reference both listener methods through a list so the analyzer no longer reports them as unused locals.
|
Additional validation: the same suite also passes on Linux x86_64: ghcr.io/cypherstack/stackwallet-ci:android
flutter test test/ffi_test.dart test/native_assets_test.dart
# 9 tests passedSo macOS arm64 and Linux x86_64 are both verified locally. Upstream CI is still |
0962338 to
8643154
Compare
|
Fork-side CI evidence for this head: with Actions enabled on The upstream runs triggered by this PR are still waiting in |
Summary
Move the useful MWC FFI coverage out of Stack Wallet's integration tests and into the plugin that owns the FFI surface. No production code changes.
This relates to Stack Wallet PR #1482, which removes its copy of the MWC test harness.
What the new tests cover
Fixture fixes
The Stack Wallet copy used a compact slate with no transaction and no participant data, and used
"abc"as a slate ID in an encryption test. The Rust library correctly rejected both before the assertions could run. The new tests use the real MWC fixture, a valid UUID, and accept the binary slatepack armor the encoder emits (BEGINSLATE_BIN/ENDSLATE_BINas well asBEGINSLATEPACK).The example's manual FFI runner is updated with the same fixture and marker handling.
Verification
flutter test test/ffi_test.dart test/native_assets_test.dartWith the pinned prebuilt native asset: 9 tests passed on macOS arm64 (local) and 9 tests passed on Linux x86_64 (
ghcr.io/cypherstack/stackwallet-ci:android).