sdk

Radroots SDK and bindings
git clone https://radroots.dev/git/sdk.git
Log | Files | Refs | README

commit 170ecf2b620107fadca85fcb11fbf3798b4ca1ef
parent d015b33f05653c786d2cc24fe9b0830bbdae4cda
Author: triesap <tyson@radroots.org>
Date:   Wed,  5 Aug 2026 21:53:34 +0000

refactor(sdk): adopt context-bound envelopes

Diffstat:
MCargo.lock | 44+++++++++++++++++++++++---------------------
MCargo.toml | 42+++++++++++++++++++++---------------------
Mcrates/sdk/src/trade.rs | 2+-
Mtools/xtask/src/release_graph.rs | 2+-
4 files changed, 46 insertions(+), 44 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock @@ -1795,7 +1795,7 @@ dependencies = [ [[package]] name = "radroots_blossom" version = "0.1.0-alpha" -source = "git+https://github.com/radrootslabs/lib.git?rev=5537bf0e1c36a94958a4c6eceb7722845b9a4efa#5537bf0e1c36a94958a4c6eceb7722845b9a4efa" +source = "git+https://github.com/radrootslabs/lib.git?rev=f7f456d906d91aadbb9fac4850afaa8c5723c3e9#f7f456d906d91aadbb9fac4850afaa8c5723c3e9" dependencies = [ "mediatype", "serde", @@ -1807,7 +1807,7 @@ dependencies = [ [[package]] name = "radroots_core" version = "0.1.0-alpha" -source = "git+https://github.com/radrootslabs/lib.git?rev=5537bf0e1c36a94958a4c6eceb7722845b9a4efa#5537bf0e1c36a94958a4c6eceb7722845b9a4efa" +source = "git+https://github.com/radrootslabs/lib.git?rev=f7f456d906d91aadbb9fac4850afaa8c5723c3e9#f7f456d906d91aadbb9fac4850afaa8c5723c3e9" dependencies = [ "rust_decimal", "serde", @@ -1825,7 +1825,7 @@ dependencies = [ [[package]] name = "radroots_event" version = "0.1.0-alpha" -source = "git+https://github.com/radrootslabs/lib.git?rev=5537bf0e1c36a94958a4c6eceb7722845b9a4efa#5537bf0e1c36a94958a4c6eceb7722845b9a4efa" +source = "git+https://github.com/radrootslabs/lib.git?rev=f7f456d906d91aadbb9fac4850afaa8c5723c3e9#f7f456d906d91aadbb9fac4850afaa8c5723c3e9" dependencies = [ "hex", "jiff-tzdb", @@ -1851,7 +1851,7 @@ dependencies = [ [[package]] name = "radroots_event_codec" version = "0.1.0-alpha" -source = "git+https://github.com/radrootslabs/lib.git?rev=5537bf0e1c36a94958a4c6eceb7722845b9a4efa#5537bf0e1c36a94958a4c6eceb7722845b9a4efa" +source = "git+https://github.com/radrootslabs/lib.git?rev=f7f456d906d91aadbb9fac4850afaa8c5723c3e9#f7f456d906d91aadbb9fac4850afaa8c5723c3e9" dependencies = [ "hex", "radroots_blossom", @@ -1883,7 +1883,7 @@ dependencies = [ [[package]] name = "radroots_geonames" version = "0.1.0-alpha" -source = "git+https://github.com/radrootslabs/lib.git?rev=5537bf0e1c36a94958a4c6eceb7722845b9a4efa#5537bf0e1c36a94958a4c6eceb7722845b9a4efa" +source = "git+https://github.com/radrootslabs/lib.git?rev=f7f456d906d91aadbb9fac4850afaa8c5723c3e9#f7f456d906d91aadbb9fac4850afaa8c5723c3e9" dependencies = [ "fs2", "rusqlite", @@ -1895,7 +1895,7 @@ dependencies = [ [[package]] name = "radroots_identity" version = "0.1.0-alpha" -source = "git+https://github.com/radrootslabs/lib.git?rev=5537bf0e1c36a94958a4c6eceb7722845b9a4efa#5537bf0e1c36a94958a4c6eceb7722845b9a4efa" +source = "git+https://github.com/radrootslabs/lib.git?rev=f7f456d906d91aadbb9fac4850afaa8c5723c3e9#f7f456d906d91aadbb9fac4850afaa8c5723c3e9" dependencies = [ "k256", "serde", @@ -1913,7 +1913,7 @@ dependencies = [ [[package]] name = "radroots_nostr" version = "0.1.0-alpha" -source = "git+https://github.com/radrootslabs/lib.git?rev=5537bf0e1c36a94958a4c6eceb7722845b9a4efa#5537bf0e1c36a94958a4c6eceb7722845b9a4efa" +source = "git+https://github.com/radrootslabs/lib.git?rev=f7f456d906d91aadbb9fac4850afaa8c5723c3e9#f7f456d906d91aadbb9fac4850afaa8c5723c3e9" dependencies = [ "nostr", "radroots_event", @@ -1928,7 +1928,7 @@ dependencies = [ [[package]] name = "radroots_nostr_connect" version = "0.1.0-alpha" -source = "git+https://github.com/radrootslabs/lib.git?rev=5537bf0e1c36a94958a4c6eceb7722845b9a4efa#5537bf0e1c36a94958a4c6eceb7722845b9a4efa" +source = "git+https://github.com/radrootslabs/lib.git?rev=f7f456d906d91aadbb9fac4850afaa8c5723c3e9#f7f456d906d91aadbb9fac4850afaa8c5723c3e9" dependencies = [ "nostr", "radroots_event", @@ -1944,7 +1944,7 @@ dependencies = [ [[package]] name = "radroots_protocol" version = "0.1.0-alpha" -source = "git+https://github.com/radrootslabs/lib.git?rev=5537bf0e1c36a94958a4c6eceb7722845b9a4efa#5537bf0e1c36a94958a4c6eceb7722845b9a4efa" +source = "git+https://github.com/radrootslabs/lib.git?rev=f7f456d906d91aadbb9fac4850afaa8c5723c3e9#f7f456d906d91aadbb9fac4850afaa8c5723c3e9" dependencies = [ "serde", ] @@ -1952,7 +1952,7 @@ dependencies = [ [[package]] name = "radroots_replica_schema" version = "0.1.0-alpha" -source = "git+https://github.com/radrootslabs/lib.git?rev=5537bf0e1c36a94958a4c6eceb7722845b9a4efa#5537bf0e1c36a94958a4c6eceb7722845b9a4efa" +source = "git+https://github.com/radrootslabs/lib.git?rev=f7f456d906d91aadbb9fac4850afaa8c5723c3e9#f7f456d906d91aadbb9fac4850afaa8c5723c3e9" dependencies = [ "dto_bindgen_core", "serde", @@ -1970,7 +1970,7 @@ dependencies = [ [[package]] name = "radroots_replica_store" version = "0.1.0-alpha" -source = "git+https://github.com/radrootslabs/lib.git?rev=5537bf0e1c36a94958a4c6eceb7722845b9a4efa#5537bf0e1c36a94958a4c6eceb7722845b9a4efa" +source = "git+https://github.com/radrootslabs/lib.git?rev=f7f456d906d91aadbb9fac4850afaa8c5723c3e9#f7f456d906d91aadbb9fac4850afaa8c5723c3e9" dependencies = [ "hex", "radroots_replica_schema", @@ -2000,7 +2000,7 @@ dependencies = [ [[package]] name = "radroots_replica_sync" version = "0.1.0-alpha" -source = "git+https://github.com/radrootslabs/lib.git?rev=5537bf0e1c36a94958a4c6eceb7722845b9a4efa#5537bf0e1c36a94958a4c6eceb7722845b9a4efa" +source = "git+https://github.com/radrootslabs/lib.git?rev=f7f456d906d91aadbb9fac4850afaa8c5723c3e9#f7f456d906d91aadbb9fac4850afaa8c5723c3e9" dependencies = [ "base64", "hex", @@ -2107,16 +2107,18 @@ dependencies = [ [[package]] name = "radroots_secrets" version = "0.1.0-alpha" -source = "git+https://github.com/radrootslabs/lib.git?rev=5537bf0e1c36a94958a4c6eceb7722845b9a4efa#5537bf0e1c36a94958a4c6eceb7722845b9a4efa" +source = "git+https://github.com/radrootslabs/lib.git?rev=f7f456d906d91aadbb9fac4850afaa8c5723c3e9#f7f456d906d91aadbb9fac4850afaa8c5723c3e9" dependencies = [ "chacha20poly1305", + "sha2", + "subtle", "zeroize", ] [[package]] name = "radroots_signing" version = "0.1.0-alpha" -source = "git+https://github.com/radrootslabs/lib.git?rev=5537bf0e1c36a94958a4c6eceb7722845b9a4efa#5537bf0e1c36a94958a4c6eceb7722845b9a4efa" +source = "git+https://github.com/radrootslabs/lib.git?rev=f7f456d906d91aadbb9fac4850afaa8c5723c3e9#f7f456d906d91aadbb9fac4850afaa8c5723c3e9" dependencies = [ "hex", "radroots_event", @@ -2129,7 +2131,7 @@ dependencies = [ [[package]] name = "radroots_sql_core" version = "0.1.0-alpha" -source = "git+https://github.com/radrootslabs/lib.git?rev=5537bf0e1c36a94958a4c6eceb7722845b9a4efa#5537bf0e1c36a94958a4c6eceb7722845b9a4efa" +source = "git+https://github.com/radrootslabs/lib.git?rev=f7f456d906d91aadbb9fac4850afaa8c5723c3e9#f7f456d906d91aadbb9fac4850afaa8c5723c3e9" dependencies = [ "chrono", "serde", @@ -2140,7 +2142,7 @@ dependencies = [ [[package]] name = "radroots_storage" version = "0.1.0-alpha" -source = "git+https://github.com/radrootslabs/lib.git?rev=5537bf0e1c36a94958a4c6eceb7722845b9a4efa#5537bf0e1c36a94958a4c6eceb7722845b9a4efa" +source = "git+https://github.com/radrootslabs/lib.git?rev=f7f456d906d91aadbb9fac4850afaa8c5723c3e9#f7f456d906d91aadbb9fac4850afaa8c5723c3e9" dependencies = [ "radroots_event", "radroots_event_codec", @@ -2154,7 +2156,7 @@ dependencies = [ [[package]] name = "radroots_storage_sqlite" version = "0.1.0-alpha" -source = "git+https://github.com/radrootslabs/lib.git?rev=5537bf0e1c36a94958a4c6eceb7722845b9a4efa#5537bf0e1c36a94958a4c6eceb7722845b9a4efa" +source = "git+https://github.com/radrootslabs/lib.git?rev=f7f456d906d91aadbb9fac4850afaa8c5723c3e9#f7f456d906d91aadbb9fac4850afaa8c5723c3e9" dependencies = [ "fs2", "radroots_event", @@ -2171,7 +2173,7 @@ dependencies = [ [[package]] name = "radroots_sync" version = "0.1.0-alpha" -source = "git+https://github.com/radrootslabs/lib.git?rev=5537bf0e1c36a94958a4c6eceb7722845b9a4efa#5537bf0e1c36a94958a4c6eceb7722845b9a4efa" +source = "git+https://github.com/radrootslabs/lib.git?rev=f7f456d906d91aadbb9fac4850afaa8c5723c3e9#f7f456d906d91aadbb9fac4850afaa8c5723c3e9" dependencies = [ "radroots_event", "radroots_event_codec", @@ -2186,7 +2188,7 @@ dependencies = [ [[package]] name = "radroots_trade" version = "0.1.0-alpha" -source = "git+https://github.com/radrootslabs/lib.git?rev=5537bf0e1c36a94958a4c6eceb7722845b9a4efa#5537bf0e1c36a94958a4c6eceb7722845b9a4efa" +source = "git+https://github.com/radrootslabs/lib.git?rev=f7f456d906d91aadbb9fac4850afaa8c5723c3e9#f7f456d906d91aadbb9fac4850afaa8c5723c3e9" dependencies = [ "hex", "radroots_core", @@ -2204,7 +2206,7 @@ version = "0.1.0-alpha" [[package]] name = "radroots_transport" version = "0.1.0-alpha" -source = "git+https://github.com/radrootslabs/lib.git?rev=5537bf0e1c36a94958a4c6eceb7722845b9a4efa#5537bf0e1c36a94958a4c6eceb7722845b9a4efa" +source = "git+https://github.com/radrootslabs/lib.git?rev=f7f456d906d91aadbb9fac4850afaa8c5723c3e9#f7f456d906d91aadbb9fac4850afaa8c5723c3e9" dependencies = [ "radroots_event", "radroots_identity", @@ -2216,7 +2218,7 @@ dependencies = [ [[package]] name = "radroots_transport_nostr" version = "0.1.0-alpha" -source = "git+https://github.com/radrootslabs/lib.git?rev=5537bf0e1c36a94958a4c6eceb7722845b9a4efa#5537bf0e1c36a94958a4c6eceb7722845b9a4efa" +source = "git+https://github.com/radrootslabs/lib.git?rev=f7f456d906d91aadbb9fac4850afaa8c5723c3e9#f7f456d906d91aadbb9fac4850afaa8c5723c3e9" dependencies = [ "async-wsocket", "nostr-relay-pool", diff --git a/Cargo.toml b/Cargo.toml @@ -47,32 +47,32 @@ unimplemented = "deny" dto_bindgen = { version = "0.1.0" } dto_bindgen_backend_ts = { version = "0.1.0" } dto_bindgen_core = { version = "0.1.0" } -radroots_blossom = { package = "radroots_blossom", git = "https://github.com/radrootslabs/lib.git", rev = "5537bf0e1c36a94958a4c6eceb7722845b9a4efa", version = "=0.1.0-alpha", default-features = false } -radroots_core = { package = "radroots_core", git = "https://github.com/radrootslabs/lib.git", rev = "5537bf0e1c36a94958a4c6eceb7722845b9a4efa", version = "=0.1.0-alpha", default-features = false } -radroots_event = { package = "radroots_event", git = "https://github.com/radrootslabs/lib.git", rev = "5537bf0e1c36a94958a4c6eceb7722845b9a4efa", version = "=0.1.0-alpha", default-features = false } -radroots_event_codec = { package = "radroots_event_codec", git = "https://github.com/radrootslabs/lib.git", rev = "5537bf0e1c36a94958a4c6eceb7722845b9a4efa", version = "=0.1.0-alpha", default-features = false } +radroots_blossom = { package = "radroots_blossom", git = "https://github.com/radrootslabs/lib.git", rev = "f7f456d906d91aadbb9fac4850afaa8c5723c3e9", version = "=0.1.0-alpha", default-features = false } +radroots_core = { package = "radroots_core", git = "https://github.com/radrootslabs/lib.git", rev = "f7f456d906d91aadbb9fac4850afaa8c5723c3e9", version = "=0.1.0-alpha", default-features = false } +radroots_event = { package = "radroots_event", git = "https://github.com/radrootslabs/lib.git", rev = "f7f456d906d91aadbb9fac4850afaa8c5723c3e9", version = "=0.1.0-alpha", default-features = false } +radroots_event_codec = { package = "radroots_event_codec", git = "https://github.com/radrootslabs/lib.git", rev = "f7f456d906d91aadbb9fac4850afaa8c5723c3e9", version = "=0.1.0-alpha", default-features = false } radroots_sdk_ffi = { path = "crates/ffi", version = "=0.1.0-alpha" } -radroots_geonames = { package = "radroots_geonames", git = "https://github.com/radrootslabs/lib.git", rev = "5537bf0e1c36a94958a4c6eceb7722845b9a4efa", version = "=0.1.0-alpha", default-features = false } -radroots_identity = { package = "radroots_identity", git = "https://github.com/radrootslabs/lib.git", rev = "5537bf0e1c36a94958a4c6eceb7722845b9a4efa", version = "=0.1.0-alpha", default-features = false, features = [ +radroots_geonames = { package = "radroots_geonames", git = "https://github.com/radrootslabs/lib.git", rev = "f7f456d906d91aadbb9fac4850afaa8c5723c3e9", version = "=0.1.0-alpha", default-features = false } +radroots_identity = { package = "radroots_identity", git = "https://github.com/radrootslabs/lib.git", rev = "f7f456d906d91aadbb9fac4850afaa8c5723c3e9", version = "=0.1.0-alpha", default-features = false, features = [ "std", ] } -radroots_nostr = { package = "radroots_nostr", git = "https://github.com/radrootslabs/lib.git", rev = "5537bf0e1c36a94958a4c6eceb7722845b9a4efa", version = "=0.1.0-alpha", default-features = false } -radroots_nostr_connect = { package = "radroots_nostr_connect", git = "https://github.com/radrootslabs/lib.git", rev = "5537bf0e1c36a94958a4c6eceb7722845b9a4efa", version = "=0.1.0-alpha", default-features = false } -radroots_protocol = { git = "https://github.com/radrootslabs/lib.git", rev = "5537bf0e1c36a94958a4c6eceb7722845b9a4efa", version = "=0.1.0-alpha", default-features = false } -radroots_secrets = { package = "radroots_secrets", git = "https://github.com/radrootslabs/lib.git", rev = "5537bf0e1c36a94958a4c6eceb7722845b9a4efa", version = "=0.1.0-alpha", default-features = false } -radroots_signing = { package = "radroots_signing", git = "https://github.com/radrootslabs/lib.git", rev = "5537bf0e1c36a94958a4c6eceb7722845b9a4efa", version = "=0.1.0-alpha", default-features = false } -radroots_storage = { package = "radroots_storage", git = "https://github.com/radrootslabs/lib.git", rev = "5537bf0e1c36a94958a4c6eceb7722845b9a4efa", version = "=0.1.0-alpha", default-features = false } -radroots_storage_sqlite = { package = "radroots_storage_sqlite", git = "https://github.com/radrootslabs/lib.git", rev = "5537bf0e1c36a94958a4c6eceb7722845b9a4efa", version = "=0.1.0-alpha", default-features = false } -radroots_sync = { package = "radroots_sync", git = "https://github.com/radrootslabs/lib.git", rev = "5537bf0e1c36a94958a4c6eceb7722845b9a4efa", version = "=0.1.0-alpha", default-features = false } -radroots_transport = { package = "radroots_transport", git = "https://github.com/radrootslabs/lib.git", rev = "5537bf0e1c36a94958a4c6eceb7722845b9a4efa", version = "=0.1.0-alpha", default-features = false } -radroots_transport_nostr = { package = "radroots_transport_nostr", git = "https://github.com/radrootslabs/lib.git", rev = "5537bf0e1c36a94958a4c6eceb7722845b9a4efa", version = "=0.1.0-alpha", default-features = false } -radroots_replica_store = { git = "https://github.com/radrootslabs/lib.git", rev = "5537bf0e1c36a94958a4c6eceb7722845b9a4efa", version = "=0.1.0-alpha", default-features = false } -radroots_replica_schema = { git = "https://github.com/radrootslabs/lib.git", rev = "5537bf0e1c36a94958a4c6eceb7722845b9a4efa", version = "=0.1.0-alpha", default-features = false } -radroots_replica_sync = { git = "https://github.com/radrootslabs/lib.git", rev = "5537bf0e1c36a94958a4c6eceb7722845b9a4efa", version = "=0.1.0-alpha", default-features = false } +radroots_nostr = { package = "radroots_nostr", git = "https://github.com/radrootslabs/lib.git", rev = "f7f456d906d91aadbb9fac4850afaa8c5723c3e9", version = "=0.1.0-alpha", default-features = false } +radroots_nostr_connect = { package = "radroots_nostr_connect", git = "https://github.com/radrootslabs/lib.git", rev = "f7f456d906d91aadbb9fac4850afaa8c5723c3e9", version = "=0.1.0-alpha", default-features = false } +radroots_protocol = { git = "https://github.com/radrootslabs/lib.git", rev = "f7f456d906d91aadbb9fac4850afaa8c5723c3e9", version = "=0.1.0-alpha", default-features = false } +radroots_secrets = { package = "radroots_secrets", git = "https://github.com/radrootslabs/lib.git", rev = "f7f456d906d91aadbb9fac4850afaa8c5723c3e9", version = "=0.1.0-alpha", default-features = false } +radroots_signing = { package = "radroots_signing", git = "https://github.com/radrootslabs/lib.git", rev = "f7f456d906d91aadbb9fac4850afaa8c5723c3e9", version = "=0.1.0-alpha", default-features = false } +radroots_storage = { package = "radroots_storage", git = "https://github.com/radrootslabs/lib.git", rev = "f7f456d906d91aadbb9fac4850afaa8c5723c3e9", version = "=0.1.0-alpha", default-features = false } +radroots_storage_sqlite = { package = "radroots_storage_sqlite", git = "https://github.com/radrootslabs/lib.git", rev = "f7f456d906d91aadbb9fac4850afaa8c5723c3e9", version = "=0.1.0-alpha", default-features = false } +radroots_sync = { package = "radroots_sync", git = "https://github.com/radrootslabs/lib.git", rev = "f7f456d906d91aadbb9fac4850afaa8c5723c3e9", version = "=0.1.0-alpha", default-features = false } +radroots_transport = { package = "radroots_transport", git = "https://github.com/radrootslabs/lib.git", rev = "f7f456d906d91aadbb9fac4850afaa8c5723c3e9", version = "=0.1.0-alpha", default-features = false } +radroots_transport_nostr = { package = "radroots_transport_nostr", git = "https://github.com/radrootslabs/lib.git", rev = "f7f456d906d91aadbb9fac4850afaa8c5723c3e9", version = "=0.1.0-alpha", default-features = false } +radroots_replica_store = { git = "https://github.com/radrootslabs/lib.git", rev = "f7f456d906d91aadbb9fac4850afaa8c5723c3e9", version = "=0.1.0-alpha", default-features = false } +radroots_replica_schema = { git = "https://github.com/radrootslabs/lib.git", rev = "f7f456d906d91aadbb9fac4850afaa8c5723c3e9", version = "=0.1.0-alpha", default-features = false } +radroots_replica_sync = { git = "https://github.com/radrootslabs/lib.git", rev = "f7f456d906d91aadbb9fac4850afaa8c5723c3e9", version = "=0.1.0-alpha", default-features = false } radroots_sdk = { path = "crates/sdk", version = "=0.1.0-alpha", default-features = false } radroots_sdk_sql_wasm_runtime = { path = "crates/sql_wasm_runtime", version = "=0.1.0-alpha" } -radroots_sql_core = { git = "https://github.com/radrootslabs/lib.git", rev = "5537bf0e1c36a94958a4c6eceb7722845b9a4efa", version = "=0.1.0-alpha", default-features = false } -radroots_trade = { package = "radroots_trade", git = "https://github.com/radrootslabs/lib.git", rev = "5537bf0e1c36a94958a4c6eceb7722845b9a4efa", version = "=0.1.0-alpha", default-features = false, features = [ +radroots_sql_core = { git = "https://github.com/radrootslabs/lib.git", rev = "f7f456d906d91aadbb9fac4850afaa8c5723c3e9", version = "=0.1.0-alpha", default-features = false } +radroots_trade = { package = "radroots_trade", git = "https://github.com/radrootslabs/lib.git", rev = "f7f456d906d91aadbb9fac4850afaa8c5723c3e9", version = "=0.1.0-alpha", default-features = false, features = [ "json", "std", ] } diff --git a/crates/sdk/src/trade.rs b/crates/sdk/src/trade.rs @@ -783,7 +783,7 @@ mod tests { let artifact_id = PrivateArtifactId::new([7; 16]).expect("artifact id"); let metadata = PrivateArtifactMetadata::new( artifact_id, - ArtifactKind::parse("trade_private_terms").expect("kind"), + ArtifactKind::parse("trade.private_terms").expect("kind"), ArtifactSchemaId::parse("radroots.private.fulfillment.v1").expect("schema"), ArtifactCommitment::new([0xee; 32]), 64, diff --git a/tools/xtask/src/release_graph.rs b/tools/xtask/src/release_graph.rs @@ -576,7 +576,7 @@ mod tests { #[test] fn exact_cross_repository_git_sources_require_the_requested_commit() { - const REVISION: &str = "5537bf0e1c36a94958a4c6eceb7722845b9a4efa"; + const REVISION: &str = "f7f456d906d91aadbb9fac4850afaa8c5723c3e9"; let source = format!("git+https://github.com/radrootslabs/lib.git?rev={REVISION}#{REVISION}"); validate_exact_git_source(&source, "https://github.com/radrootslabs/lib")