feat(ui): complete mobile + desktop scaffolds; add UniFFI UDL scaffold; CI run mobile & electron tests

This commit is contained in:
MoCipher 2026-02-20 09:54:07 +01:00
parent 40aa19391d
commit 662c118000
4 changed files with 34 additions and 0 deletions

View file

@ -131,3 +131,10 @@ jobs:
npm ci || true
npm test
shell: bash
- name: Run Electron smoke tests (desktop)
working-directory: ./electron
run: |
npm ci || true
npm test
shell: bash

View file

@ -1,5 +1,9 @@
# CrypteCipher
> Status: core library, Node bindings, CLI, CI, mobile (React Native scaffold), and desktop (Electron scaffold) are in-progress. Mobile uses a JS mock bridge; UniFFI scaffold is present for on-device bindings.
# CrypteCipher
**PR:** Initial scaffold and features added for review.
Secure privacy-first multi-currency wallet (scaffold)

15
core/uniffi/README.md Normal file
View file

@ -0,0 +1,15 @@
UniFFI scaffold for CrypteCipher core
This folder contains a UDL interface describing the minimal set of APIs the mobile app will consume on-device.
How to generate bindings (developer machine):
1. Install `uniffi-bindgen` (Rust/Cargo or prebuilt binary).
2. From `core/` run:
```bash
uniffi-bindgen generate uniffi/cryptec.udl -l objc -o bindings/ios
uniffi-bindgen generate uniffi/cryptec.udl -l java -o bindings/android
```
3. Implement platform-specific glue in the generated wrappers and add React Native native modules that call them.
Note: CI currently ships a JS fallback for mobile; UniFFI integration will be enabled in CI once native toolchains are added.

8
core/uniffi/cryptec.udl Normal file
View file

@ -0,0 +1,8 @@
namespace cryptec {
string generate_mnemonic(in uint32 strength);
string first_receive_address(in string mnemonic);
string create_psbt(in string mnemonic, in string to_address, in uint64 satoshis);
string sign_psbt(in string mnemonic, in string psbt_b64);
}