lib

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

commit a49fbfe8b313b77e1639d939b8b61bc3e634bc78
parent 58f8014a7d26e299b3ff7e1c77f6c0e279773ceb
Author: triesap <tyson@radroots.org>
Date:   Sat, 13 Jun 2026 13:35:33 -0700

events: enforce contract registry invariants

Diffstat:
Mcrates/events/src/contract.rs | 26++++++++++++++++++++++++++
1 file changed, 26 insertions(+), 0 deletions(-)

diff --git a/crates/events/src/contract.rs b/crates/events/src/contract.rs @@ -2678,6 +2678,32 @@ mod tests { } #[test] + fn event_contract_classes_match_kind_contracts() { + for contract in all_event_contracts() + .iter() + .chain(LIST_SET_GENERIC_EVENT_CONTRACTS.iter()) + { + let kind = kind_contract(contract.kind).expect("event kind contract"); + assert_eq!(contract.class, kind.class, "{}", contract.id); + } + } + + #[test] + fn every_event_contract_is_listed_by_its_kind_contract() { + for contract in all_event_contracts() + .iter() + .chain(LIST_SET_GENERIC_EVENT_CONTRACTS.iter()) + { + let kind = kind_contract(contract.kind).expect("event kind contract"); + assert!( + kind.accepted_event_contracts.contains(&contract.id), + "{}", + contract.id + ); + } + } + + #[test] fn order_request_listing_event_contract_is_event_pointer() { let contract = event_contract("radroots.order.request.v1").expect("order request"); let tag = contract