lib

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

commit 5d0fe65a0984a7c901994b5c8a32ed0de097be10
parent 4ef4e07e485124c262e4b4a2e7093f801bb53d53
Author: triesap <tyson@radroots.org>
Date:   Tue,  6 Jan 2026 15:09:02 +0000

events-codec: Enforce base64 d_tag rules in list set tags


- Validate farm/coop/resource list set d_tags on encode/decode
- Allow non-base64 list sets like member_of without extra checks
- Add helpers to parse embedded base64 IDs
- Add unit tests for invalid list set d_tags

Diffstat:
Mtrade/src/listing/dvm.rs | 2++
1 file changed, 2 insertions(+), 0 deletions(-)

diff --git a/trade/src/listing/dvm.rs b/trade/src/listing/dvm.rs @@ -4,6 +4,7 @@ use alloc::{string::String, vec::Vec}; use radroots_events::{RadrootsNostrEventPtr, kinds::KIND_PROFILE}; +use radroots_events_codec::d_tag::is_d_tag_base64url; #[cfg(feature = "ts-rs")] use ts_rs::TS; @@ -223,6 +224,7 @@ impl TradeListingAddress { if kind == KIND_PROFILE as u16 || seller_pubkey.trim().is_empty() || listing_id.trim().is_empty() + || !is_d_tag_base64url(&listing_id) { return Err(TradeListingAddressError::InvalidFormat); }