myc

Self-custodial remote signer for Radroots apps
git clone https://radroots.dev/git/myc.git
Log | Files | Refs | README | LICENSE

commit 50948dc70123584fe234863a1c2728899f256d7b
parent 08114e880f378f307df6189a3dbd5310158295a6
Author: triesap <tyson@radroots.org>
Date:   Sun, 14 Jun 2026 14:48:20 -0700

signer: align boxed capability APIs

- wrap local signer capabilities in the boxed upstream enum variant
- return boxed existing connections from connect acceptance flow
- refresh Cargo.lock for the current signer dependency graph
- verify cargo check from the myc repository root

Diffstat:
MCargo.lock | 58+++++++++++++++++++---------------------------------------
Msrc/app/backend.rs | 2+-
Msrc/control.rs | 2+-
3 files changed, 21 insertions(+), 41 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock @@ -696,12 +696,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] -name = "foldhash" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" - -[[package]] name = "foreign-types" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -877,7 +871,7 @@ version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ - "foldhash 0.1.5", + "foldhash", ] [[package]] @@ -885,9 +879,6 @@ name = "hashbrown" version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" -dependencies = [ - "foldhash 0.2.0", -] [[package]] name = "hashlink" @@ -899,6 +890,15 @@ dependencies = [ ] [[package]] +name = "hashlink" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" +dependencies = [ + "hashbrown 0.14.5", +] + +[[package]] name = "heck" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1257,9 +1257,9 @@ dependencies = [ [[package]] name = "libsqlite3-sys" -version = "0.37.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f111c8c41e7c61a49cd34e44c7619462967221a6443b0ec299e0ac30cfb9b1" +checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" dependencies = [ "cc", "pkg-config", @@ -1746,8 +1746,11 @@ dependencies = [ name = "radroots_events" version = "0.1.0-alpha.2" dependencies = [ + "hex", "radroots_core", "serde", + "serde_json", + "sha2", ] [[package]] @@ -1901,7 +1904,6 @@ dependencies = [ "rusqlite", "serde", "serde_json", - "thiserror 1.0.69", "uuid", ] @@ -2008,27 +2010,17 @@ dependencies = [ ] [[package]] -name = "rsqlite-vfs" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8a1f2315036ef6b1fbacd1972e8ee7688030b0a2121edfc2a6550febd41574d" -dependencies = [ - "hashbrown 0.16.1", - "thiserror 2.0.18", -] - -[[package]] name = "rusqlite" -version = "0.39.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0d2b0146dd9661bf67bb107c0bb2a55064d556eeb3fc314151b957f313bcd4e" +checksum = "7753b721174eb8ff87a9a0e799e2d7bc3749323e773db92e0984debb00019d6e" dependencies = [ "bitflags", "fallible-iterator", "fallible-streaming-iterator", + "hashlink 0.9.1", "libsqlite3-sys", "smallvec", - "sqlite-wasm-rs", ] [[package]] @@ -2332,18 +2324,6 @@ dependencies = [ ] [[package]] -name = "sqlite-wasm-rs" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f4206ed3a67690b9c29b77d728f6acc3ce78f16bf846d83c94f76400320181b" -dependencies = [ - "cc", - "js-sys", - "rsqlite-vfs", - "wasm-bindgen", -] - -[[package]] name = "stable_deref_trait" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3334,7 +3314,7 @@ checksum = "8902160c4e6f2fb145dbe9d6760a75e3c9522d8bf796ed7047c85919ac7115f8" dependencies = [ "arraydeque", "encoding_rs", - "hashlink", + "hashlink 0.8.4", ] [[package]] diff --git a/src/app/backend.rs b/src/app/backend.rs @@ -332,7 +332,7 @@ impl RadrootsNostrSignerBackend for MycSignerBackend { .sign_unsigned_event(unsigned_event, "myc signer backend event") .map_err(|error| RadrootsNostrSignerError::Sign(error.to_string()))?; Ok(RadrootsNostrSignerSignOutput::new( - RadrootsNostrSignerCapability::LocalAccount(self.local_signer_capability()), + RadrootsNostrSignerCapability::LocalAccount(Box::new(self.local_signer_capability())), event, )) } diff --git a/src/control.rs b/src/control.rs @@ -149,7 +149,7 @@ pub async fn accept_client_uri( granted_permissions, )?; } - connection + Box::new(connection) } };