lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README

commit 7bebe57b59438518372ecdeed67ef905c4e3a286
parent c827f10a327fb1a086854c6828884257bf7f48cb
Author: triesap <tyson@radroots.org>
Date:   Wed,  1 Jul 2026 11:28:03 +0000

lib: remove production dead-code suppressions

- drop unused signer relay ordinal deserialization
- move trade listing tag-build coverage into tests
- add focused lib guards against dead-code suppressions
- validate signer and trade crates through extbuild

Diffstat:
Mcrates/nostr_signer/src/store.rs | 10+++++++---
Mcrates/trade/src/listing/codec.rs | 48+++++++++++++++++++++++++++---------------------
2 files changed, 34 insertions(+), 24 deletions(-)

diff --git a/crates/nostr_signer/src/store.rs b/crates/nostr_signer/src/store.rs @@ -199,7 +199,7 @@ impl RadrootsNostrSignerStore for RadrootsNostrSqliteSignerStore { let relay_rows: Vec<SignerConnectionRelayRow> = query_rows( self.db.as_ref(), - "SELECT connection_id, ordinal, relay_url FROM signer_connection_relay ORDER BY connection_id, ordinal", + "SELECT connection_id, relay_url FROM signer_connection_relay ORDER BY connection_id, ordinal", )?; for row in relay_rows { let index = *connection_indexes @@ -547,8 +547,6 @@ impl SignerConnectionPermissionGrantRow { #[derive(Debug, Deserialize)] struct SignerConnectionRelayRow { connection_id: String, - #[allow(dead_code)] - ordinal: i64, relay_url: String, } @@ -878,6 +876,12 @@ mod tests { use std::thread; #[test] + fn production_source_has_no_dead_code_allowance() { + let forbidden = ["#[allow(", "dead_code", ")]"].concat(); + assert!(!include_str!("store.rs").contains(forbidden.as_str())); + } + + #[test] fn file_store_round_trip_and_path_accessor() { let temp = tempfile::tempdir().expect("tempdir"); let path = temp.path().join("signer.json"); diff --git a/crates/trade/src/listing/codec.rs b/crates/trade/src/listing/codec.rs @@ -21,8 +21,6 @@ use radroots_events::plot::RadrootsPlotRef; use radroots_events::resource_area::RadrootsResourceAreaRef; use radroots_events::tags::{TAG_D, TAG_PUBLISHED_AT}; use radroots_events_codec::d_tag::is_d_tag_base64url; -use radroots_events_codec::error::EventEncodeError; -use radroots_events_codec::listing::tags::listing_tags_full; const TAG_PRICE: &str = "price"; const TAG_RADROOTS_BIN: &str = "radroots:bin"; @@ -195,25 +193,6 @@ pub fn listing_from_event_parts( listing_from_tags(tags, d_tag, farm_ref, farm_pubkey, resource_area, plot) } -#[allow(dead_code)] -pub fn listing_tags_build( - listing: &RadrootsListing, -) -> Result<Vec<Vec<String>>, ListingParseError> { - listing_tags_full(listing).map_err(map_listing_tags_error) -} - -#[allow(dead_code)] -fn map_listing_tags_error(err: EventEncodeError) -> ListingParseError { - match err { - EventEncodeError::EmptyRequiredField(field) => { - ListingParseError::MissingTag(field.to_string()) - } - EventEncodeError::InvalidField(field) => ListingParseError::InvalidTag(field.to_string()), - EventEncodeError::Json => ListingParseError::InvalidJson("discount".to_string()), - EventEncodeError::InvalidKind(kind) => ListingParseError::InvalidKind(kind), - } -} - fn listing_from_tags( tags: &[Vec<String>], d_tag: String, @@ -690,6 +669,27 @@ mod tests { }; use radroots_events::farm::RadrootsFarmRef; use radroots_events::listing::RadrootsListing; + use radroots_events_codec::error::EventEncodeError; + use radroots_events_codec::listing::tags::listing_tags_full; + + fn listing_tags_build( + listing: &RadrootsListing, + ) -> Result<Vec<Vec<String>>, ListingParseError> { + listing_tags_full(listing).map_err(map_listing_tags_error) + } + + fn map_listing_tags_error(err: EventEncodeError) -> ListingParseError { + match err { + EventEncodeError::EmptyRequiredField(field) => { + ListingParseError::MissingTag(field.to_string()) + } + EventEncodeError::InvalidField(field) => { + ListingParseError::InvalidTag(field.to_string()) + } + EventEncodeError::Json => ListingParseError::InvalidJson("discount".to_string()), + EventEncodeError::InvalidKind(kind) => ListingParseError::InvalidKind(kind), + } + } fn farm_ref() -> RadrootsFarmRef { RadrootsFarmRef { @@ -772,6 +772,12 @@ mod tests { } #[test] + fn production_source_has_no_dead_code_allowance() { + let forbidden = ["#[allow(", "dead_code", ")]"].concat(); + assert!(!include_str!("codec.rs").contains(forbidden.as_str())); + } + + #[test] fn listing_parses_radroots_bins() { let tags = base_trade_tags();