Dario Gabriel LipicarandClaude Opus 5 8624b633ec ci: add workflow_dispatch to the doc-tests workflow
Lets the suite be re-run against any ref without pushing a commit — main's HEAD
had no doc-test run after the SDK bump merged precisely because there was no way
to trigger one.

The publish step previously assumed every non-PR run was `main` and wrote its
report to the `main/` path. With manual dispatch that would let a run on any
branch overwrite the main report, so a dispatched run on a non-main ref now
publishes under its own `branch-<name>/` directory (and the root index lists it).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 22:08:22 -03:00

logos-evm-keystore-module

A Logos core module (Rust, rust-first cdylib) that is the keystore for the Logos multi-chain EVM wallet: scrypt-encrypted vaults, BIP39/BIP32 HD derivation, and secp256k1 signing. It does no networking, and private keys never cross the module boundary — only addresses, signed payloads, and (re-encrypted) keystore JSON do.

Built on well-established crates: alloy (signing, tx encoding), eth-keystore (Web3 Secure Storage scrypt vaults), and coins-bip39/coins-bip32 (HD wallets).

Contract (KeystoreModule)

create_mnemonic, import_mnemonic, new_account, import_private_key, import_keystore_json, export_keystore_json, list_accounts, has_address, delete_account, unlock/timed_unlock/lock/is_unlocked, sign_transaction (legacy EIP-155 + EIP-1559), sign_message (EIP-191). Event: accounts_changed. All structured values cross the IPC boundary as JSON strings.

Build & test

# crypto core (no Logos runtime needed)
cd rust-lib && cargo test --no-default-features

# full module (Qt plugin) + .lgx package
nix build .#install   # -> result/modules/keystore_module/
nix build .#lgx

The crypto core is feature-gated away from the Logos glue so it stays cargo test-able on its own; the builder compiles the glue via the default logos_module feature. See the wallet plan for the full architecture.

S
Description
Logos EVM wallet keystore: scrypt vaults, BIP39/BIP32 HD, secp256k1 signing (no network).
Readme
3.9 MiB
Languages
Rust 97.6%
Shell 1.1%
Nix 0.8%
CMake 0.5%