commit 8a497c39917db512402a5dabe483010815f0a73a
parent 007ac831a95d1963c4e1d5e01e2af9362f095c11
Author: triesap <tyson@radroots.org>
Date: Thu, 30 Jul 2026 05:05:16 +0000
event-codec: document public api contract
- replace legacy notes with a charter-aligned package and trust-boundary guide
- include the README in rustdoc and add a runnable verified-profile example
- record the pinned public API baseline and enforce its package boundaries
- refresh governed source evidence and pass documentation qualification
Diffstat:
12 files changed, 2682 insertions(+), 342 deletions(-)
diff --git a/crates/event_codec/README.md b/crates/event_codec/README.md
@@ -1,339 +1,155 @@
# radroots_event_codec
-This is the README for `radroots_event_codec`, which provides canonical event
-codecs and tag builders for the `radroots` core libraries.
-
-## Overview
-
- * canonical decoders for event content, tags, job envelopes, profiles, Field
- event envelopes, NIP-29 group events, and wire representations;
- * tag builder helpers for the same event families exposed by
- `radroots_event`;
- * parsed view and error types for codec-driven validation and routing;
- * optional `json` adapters for JSON and wire interop.
-
-With the optional `json` feature, the Profile codec exposes separate
-strict authored and tolerant inbound operations. Strict authoring emits
-bounded, deterministic kind-`0` metadata with empty tags and image-typed,
-byte-verified Blossom media references. Tolerant inbound parsing retains raw
-and residual fields and never upgrades observed media or NIP-05 syntax into
-network verification. Its content parser accepts only bounded kind-`0` content
-from an event whose identifier and signature the caller has already verified.
-With `json`, `profile::admission::verify_and_admit_profile_event`
-provides that combined boundary and returns metadata bound to a non-forgeable
-signature-verified envelope. Standard tagless kind-`0` events are accepted; no
-Radroots marker is required.
-
-General NIP-01 identifier and Schnorr verification lives in `verification` and
-is independent of serde, JSON, and the optional `knowledge` decoder. The
-portable verifier exposes `RadrootsSignatureVerifiedEvent` and rejects event
-kinds above `u16::MAX` instead of truncating them.
-
-With `json`, `admission::admit_verified_event` is the current central
-contract boundary over an already verified event. It preserves typed admitted
-Profile, root Post, Reply, Comment, DeletionRequest, and FoodAvailability
-values, while other registered events must pass complete registry shape
-validation and return `ContractValidated`. Kind `1` is tested as a root Post
-before the exact thread-excluded candidate may be promoted to Reply. Kind
-`30402` is partitioned as focused Food, Operational Listing, generic NIP-99,
-or ambiguous before any profile validation; a valid excluded Operational
-Listing falls back to the registry, while generic and mixed-marker candidates
-remain distinct failures.
-
-`admission::admit_verified_event_registry_v7` is the immutable historical
-admission graph used by event-store reconciliation v1. It returns the closed
-registry-v7 admitted, unsupported, invalid, or internal-defect decision needed
-for persisted facts without depending on richer current admission enums.
-Later registry revisions must add a new versioned entrypoint rather than
-changing this behavior. Neither admission operation accepts an unverified
-envelope, signs or publishes events, selects event heads, evaluates deletion
-effects, or mutates storage.
-
-The post codec exposes deterministic authored wire builders and a separate
-verified-event projection. Update emits no profile tags, PhotoUpdate emits
-strict ordered NIP-92 `imeta`, and Ask emits one exact `t=radroots-ask` marker
-before optional strict media. The former mutable post encoder and generic tag
-builder are removed. Inbound projection preserves ordinary kind-1 reads,
-excludes any `e`-tagged reply before product classification, and applies Ask,
-PhotoUpdate, Update precedence. Unknown media fields and repeatable fallbacks
-remain ordered; malformed media becomes diagnostic Update unless a valid Ask
-marker takes precedence. Structural inbound URLs remain unverified and no
-network retrieval occurs.
-
-The Reply codec deterministically emits strict marked direct and nested NIP-10
-wire parts from `AuthoredNip10Reply`. Its inbound boundary projects
-only signature-and-id verified kind-1 envelopes, accepts marked and deprecated
-positional thread anchors, retains valid supplemental citations, and reports
-malformed advisory relay, author, participant, and citation metadata through
-ordered diagnostics. Root and parent ambiguity or malformed hard anchors
-remain projection failures.
-
-Authored and inbound NIP-10 Reply and NIP-22 Comment relay metadata uses the
-shared `NostrRelayHint` profile: exact lowercase `ws://` or `wss://`,
-visible ASCII, canonical lowercase DNS or four-octet IPv4 or bracketed
-pure-hex RFC 5952 IPv6, canonical optional port `1..65535`, and RFC 3986
-path-abempty/query syntax with uppercase `%HH` escapes. IDNA or
-percent-encoded hosts, legacy IPv4, userinfo, fragments, controls,
-backslashes, and normalization-dependent forms are rejected. Inbound
-projection ignores an invalid advisory hint while preserving its exact raw tag
-in ordered diagnostics. Relay syntax remains independent from each event
-profile's 4,096-byte tag-element budget.
-
-The Comment codec implements the strict Radroots
-[NIP-22](https://github.com/nostr-protocol/nips/blob/bdfa7e62ef87fcfcb992b1a27aee49d36b0b4f91/22.md)
-kind-`1111` profile for event or address roots of kind `30402`, `31922`, or
-`31923`. It rejects external `I`/`i` authority and kind-`1` roots.
-`authored_nip22_comment_to_wire_parts` emits only canonical order:
-`E,K,P,e,k,p` for a top-level event, `A,K,P,a,e,k,p` for a top-level
-address, and `E,K,P,e,k,p` or `A,K,P,e,k,p` for a nested event or address.
-Event `E` and parent or direct `e` references always have four elements with a
-relay slot and author hint. Address and participant references have two
-elements plus an optional relay; a top-level address Comment's revision `e`
-has no author hint. Direct `k` repeats the root kind and nested `k` is exactly
-`1111`.
-
-`project_verified_nip22_comment_event` accepts only a
-`RadrootsSignatureVerifiedEvent`. It resolves the `E`/`A`, `K`, `P`, `e`/`a`,
-`k`, and selected `p` authority independently of tag order and treats invalid
-cardinality, shapes, noncanonical kinds, unsupported roots, coordinate
-conflicts, and valid-but-conflicting author hints as hard errors. It preserves
-exact raw tags, supplemental unknown and `q` tags, and distinct unselected
-lowercase `p` mentions. Inbound NIP-22 reference event IDs, public keys, and
-coordinate-author hex accept either ASCII hex case; typed values normalize to
-lowercase while raw tags retain the original spelling. Malformed advisory relay
-and participant metadata produce ordered diagnostics without weakening the
-required authority.
-`verify_and_admit_nip22_comment_event` first verifies the NIP-01 id and Schnorr
-signature, then binds that envelope to
-`RadrootsInboundNip22CommentProjection` in
-`RadrootsAdmittedNip22CommentEvent`; it does not verify any referenced event or
-relay.
-
-The exact Comment operation namespace is
-`social.comment.build_authored_draft`,
-`social.comment.project_verified_event`, and
-`social.comment.verify_and_admit_event`. Registry v7 makes
-`radroots.social.comment.v1` `TypedOnly` for authoring and `AdmissionOnly` for
-matching; registry versions `1` through `6` are stale. Content is limited to
-131072 UTF-8 bytes, a Comment to 1024 tags, all tags to 4096 elements including
-tag names, each element to 4096 bytes, aggregate tag bytes to 131072, and
-compact signed wire JSON to 262144 bytes.
-
-The canonical 114-case self-contained Comment corpus is
-`contracts/conformance/vectors/comment/verified_profile.v1.json`; the packaged
-fixture is byte-identical. Projection and admission cases contain fixed signed
-event JSON, while authored cases contain explicit checked inputs and complete
-wire expectations. The runner consumes these records directly and covers
-valid shapes, diagnostics, exact and over-limit budgets, stable error
-precedence, and NIP-01 admission without secret keys, mutation recipes, or
-ambient state.
-
-The Deletion codec implements the request and pure suppression-evaluation
-boundaries of
-[NIP-09](https://github.com/nostr-protocol/nips/blob/bdfa7e62ef87fcfcb992b1a27aee49d36b0b4f91/09.md).
-`authored_nip09_deletion_request_to_wire_parts` emits canonical two-element
-`e` targets, then `a` targets, then the complete unique ascending set of `k`
-kind advisories. `project_verified_nip09_deletion_request_event` accepts only
-an id-and-signature-verified kind-`5` envelope. It retains exact raw tags,
-deduplicates normalized targets with first-seen provenance, sorts the typed
-target views, and treats malformed `e` or `a` targets as hard errors. Unknown
-tags and trailing target elements remain observable. Advisory `k` shape,
-numeric spelling, duplicates, and address-only conflicts produce stable
-ordered diagnostics; event-target kind correspondence remains unprovable at
-this boundary.
-
-`verify_and_admit_nip09_deletion_request_event` binds the projection to the
-verified request envelope. It does not authorize or apply a deletion, look up
-a target, compare authors, compute an address cutoff, suppress an event, or
-mutate storage.
-
-`evaluate_nip09_suppression` is a separate pure operation over one
-`RadrootsSignatureVerifiedEvent` candidate and admitted deletion requests. It
-returns an explicit `RadrootsNip09SuppressionDecision` with canonical evidence
-without changing any input or touching a store. Kind `5` is immune. Other
-candidates require the request author to equal the candidate author. An exact
-event-id target applies independently of timestamps; a canonical address
-target applies through the inclusive maximum qualifying request timestamp, so
-a later replacement is not suppressed. Advisory `k` values do not affect the
-result, and request order cannot affect the decision.
-
-The reconciliation-v1 entrypoints
-`project_verified_nip09_deletion_request_event_v1`,
-`admit_verified_nip09_deletion_request_event_v1`, and
-`evaluate_nip09_suppression_v1` freeze the exact request and suppression
-behavior consumed by event-store schema version 2. Current compatibility
-entrypoints delegate to these functions; a future algorithm revision must add
-new versioned functions.
-
-The exact operation namespace is
-`social.deletion_request.build_authored_draft`,
-`social.deletion_request.project_verified_event`,
-`social.deletion_request.verify_and_admit_event`, and
-`social.deletion_request.evaluate_suppression`. Registry v7 makes
-`radroots.social.deletion_request.v1` `TypedOnly` for authoring and
-`AdmissionOnly` for matching, with generic kind-`5` authoring and publication
-reserved.
-
-The canonical self-contained 80-case corpus is
-`contracts/conformance/vectors/deletion/verified_profile.v1.json`; the
-packaged fixture is byte-identical. Signed inputs are complete compact event
-JSON, expected projections contain no effect-authority output, and executable
-cases cover canonical authoring, tolerant verified projection, diagnostics,
-exact and over-limit resource budgets, precedence, and admission without
-shipping keys, seeds, generators, or mutation recipes.
-
-The separate
-`contracts/conformance/vectors/deletion/suppression.v1.json` corpus and its
-byte-identical packaged fixture execute the evaluator's same-author, direct
-event, inclusive address-cutoff, later-replacement, pre-target request,
-kind-`5` immunity, and deterministic evidence behavior. These vectors govern a
-decision value only and claim no persistent store effect.
-
-The FoodAvailability codec owns four boundaries for the focused
-`radroots.food.availability.v1` kind-`30402` profile. Strict details plus
-`created_at` produce bounded unsigned wire parts whose tag order is exactly
-`d`, `title`, `summary`, `published_at`, `location`, `price`,
-`radroots:price_unit`, optional `radroots:quantity`, `status`, and repeated
-`image`. Content and decoded tags remain bounded, and compact signed-event size
-is checked after exact JSON escaping. Authored images already prove local
-Blossom descriptor-to-byte agreement, but not upload completion or network
-availability.
-
-Verified inbound projection partitions raw tag names before validation.
-Focused-only candidates are projected, Operational Listing and marker-free
-generic NIP-99 candidates are explicit exclusions, and mixed-marker candidates
-fail as ambiguous. Focused core fields are required; decimal and currency
-spellings are normalized within their wire bounds; optional unowned NIP-99
-tags are ignored; and tags purporting to add commerce, fulfillment,
-provenance, or operational capabilities fail closed. Image observations remain
-ordered structural HTTP(S) data. At most 64 are retained, with stable ordered
-diagnostics for overflow, shape, URL, dimensions, duplicate URL, and duplicate
-Blossom digest. An image diagnostic does not invalidate an otherwise complete
-focused core and never upgrades observed media to an authored typestate.
-
-`verify_and_admit_food_availability_event` first verifies the NIP-01 id and
-Schnorr signature, then binds either the focused projection or an explicit
-non-focused exclusion to that verified envelope. Revision validation accepts
-two independently verified events, requires both to satisfy the exact authored
-wire profile, preserves kind, author, `d`, and `published_at`, and applies the
-NIP-01 newer-event rule: later `created_at`, then lower event id at equal time.
-Successful combined verification and admission uses the portable verifier;
-the packaged conformance runner enables `json` for signed JSON event cases.
-These codecs do not sign, publish, replicate, upload, retrieve, or provide
-client behavior.
-
-The NIP-52 calendar codecs expose a deliberate three-stage boundary for kinds
-`31922`, `31923`, `31924`, and `31925`:
-
-1. bounded structural wire or envelope parsing preserves the complete event;
-2. the kind-specific date event, time event, calendar collection, or RSVP
- parser produces a tolerant `RadrootsParsedNip52*` projection and rejects a
- mismatched kind;
-3. the corresponding `admit_radroots_*` operation applies the stricter
- Radroots profile and returns a non-interchangeable admitted type.
-
-Structural envelope construction, the baseline parsers, and the admission
-functions do not verify a Schnorr signature. Before treating inbound data as
-accepted, callers must recompute and compare its NIP-01 id, verify its
-signature against the author, use the parser for its expected kind, and keep
-the typed result bound to that verified envelope. The calendar
-`*_parsed_from_event` convenience functions remain structural wrappers; their
-names do not imply cryptographic verification.
-
-The baseline parser projects repeated NIP-52 `location`, participant `p`,
-category `t`, absolute-URI reference `r`, and kind-`31924` inclusion-request
-`a` tags, plus deprecated `name` compatibility data. It accepts arbitrary
-absolute image URIs. Kind `31922` requires semantic Gregorian dates and retains
-uppercase-`D` tags as uninterpreted extensions. Kind `31923` requires at least
-one in-range `D` day and exact IANA time-zone identifiers. NIP-52 makes
-multi-day coverage a `SHOULD`, so the baseline requires neither the start-day
-index nor complete coverage; duplicate, unordered, and leading-zero numeric
-observations are additionally preserved as parser tolerance and are never
-canonical authored output. An omitted
-`end_tzid` uses `start_tzid` when present.
-
-Strict date admission rejects every uppercase-`D` extension. Strict time
-admission requires canonical decimal timestamps and the exact ascending
-uppercase-`D` sequence for the exclusive interval, bounded to 366 covered
-days. Authored codecs derive that sequence and emit unsigned
-`Nip01EventWireParts`; signing and transport stay at the owning runtime
-boundary.
-
-Kind `31924` is handled only by the calendar-specific codec. Generic NIP-51
-taxonomy may recognize it as a calendar list, but the generic list-set decoder
-and authoring path and the broader generic list codec reject it. Calendar collection content is the bounded
-plain-text NIP-52 detailed description; it is not substituted from or collapsed
-into the optional NIP-51 `description` tag. The parser requires exactly one
-`d` and `title`, accepts optional singleton `description` and `image` tags, and
-accepts zero or more exact `a` references to kind `31922` or `31923` events.
-An empty collection is valid, and each event reference preserves its own
-optional relay hint. Singleton collection tags have exactly two elements; an
-`a` tag has exactly two elements plus an optional relay element.
-
-Kind `31925` has bounded optional note content and exact singleton
-cardinality: required `d`, `a`, and `status`, with optional `e`, `fb`, and `p`.
-The `a`, `e`, and `p` values preserve independent optional relay hints. The
-`p` tag is parsed as an event-author hint without participant-role semantics;
-strict admission requires it to match the author in the `a` coordinate.
-`d`, `status`, and `fb` tags have exactly two elements, while `a`, `e`, and `p`
-have exactly two elements plus an optional relay element.
-Tolerant parsing preserves `fb` observed on a declined RSVP, but parsed and
-admitted values expose no effective free/busy state for it. Authored declined
-RSVPs never emit `fb`.
-
-Strict collection and RSVP authoring and admission require a canonical
-22-character unpadded base64url 128-bit identifier and canonical reference
-spellings. Identifier syntax does not establish runtime uniqueness. Parsing
-valid identifiers, event ids, author keys, coordinates, and relay hints does
-not establish reference existence, revision correspondence, RSVP authority,
-or relay availability.
-
-Strict inbound admission, including kind-`31924` collection images, upgrades
-an image only to a structural Blossom hash-path URL. It does not prove
-reference approval, bytes, upload completion, or retrievability. Strict
-authored image inputs are approved, byte-verified Blossom `image/*`
-descriptors, but are still not upload receipts. A publishing runtime must
-require successful BUD-02 completion and a bounded retrievability check before
-signing or publishing media-bearing wire parts.
-
-## Field Event Codecs
-
-The Field codec surface validates the public Nostr event substrate exposed by
-`radroots_event`:
-
- * workspace manifests use kind `30078`, JSON content, a schema marker, `d` and
- `h` routing tags, owner tags, relay references, and Field-supported kind
- declarations;
- * CRDT changes use kind `78`, JSON content, `h`, `d`, `a`, optional author `p`,
- and semantic `t` tags, with base64url change payload validation;
- * farm files use kind `1063`, NIP-94-compatible metadata tags, a workspace
- address, a farm group id, an owner document tag, lowercase SHA-256 hashes,
- and optional caption text as content;
- * NIP-42 relay auth and NIP-98 HTTP auth events require empty content and the
- auth tags required by their protocols; NIP-98 `u`, `method`, and `payload`
- tags are parsed as singleton security tags and duplicate occurrences fail
- closed;
- * NIP-29 group codecs preserve the protocol distinction between `h`-routed
- group operations and `d`-routed addressable group state for the supported
- `9000`, `9001`, `9002`, `9005`, `9007`, `9008`, `9009`, `9021`, `9022`,
- `39000`, `39001`, `39002`, and `39003` subset.
-
-These codecs validate event shape, routing tags, hashes, and payload encoding.
-They do not validate private Field task, work-session, harvest, approval, or
-authorization semantics; those remain application and CRDT document concerns.
-The group codecs use bare metadata marker tags such as `private`, `restricted`,
-`hidden`, and `closed`, `supported_kinds` declarations, and `code` tags for
-invite and join flows. They preserve optional reason content on user management
-and moderation events. LiveKit room metadata and live participant state are
-deferred. SDK-owned wasm bindings expose deterministic JSON tag builders for the
-same Field and NIP-29 families.
+`radroots_event_codec` is the portable, deterministic algorithm layer for
+Radroots events. It converts between bounded wire representations and native
+`radroots_event` values, computes canonical NIP-01 identifiers, verifies event
+identifiers and signatures, validates event contracts, admits typed event
+profiles, and generates governed contract manifests.
+
+The crate is pre-release and its Cargo version is frozen at `0.1.0-alpha`
+until explicitly changed. Serialized contract generations such as registry v7
+are versioned independently from the Cargo package.
+
+## Canonical surface
+
+New code should enter through these modules:
+
+| Module | Responsibility |
+| --- | --- |
+| `canonical` | Compute canonical NIP-01 preimages and event identifiers without asserting trust. |
+| `decode` | Parse bounded wire data and domain projections without silently verifying later stages. |
+| `encode` | Produce deterministic JSON, tags, and unsigned wire parts from validated native inputs. |
+| `verify` | Advance explicit identifier, signature, and contract-validation typestates. |
+| `admission` | Apply typed or registry admission to an already verified event; available with `json`. |
+| `manifest` | Generate and validate registry and knowledge inventories; available with `manifests`. |
+
+The Release V1 canonical root consists of `Codec`, `DecodeError`,
+`EncodeError`, and `VerificationError`. Domain algorithms stay beneath the
+canonical modules so each import states whether it encodes, decodes, verifies,
+or admits data. The pre-release tree still exposes temporary compatibility
+paths while first-party consumers finish migration; they are not the
+canonical interface and may be removed before Release V1. The complete current
+surface, including those temporary paths, is recorded in the
+[public API baseline](../../docs/api/radroots_event_codec.txt).
+
+## Verification pipeline
+
+Wire parsing and cryptographic trust are separate operations. A successful
+decode returns a structurally valid `RawEvent`; it does not make the declared
+event ID, signature, contract, referenced events, relay hints, or remote media
+trustworthy.
+
+```rust
+use radroots_event_codec::{admission, decode, verify};
+
+const PROFILE_EVENT: &str = r#"{"id":"762bee187e9e645b81ec26ade05a69b5e8398caf527be8de0d9a45311ed0c7a0","pubkey":"585591529da0bab31b3b1b1f986611cf5f435dca84f978c89ee8a40cca7103df","created_at":1800000100,"kind":0,"tags":[],"content":"{\"display_name\":\"Moss Street Farm\",\"bot\":false,\"website\":\"https://mossstreet.example\",\"picture\":42}","sig":"4290da0bb6422986647bc8cd5f63bd52d49f41e7b665d3b47105b8109183e8d596f322c531d4061df53e1d2b70fda12d5d1c14f3720d7a56d9d0a03746af5109"}"#;
+
+let raw = decode::event(PROFILE_EVENT)?;
+let verified = verify::verify_nip01_event(raw.into_event())?;
+let admitted = admission::admit_verified_event(verified)?;
+
+assert_eq!(admitted.event().kind_u32(), 0);
+# Ok::<(), Box<dyn std::error::Error>>(())
+```
+
+A runnable version is available at
+[`examples/verify_profile.rs`](examples/verify_profile.rs).
+
+For capability-injected verification, use `verify::id`, then
+`verify::signature`, then `verify::contract`. Each function consumes its input
+typestate and returns the next, so callers cannot obtain a later state by
+accidentally skipping an earlier check.
+
+## Features
+
+| Feature | Default | Effect |
+| --- | --- | --- |
+| `std` | yes | Standard-library error integration for the portable surface. |
+| `serde` | no | Serde support for native values used by codec contracts. |
+| `json` | yes | Bounded JSON parsing/encoding and JSON-backed typed profiles; enables `serde`. |
+| `knowledge` | no | Knowledge event codecs and verified decoding; enables `json`. |
+| `manifests` | no | Typed registry and knowledge manifest generation; enables `knowledge`. |
+
+`--no-default-features` keeps the portable allocation-backed canonical,
+encoding, decoding, and verification core. Feature-specific APIs disappear
+when their feature is disabled rather than installing a fallback with weaker
+guarantees.
+
+## Serialization and canonicalization
+
+- `decode::event` accepts compact NIP-01 JSON only within the shared bounded
+ wire limits. Unknown extension structure is bounded before it can consume
+ unbounded memory or parser depth.
+- `encode::event` emits deterministic compact JSON from an existing event
+ envelope. Encoding does not verify or alter the envelope.
+- `canonical::id_preimage` and `canonical::id` compute canonical bytes and the
+ corresponding identifier. They do not compare the result with the event's
+ declared ID.
+- Domain encoders accept checked `radroots_event` inputs and emit unsigned
+ wire parts. Signing and publication belong to the owning runtime.
+- Manifest JSON and digests are generated from versioned contract authority;
+ a manifest feature does not grant storage or publication authority.
+
+Serialized output is stable only where its event profile or manifest
+generation says it is stable. Rust data layout and the pre-release public API
+are not serialized contracts.
+
+## Security and trust boundaries
+
+All public parsers treat their inputs as untrusted. They return structured
+errors for malformed or over-budget data and do not intentionally panic on
+untrusted input. Verification distinguishes these claims:
+
+1. structural decoding proves only bounded event shape;
+2. ID verification proves the declared identifier matches canonical bytes;
+3. signature verification proves the BIP-340 signature for that event and
+ author;
+4. contract validation proves the event matches a registered shape;
+5. typed admission proves the selected Radroots profile.
+
+No stage proves referenced-event existence, relay availability, media upload
+or retrievability, actor authorization, business-policy approval, persistence,
+or publication. Inbound URLs and relay hints remain structural observations
+unless a higher layer explicitly establishes a stronger state.
+
+The crate never owns secret keys and does not sign events. Signature
+verification is deterministic and public-key-only. Callers must not interpret
+a successfully encoded unsigned event as signed or published.
+
+## Side effects, cancellation, and commit points
+
+This crate performs no network access, filesystem access, database access,
+background work, executor installation, timer management, signing, or event
+publication. Its algorithms are synchronous and deterministic for the same
+inputs.
+
+There is therefore no asynchronous cancellation or deadline boundary and no
+durable commit point. Dropping a computation only discards in-memory work.
+Storage, signing, transport, SDK, and daemon callers own cancellation and must
+report success only after their own explicit commit boundary succeeds.
+
+## Intended consumers
+
+Direct consumers are `radroots_nostr`, `radroots_storage_sqlite`,
+`radroots_transport_nostr`, `radroots_sync`, `radroots_sdk`, generated
+bindings, indexers, and conformance tooling. Applications should normally use
+the `radroots` or `radroots_sdk` front door and depend on this crate directly
+only when implementing a deterministic event boundary.
+
+This package must not acquire live relay clients, persistence, background
+workers, host configuration, SDK state, or upstream client error types. Those
+responsibilities belong to adapter and runtime crates.
+
+## Package charter
+
+The authoritative Release V1 responsibility, dependency, feature, module, and
+forbidden-scope contract is the
+[Radroots crates Release V1 specification](../../docs/specs/radroots_crates_release_v1.md).
+The baseline generation procedure and toolchain are documented in
+[`docs/api/README.md`](../../docs/api/README.md).
## Copyright
Except as otherwise noted, all files in the `radroots_event_codec`
-distribution are
-
- Copyright (c) 2025 Tyson Lupul
-
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see LICENSE included in the `radroots_event_codec` distribution.
+distribution are copyright (c) 2025 Tyson Lupul. See `LICENSE` for usage,
+redistribution, and warranty terms.
diff --git a/crates/event_codec/examples/verify_profile.rs b/crates/event_codec/examples/verify_profile.rs
@@ -0,0 +1,13 @@
+use radroots_event_codec::{admission, decode, verify};
+
+const PROFILE_EVENT: &str = r#"{"id":"762bee187e9e645b81ec26ade05a69b5e8398caf527be8de0d9a45311ed0c7a0","pubkey":"585591529da0bab31b3b1b1f986611cf5f435dca84f978c89ee8a40cca7103df","created_at":1800000100,"kind":0,"tags":[],"content":"{\"display_name\":\"Moss Street Farm\",\"bot\":false,\"website\":\"https://mossstreet.example\",\"picture\":42}","sig":"4290da0bb6422986647bc8cd5f63bd52d49f41e7b665d3b47105b8109183e8d596f322c531d4061df53e1d2b70fda12d5d1c14f3720d7a56d9d0a03746af5109"}"#;
+
+fn main() -> Result<(), Box<dyn std::error::Error>> {
+ let raw = decode::event(PROFILE_EVENT)?;
+ let verified = verify::verify_nip01_event(raw.into_event())?;
+ let admitted = admission::admit_verified_event(verified)?;
+
+ assert_eq!(admitted.event().kind_u32(), 0);
+ println!("admitted {}", admitted.contract_id());
+ Ok(())
+}
diff --git a/crates/event_codec/src/admission.rs b/crates/event_codec/src/admission.rs
@@ -1,3 +1,10 @@
+//! Typed admission for verified Radroots events.
+//!
+//! Admission consumes signature-verified inputs, selects an exact typed or
+//! registry contract, and returns a value bound to that verified envelope. It
+//! is deterministic and does not authorize an actor, mutate storage, or
+//! publish an event.
+
#[cfg(not(feature = "std"))]
use alloc::boxed::Box;
diff --git a/crates/event_codec/src/lib.rs b/crates/event_codec/src/lib.rs
@@ -1,6 +1,7 @@
#![cfg_attr(not(feature = "std"), no_std)]
#![cfg_attr(coverage_nightly, feature(coverage_attribute))]
#![forbid(unsafe_code)]
+#![doc = include_str!("../README.md")]
#[cfg(not(feature = "std"))]
extern crate alloc;
diff --git a/crates/event_codec/src/manifest.rs b/crates/event_codec/src/manifest.rs
@@ -1,3 +1,9 @@
+//! Governed event-contract manifest generation and validation.
+//!
+//! Manifest operations derive deterministic JSON and SHA-256 evidence from
+//! versioned contract authority. They perform no filesystem writes or release
+//! publication themselves.
+
#[cfg(not(feature = "std"))]
use alloc::{
string::{String, ToString},
diff --git a/crates/event_codec/tests/package_boundary.rs b/crates/event_codec/tests/package_boundary.rs
@@ -4,8 +4,11 @@ use std::collections::BTreeSet;
use radroots_event_codec::{canonical as _, decode as _, encode as _, verify as _};
const MANIFEST: &str = include_str!("../Cargo.toml");
+const README: &str = include_str!("../README.md");
const ROOT: &str = include_str!("../src/lib.rs");
const VERIFICATION: &str = include_str!("../src/verification/v1.rs");
+const EXAMPLE: &str = include_str!("../examples/verify_profile.rs");
+const PUBLIC_API: &str = include_str!("../../../docs/api/radroots_event_codec.txt");
#[test]
fn manifest_has_final_identity_and_required_radroots_dependencies() {
@@ -127,6 +130,43 @@ fn serialization_features_are_explicit_additive_and_final() {
}
}
+#[test]
+fn package_documentation_and_reviewed_api_baseline_are_complete() {
+ for section in [
+ "## Canonical surface",
+ "## Verification pipeline",
+ "## Features",
+ "## Serialization and canonicalization",
+ "## Security and trust boundaries",
+ "## Side effects, cancellation, and commit points",
+ "## Intended consumers",
+ "## Package charter",
+ ] {
+ assert!(README.contains(section), "README is missing {section}");
+ }
+ assert!(ROOT.contains("#![doc = include_str!(\"../README.md\")]"));
+ assert!(EXAMPLE.contains("use radroots_event_codec::{admission, decode, verify};"));
+
+ assert!(PUBLIC_API.starts_with("pub mod radroots_event_codec\n"));
+ for item in [
+ "pub mod radroots_event_codec::admission",
+ "pub mod radroots_event_codec::canonical",
+ "pub mod radroots_event_codec::decode",
+ "pub mod radroots_event_codec::encode",
+ "pub mod radroots_event_codec::manifest",
+ "pub mod radroots_event_codec::verify",
+ "pub use radroots_event_codec::VerificationError",
+ ] {
+ assert!(PUBLIC_API.contains(item), "API baseline is missing {item}");
+ }
+ for forbidden in ["nostr_sdk::", "reqwest::", "sqlx::", "tokio::", "keyring::"] {
+ assert!(
+ !PUBLIC_API.contains(forbidden),
+ "API baseline exposes forbidden host path {forbidden}"
+ );
+ }
+}
+
fn table_keys<'a>(manifest: &'a str, heading: &str) -> BTreeSet<&'a str> {
let Some((_, table)) = manifest.split_once(heading) else {
return BTreeSet::new();
diff --git a/crates/event_store/contracts/source_maintenance_v1.manifest.json b/crates/event_store/contracts/source_maintenance_v1.manifest.json
@@ -481,8 +481,8 @@
{
"role": "event_codec_public_surface",
"path": "crates/event_codec/src/lib.rs",
- "byte_length": 2698,
- "sha256": "021496688fbc8390639a4ec47be1d0b26fe3af0926fbae195692687f04ee4401",
+ "byte_length": 2737,
+ "sha256": "46ef52c98309a2636e4ea45d72251b7e07f90b00f1b4c4ddb0593ecbbdd03658",
"hash_algorithm": "sha256_bytes_v1"
},
{
@@ -509,8 +509,8 @@
{
"role": "event_codec_admission_facade",
"path": "crates/event_codec/src/admission.rs",
- "byte_length": 20946,
- "sha256": "1217ef75ee71c5dba88e16545933c8fcf53cb82b133ab4830b3c3ba08946ca16",
+ "byte_length": 21251,
+ "sha256": "25928e734e7b3688f92af806a12a13458c48fb47e94249f60f0226300d5da2b4",
"hash_algorithm": "sha256_bytes_v1"
},
{
@@ -859,8 +859,8 @@
{
"role": "transitive_predecessor_membership_governance",
"path": "tools/xtask/src/contract/nip09_reconciliation.rs",
- "byte_length": 842232,
- "sha256": "08c2cc956f0f055c8e25d99b5c05dd8f7f2b095c52efa125b7f05471302ef9f5",
+ "byte_length": 842286,
+ "sha256": "6d00e065b8fb9d8575f127abb4b40c672e419812aeb87ae338df95874d4ad16a",
"hash_algorithm": "sha256_bytes_v1"
},
{
diff --git a/crates/event_store/contracts/source_maintenance_v1.manifest.sha256 b/crates/event_store/contracts/source_maintenance_v1.manifest.sha256
@@ -1 +1 @@
-34e0308172f30a2086b25b053bd37fd4369d240317742e6d00c0192296a49107
+b4f52d5a0c998090614dd03afc4eaf3bf4d40a31519704b10c62dea3fabde460
diff --git a/crates/event_store/src/generated/source_maintenance_manifest.rs b/crates/event_store/src/generated/source_maintenance_manifest.rs
@@ -1,8 +1,8 @@
// @generated by `cargo xtask contract source-maintenance-manifest --write`; do not edit.
-pub(crate) const SOURCE_MAINTENANCE_MANIFEST_JSON: &str = "{\n \"schema_version\": 1,\n \"contract_id\": \"radroots_event_store.source_maintenance_v1\",\n \"hook_id\": \"source_maintenance_v1\",\n \"manifest_schema\": {\n \"path\": \"crates/event_store/contracts/source_maintenance_v1.manifest.schema.json\",\n \"byte_length\": 12315,\n \"sha256\": \"96ea98a5abf3348b61565954cd34f2c622411d8dd34205ef04134bbe0e3d3f2b\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n \"predecessor\": {\n \"hook_id\": \"food_availability_projection_v1\",\n \"manifest\": {\n \"path\": \"crates/event_store/contracts/food_availability_projection_v1.manifest.json\",\n \"byte_length\": 17455,\n \"sha256\": \"02dfe1b450fbdac16e718888215b4dd5c85d8975440fa21e8f439fb24c2b2990\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n }\n },\n \"migration\": {\n \"version\": 4,\n \"name\": \"source_maintenance\",\n \"up\": {\n \"path\": \"crates/event_store/migrations/0004_source_maintenance.up.sql\",\n \"byte_length\": 19841,\n \"sha256\": \"ab2724188f8d08c897eebea2533a635e7c74282a25e84e4c0c37e78b08837a43\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n \"down\": {\n \"path\": \"crates/event_store/migrations/0004_source_maintenance.down.sql\",\n \"byte_length\": 5172,\n \"sha256\": \"fe44fd53c51545c08ea479b385e6781079dab70fc63da2a3c205d727a00ce860\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n \"schema_sha256\": \"074f85b663444ac150239ecd8441ea4a96ad83a798a55e22d2e5e2f7ee943a8c\",\n \"catalog\": {\n \"objects\": [\n \"radroots_event_store_source_capacity_delete_guard\",\n \"radroots_event_store_source_capacity_insert_guard\",\n \"radroots_event_store_source_capacity_marker_close_guard\",\n \"radroots_event_store_source_capacity_update_guard\",\n \"radroots_event_store_source_capacity_v1\",\n \"radroots_event_store_source_generation_capacity_advance\",\n \"radroots_event_store_source_generation_capacity_guard\"\n ],\n \"replaced_objects\": [\n \"radroots_event_store_food_availability_image_delete_guard\",\n \"radroots_event_store_food_availability_projection_delete_guard\",\n \"radroots_event_store_source_rebuild_marker_insert_guard\"\n ],\n \"tables\": [\n \"radroots_event_store_source_capacity_v1\"\n ],\n \"fts5_tables\": []\n }\n },\n \"source_maintenance\": {\n \"version\": 1,\n \"event_contract_registry_version\": 7,\n \"capacity_authority_id\": \"radroots_event_store_source_capacity_v1\",\n \"accounting\": {\n \"algorithm\": \"sqlite_cast_blob_octet_sum_v1\",\n \"raw_event_columns\": [\n \"event_id\",\n \"pubkey\",\n \"tags_json\",\n \"content\",\n \"sig\",\n \"raw_json\"\n ],\n \"raw_tag_columns\": [\n \"event_id\",\n \"tag_name\",\n \"tag_value\",\n \"tag_json\"\n ],\n \"nullable_raw_tag_columns\": [\n \"tag_value\"\n ]\n },\n \"limits\": {\n \"raw_events\": 25000,\n \"raw_tags\": 250000,\n \"raw_event_text_bytes\": 67108864,\n \"raw_tag_text_bytes\": 33554432,\n \"retained_source_generations\": 8\n },\n \"reopen_validation\": {\n \"mode\": \"bounded_full_raw_recount_v1\",\n \"raw_event_rejection_scan_bound\": 25001,\n \"raw_tag_rejection_scan_bound\": 250001,\n \"generation_history_validation\": \"bounded_count_plus_active_ordinal_v1\",\n \"retained_generation_rejection_scan_bound\": 9\n },\n \"rebuild_seal\": {\n \"nip09_hook_id\": \"nip09_reconciliation_v1\",\n \"nip09_manifest_sha256\": \"74af832420ffbaa9805e89df3c0b34f126a443e1598f757e3372f407f9003b77\",\n \"food_hook_id\": \"food_availability_projection_v1\",\n \"food_manifest_sha256\": \"02dfe1b450fbdac16e718888215b4dd5c85d8975440fa21e8f439fb24c2b2990\",\n \"food_scope_fingerprint_sha256\": \"8b63c5ddc48a2cc7db69295238b96d5f814dba50427c80b4d0079f061e6d3de0\",\n \"active_generation_authority\": \"radroots_event_store_source_state\",\n \"marker_close_authority\": \"radroots_event_store_source_capacity_marker_close_guard\"\n }\n },\n \"entry_points\": [\n {\n \"role\": \"migration_registry\",\n \"rust_path\": \"radroots_event_store::migrations::EVENT_STORE_MIGRATIONS[3]\"\n },\n {\n \"role\": \"migration_apply_hook\",\n \"rust_path\": \"radroots_event_store::schema::apply_migration_hook\"\n },\n {\n \"role\": \"migration_validation_hook\",\n \"rust_path\": \"radroots_event_store::schema::validate_migration_hook_state\"\n },\n {\n \"role\": \"capacity_query\",\n \"rust_path\": \"radroots_event_store::RadrootsEventStore::source_capacity_v1\"\n },\n {\n \"role\": \"raw_append_preflight\",\n \"rust_path\": \"radroots_event_store::source_maintenance_v1::preflight_unique_raw_source_append_v1\"\n },\n {\n \"role\": \"raw_append_advance\",\n \"rust_path\": \"radroots_event_store::source_maintenance_v1::advance_source_capacity_after_insert_v1\"\n },\n {\n \"role\": \"generation_append_preflight\",\n \"rust_path\": \"radroots_event_store::source_maintenance_v1::preflight_source_generation_append_v1\"\n },\n {\n \"role\": \"generation_rebuild_bind\",\n \"rust_path\": \"radroots_event_store::source_maintenance_v1::bind_source_capacity_to_generation_v1\"\n },\n {\n \"role\": \"sqlite_encoding_preflight\",\n \"rust_path\": \"radroots_event_store::store::validate_main_database_encoding\"\n },\n {\n \"role\": \"source_generation_history_rollback_guard\",\n \"rust_path\": \"radroots_event_store::schema::validate_rollback_preserves_source_generation_history\"\n },\n {\n \"role\": \"result_vector_executor\",\n \"rust_path\": \"source_maintenance_v1_result_vector\"\n }\n ],\n \"source_files\": [\n {\n \"role\": \"workspace_dependency_authority\",\n \"path\": \"Cargo.toml\",\n \"byte_length\": 12411,\n \"sha256\": \"cad96f080b0cc9ac7ffda703c8807540c9cf89f47a2299b141e6e7949714bf9f\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"core_currency_value_authority\",\n \"path\": \"crates/core/src/currency.rs\",\n \"byte_length\": 4142,\n \"sha256\": \"42e6da2d8d2fdd6955dc2d83e98dd00266e02bc910b69923b117662c05089d14\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"core_decimal_value_authority\",\n \"path\": \"crates/core/src/decimal.rs\",\n \"byte_length\": 7839,\n \"sha256\": \"4b1d681a92d7a9e074bee7e1f20eb1499bb05bfc6528a6c9ba69fa7d00416550\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"core_money_value_authority\",\n \"path\": \"crates/core/src/money.rs\",\n \"byte_length\": 8025,\n \"sha256\": \"3f30bc21e21951a62fdc5d4033736ed42a883df590e8403940775bd2edfeebc5\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"core_percent_value_authority\",\n \"path\": \"crates/core/src/percent.rs\",\n \"byte_length\": 2652,\n \"sha256\": \"42ceab109881329f3539d06a0ee0381ab4359985fe185a18d58a9c9558c5eb7f\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"core_quantity_value_authority\",\n \"path\": \"crates/core/src/quantity.rs\",\n \"byte_length\": 6785,\n \"sha256\": \"d14e619da3829cdaf3ca7385fb892d330c286c1e21455c135c37518cbb588b5f\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"core_quantity_price_value_authority\",\n \"path\": \"crates/core/src/quantity_price.rs\",\n \"byte_length\": 7061,\n \"sha256\": \"d60f70377099470ed283f45868a5119d7bb46143cb250b5082a4c038ba7f6cdc\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"core_unit_value_authority\",\n \"path\": \"crates/core/src/unit.rs\",\n \"byte_length\": 10023,\n \"sha256\": \"550e9582b6a5290aac3f637b83853b21fefcbab92c432d067c83448f4b2fe3e9\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"blossom_public_surface\",\n \"path\": \"crates/blossom/src/lib.rs\",\n \"byte_length\": 510,\n \"sha256\": \"a4dfcbd193457c50c1b0fbfc91bb547981ecd3a6e23cfc6f1030edfb511dc58c\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"blossom_authorization_authority\",\n \"path\": \"crates/blossom/src/authorization.rs\",\n \"byte_length\": 39360,\n \"sha256\": \"461947b30516315a342b3b5697599f701d27050888f29f67f5d7a7ad4afa4c28\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"blossom_descriptor_authority\",\n \"path\": \"crates/blossom/src/descriptor.rs\",\n \"byte_length\": 13702,\n \"sha256\": \"b2a4ffa760256e1316f70e012d200e2b5f4afd8ede771b85a5147f96b247f599\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"blossom_error_authority\",\n \"path\": \"crates/blossom/src/error.rs\",\n \"byte_length\": 17229,\n \"sha256\": \"02af55beacf437040be17d1fc3271d6e2a62915f656ec2dbe06247deef83f95a\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"blossom_hash_authority\",\n \"path\": \"crates/blossom/src/hash.rs\",\n \"byte_length\": 11006,\n \"sha256\": \"45eca0d81ac0f46c305a32f81aafcdd90b14679d0614f72862289a6e5d4cb08f\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"blossom_media_type_authority\",\n \"path\": \"crates/blossom/src/media_type.rs\",\n \"byte_length\": 2368,\n \"sha256\": \"69db5c0f9fcdd7dbe1f22daa499f65603ae4ce198083dab2c73a36813fa18a46\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"blossom_url_authority\",\n \"path\": \"crates/blossom/src/url.rs\",\n \"byte_length\": 14580,\n \"sha256\": \"342c995fcf620e5fb32461a7d8276f5668ba2662890bd32d12780cc9121c6451\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_public_surface\",\n \"path\": \"crates/event/src/lib.rs\",\n \"byte_length\": 1892,\n \"sha256\": \"5d609b963a9b8db18ef96a10f394617413734d2631774d3296e6d8fc029cb02c\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_contract_facade\",\n \"path\": \"crates/event/src/contract.rs\",\n \"byte_length\": 208,\n \"sha256\": \"27466bf36461071931f391c60646a13f7781d19584583166cc54c0eece76d010\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_contract_registry_v7_authority\",\n \"path\": \"crates/event/src/contract/registry_v7.rs\",\n \"byte_length\": 145805,\n \"sha256\": \"0a62603f6fc05dc9f758561cf7da258c676ada810ceaeca7fb151364a5c83d62\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_envelope_authority\",\n \"path\": \"crates/event/src/envelope.rs\",\n \"byte_length\": 29310,\n \"sha256\": \"29f8d8c4b17c01cb5a8c7f59e4ce52e134180e0e6f37d265063d278b8f2ff26e\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_verification_typestate_authority\",\n \"path\": \"crates/event/src/verification.rs\",\n \"byte_length\": 9400,\n \"sha256\": \"417acb2ce670d266b1fa4fcafd6b48a910218deab38f57fb8b942056db76f94d\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_admission_typestate_authority\",\n \"path\": \"crates/event/src/admission.rs\",\n \"byte_length\": 7052,\n \"sha256\": \"62bd2ceb0f434946fdfc2b81f4efb13738676a29a6936c23a427e43aadf2d9cb\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_head_facade\",\n \"path\": \"crates/event/src/event_head.rs\",\n \"byte_length\": 97,\n \"sha256\": \"f761ff3e74c4f5e1e28381db00ce698c633ff048669b22984d14a587482e8e83\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_head_v1_authority\",\n \"path\": \"crates/event/src/event_head/v1.rs\",\n \"byte_length\": 6849,\n \"sha256\": \"9f4144d8d240023cf493ce0b538ade4c16dc44204d6b5f2797152caf6f9e7dba\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_ids_authority\",\n \"path\": \"crates/event/src/id.rs\",\n \"byte_length\": 48381,\n \"sha256\": \"a08fe3873815453a03318a706e2fa98a8a6728ec69d24368a87ec60025566fe0\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_trade_authority\",\n \"path\": \"crates/event/src/trade.rs\",\n \"byte_length\": 65549,\n \"sha256\": \"f818a7287ed82de3fb9ef1d973f0fb18d84b30eb4827ddc576ee502dd980145f\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_kinds_authority\",\n \"path\": \"crates/event/src/kinds.rs\",\n \"byte_length\": 34961,\n \"sha256\": \"8b3ce6193cab1f7e1587d0c1b2880a81b0aa43c77d89671b602772db37edcebf\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_tags_authority\",\n \"path\": \"crates/event/src/tags.rs\",\n \"byte_length\": 4530,\n \"sha256\": \"cb8f12a639fc72d9238e32495d9e67e928e6627fb8c94ec0a58c5d95e7373cd6\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_draft_authority\",\n \"path\": \"crates/event/src/draft.rs\",\n \"byte_length\": 51150,\n \"sha256\": \"ecc619aae28d688d13f35467398f17766b60f26c2bf3616d772ce65b7fa4fb53\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_calendar_authority\",\n \"path\": \"crates/event/src/calendar.rs\",\n \"byte_length\": 97992,\n \"sha256\": \"73e79d61ee175cb46e6123e1d28239252ddf0ad094dc1113bdb1286b63b88d57\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_classified_listing_authority\",\n \"path\": \"crates/event/src/classified_listing.rs\",\n \"byte_length\": 7956,\n \"sha256\": \"ac58484b87c7712c81f50f884d1c0dd60938571aa5f6f05d555191f529a4c2b0\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_profile_authority\",\n \"path\": \"crates/event/src/profile.rs\",\n \"byte_length\": 17011,\n \"sha256\": \"572bfe3b6f1711d109db445077f0a8453cad3f021cc0638f79201b618e16b978\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_post_authority\",\n \"path\": \"crates/event/src/post.rs\",\n \"byte_length\": 19968,\n \"sha256\": \"a822cd51eff9cbaa39db998cc5c90d117f7a983f0fe2d42d42118cb00e95982c\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_comment_authority\",\n \"path\": \"crates/event/src/comment.rs\",\n \"byte_length\": 34745,\n \"sha256\": \"24b7fda13229f21cee5cef2a9941e3aaafdbc486b19ed42731b0b6ee37c28703\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_food_availability_authority\",\n \"path\": \"crates/event/src/food_availability.rs\",\n \"byte_length\": 42829,\n \"sha256\": \"52472c07eb0855d884c60755dc3a3e1a963793451d707e51f769f2d78384f318\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_deletion_authority\",\n \"path\": \"crates/event/src/deletion.rs\",\n \"byte_length\": 30022,\n \"sha256\": \"8c3f2e32407520a8e8242c1293af32613c648fb76218b8003a18929ac0b3811f\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_dto_authority\",\n \"path\": \"crates/event/src/dto.rs\",\n \"byte_length\": 5038,\n \"sha256\": \"9e228c95ff6ff33f99441d8682781fd0a1c4d3f1db24284a43985dcbac3ba136\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_farm_crdt_authority\",\n \"path\": \"crates/event/src/farm_crdt.rs\",\n \"byte_length\": 21118,\n \"sha256\": \"cec265ac9c42b59a14be4eb96924d26a83477c27291f667f23e6e47a64b6b2c7\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_knowledge_authority\",\n \"path\": \"crates/event/src/knowledge.rs\",\n \"byte_length\": 54624,\n \"sha256\": \"3d55ff88a4e30d5d605f9ae4b2e96b9df6978d6c14e52f9aeb0b8039cfc200d7\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_operational_listing_authority\",\n \"path\": \"crates/event/src/operational_listing.rs\",\n \"byte_length\": 10307,\n \"sha256\": \"52e710db816c89c8d4b87c86541987f7447f2f7091c394c68d9cb98a27f90159\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_order_authority\",\n \"path\": \"crates/event/src/order.rs\",\n \"byte_length\": 60218,\n \"sha256\": \"4203fcc469612cac5c705884564e140b9fb076cd57079e22ed85275a8b936e50\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_reply_authority\",\n \"path\": \"crates/event/src/reply.rs\",\n \"byte_length\": 15581,\n \"sha256\": \"b0b83a1e96125c0892d932e9314519242a715fa8f46334aff765ffd248c91d9a\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_trade_validation_authority\",\n \"path\": \"crates/event/src/trade_validation.rs\",\n \"byte_length\": 4669,\n \"sha256\": \"1486f79bd1d0eadea6cc1b7646ce1f7f57ccade18334a3ea37286426676b9b98\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_relay_hint_authority\",\n \"path\": \"crates/event/src/relay_hint.rs\",\n \"byte_length\": 13598,\n \"sha256\": \"fb8b026eeccf51d78f20771c44223e7b48825aa0e3c760d6b3cb90148021a674\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_media_authority\",\n \"path\": \"crates/event/src/media.rs\",\n \"byte_length\": 3455,\n \"sha256\": \"10678af3a202d5367dbcf3bcdc0bf9fdf8d8fb89b045d7d3fb96b3cc195ab6f9\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_social_authority\",\n \"path\": \"crates/event/src/social.rs\",\n \"byte_length\": 6076,\n \"sha256\": \"a2dab19caad46eab14fac86e7c878a801a450d8ac374b0e728b71a5a224eef19\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_wire_facade\",\n \"path\": \"crates/event/src/wire.rs\",\n \"byte_length\": 68,\n \"sha256\": \"cb52f6006f7ecd862707d6b048f9fc407e0cd5ebcd3091b3c54e195ffa5cba64\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_wire_v1_authority\",\n \"path\": \"crates/event/src/wire/v1.rs\",\n \"byte_length\": 22198,\n \"sha256\": \"c818bc1f67e215948ba253c8c62b09ab788db9aeec9b6df8096014b55565cb8c\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_public_surface\",\n \"path\": \"crates/event_codec/src/lib.rs\",\n \"byte_length\": 2698,\n \"sha256\": \"021496688fbc8390639a4ec47be1d0b26fe3af0926fbae195692687f04ee4401\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_verification_facade\",\n \"path\": \"crates/event_codec/src/verification.rs\",\n \"byte_length\": 253,\n \"sha256\": \"b49a32df605035c87f295c0a151140d43d2e588c5e11b05183e5fc92993dae0e\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_verification_v1_authority\",\n \"path\": \"crates/event_codec/src/verification/v1.rs\",\n \"byte_length\": 6584,\n \"sha256\": \"72f64615bd6b6dc3b051579e3069b2213f3781dcc28e12f0b533c7d81b81b9b1\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_registry_v7_admission_authority\",\n \"path\": \"crates/event_codec/src/admission/registry_v7.rs\",\n \"byte_length\": 5228,\n \"sha256\": \"62da30cb6ef7d0ed2d43715a73bd529283e8ae8c12571bc5c68722cb400f17b8\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_admission_facade\",\n \"path\": \"crates/event_codec/src/admission.rs\",\n \"byte_length\": 20946,\n \"sha256\": \"1217ef75ee71c5dba88e16545933c8fcf53cb82b133ab4830b3c3ba08946ca16\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_profile_inbound_facade\",\n \"path\": \"crates/event_codec/src/profile/inbound.rs\",\n \"byte_length\": 86,\n \"sha256\": \"9994cbca9dcc7450ad133b6b927e7c06bee08ef813652452cc1e56a284c1be10\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_profile_registry_v7_authority\",\n \"path\": \"crates/event_codec/src/profile/inbound/registry_v7.rs\",\n \"byte_length\": 10347,\n \"sha256\": \"32111c0e0592229c11a93a3a8054e7b124b039451aa696a9abcb56df2a6608d3\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_post_inbound_facade\",\n \"path\": \"crates/event_codec/src/post/inbound.rs\",\n \"byte_length\": 86,\n \"sha256\": \"9994cbca9dcc7450ad133b6b927e7c06bee08ef813652452cc1e56a284c1be10\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_post_registry_v7_authority\",\n \"path\": \"crates/event_codec/src/post/inbound/registry_v7.rs\",\n \"byte_length\": 15985,\n \"sha256\": \"e17083b0596e3a55994c399bc6272c0ebf04cabaa513260b3d45dd546f7f50ef\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_reply_inbound_facade\",\n \"path\": \"crates/event_codec/src/reply/inbound.rs\",\n \"byte_length\": 86,\n \"sha256\": \"9994cbca9dcc7450ad133b6b927e7c06bee08ef813652452cc1e56a284c1be10\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_reply_registry_v7_authority\",\n \"path\": \"crates/event_codec/src/reply/inbound/registry_v7.rs\",\n \"byte_length\": 26662,\n \"sha256\": \"d1d11116ca27801b7e2f17da60900e6a9ca0b6f27ea9ee0bf19e97dbf24c0c32\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_comment_inbound_facade\",\n \"path\": \"crates/event_codec/src/comment/inbound.rs\",\n \"byte_length\": 86,\n \"sha256\": \"9994cbca9dcc7450ad133b6b927e7c06bee08ef813652452cc1e56a284c1be10\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_comment_registry_v7_authority\",\n \"path\": \"crates/event_codec/src/comment/inbound/registry_v7.rs\",\n \"byte_length\": 53311,\n \"sha256\": \"c63fe853536b17bded6073f32b53434b60fc5123f911d01c642a6b3982f09c70\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_deletion_facade\",\n \"path\": \"crates/event_codec/src/deletion/mod.rs\",\n \"byte_length\": 115,\n \"sha256\": \"17d56f82ddb0a86bc97abbcf3e037fe460ea31fff2548f527be4bf004dac3a95\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_deletion_reconciliation_v1_authority\",\n \"path\": \"crates/event_codec/src/deletion/reconciliation_v1.rs\",\n \"byte_length\": 38028,\n \"sha256\": \"c6901f559e83700610595720c47a4d062078ae8411e1fc2fb952dd215b19dd90\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_error_authority\",\n \"path\": \"crates/event_codec/src/error.rs\",\n \"byte_length\": 3666,\n \"sha256\": \"174ce982bca37fac28d016c3ab3236441c9b31b2169ec94db6c9288b36c72849\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_food_admission_authority\",\n \"path\": \"crates/event_codec/src/food_availability/admission.rs\",\n \"byte_length\": 5681,\n \"sha256\": \"99809859090f5295572688d06bbb30dbe50524ba2c996de7ec5b26f6dd390643\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_food_authored_authority\",\n \"path\": \"crates/event_codec/src/food_availability/authored.rs\",\n \"byte_length\": 9724,\n \"sha256\": \"8673ec62ed3fc47b691efd9ca828643719803971e72b756c5b4603d409d0fba5\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_food_inbound_facade\",\n \"path\": \"crates/event_codec/src/food_availability/inbound.rs\",\n \"byte_length\": 86,\n \"sha256\": \"9994cbca9dcc7450ad133b6b927e7c06bee08ef813652452cc1e56a284c1be10\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_food_registry_v7_authority\",\n \"path\": \"crates/event_codec/src/food_availability/inbound/registry_v7.rs\",\n \"byte_length\": 26037,\n \"sha256\": \"92a7e75da3293967cec17a514479144c3c948a64542577dd58c7f07992968e4f\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_job_traits_authority\",\n \"path\": \"crates/event_codec/src/job/traits.rs\",\n \"byte_length\": 4946,\n \"sha256\": \"1b3558a3196744005978dceddd33d3a72ad1ab8f50fb1cbfd997dcfe98bb9e39\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_job_encode_authority\",\n \"path\": \"crates/event_codec/src/job/encode.rs\",\n \"byte_length\": 1670,\n \"sha256\": \"5d6cae6309fcdd02deb7c751b5c451d257cf1900986391cb39cbb2bfd1ddb577\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_knowledge_verification_authority\",\n \"path\": \"crates/event_codec/src/knowledge/verification.rs\",\n \"byte_length\": 6986,\n \"sha256\": \"6f8a10ed262ce37f05acd9c89a1e37ca2fa99ce7da18407891e8abe228ee2349\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_operational_listing_tags_authority\",\n \"path\": \"crates/event_codec/src/operational_listing/tags.rs\",\n \"byte_length\": 50222,\n \"sha256\": \"55b6860bc6f4699dd47a49f8336764e9db78aafb7c32849102dedeb96804b373\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_order_decode_authority\",\n \"path\": \"crates/event_codec/src/order/decode.rs\",\n \"byte_length\": 42667,\n \"sha256\": \"033d9465bc041d205eab3f820572b719a35651340dcb50bdce7c60fabee5f6e1\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_profile_facade\",\n \"path\": \"crates/event_codec/src/profile/mod.rs\",\n \"byte_length\": 1456,\n \"sha256\": \"06b890da54580e2ec68f7e729281b7c3b650ac0a95a4fcb0db3c6cdaa591a7ef\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_tag_builders_authority\",\n \"path\": \"crates/event_codec/src/tag_builders.rs\",\n \"byte_length\": 9232,\n \"sha256\": \"bd81ccf04fd72358331b48eddcde087a95e115c5bd90c05fd9332644979ad5e6\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_trade_facade\",\n \"path\": \"crates/event_codec/src/trade/mod.rs\",\n \"byte_length\": 21472,\n \"sha256\": \"10cee4b6cd6429ac9eb00327a521bcd0982fae4de98bda77e4728fda002965d3\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_store_dependency_authority\",\n \"path\": \"crates/event_store/Cargo.toml\",\n \"byte_length\": 1550,\n \"sha256\": \"9901a09402592ee873c255edf2e0c0d770105401255679d86ad47c35cb159d72\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_store_error_and_limits\",\n \"path\": \"crates/event_store/src/error.rs\",\n \"byte_length\": 19458,\n \"sha256\": \"3d87df984af6ae5decf7ca8c3a8d5422be6c647e6a05490225b6b2037bf3701b\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"generated_descriptor_registration\",\n \"path\": \"crates/event_store/src/generated.rs\",\n \"byte_length\": 144,\n \"sha256\": \"6b0a8d6f249bd4fc3f878d37cb5e418680f0f1be2d9eec2518dedf03efc47121\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"public_surface\",\n \"path\": \"crates/event_store/src/lib.rs\",\n \"byte_length\": 3844,\n \"sha256\": \"3cd9653bcb752fb3c4442d4904b98a0a6208011a9a238125b7b7073d7f4e312b\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"migration_registry\",\n \"path\": \"crates/event_store/src/migrations.rs\",\n \"byte_length\": 73585,\n \"sha256\": \"a47477d04759ec6e71d14d3d05459864eae78fce0e3c2481a1b03147f04637f7\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"predecessor_model_public_surface\",\n \"path\": \"crates/event_store/src/model.rs\",\n \"byte_length\": 32314,\n \"sha256\": \"d7ffa47719783c9f08cb4e00fbe47123cf0310ead06f77d3ad1d81edfda96b2c\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_store_reconciliation_v1_model\",\n \"path\": \"crates/event_store/src/model/reconciliation_v1.rs\",\n \"byte_length\": 10446,\n \"sha256\": \"475b7b840bffdae7e3f7a31f5b940b9dfa579eaa1cac640729aaaeadabf83ba6\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_store_reconciliation_v1_ingest_model\",\n \"path\": \"crates/event_store/src/model/ingest_reconciliation_v1.rs\",\n \"byte_length\": 1588,\n \"sha256\": \"6117e797674c35bb1ccebffbc6a8c0108bfc38c7c9f82607066dfd802b8f0734\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"addressable_transition_feed_model\",\n \"path\": \"crates/event_store/src/model/addressable_transition_feed_v1.rs\",\n \"byte_length\": 22229,\n \"sha256\": \"e651952d73ed0a29d2b137076f56f699beada205ac84ed8a96834e86e343fa78\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"current_visibility_model\",\n \"path\": \"crates/event_store/src/model/current_visibility_v1.rs\",\n \"byte_length\": 5634,\n \"sha256\": \"d64429bc7985231e923c1c3e5295d94270a817dd5dc96693f35dfdf2dc398e4f\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"food_projection_model\",\n \"path\": \"crates/event_store/src/model/food_availability_projection_v1.rs\",\n \"byte_length\": 17108,\n \"sha256\": \"67861a966d674efbc40f0b0433db2ec006048ff923f6261df4161e2ddba717b5\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"source_generation_rebuild_authority\",\n \"path\": \"crates/event_store/src/nip09/reconciliation_v1.rs\",\n \"byte_length\": 184833,\n \"sha256\": \"3ca802cb7a8444c8512b2be1390a019281704316a430fb9b75a8ad2cad358a07\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"nip09_successor_result_vector_executor\",\n \"path\": \"crates/event_store/tests/support/nip09_reconciliation_v1_result_vector_v2.rs\",\n \"byte_length\": 18205,\n \"sha256\": \"c632beee70dc777b8dd2a4f88cadb55296fee7aa5742e6e2c9f6d49f26ae2c78\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"schema_migration_and_reopen_authority\",\n \"path\": \"crates/event_store/src/schema.rs\",\n \"byte_length\": 146146,\n \"sha256\": \"93b060e80d3edd73f86208e4bf698fa9d53eaf1eeb04526c9261fb8b5726fb0d\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"public_store_and_transaction_authority\",\n \"path\": \"crates/event_store/src/store.rs\",\n \"byte_length\": 393535,\n \"sha256\": \"c3286b50a2e9e17a330938492cfded0829dc19516f55aa4f62289d513457bad7\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"addressable_transition_feed_store\",\n \"path\": \"crates/event_store/src/store/addressable_transition_feed_v1.rs\",\n \"byte_length\": 40209,\n \"sha256\": \"2cebcca9602633652a79e7041d18d3a7d3feb1388a98f4f68137b9814efcedfa\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"current_visibility_store\",\n \"path\": \"crates/event_store/src/store/current_visibility_v1.rs\",\n \"byte_length\": 15737,\n \"sha256\": \"aa5d1bff7a5368cbac2b37906bb40f54bfc8aa6906bab34369569fdd105bf899\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"food_projection_store\",\n \"path\": \"crates/event_store/src/store/food_availability_projection_v1.rs\",\n \"byte_length\": 48919,\n \"sha256\": \"3a30da308ef863b806ed63d1cb65ac80f6a946a71821af84a0c595330491757e\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"predecessor_post_core_v1_extension\",\n \"path\": \"crates/event_store/src/store/post_core_extensions_v1.rs\",\n \"byte_length\": 6569,\n \"sha256\": \"f5bd8ddb45e1b2144895bd8da737fc92db051be1844ce7e8047a32b47376ce37\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"predecessor_post_core_v1_storage\",\n \"path\": \"crates/event_store/src/store/post_core_storage_v1.rs\",\n \"byte_length\": 16558,\n \"sha256\": \"d88c1f7ff5cc0a19221ad893eb840d55c11535f13adf84ffb3076cbc18d4abf1\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"raw_ingest_capacity_authority\",\n \"path\": \"crates/event_store/src/store/protocol_reconciliation_v1.rs\",\n \"byte_length\": 29950,\n \"sha256\": \"c72aaff06e4f35d0b4523c6625e83345879f9e15b9fe9563dccf589e5d01e277\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"predecessor_protocol_storage\",\n \"path\": \"crates/event_store/src/store/protocol_storage_v1.rs\",\n \"byte_length\": 10835,\n \"sha256\": \"c82179b9f57968191f3e71dd008cc701787c62715ada74090eeecaa3b213076d\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"source_maintenance_runtime\",\n \"path\": \"crates/event_store/src/source_maintenance_v1.rs\",\n \"byte_length\": 51849,\n \"sha256\": \"db43df5849c811d767a87bfa7884ce499400d0b169734e18242542a4415b3a51\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"predecessor_food_result_vector_executor\",\n \"path\": \"crates/event_store/tests/food_availability_projection_v1_result_vector.rs\",\n \"byte_length\": 34046,\n \"sha256\": \"776903c6431ff07f26c6ad6b713db5628efce1a72f34d86de6e47d4404fa3a6d\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"artifact_transaction_authority\",\n \"path\": \"tools/xtask/src/contract/artifact_bundle.rs\",\n \"byte_length\": 39149,\n \"sha256\": \"3d1bba3980b80698d2a21e26caf7af6fe4d9dc4a7fbabc6e406b5d33928b457f\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"predecessor_successor_governance\",\n \"path\": \"tools/xtask/src/contract/food_availability_projection.rs\",\n \"byte_length\": 198991,\n \"sha256\": \"36fd3d8b5dda3b0855a06a47dae14cae7f4cc84aaca9902c31477c218859fccc\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"transitive_predecessor_membership_governance\",\n \"path\": \"tools/xtask/src/contract/nip09_reconciliation.rs\",\n \"byte_length\": 842232,\n \"sha256\": \"08c2cc956f0f055c8e25d99b5c05dd8f7f2b095c52efa125b7f05471302ef9f5\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"source_maintenance_governance\",\n \"path\": \"tools/xtask/src/contract/source_maintenance.rs\",\n \"byte_length\": 199270,\n \"sha256\": \"a6685c27255918769f894ab098ba13a927c0d70c423fbd72b5404c0af0ae2f89\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"contract_command_authority\",\n \"path\": \"tools/xtask/src/contract.rs\",\n \"byte_length\": 508534,\n \"sha256\": \"43900769fc0d364ff6d693ec735312126b233774ca23d525997823409a4b783b\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"dto_root_generation_authority\",\n \"path\": \"tools/xtask/src/dto_roots.rs\",\n \"byte_length\": 35940,\n \"sha256\": \"a899a5695d7533c151d03477c4bd697a6e55c47a4980549724ac42046af694f5\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"xtask_dispatch_and_release_preflight\",\n \"path\": \"tools/xtask/src/main.rs\",\n \"byte_length\": 16426,\n \"sha256\": \"abc24896c6c740c10811a3e003ec4be8ebdb376a7b6b01445bfa7a5889f094a7\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n }\n ],\n \"public_api\": {\n \"inherited_predecessor_symbols\": [\n \"RADROOTS_ADDRESSABLE_TRANSITION_CURSOR_JSON_MAX_BYTES_V1\",\n \"RADROOTS_ADDRESSABLE_TRANSITION_D_TAG_MAX_BYTES_V1\",\n \"RADROOTS_ADDRESSABLE_TRANSITION_FEED_VERSION_V1\",\n \"RADROOTS_ADDRESSABLE_TRANSITION_PAGE_LIMIT_MAX_V1\",\n \"RADROOTS_ADDRESSABLE_TRANSITION_PAGE_RAW_JSON_MAX_BYTES_V1\",\n \"RADROOTS_ADDRESSABLE_TRANSITION_PAGE_SCAN_MAX_V1\",\n \"RADROOTS_ADDRESSABLE_TRANSITION_SCOPE_KIND_MAX_V1\",\n \"RADROOTS_FOOD_AVAILABILITY_PROJECTION_APPLY_PAGE_LIMIT_V1\",\n \"RADROOTS_FOOD_AVAILABILITY_PROJECTION_VERSION_V1\",\n \"RADROOTS_FOOD_AVAILABILITY_SEARCH_QUERY_MAX_BYTES_V1\",\n \"RADROOTS_FOOD_AVAILABILITY_SEARCH_QUERY_MAX_TERMS_V1\",\n \"RadrootsAddressableTransitionCauseV1\",\n \"RadrootsAddressableTransitionCoordinateV1\",\n \"RadrootsAddressableTransitionCursorV1\",\n \"RadrootsAddressableTransitionEventReferenceV1\",\n \"RadrootsAddressableTransitionOriginV1\",\n \"RadrootsAddressableTransitionPageV1\",\n \"RadrootsAddressableTransitionRawHeadDecisionV1\",\n \"RadrootsAddressableTransitionScopeFingerprintV1\",\n \"RadrootsAddressableTransitionScopeV1\",\n \"RadrootsAddressableTransitionV1\",\n \"RadrootsAddressableTransitionVisibilityV1\",\n \"RadrootsCurrentEventVisibilityV1\",\n \"RadrootsCurrentVisibilityDecisionV1\",\n \"RadrootsFoodAvailabilitySearchQueryV1\",\n \"RadrootsFoodAvailabilityStatusFilterV1\",\n \"RadrootsNip09SuppressionEvidenceV1\",\n \"RadrootsNip09SuppressionOutcome\",\n \"RadrootsNip09SuppressionReason\",\n \"RadrootsStoreProducedCanonicalEventV1\",\n \"RadrootsStoredFoodAvailabilityImageV1\",\n \"RadrootsStoredFoodAvailabilityV1\"\n ],\n \"added_symbols\": [\n \"RADROOTS_EVENT_STORE_RAW_EVENT_COUNT_LIMIT_V1\",\n \"RADROOTS_EVENT_STORE_RAW_EVENT_TEXT_BYTES_LIMIT_V1\",\n \"RADROOTS_EVENT_STORE_RAW_TAG_COUNT_LIMIT_V1\",\n \"RADROOTS_EVENT_STORE_RAW_TAG_TEXT_BYTES_LIMIT_V1\",\n \"RADROOTS_EVENT_STORE_RETAINED_SOURCE_GENERATION_LIMIT_V1\",\n \"RadrootsEventStoreSourceCapacityResourceV1\",\n \"RadrootsEventStoreSourceCapacityV1\"\n ],\n \"methods\": [\n \"RadrootsEventStore::source_capacity_v1\",\n \"RadrootsEventStoreSourceCapacityResourceV1::as_str\",\n \"RadrootsEventStoreSourceCapacityV1::source_generation\",\n \"RadrootsEventStoreSourceCapacityV1::raw_event_count\",\n \"RadrootsEventStoreSourceCapacityV1::raw_tag_count\",\n \"RadrootsEventStoreSourceCapacityV1::raw_event_text_bytes\",\n \"RadrootsEventStoreSourceCapacityV1::raw_tag_text_bytes\",\n \"RadrootsEventStoreSourceCapacityV1::raw_high_water_seq\",\n \"RadrootsEventStoreSourceCapacityV1::retained_generation_count\",\n \"RadrootsEventStoreSourceCapacityV1::retained_generation_limit\"\n ],\n \"error_variants\": [\n \"SourceCapacityExceeded\",\n \"SourceGenerationHistoryLimitReached\",\n \"PersistedEphemeralRawEvent\",\n \"SourceCapacityStateDrift\",\n \"SqliteMainDatabaseEncodingNotUtf8\",\n \"RollbackWouldDiscardSourceGenerationHistory\"\n ],\n \"removed_symbols\": [\n \"RadrootsEventStoreReconciliationResource\",\n \"RadrootsEventStoreError::ReconciliationCapacityExceeded\"\n ],\n \"breaking_replacements\": [\n {\n \"removed\": \"RadrootsEventStoreReconciliationResource\",\n \"replacement\": \"RadrootsEventStoreSourceCapacityResourceV1\"\n },\n {\n \"removed\": \"RadrootsEventStoreError::ReconciliationCapacityExceeded\",\n \"replacement\": \"RadrootsEventStoreError::SourceCapacityExceeded\"\n }\n ]\n },\n \"result_vector\": {\n \"canonical_path\": \"contracts/conformance/vectors/event_store/source_maintenance.v1.json\",\n \"mirror_path\": \"crates/event_store/tests/fixtures/source_maintenance.v1.json\",\n \"byte_length\": 16253,\n \"sha256\": \"997aba2604a2b9d199fb87dc9d07942ca50d91863aeadcf3eeacf16d191dd71f\",\n \"hash_algorithm\": \"sha256_bytes_v1\",\n \"executor_id\": \"radroots_event_store.source_maintenance_v1.result_vector_executor.v1\",\n \"executor_path\": \"crates/event_store/tests/source_maintenance_v1_result_vector.rs\",\n \"executor_test\": \"source_maintenance_v1_result_vector\",\n \"executor_byte_length\": 23510,\n \"executor_sha256\": \"a7487afdfe19fc5fc794811d0f0e6035203e1aabcf0a33a1d398f6b3555d38f3\",\n \"executor_hash_algorithm\": \"sha256_bytes_v1\"\n }\n}\n";
+pub(crate) const SOURCE_MAINTENANCE_MANIFEST_JSON: &str = "{\n \"schema_version\": 1,\n \"contract_id\": \"radroots_event_store.source_maintenance_v1\",\n \"hook_id\": \"source_maintenance_v1\",\n \"manifest_schema\": {\n \"path\": \"crates/event_store/contracts/source_maintenance_v1.manifest.schema.json\",\n \"byte_length\": 12315,\n \"sha256\": \"96ea98a5abf3348b61565954cd34f2c622411d8dd34205ef04134bbe0e3d3f2b\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n \"predecessor\": {\n \"hook_id\": \"food_availability_projection_v1\",\n \"manifest\": {\n \"path\": \"crates/event_store/contracts/food_availability_projection_v1.manifest.json\",\n \"byte_length\": 17455,\n \"sha256\": \"02dfe1b450fbdac16e718888215b4dd5c85d8975440fa21e8f439fb24c2b2990\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n }\n },\n \"migration\": {\n \"version\": 4,\n \"name\": \"source_maintenance\",\n \"up\": {\n \"path\": \"crates/event_store/migrations/0004_source_maintenance.up.sql\",\n \"byte_length\": 19841,\n \"sha256\": \"ab2724188f8d08c897eebea2533a635e7c74282a25e84e4c0c37e78b08837a43\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n \"down\": {\n \"path\": \"crates/event_store/migrations/0004_source_maintenance.down.sql\",\n \"byte_length\": 5172,\n \"sha256\": \"fe44fd53c51545c08ea479b385e6781079dab70fc63da2a3c205d727a00ce860\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n \"schema_sha256\": \"074f85b663444ac150239ecd8441ea4a96ad83a798a55e22d2e5e2f7ee943a8c\",\n \"catalog\": {\n \"objects\": [\n \"radroots_event_store_source_capacity_delete_guard\",\n \"radroots_event_store_source_capacity_insert_guard\",\n \"radroots_event_store_source_capacity_marker_close_guard\",\n \"radroots_event_store_source_capacity_update_guard\",\n \"radroots_event_store_source_capacity_v1\",\n \"radroots_event_store_source_generation_capacity_advance\",\n \"radroots_event_store_source_generation_capacity_guard\"\n ],\n \"replaced_objects\": [\n \"radroots_event_store_food_availability_image_delete_guard\",\n \"radroots_event_store_food_availability_projection_delete_guard\",\n \"radroots_event_store_source_rebuild_marker_insert_guard\"\n ],\n \"tables\": [\n \"radroots_event_store_source_capacity_v1\"\n ],\n \"fts5_tables\": []\n }\n },\n \"source_maintenance\": {\n \"version\": 1,\n \"event_contract_registry_version\": 7,\n \"capacity_authority_id\": \"radroots_event_store_source_capacity_v1\",\n \"accounting\": {\n \"algorithm\": \"sqlite_cast_blob_octet_sum_v1\",\n \"raw_event_columns\": [\n \"event_id\",\n \"pubkey\",\n \"tags_json\",\n \"content\",\n \"sig\",\n \"raw_json\"\n ],\n \"raw_tag_columns\": [\n \"event_id\",\n \"tag_name\",\n \"tag_value\",\n \"tag_json\"\n ],\n \"nullable_raw_tag_columns\": [\n \"tag_value\"\n ]\n },\n \"limits\": {\n \"raw_events\": 25000,\n \"raw_tags\": 250000,\n \"raw_event_text_bytes\": 67108864,\n \"raw_tag_text_bytes\": 33554432,\n \"retained_source_generations\": 8\n },\n \"reopen_validation\": {\n \"mode\": \"bounded_full_raw_recount_v1\",\n \"raw_event_rejection_scan_bound\": 25001,\n \"raw_tag_rejection_scan_bound\": 250001,\n \"generation_history_validation\": \"bounded_count_plus_active_ordinal_v1\",\n \"retained_generation_rejection_scan_bound\": 9\n },\n \"rebuild_seal\": {\n \"nip09_hook_id\": \"nip09_reconciliation_v1\",\n \"nip09_manifest_sha256\": \"74af832420ffbaa9805e89df3c0b34f126a443e1598f757e3372f407f9003b77\",\n \"food_hook_id\": \"food_availability_projection_v1\",\n \"food_manifest_sha256\": \"02dfe1b450fbdac16e718888215b4dd5c85d8975440fa21e8f439fb24c2b2990\",\n \"food_scope_fingerprint_sha256\": \"8b63c5ddc48a2cc7db69295238b96d5f814dba50427c80b4d0079f061e6d3de0\",\n \"active_generation_authority\": \"radroots_event_store_source_state\",\n \"marker_close_authority\": \"radroots_event_store_source_capacity_marker_close_guard\"\n }\n },\n \"entry_points\": [\n {\n \"role\": \"migration_registry\",\n \"rust_path\": \"radroots_event_store::migrations::EVENT_STORE_MIGRATIONS[3]\"\n },\n {\n \"role\": \"migration_apply_hook\",\n \"rust_path\": \"radroots_event_store::schema::apply_migration_hook\"\n },\n {\n \"role\": \"migration_validation_hook\",\n \"rust_path\": \"radroots_event_store::schema::validate_migration_hook_state\"\n },\n {\n \"role\": \"capacity_query\",\n \"rust_path\": \"radroots_event_store::RadrootsEventStore::source_capacity_v1\"\n },\n {\n \"role\": \"raw_append_preflight\",\n \"rust_path\": \"radroots_event_store::source_maintenance_v1::preflight_unique_raw_source_append_v1\"\n },\n {\n \"role\": \"raw_append_advance\",\n \"rust_path\": \"radroots_event_store::source_maintenance_v1::advance_source_capacity_after_insert_v1\"\n },\n {\n \"role\": \"generation_append_preflight\",\n \"rust_path\": \"radroots_event_store::source_maintenance_v1::preflight_source_generation_append_v1\"\n },\n {\n \"role\": \"generation_rebuild_bind\",\n \"rust_path\": \"radroots_event_store::source_maintenance_v1::bind_source_capacity_to_generation_v1\"\n },\n {\n \"role\": \"sqlite_encoding_preflight\",\n \"rust_path\": \"radroots_event_store::store::validate_main_database_encoding\"\n },\n {\n \"role\": \"source_generation_history_rollback_guard\",\n \"rust_path\": \"radroots_event_store::schema::validate_rollback_preserves_source_generation_history\"\n },\n {\n \"role\": \"result_vector_executor\",\n \"rust_path\": \"source_maintenance_v1_result_vector\"\n }\n ],\n \"source_files\": [\n {\n \"role\": \"workspace_dependency_authority\",\n \"path\": \"Cargo.toml\",\n \"byte_length\": 12411,\n \"sha256\": \"cad96f080b0cc9ac7ffda703c8807540c9cf89f47a2299b141e6e7949714bf9f\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"core_currency_value_authority\",\n \"path\": \"crates/core/src/currency.rs\",\n \"byte_length\": 4142,\n \"sha256\": \"42e6da2d8d2fdd6955dc2d83e98dd00266e02bc910b69923b117662c05089d14\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"core_decimal_value_authority\",\n \"path\": \"crates/core/src/decimal.rs\",\n \"byte_length\": 7839,\n \"sha256\": \"4b1d681a92d7a9e074bee7e1f20eb1499bb05bfc6528a6c9ba69fa7d00416550\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"core_money_value_authority\",\n \"path\": \"crates/core/src/money.rs\",\n \"byte_length\": 8025,\n \"sha256\": \"3f30bc21e21951a62fdc5d4033736ed42a883df590e8403940775bd2edfeebc5\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"core_percent_value_authority\",\n \"path\": \"crates/core/src/percent.rs\",\n \"byte_length\": 2652,\n \"sha256\": \"42ceab109881329f3539d06a0ee0381ab4359985fe185a18d58a9c9558c5eb7f\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"core_quantity_value_authority\",\n \"path\": \"crates/core/src/quantity.rs\",\n \"byte_length\": 6785,\n \"sha256\": \"d14e619da3829cdaf3ca7385fb892d330c286c1e21455c135c37518cbb588b5f\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"core_quantity_price_value_authority\",\n \"path\": \"crates/core/src/quantity_price.rs\",\n \"byte_length\": 7061,\n \"sha256\": \"d60f70377099470ed283f45868a5119d7bb46143cb250b5082a4c038ba7f6cdc\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"core_unit_value_authority\",\n \"path\": \"crates/core/src/unit.rs\",\n \"byte_length\": 10023,\n \"sha256\": \"550e9582b6a5290aac3f637b83853b21fefcbab92c432d067c83448f4b2fe3e9\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"blossom_public_surface\",\n \"path\": \"crates/blossom/src/lib.rs\",\n \"byte_length\": 510,\n \"sha256\": \"a4dfcbd193457c50c1b0fbfc91bb547981ecd3a6e23cfc6f1030edfb511dc58c\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"blossom_authorization_authority\",\n \"path\": \"crates/blossom/src/authorization.rs\",\n \"byte_length\": 39360,\n \"sha256\": \"461947b30516315a342b3b5697599f701d27050888f29f67f5d7a7ad4afa4c28\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"blossom_descriptor_authority\",\n \"path\": \"crates/blossom/src/descriptor.rs\",\n \"byte_length\": 13702,\n \"sha256\": \"b2a4ffa760256e1316f70e012d200e2b5f4afd8ede771b85a5147f96b247f599\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"blossom_error_authority\",\n \"path\": \"crates/blossom/src/error.rs\",\n \"byte_length\": 17229,\n \"sha256\": \"02af55beacf437040be17d1fc3271d6e2a62915f656ec2dbe06247deef83f95a\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"blossom_hash_authority\",\n \"path\": \"crates/blossom/src/hash.rs\",\n \"byte_length\": 11006,\n \"sha256\": \"45eca0d81ac0f46c305a32f81aafcdd90b14679d0614f72862289a6e5d4cb08f\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"blossom_media_type_authority\",\n \"path\": \"crates/blossom/src/media_type.rs\",\n \"byte_length\": 2368,\n \"sha256\": \"69db5c0f9fcdd7dbe1f22daa499f65603ae4ce198083dab2c73a36813fa18a46\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"blossom_url_authority\",\n \"path\": \"crates/blossom/src/url.rs\",\n \"byte_length\": 14580,\n \"sha256\": \"342c995fcf620e5fb32461a7d8276f5668ba2662890bd32d12780cc9121c6451\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_public_surface\",\n \"path\": \"crates/event/src/lib.rs\",\n \"byte_length\": 1892,\n \"sha256\": \"5d609b963a9b8db18ef96a10f394617413734d2631774d3296e6d8fc029cb02c\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_contract_facade\",\n \"path\": \"crates/event/src/contract.rs\",\n \"byte_length\": 208,\n \"sha256\": \"27466bf36461071931f391c60646a13f7781d19584583166cc54c0eece76d010\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_contract_registry_v7_authority\",\n \"path\": \"crates/event/src/contract/registry_v7.rs\",\n \"byte_length\": 145805,\n \"sha256\": \"0a62603f6fc05dc9f758561cf7da258c676ada810ceaeca7fb151364a5c83d62\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_envelope_authority\",\n \"path\": \"crates/event/src/envelope.rs\",\n \"byte_length\": 29310,\n \"sha256\": \"29f8d8c4b17c01cb5a8c7f59e4ce52e134180e0e6f37d265063d278b8f2ff26e\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_verification_typestate_authority\",\n \"path\": \"crates/event/src/verification.rs\",\n \"byte_length\": 9400,\n \"sha256\": \"417acb2ce670d266b1fa4fcafd6b48a910218deab38f57fb8b942056db76f94d\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_admission_typestate_authority\",\n \"path\": \"crates/event/src/admission.rs\",\n \"byte_length\": 7052,\n \"sha256\": \"62bd2ceb0f434946fdfc2b81f4efb13738676a29a6936c23a427e43aadf2d9cb\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_head_facade\",\n \"path\": \"crates/event/src/event_head.rs\",\n \"byte_length\": 97,\n \"sha256\": \"f761ff3e74c4f5e1e28381db00ce698c633ff048669b22984d14a587482e8e83\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_head_v1_authority\",\n \"path\": \"crates/event/src/event_head/v1.rs\",\n \"byte_length\": 6849,\n \"sha256\": \"9f4144d8d240023cf493ce0b538ade4c16dc44204d6b5f2797152caf6f9e7dba\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_ids_authority\",\n \"path\": \"crates/event/src/id.rs\",\n \"byte_length\": 48381,\n \"sha256\": \"a08fe3873815453a03318a706e2fa98a8a6728ec69d24368a87ec60025566fe0\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_trade_authority\",\n \"path\": \"crates/event/src/trade.rs\",\n \"byte_length\": 65549,\n \"sha256\": \"f818a7287ed82de3fb9ef1d973f0fb18d84b30eb4827ddc576ee502dd980145f\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_kinds_authority\",\n \"path\": \"crates/event/src/kinds.rs\",\n \"byte_length\": 34961,\n \"sha256\": \"8b3ce6193cab1f7e1587d0c1b2880a81b0aa43c77d89671b602772db37edcebf\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_tags_authority\",\n \"path\": \"crates/event/src/tags.rs\",\n \"byte_length\": 4530,\n \"sha256\": \"cb8f12a639fc72d9238e32495d9e67e928e6627fb8c94ec0a58c5d95e7373cd6\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_draft_authority\",\n \"path\": \"crates/event/src/draft.rs\",\n \"byte_length\": 51150,\n \"sha256\": \"ecc619aae28d688d13f35467398f17766b60f26c2bf3616d772ce65b7fa4fb53\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_calendar_authority\",\n \"path\": \"crates/event/src/calendar.rs\",\n \"byte_length\": 97992,\n \"sha256\": \"73e79d61ee175cb46e6123e1d28239252ddf0ad094dc1113bdb1286b63b88d57\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_classified_listing_authority\",\n \"path\": \"crates/event/src/classified_listing.rs\",\n \"byte_length\": 7956,\n \"sha256\": \"ac58484b87c7712c81f50f884d1c0dd60938571aa5f6f05d555191f529a4c2b0\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_profile_authority\",\n \"path\": \"crates/event/src/profile.rs\",\n \"byte_length\": 17011,\n \"sha256\": \"572bfe3b6f1711d109db445077f0a8453cad3f021cc0638f79201b618e16b978\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_post_authority\",\n \"path\": \"crates/event/src/post.rs\",\n \"byte_length\": 19968,\n \"sha256\": \"a822cd51eff9cbaa39db998cc5c90d117f7a983f0fe2d42d42118cb00e95982c\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_comment_authority\",\n \"path\": \"crates/event/src/comment.rs\",\n \"byte_length\": 34745,\n \"sha256\": \"24b7fda13229f21cee5cef2a9941e3aaafdbc486b19ed42731b0b6ee37c28703\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_food_availability_authority\",\n \"path\": \"crates/event/src/food_availability.rs\",\n \"byte_length\": 42829,\n \"sha256\": \"52472c07eb0855d884c60755dc3a3e1a963793451d707e51f769f2d78384f318\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_deletion_authority\",\n \"path\": \"crates/event/src/deletion.rs\",\n \"byte_length\": 30022,\n \"sha256\": \"8c3f2e32407520a8e8242c1293af32613c648fb76218b8003a18929ac0b3811f\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_dto_authority\",\n \"path\": \"crates/event/src/dto.rs\",\n \"byte_length\": 5038,\n \"sha256\": \"9e228c95ff6ff33f99441d8682781fd0a1c4d3f1db24284a43985dcbac3ba136\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_farm_crdt_authority\",\n \"path\": \"crates/event/src/farm_crdt.rs\",\n \"byte_length\": 21118,\n \"sha256\": \"cec265ac9c42b59a14be4eb96924d26a83477c27291f667f23e6e47a64b6b2c7\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_knowledge_authority\",\n \"path\": \"crates/event/src/knowledge.rs\",\n \"byte_length\": 54624,\n \"sha256\": \"3d55ff88a4e30d5d605f9ae4b2e96b9df6978d6c14e52f9aeb0b8039cfc200d7\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_operational_listing_authority\",\n \"path\": \"crates/event/src/operational_listing.rs\",\n \"byte_length\": 10307,\n \"sha256\": \"52e710db816c89c8d4b87c86541987f7447f2f7091c394c68d9cb98a27f90159\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_order_authority\",\n \"path\": \"crates/event/src/order.rs\",\n \"byte_length\": 60218,\n \"sha256\": \"4203fcc469612cac5c705884564e140b9fb076cd57079e22ed85275a8b936e50\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_reply_authority\",\n \"path\": \"crates/event/src/reply.rs\",\n \"byte_length\": 15581,\n \"sha256\": \"b0b83a1e96125c0892d932e9314519242a715fa8f46334aff765ffd248c91d9a\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_trade_validation_authority\",\n \"path\": \"crates/event/src/trade_validation.rs\",\n \"byte_length\": 4669,\n \"sha256\": \"1486f79bd1d0eadea6cc1b7646ce1f7f57ccade18334a3ea37286426676b9b98\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_relay_hint_authority\",\n \"path\": \"crates/event/src/relay_hint.rs\",\n \"byte_length\": 13598,\n \"sha256\": \"fb8b026eeccf51d78f20771c44223e7b48825aa0e3c760d6b3cb90148021a674\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_media_authority\",\n \"path\": \"crates/event/src/media.rs\",\n \"byte_length\": 3455,\n \"sha256\": \"10678af3a202d5367dbcf3bcdc0bf9fdf8d8fb89b045d7d3fb96b3cc195ab6f9\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_social_authority\",\n \"path\": \"crates/event/src/social.rs\",\n \"byte_length\": 6076,\n \"sha256\": \"a2dab19caad46eab14fac86e7c878a801a450d8ac374b0e728b71a5a224eef19\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_wire_facade\",\n \"path\": \"crates/event/src/wire.rs\",\n \"byte_length\": 68,\n \"sha256\": \"cb52f6006f7ecd862707d6b048f9fc407e0cd5ebcd3091b3c54e195ffa5cba64\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_wire_v1_authority\",\n \"path\": \"crates/event/src/wire/v1.rs\",\n \"byte_length\": 22198,\n \"sha256\": \"c818bc1f67e215948ba253c8c62b09ab788db9aeec9b6df8096014b55565cb8c\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_public_surface\",\n \"path\": \"crates/event_codec/src/lib.rs\",\n \"byte_length\": 2737,\n \"sha256\": \"46ef52c98309a2636e4ea45d72251b7e07f90b00f1b4c4ddb0593ecbbdd03658\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_verification_facade\",\n \"path\": \"crates/event_codec/src/verification.rs\",\n \"byte_length\": 253,\n \"sha256\": \"b49a32df605035c87f295c0a151140d43d2e588c5e11b05183e5fc92993dae0e\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_verification_v1_authority\",\n \"path\": \"crates/event_codec/src/verification/v1.rs\",\n \"byte_length\": 6584,\n \"sha256\": \"72f64615bd6b6dc3b051579e3069b2213f3781dcc28e12f0b533c7d81b81b9b1\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_registry_v7_admission_authority\",\n \"path\": \"crates/event_codec/src/admission/registry_v7.rs\",\n \"byte_length\": 5228,\n \"sha256\": \"62da30cb6ef7d0ed2d43715a73bd529283e8ae8c12571bc5c68722cb400f17b8\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_admission_facade\",\n \"path\": \"crates/event_codec/src/admission.rs\",\n \"byte_length\": 21251,\n \"sha256\": \"25928e734e7b3688f92af806a12a13458c48fb47e94249f60f0226300d5da2b4\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_profile_inbound_facade\",\n \"path\": \"crates/event_codec/src/profile/inbound.rs\",\n \"byte_length\": 86,\n \"sha256\": \"9994cbca9dcc7450ad133b6b927e7c06bee08ef813652452cc1e56a284c1be10\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_profile_registry_v7_authority\",\n \"path\": \"crates/event_codec/src/profile/inbound/registry_v7.rs\",\n \"byte_length\": 10347,\n \"sha256\": \"32111c0e0592229c11a93a3a8054e7b124b039451aa696a9abcb56df2a6608d3\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_post_inbound_facade\",\n \"path\": \"crates/event_codec/src/post/inbound.rs\",\n \"byte_length\": 86,\n \"sha256\": \"9994cbca9dcc7450ad133b6b927e7c06bee08ef813652452cc1e56a284c1be10\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_post_registry_v7_authority\",\n \"path\": \"crates/event_codec/src/post/inbound/registry_v7.rs\",\n \"byte_length\": 15985,\n \"sha256\": \"e17083b0596e3a55994c399bc6272c0ebf04cabaa513260b3d45dd546f7f50ef\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_reply_inbound_facade\",\n \"path\": \"crates/event_codec/src/reply/inbound.rs\",\n \"byte_length\": 86,\n \"sha256\": \"9994cbca9dcc7450ad133b6b927e7c06bee08ef813652452cc1e56a284c1be10\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_reply_registry_v7_authority\",\n \"path\": \"crates/event_codec/src/reply/inbound/registry_v7.rs\",\n \"byte_length\": 26662,\n \"sha256\": \"d1d11116ca27801b7e2f17da60900e6a9ca0b6f27ea9ee0bf19e97dbf24c0c32\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_comment_inbound_facade\",\n \"path\": \"crates/event_codec/src/comment/inbound.rs\",\n \"byte_length\": 86,\n \"sha256\": \"9994cbca9dcc7450ad133b6b927e7c06bee08ef813652452cc1e56a284c1be10\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_comment_registry_v7_authority\",\n \"path\": \"crates/event_codec/src/comment/inbound/registry_v7.rs\",\n \"byte_length\": 53311,\n \"sha256\": \"c63fe853536b17bded6073f32b53434b60fc5123f911d01c642a6b3982f09c70\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_deletion_facade\",\n \"path\": \"crates/event_codec/src/deletion/mod.rs\",\n \"byte_length\": 115,\n \"sha256\": \"17d56f82ddb0a86bc97abbcf3e037fe460ea31fff2548f527be4bf004dac3a95\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_deletion_reconciliation_v1_authority\",\n \"path\": \"crates/event_codec/src/deletion/reconciliation_v1.rs\",\n \"byte_length\": 38028,\n \"sha256\": \"c6901f559e83700610595720c47a4d062078ae8411e1fc2fb952dd215b19dd90\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_error_authority\",\n \"path\": \"crates/event_codec/src/error.rs\",\n \"byte_length\": 3666,\n \"sha256\": \"174ce982bca37fac28d016c3ab3236441c9b31b2169ec94db6c9288b36c72849\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_food_admission_authority\",\n \"path\": \"crates/event_codec/src/food_availability/admission.rs\",\n \"byte_length\": 5681,\n \"sha256\": \"99809859090f5295572688d06bbb30dbe50524ba2c996de7ec5b26f6dd390643\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_food_authored_authority\",\n \"path\": \"crates/event_codec/src/food_availability/authored.rs\",\n \"byte_length\": 9724,\n \"sha256\": \"8673ec62ed3fc47b691efd9ca828643719803971e72b756c5b4603d409d0fba5\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_food_inbound_facade\",\n \"path\": \"crates/event_codec/src/food_availability/inbound.rs\",\n \"byte_length\": 86,\n \"sha256\": \"9994cbca9dcc7450ad133b6b927e7c06bee08ef813652452cc1e56a284c1be10\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_food_registry_v7_authority\",\n \"path\": \"crates/event_codec/src/food_availability/inbound/registry_v7.rs\",\n \"byte_length\": 26037,\n \"sha256\": \"92a7e75da3293967cec17a514479144c3c948a64542577dd58c7f07992968e4f\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_job_traits_authority\",\n \"path\": \"crates/event_codec/src/job/traits.rs\",\n \"byte_length\": 4946,\n \"sha256\": \"1b3558a3196744005978dceddd33d3a72ad1ab8f50fb1cbfd997dcfe98bb9e39\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_job_encode_authority\",\n \"path\": \"crates/event_codec/src/job/encode.rs\",\n \"byte_length\": 1670,\n \"sha256\": \"5d6cae6309fcdd02deb7c751b5c451d257cf1900986391cb39cbb2bfd1ddb577\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_knowledge_verification_authority\",\n \"path\": \"crates/event_codec/src/knowledge/verification.rs\",\n \"byte_length\": 6986,\n \"sha256\": \"6f8a10ed262ce37f05acd9c89a1e37ca2fa99ce7da18407891e8abe228ee2349\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_operational_listing_tags_authority\",\n \"path\": \"crates/event_codec/src/operational_listing/tags.rs\",\n \"byte_length\": 50222,\n \"sha256\": \"55b6860bc6f4699dd47a49f8336764e9db78aafb7c32849102dedeb96804b373\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_order_decode_authority\",\n \"path\": \"crates/event_codec/src/order/decode.rs\",\n \"byte_length\": 42667,\n \"sha256\": \"033d9465bc041d205eab3f820572b719a35651340dcb50bdce7c60fabee5f6e1\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_profile_facade\",\n \"path\": \"crates/event_codec/src/profile/mod.rs\",\n \"byte_length\": 1456,\n \"sha256\": \"06b890da54580e2ec68f7e729281b7c3b650ac0a95a4fcb0db3c6cdaa591a7ef\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_tag_builders_authority\",\n \"path\": \"crates/event_codec/src/tag_builders.rs\",\n \"byte_length\": 9232,\n \"sha256\": \"bd81ccf04fd72358331b48eddcde087a95e115c5bd90c05fd9332644979ad5e6\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_codec_trade_facade\",\n \"path\": \"crates/event_codec/src/trade/mod.rs\",\n \"byte_length\": 21472,\n \"sha256\": \"10cee4b6cd6429ac9eb00327a521bcd0982fae4de98bda77e4728fda002965d3\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_store_dependency_authority\",\n \"path\": \"crates/event_store/Cargo.toml\",\n \"byte_length\": 1550,\n \"sha256\": \"9901a09402592ee873c255edf2e0c0d770105401255679d86ad47c35cb159d72\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_store_error_and_limits\",\n \"path\": \"crates/event_store/src/error.rs\",\n \"byte_length\": 19458,\n \"sha256\": \"3d87df984af6ae5decf7ca8c3a8d5422be6c647e6a05490225b6b2037bf3701b\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"generated_descriptor_registration\",\n \"path\": \"crates/event_store/src/generated.rs\",\n \"byte_length\": 144,\n \"sha256\": \"6b0a8d6f249bd4fc3f878d37cb5e418680f0f1be2d9eec2518dedf03efc47121\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"public_surface\",\n \"path\": \"crates/event_store/src/lib.rs\",\n \"byte_length\": 3844,\n \"sha256\": \"3cd9653bcb752fb3c4442d4904b98a0a6208011a9a238125b7b7073d7f4e312b\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"migration_registry\",\n \"path\": \"crates/event_store/src/migrations.rs\",\n \"byte_length\": 73585,\n \"sha256\": \"a47477d04759ec6e71d14d3d05459864eae78fce0e3c2481a1b03147f04637f7\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"predecessor_model_public_surface\",\n \"path\": \"crates/event_store/src/model.rs\",\n \"byte_length\": 32314,\n \"sha256\": \"d7ffa47719783c9f08cb4e00fbe47123cf0310ead06f77d3ad1d81edfda96b2c\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_store_reconciliation_v1_model\",\n \"path\": \"crates/event_store/src/model/reconciliation_v1.rs\",\n \"byte_length\": 10446,\n \"sha256\": \"475b7b840bffdae7e3f7a31f5b940b9dfa579eaa1cac640729aaaeadabf83ba6\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"event_store_reconciliation_v1_ingest_model\",\n \"path\": \"crates/event_store/src/model/ingest_reconciliation_v1.rs\",\n \"byte_length\": 1588,\n \"sha256\": \"6117e797674c35bb1ccebffbc6a8c0108bfc38c7c9f82607066dfd802b8f0734\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"addressable_transition_feed_model\",\n \"path\": \"crates/event_store/src/model/addressable_transition_feed_v1.rs\",\n \"byte_length\": 22229,\n \"sha256\": \"e651952d73ed0a29d2b137076f56f699beada205ac84ed8a96834e86e343fa78\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"current_visibility_model\",\n \"path\": \"crates/event_store/src/model/current_visibility_v1.rs\",\n \"byte_length\": 5634,\n \"sha256\": \"d64429bc7985231e923c1c3e5295d94270a817dd5dc96693f35dfdf2dc398e4f\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"food_projection_model\",\n \"path\": \"crates/event_store/src/model/food_availability_projection_v1.rs\",\n \"byte_length\": 17108,\n \"sha256\": \"67861a966d674efbc40f0b0433db2ec006048ff923f6261df4161e2ddba717b5\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"source_generation_rebuild_authority\",\n \"path\": \"crates/event_store/src/nip09/reconciliation_v1.rs\",\n \"byte_length\": 184833,\n \"sha256\": \"3ca802cb7a8444c8512b2be1390a019281704316a430fb9b75a8ad2cad358a07\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"nip09_successor_result_vector_executor\",\n \"path\": \"crates/event_store/tests/support/nip09_reconciliation_v1_result_vector_v2.rs\",\n \"byte_length\": 18205,\n \"sha256\": \"c632beee70dc777b8dd2a4f88cadb55296fee7aa5742e6e2c9f6d49f26ae2c78\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"schema_migration_and_reopen_authority\",\n \"path\": \"crates/event_store/src/schema.rs\",\n \"byte_length\": 146146,\n \"sha256\": \"93b060e80d3edd73f86208e4bf698fa9d53eaf1eeb04526c9261fb8b5726fb0d\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"public_store_and_transaction_authority\",\n \"path\": \"crates/event_store/src/store.rs\",\n \"byte_length\": 393535,\n \"sha256\": \"c3286b50a2e9e17a330938492cfded0829dc19516f55aa4f62289d513457bad7\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"addressable_transition_feed_store\",\n \"path\": \"crates/event_store/src/store/addressable_transition_feed_v1.rs\",\n \"byte_length\": 40209,\n \"sha256\": \"2cebcca9602633652a79e7041d18d3a7d3feb1388a98f4f68137b9814efcedfa\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"current_visibility_store\",\n \"path\": \"crates/event_store/src/store/current_visibility_v1.rs\",\n \"byte_length\": 15737,\n \"sha256\": \"aa5d1bff7a5368cbac2b37906bb40f54bfc8aa6906bab34369569fdd105bf899\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"food_projection_store\",\n \"path\": \"crates/event_store/src/store/food_availability_projection_v1.rs\",\n \"byte_length\": 48919,\n \"sha256\": \"3a30da308ef863b806ed63d1cb65ac80f6a946a71821af84a0c595330491757e\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"predecessor_post_core_v1_extension\",\n \"path\": \"crates/event_store/src/store/post_core_extensions_v1.rs\",\n \"byte_length\": 6569,\n \"sha256\": \"f5bd8ddb45e1b2144895bd8da737fc92db051be1844ce7e8047a32b47376ce37\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"predecessor_post_core_v1_storage\",\n \"path\": \"crates/event_store/src/store/post_core_storage_v1.rs\",\n \"byte_length\": 16558,\n \"sha256\": \"d88c1f7ff5cc0a19221ad893eb840d55c11535f13adf84ffb3076cbc18d4abf1\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"raw_ingest_capacity_authority\",\n \"path\": \"crates/event_store/src/store/protocol_reconciliation_v1.rs\",\n \"byte_length\": 29950,\n \"sha256\": \"c72aaff06e4f35d0b4523c6625e83345879f9e15b9fe9563dccf589e5d01e277\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"predecessor_protocol_storage\",\n \"path\": \"crates/event_store/src/store/protocol_storage_v1.rs\",\n \"byte_length\": 10835,\n \"sha256\": \"c82179b9f57968191f3e71dd008cc701787c62715ada74090eeecaa3b213076d\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"source_maintenance_runtime\",\n \"path\": \"crates/event_store/src/source_maintenance_v1.rs\",\n \"byte_length\": 51849,\n \"sha256\": \"db43df5849c811d767a87bfa7884ce499400d0b169734e18242542a4415b3a51\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"predecessor_food_result_vector_executor\",\n \"path\": \"crates/event_store/tests/food_availability_projection_v1_result_vector.rs\",\n \"byte_length\": 34046,\n \"sha256\": \"776903c6431ff07f26c6ad6b713db5628efce1a72f34d86de6e47d4404fa3a6d\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"artifact_transaction_authority\",\n \"path\": \"tools/xtask/src/contract/artifact_bundle.rs\",\n \"byte_length\": 39149,\n \"sha256\": \"3d1bba3980b80698d2a21e26caf7af6fe4d9dc4a7fbabc6e406b5d33928b457f\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"predecessor_successor_governance\",\n \"path\": \"tools/xtask/src/contract/food_availability_projection.rs\",\n \"byte_length\": 198991,\n \"sha256\": \"36fd3d8b5dda3b0855a06a47dae14cae7f4cc84aaca9902c31477c218859fccc\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"transitive_predecessor_membership_governance\",\n \"path\": \"tools/xtask/src/contract/nip09_reconciliation.rs\",\n \"byte_length\": 842286,\n \"sha256\": \"6d00e065b8fb9d8575f127abb4b40c672e419812aeb87ae338df95874d4ad16a\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"source_maintenance_governance\",\n \"path\": \"tools/xtask/src/contract/source_maintenance.rs\",\n \"byte_length\": 199270,\n \"sha256\": \"a6685c27255918769f894ab098ba13a927c0d70c423fbd72b5404c0af0ae2f89\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"contract_command_authority\",\n \"path\": \"tools/xtask/src/contract.rs\",\n \"byte_length\": 508534,\n \"sha256\": \"43900769fc0d364ff6d693ec735312126b233774ca23d525997823409a4b783b\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"dto_root_generation_authority\",\n \"path\": \"tools/xtask/src/dto_roots.rs\",\n \"byte_length\": 35940,\n \"sha256\": \"a899a5695d7533c151d03477c4bd697a6e55c47a4980549724ac42046af694f5\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n },\n {\n \"role\": \"xtask_dispatch_and_release_preflight\",\n \"path\": \"tools/xtask/src/main.rs\",\n \"byte_length\": 16426,\n \"sha256\": \"abc24896c6c740c10811a3e003ec4be8ebdb376a7b6b01445bfa7a5889f094a7\",\n \"hash_algorithm\": \"sha256_bytes_v1\"\n }\n ],\n \"public_api\": {\n \"inherited_predecessor_symbols\": [\n \"RADROOTS_ADDRESSABLE_TRANSITION_CURSOR_JSON_MAX_BYTES_V1\",\n \"RADROOTS_ADDRESSABLE_TRANSITION_D_TAG_MAX_BYTES_V1\",\n \"RADROOTS_ADDRESSABLE_TRANSITION_FEED_VERSION_V1\",\n \"RADROOTS_ADDRESSABLE_TRANSITION_PAGE_LIMIT_MAX_V1\",\n \"RADROOTS_ADDRESSABLE_TRANSITION_PAGE_RAW_JSON_MAX_BYTES_V1\",\n \"RADROOTS_ADDRESSABLE_TRANSITION_PAGE_SCAN_MAX_V1\",\n \"RADROOTS_ADDRESSABLE_TRANSITION_SCOPE_KIND_MAX_V1\",\n \"RADROOTS_FOOD_AVAILABILITY_PROJECTION_APPLY_PAGE_LIMIT_V1\",\n \"RADROOTS_FOOD_AVAILABILITY_PROJECTION_VERSION_V1\",\n \"RADROOTS_FOOD_AVAILABILITY_SEARCH_QUERY_MAX_BYTES_V1\",\n \"RADROOTS_FOOD_AVAILABILITY_SEARCH_QUERY_MAX_TERMS_V1\",\n \"RadrootsAddressableTransitionCauseV1\",\n \"RadrootsAddressableTransitionCoordinateV1\",\n \"RadrootsAddressableTransitionCursorV1\",\n \"RadrootsAddressableTransitionEventReferenceV1\",\n \"RadrootsAddressableTransitionOriginV1\",\n \"RadrootsAddressableTransitionPageV1\",\n \"RadrootsAddressableTransitionRawHeadDecisionV1\",\n \"RadrootsAddressableTransitionScopeFingerprintV1\",\n \"RadrootsAddressableTransitionScopeV1\",\n \"RadrootsAddressableTransitionV1\",\n \"RadrootsAddressableTransitionVisibilityV1\",\n \"RadrootsCurrentEventVisibilityV1\",\n \"RadrootsCurrentVisibilityDecisionV1\",\n \"RadrootsFoodAvailabilitySearchQueryV1\",\n \"RadrootsFoodAvailabilityStatusFilterV1\",\n \"RadrootsNip09SuppressionEvidenceV1\",\n \"RadrootsNip09SuppressionOutcome\",\n \"RadrootsNip09SuppressionReason\",\n \"RadrootsStoreProducedCanonicalEventV1\",\n \"RadrootsStoredFoodAvailabilityImageV1\",\n \"RadrootsStoredFoodAvailabilityV1\"\n ],\n \"added_symbols\": [\n \"RADROOTS_EVENT_STORE_RAW_EVENT_COUNT_LIMIT_V1\",\n \"RADROOTS_EVENT_STORE_RAW_EVENT_TEXT_BYTES_LIMIT_V1\",\n \"RADROOTS_EVENT_STORE_RAW_TAG_COUNT_LIMIT_V1\",\n \"RADROOTS_EVENT_STORE_RAW_TAG_TEXT_BYTES_LIMIT_V1\",\n \"RADROOTS_EVENT_STORE_RETAINED_SOURCE_GENERATION_LIMIT_V1\",\n \"RadrootsEventStoreSourceCapacityResourceV1\",\n \"RadrootsEventStoreSourceCapacityV1\"\n ],\n \"methods\": [\n \"RadrootsEventStore::source_capacity_v1\",\n \"RadrootsEventStoreSourceCapacityResourceV1::as_str\",\n \"RadrootsEventStoreSourceCapacityV1::source_generation\",\n \"RadrootsEventStoreSourceCapacityV1::raw_event_count\",\n \"RadrootsEventStoreSourceCapacityV1::raw_tag_count\",\n \"RadrootsEventStoreSourceCapacityV1::raw_event_text_bytes\",\n \"RadrootsEventStoreSourceCapacityV1::raw_tag_text_bytes\",\n \"RadrootsEventStoreSourceCapacityV1::raw_high_water_seq\",\n \"RadrootsEventStoreSourceCapacityV1::retained_generation_count\",\n \"RadrootsEventStoreSourceCapacityV1::retained_generation_limit\"\n ],\n \"error_variants\": [\n \"SourceCapacityExceeded\",\n \"SourceGenerationHistoryLimitReached\",\n \"PersistedEphemeralRawEvent\",\n \"SourceCapacityStateDrift\",\n \"SqliteMainDatabaseEncodingNotUtf8\",\n \"RollbackWouldDiscardSourceGenerationHistory\"\n ],\n \"removed_symbols\": [\n \"RadrootsEventStoreReconciliationResource\",\n \"RadrootsEventStoreError::ReconciliationCapacityExceeded\"\n ],\n \"breaking_replacements\": [\n {\n \"removed\": \"RadrootsEventStoreReconciliationResource\",\n \"replacement\": \"RadrootsEventStoreSourceCapacityResourceV1\"\n },\n {\n \"removed\": \"RadrootsEventStoreError::ReconciliationCapacityExceeded\",\n \"replacement\": \"RadrootsEventStoreError::SourceCapacityExceeded\"\n }\n ]\n },\n \"result_vector\": {\n \"canonical_path\": \"contracts/conformance/vectors/event_store/source_maintenance.v1.json\",\n \"mirror_path\": \"crates/event_store/tests/fixtures/source_maintenance.v1.json\",\n \"byte_length\": 16253,\n \"sha256\": \"997aba2604a2b9d199fb87dc9d07942ca50d91863aeadcf3eeacf16d191dd71f\",\n \"hash_algorithm\": \"sha256_bytes_v1\",\n \"executor_id\": \"radroots_event_store.source_maintenance_v1.result_vector_executor.v1\",\n \"executor_path\": \"crates/event_store/tests/source_maintenance_v1_result_vector.rs\",\n \"executor_test\": \"source_maintenance_v1_result_vector\",\n \"executor_byte_length\": 23510,\n \"executor_sha256\": \"a7487afdfe19fc5fc794811d0f0e6035203e1aabcf0a33a1d398f6b3555d38f3\",\n \"executor_hash_algorithm\": \"sha256_bytes_v1\"\n }\n}\n";
pub(crate) const SOURCE_MAINTENANCE_MANIFEST_BYTE_LENGTH: usize = 38397;
pub(crate) const SOURCE_MAINTENANCE_MANIFEST_SHA256: &str =
- "34e0308172f30a2086b25b053bd37fd4369d240317742e6d00c0192296a49107";
+ "b4f52d5a0c998090614dd03afc4eaf3bf4d40a31519704b10c62dea3fabde460";
pub(crate) const SOURCE_MAINTENANCE_MANIFEST_SCHEMA_VERSION: u32 = 1;
pub(crate) const SOURCE_MAINTENANCE_CONTRACT_ID: &str =
"radroots_event_store.source_maintenance_v1";
diff --git a/docs/api/README.md b/docs/api/README.md
@@ -35,3 +35,4 @@ expand a package beyond its charter.
| `radroots_blossom` | [`radroots_blossom.txt`](radroots_blossom.txt) | [release V1 specification](../specs/radroots_crates_release_v1.md) |
| `radroots_protocol` | [`radroots_protocol.txt`](radroots_protocol.txt) | [release V1 specification](../specs/radroots_crates_release_v1.md) |
| `radroots_event` | [`radroots_event.txt`](radroots_event.txt) | [release V1 specification](../specs/radroots_crates_release_v1.md) |
+| `radroots_event_codec` | [`radroots_event_codec.txt`](radroots_event_codec.txt) | [release V1 specification](../specs/radroots_crates_release_v1.md) |
diff --git a/docs/api/radroots_event_codec.txt b/docs/api/radroots_event_codec.txt
@@ -0,0 +1,2455 @@
+pub mod radroots_event_codec
+pub use radroots_event_codec::RadrootsContractValidatedEvent
+pub use radroots_event_codec::RadrootsIdVerifiedEvent
+pub use radroots_event_codec::RadrootsNip01VerificationError
+pub use radroots_event_codec::RadrootsSignatureVerifiedEvent
+pub use radroots_event_codec::VerificationError
+pub use radroots_event_codec::validate_event_contract
+pub use radroots_event_codec::validate_event_contract_registry_v7
+pub use radroots_event_codec::verify_event_id
+pub use radroots_event_codec::verify_event_id_v1
+pub use radroots_event_codec::verify_event_signature
+pub use radroots_event_codec::verify_event_signature_v1
+pub use radroots_event_codec::verify_nip01_event
+pub use radroots_event_codec::verify_nip01_event_v1
+pub mod radroots_event_codec::admission
+pub use radroots_event_codec::admission::RadrootsRegistryV7AdmissionDecision
+pub use radroots_event_codec::admission::admit_verified_event_registry_v7
+pub mod radroots_event_codec::admission::comment
+#[non_exhaustive] pub enum radroots_event_codec::admission::comment::RadrootsNip22CommentAdmissionError
+pub radroots_event_codec::admission::comment::RadrootsNip22CommentAdmissionError::Nip01Verification(crate::verification::RadrootsNip01VerificationError)
+pub radroots_event_codec::admission::comment::RadrootsNip22CommentAdmissionError::Projection(crate::comment::inbound::RadrootsNip22CommentProjectionError)
+impl radroots_event_codec::admission::comment::RadrootsNip22CommentAdmissionError
+pub const fn radroots_event_codec::admission::comment::RadrootsNip22CommentAdmissionError::code(&self) -> &'static str
+impl core::error::Error for radroots_event_codec::admission::comment::RadrootsNip22CommentAdmissionError
+pub fn radroots_event_codec::admission::comment::RadrootsNip22CommentAdmissionError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::admission::comment::RadrootsNip22CommentAdmissionError
+pub fn radroots_event_codec::admission::comment::RadrootsNip22CommentAdmissionError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub struct radroots_event_codec::admission::comment::RadrootsAdmittedNip22CommentEvent
+impl radroots_event_codec::admission::comment::RadrootsAdmittedNip22CommentEvent
+pub fn radroots_event_codec::admission::comment::RadrootsAdmittedNip22CommentEvent::contract(&self) -> &'static radroots_event::contract::registry_v7::EventContract
+pub fn radroots_event_codec::admission::comment::RadrootsAdmittedNip22CommentEvent::event(&self) -> &radroots_event::envelope::EventEnvelope
+pub fn radroots_event_codec::admission::comment::RadrootsAdmittedNip22CommentEvent::into_parts(self) -> (RadrootsSignatureVerifiedEvent, RadrootsInboundNip22CommentProjection)
+pub const fn radroots_event_codec::admission::comment::RadrootsAdmittedNip22CommentEvent::projection(&self) -> &RadrootsInboundNip22CommentProjection
+pub fn radroots_event_codec::admission::comment::RadrootsAdmittedNip22CommentEvent::verified_event(&self) -> &RadrootsSignatureVerifiedEvent
+pub fn radroots_event_codec::admission::comment::admit_verified_nip22_comment_event(crate::verification::RadrootsSignatureVerifiedEvent) -> core::result::Result<radroots_event_codec::admission::comment::RadrootsAdmittedNip22CommentEvent, radroots_event_codec::admission::comment::RadrootsNip22CommentAdmissionError>
+pub fn radroots_event_codec::admission::comment::verify_and_admit_nip22_comment_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::admission::comment::RadrootsAdmittedNip22CommentEvent, radroots_event_codec::admission::comment::RadrootsNip22CommentAdmissionError>
+pub mod radroots_event_codec::admission::deletion
+pub mod radroots_event_codec::admission::deletion::reconciliation_v1
+pub mod radroots_event_codec::admission::food_availability
+#[non_exhaustive] pub enum radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionError
+pub radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionError::Nip01Verification(crate::verification::RadrootsNip01VerificationError)
+pub radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionError::Projection(crate::food_availability::inbound::RadrootsFoodAvailabilityProjectionError)
+impl radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionError
+pub const fn radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionError::code(&self) -> &'static str
+impl core::error::Error for radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionError
+pub fn radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionError
+pub fn radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+#[non_exhaustive] pub enum radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionOutcome
+pub radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionOutcome::Admitted(alloc::boxed::Box<radroots_event_codec::admission::food_availability::RadrootsAdmittedFoodAvailabilityEvent>)
+pub radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionOutcome::Excluded(radroots_event_codec::admission::food_availability::RadrootsExcludedClassifiedListingCandidate)
+#[non_exhaustive] pub enum radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityRevisionError
+pub radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityRevisionError::CoordinateChanged
+pub radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityRevisionError::CurrentInvalid(crate::food_availability::inbound::RadrootsFoodAvailabilityProjectionError)
+pub radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityRevisionError::NotNewer
+pub radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityRevisionError::PreviousInvalid(crate::food_availability::inbound::RadrootsFoodAvailabilityProjectionError)
+pub radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityRevisionError::PublishedAtChanged
+impl radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityRevisionError
+pub const fn radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityRevisionError::code(&self) -> &'static str
+impl core::error::Error for radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityRevisionError
+pub fn radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityRevisionError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityRevisionError
+pub fn radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityRevisionError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub struct radroots_event_codec::admission::food_availability::RadrootsAdmittedFoodAvailabilityEvent
+impl radroots_event_codec::admission::food_availability::RadrootsAdmittedFoodAvailabilityEvent
+pub fn radroots_event_codec::admission::food_availability::RadrootsAdmittedFoodAvailabilityEvent::contract(&self) -> &'static radroots_event::contract::registry_v7::EventContract
+pub fn radroots_event_codec::admission::food_availability::RadrootsAdmittedFoodAvailabilityEvent::event(&self) -> &radroots_event::envelope::EventEnvelope
+pub fn radroots_event_codec::admission::food_availability::RadrootsAdmittedFoodAvailabilityEvent::into_parts(self) -> (RadrootsSignatureVerifiedEvent, RadrootsInboundFoodAvailabilityProjection)
+pub fn radroots_event_codec::admission::food_availability::RadrootsAdmittedFoodAvailabilityEvent::projection(&self) -> &RadrootsInboundFoodAvailabilityProjection
+pub fn radroots_event_codec::admission::food_availability::RadrootsAdmittedFoodAvailabilityEvent::verified_event(&self) -> &RadrootsSignatureVerifiedEvent
+pub struct radroots_event_codec::admission::food_availability::RadrootsExcludedClassifiedListingCandidate
+impl radroots_event_codec::admission::food_availability::RadrootsExcludedClassifiedListingCandidate
+pub fn radroots_event_codec::admission::food_availability::RadrootsExcludedClassifiedListingCandidate::event(&self) -> &radroots_event::envelope::EventEnvelope
+pub fn radroots_event_codec::admission::food_availability::RadrootsExcludedClassifiedListingCandidate::into_parts(self) -> (RadrootsSignatureVerifiedEvent, radroots_event::listing::classified::ClassifiedListingPartition)
+pub const fn radroots_event_codec::admission::food_availability::RadrootsExcludedClassifiedListingCandidate::partition(&self) -> radroots_event::listing::classified::ClassifiedListingPartition
+pub fn radroots_event_codec::admission::food_availability::RadrootsExcludedClassifiedListingCandidate::verified_event(&self) -> &RadrootsSignatureVerifiedEvent
+pub fn radroots_event_codec::admission::food_availability::admit_verified_food_availability_event(crate::verification::RadrootsSignatureVerifiedEvent) -> core::result::Result<radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionOutcome, radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionError>
+pub fn radroots_event_codec::admission::food_availability::validate_food_availability_revision(&crate::verification::RadrootsSignatureVerifiedEvent, &crate::verification::RadrootsSignatureVerifiedEvent) -> core::result::Result<(), radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityRevisionError>
+pub fn radroots_event_codec::admission::food_availability::verify_and_admit_food_availability_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionOutcome, radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionError>
+pub mod radroots_event_codec::admission::post
+#[non_exhaustive] pub enum radroots_event_codec::admission::post::RadrootsPostAdmissionError
+pub radroots_event_codec::admission::post::RadrootsPostAdmissionError::Nip01Verification(crate::verification::RadrootsNip01VerificationError)
+pub radroots_event_codec::admission::post::RadrootsPostAdmissionError::Projection(crate::post::inbound::RadrootsPostProjectionError)
+impl radroots_event_codec::admission::post::RadrootsPostAdmissionError
+pub const fn radroots_event_codec::admission::post::RadrootsPostAdmissionError::code(&self) -> &'static str
+impl core::error::Error for radroots_event_codec::admission::post::RadrootsPostAdmissionError
+pub fn radroots_event_codec::admission::post::RadrootsPostAdmissionError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::admission::post::RadrootsPostAdmissionError
+pub fn radroots_event_codec::admission::post::RadrootsPostAdmissionError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+#[non_exhaustive] pub enum radroots_event_codec::admission::post::RadrootsPostAdmissionOutcome
+pub radroots_event_codec::admission::post::RadrootsPostAdmissionOutcome::Root(radroots_event_codec::admission::post::RadrootsAdmittedRootPostEvent)
+pub radroots_event_codec::admission::post::RadrootsPostAdmissionOutcome::ThreadExcluded(radroots_event_codec::admission::post::RadrootsThreadExcludedPostCandidate)
+pub struct radroots_event_codec::admission::post::RadrootsAdmittedRootPostEvent
+impl radroots_event_codec::admission::post::RadrootsAdmittedRootPostEvent
+pub fn radroots_event_codec::admission::post::RadrootsAdmittedRootPostEvent::contract(&self) -> &'static radroots_event::contract::registry_v7::EventContract
+pub fn radroots_event_codec::admission::post::RadrootsAdmittedRootPostEvent::event(&self) -> &radroots_event::envelope::EventEnvelope
+pub fn radroots_event_codec::admission::post::RadrootsAdmittedRootPostEvent::into_parts(self) -> (RadrootsSignatureVerifiedEvent, RadrootsInboundPostProjection)
+pub fn radroots_event_codec::admission::post::RadrootsAdmittedRootPostEvent::projection(&self) -> &RadrootsInboundPostProjection
+pub fn radroots_event_codec::admission::post::RadrootsAdmittedRootPostEvent::verified_event(&self) -> &RadrootsSignatureVerifiedEvent
+pub struct radroots_event_codec::admission::post::RadrootsThreadExcludedPostCandidate
+impl radroots_event_codec::admission::post::RadrootsThreadExcludedPostCandidate
+pub fn radroots_event_codec::admission::post::RadrootsThreadExcludedPostCandidate::event(&self) -> &radroots_event::envelope::EventEnvelope
+pub fn radroots_event_codec::admission::post::RadrootsThreadExcludedPostCandidate::into_parts(self) -> (RadrootsSignatureVerifiedEvent, RadrootsInboundPostProjection)
+pub fn radroots_event_codec::admission::post::RadrootsThreadExcludedPostCandidate::projection(&self) -> &RadrootsInboundPostProjection
+pub fn radroots_event_codec::admission::post::RadrootsThreadExcludedPostCandidate::verified_event(&self) -> &RadrootsSignatureVerifiedEvent
+pub fn radroots_event_codec::admission::post::admit_verified_post_event(crate::verification::RadrootsSignatureVerifiedEvent) -> core::result::Result<radroots_event_codec::admission::post::RadrootsPostAdmissionOutcome, radroots_event_codec::admission::post::RadrootsPostAdmissionError>
+pub fn radroots_event_codec::admission::post::verify_and_admit_post_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::admission::post::RadrootsPostAdmissionOutcome, radroots_event_codec::admission::post::RadrootsPostAdmissionError>
+pub mod radroots_event_codec::admission::profile
+#[non_exhaustive] pub enum radroots_event_codec::admission::profile::RadrootsProfileAdmissionError
+pub radroots_event_codec::admission::profile::RadrootsProfileAdmissionError::InvalidKind
+pub radroots_event_codec::admission::profile::RadrootsProfileAdmissionError::InvalidKind::actual: u32
+pub radroots_event_codec::admission::profile::RadrootsProfileAdmissionError::InvalidKind::expected: u32
+pub radroots_event_codec::admission::profile::RadrootsProfileAdmissionError::Metadata(crate::profile::inbound::RadrootsProfileMetadataParseError)
+pub radroots_event_codec::admission::profile::RadrootsProfileAdmissionError::Nip01Verification(crate::verification::RadrootsNip01VerificationError)
+impl radroots_event_codec::profile::admission::RadrootsProfileAdmissionError
+pub const fn radroots_event_codec::profile::admission::RadrootsProfileAdmissionError::code(&self) -> &'static str
+impl core::error::Error for radroots_event_codec::profile::admission::RadrootsProfileAdmissionError
+pub fn radroots_event_codec::profile::admission::RadrootsProfileAdmissionError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::profile::admission::RadrootsProfileAdmissionError
+pub fn radroots_event_codec::profile::admission::RadrootsProfileAdmissionError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub struct radroots_event_codec::admission::profile::RadrootsAdmittedProfileEvent
+impl radroots_event_codec::profile::admission::RadrootsAdmittedProfileEvent
+pub fn radroots_event_codec::profile::admission::RadrootsAdmittedProfileEvent::contract(&self) -> &'static radroots_event::contract::registry_v7::EventContract
+pub fn radroots_event_codec::profile::admission::RadrootsAdmittedProfileEvent::event(&self) -> &radroots_event::envelope::EventEnvelope
+pub fn radroots_event_codec::profile::admission::RadrootsAdmittedProfileEvent::into_parts(self) -> (RadrootsSignatureVerifiedEvent, RadrootsInboundProfileMetadata)
+pub fn radroots_event_codec::profile::admission::RadrootsAdmittedProfileEvent::metadata(&self) -> &RadrootsInboundProfileMetadata
+pub fn radroots_event_codec::profile::admission::RadrootsAdmittedProfileEvent::verified_event(&self) -> &RadrootsSignatureVerifiedEvent
+pub fn radroots_event_codec::admission::profile::admit_verified_profile_event(crate::verification::RadrootsSignatureVerifiedEvent) -> core::result::Result<radroots_event_codec::profile::admission::RadrootsAdmittedProfileEvent, radroots_event_codec::profile::admission::RadrootsProfileAdmissionError>
+pub fn radroots_event_codec::admission::profile::verify_and_admit_profile_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::profile::admission::RadrootsAdmittedProfileEvent, radroots_event_codec::profile::admission::RadrootsProfileAdmissionError>
+pub mod radroots_event_codec::admission::reply
+#[non_exhaustive] pub enum radroots_event_codec::admission::reply::RadrootsNip10ReplyAdmissionError
+pub radroots_event_codec::admission::reply::RadrootsNip10ReplyAdmissionError::Nip01Verification(crate::verification::RadrootsNip01VerificationError)
+pub radroots_event_codec::admission::reply::RadrootsNip10ReplyAdmissionError::Projection(crate::reply::inbound::RadrootsNip10ReplyProjectionError)
+impl radroots_event_codec::reply::admission::RadrootsNip10ReplyAdmissionError
+pub const fn radroots_event_codec::reply::admission::RadrootsNip10ReplyAdmissionError::code(&self) -> &'static str
+impl core::error::Error for radroots_event_codec::reply::admission::RadrootsNip10ReplyAdmissionError
+pub fn radroots_event_codec::reply::admission::RadrootsNip10ReplyAdmissionError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::reply::admission::RadrootsNip10ReplyAdmissionError
+pub fn radroots_event_codec::reply::admission::RadrootsNip10ReplyAdmissionError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub struct radroots_event_codec::admission::reply::RadrootsAdmittedNip10ReplyEvent
+impl radroots_event_codec::reply::admission::RadrootsAdmittedNip10ReplyEvent
+pub fn radroots_event_codec::reply::admission::RadrootsAdmittedNip10ReplyEvent::contract(&self) -> &'static radroots_event::contract::registry_v7::EventContract
+pub fn radroots_event_codec::reply::admission::RadrootsAdmittedNip10ReplyEvent::event(&self) -> &radroots_event::envelope::EventEnvelope
+pub fn radroots_event_codec::reply::admission::RadrootsAdmittedNip10ReplyEvent::into_parts(self) -> (RadrootsSignatureVerifiedEvent, RadrootsInboundNip10ReplyProjection)
+pub fn radroots_event_codec::reply::admission::RadrootsAdmittedNip10ReplyEvent::projection(&self) -> &RadrootsInboundNip10ReplyProjection
+pub fn radroots_event_codec::reply::admission::RadrootsAdmittedNip10ReplyEvent::verified_event(&self) -> &RadrootsSignatureVerifiedEvent
+pub fn radroots_event_codec::admission::reply::admit_thread_excluded_post_candidate(radroots_event_codec::admission::post::RadrootsThreadExcludedPostCandidate) -> core::result::Result<radroots_event_codec::reply::admission::RadrootsAdmittedNip10ReplyEvent, radroots_event_codec::reply::admission::RadrootsNip10ReplyAdmissionError>
+pub fn radroots_event_codec::admission::reply::admit_verified_nip10_reply_event(crate::verification::RadrootsSignatureVerifiedEvent) -> core::result::Result<radroots_event_codec::reply::admission::RadrootsAdmittedNip10ReplyEvent, radroots_event_codec::reply::admission::RadrootsNip10ReplyAdmissionError>
+pub fn radroots_event_codec::admission::reply::verify_and_admit_nip10_reply_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::reply::admission::RadrootsAdmittedNip10ReplyEvent, radroots_event_codec::reply::admission::RadrootsNip10ReplyAdmissionError>
+#[non_exhaustive] pub enum radroots_event_codec::admission::RadrootsAdmittedEvent
+pub radroots_event_codec::admission::RadrootsAdmittedEvent::Comment(alloc::boxed::Box<radroots_event_codec::admission::comment::RadrootsAdmittedNip22CommentEvent>)
+pub radroots_event_codec::admission::RadrootsAdmittedEvent::ContractValidated(crate::verification::RadrootsContractValidatedEvent)
+pub radroots_event_codec::admission::RadrootsAdmittedEvent::DeletionRequest(crate::deletion::admission::RadrootsAdmittedNip09DeletionRequestEvent)
+pub radroots_event_codec::admission::RadrootsAdmittedEvent::FoodAvailability(alloc::boxed::Box<radroots_event_codec::admission::food_availability::RadrootsAdmittedFoodAvailabilityEvent>)
+pub radroots_event_codec::admission::RadrootsAdmittedEvent::Profile(radroots_event_codec::profile::admission::RadrootsAdmittedProfileEvent)
+pub radroots_event_codec::admission::RadrootsAdmittedEvent::Reply(radroots_event_codec::reply::admission::RadrootsAdmittedNip10ReplyEvent)
+pub radroots_event_codec::admission::RadrootsAdmittedEvent::RootPost(radroots_event_codec::admission::post::RadrootsAdmittedRootPostEvent)
+impl radroots_event_codec::admission::RadrootsAdmittedEvent
+pub fn radroots_event_codec::admission::RadrootsAdmittedEvent::contract(&self) -> &'static radroots_event::contract::registry_v7::EventContract
+pub fn radroots_event_codec::admission::RadrootsAdmittedEvent::contract_id(&self) -> &'static str
+pub fn radroots_event_codec::admission::RadrootsAdmittedEvent::event(&self) -> &radroots_event::envelope::EventEnvelope
+pub fn radroots_event_codec::admission::RadrootsAdmittedEvent::into_verified_event(self) -> RadrootsSignatureVerifiedEvent
+pub fn radroots_event_codec::admission::RadrootsAdmittedEvent::verified_event(&self) -> &RadrootsSignatureVerifiedEvent
+#[non_exhaustive] pub enum radroots_event_codec::admission::RadrootsEventAdmissionError
+pub radroots_event_codec::admission::RadrootsEventAdmissionError::Comment(radroots_event_codec::admission::comment::RadrootsNip22CommentAdmissionError)
+pub radroots_event_codec::admission::RadrootsEventAdmissionError::ContractMatch(radroots_event::contract::registry_v7::ContractMatchError)
+pub radroots_event_codec::admission::RadrootsEventAdmissionError::ContractValidation(radroots_event::contract::registry_v7::ContractValidationError)
+pub radroots_event_codec::admission::RadrootsEventAdmissionError::DeletionRequest(crate::deletion::admission::RadrootsNip09DeletionAdmissionError)
+pub radroots_event_codec::admission::RadrootsEventAdmissionError::FoodAvailability(radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionError)
+pub radroots_event_codec::admission::RadrootsEventAdmissionError::Post(radroots_event_codec::admission::post::RadrootsPostAdmissionError)
+pub radroots_event_codec::admission::RadrootsEventAdmissionError::Profile(radroots_event_codec::profile::admission::RadrootsProfileAdmissionError)
+pub radroots_event_codec::admission::RadrootsEventAdmissionError::Reply(radroots_event_codec::reply::admission::RadrootsNip10ReplyAdmissionError)
+impl radroots_event_codec::admission::RadrootsEventAdmissionError
+pub const fn radroots_event_codec::admission::RadrootsEventAdmissionError::code(&self) -> &'static str
+impl core::error::Error for radroots_event_codec::admission::RadrootsEventAdmissionError
+pub fn radroots_event_codec::admission::RadrootsEventAdmissionError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::admission::RadrootsEventAdmissionError
+pub fn radroots_event_codec::admission::RadrootsEventAdmissionError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub fn radroots_event_codec::admission::admit_verified_event(crate::verification::RadrootsSignatureVerifiedEvent) -> core::result::Result<radroots_event_codec::admission::RadrootsAdmittedEvent, radroots_event_codec::admission::RadrootsEventAdmissionError>
+pub mod radroots_event_codec::app_data
+pub mod radroots_event_codec::app_data::decode
+pub fn radroots_event_codec::app_data::decode::app_data_from_tags(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::app_data::AppData, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::app_data::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::app_data::AppData>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::app_data::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::app_data::AppData>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::app_data::encode
+pub fn radroots_event_codec::app_data::encode::app_data_build_tags(&radroots_event::social::app_data::AppData) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::app_data::encode::to_wire_parts(&radroots_event::social::app_data::AppData) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::app_data::encode::to_wire_parts_with_kind(&radroots_event::social::app_data::AppData, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::article
+pub mod radroots_event_codec::article::decode
+pub fn radroots_event_codec::article::decode::article_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::post::article::Article, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::article::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::post::article::Article>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::article::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::post::article::Article>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::article::encode
+pub fn radroots_event_codec::article::encode::article_build_tags(&radroots_event::post::article::Article) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::article::encode::to_wire_parts(&radroots_event::post::article::Article) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::article::encode::to_wire_parts_with_kind(&radroots_event::post::article::Article, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::calendar
+pub mod radroots_event_codec::calendar::decode
+pub fn radroots_event_codec::calendar::decode::admit_radroots_calendar(radroots_event::calendar::ParsedNip52Calendar) -> core::result::Result<radroots_event::calendar::AdmittedCalendar, radroots_event::calendar::CalendarAdmissionError>
+pub fn radroots_event_codec::calendar::decode::admit_radroots_calendar_date_event(radroots_event::calendar::ParsedNip52CalendarDateEvent) -> core::result::Result<radroots_event::calendar::AdmittedCalendarDateEvent, radroots_event::calendar::CalendarAdmissionError>
+pub fn radroots_event_codec::calendar::decode::admit_radroots_calendar_event_rsvp(radroots_event::calendar::ParsedNip52CalendarEventRsvp) -> core::result::Result<radroots_event::calendar::AdmittedCalendarEventRsvp, radroots_event::calendar::CalendarAdmissionError>
+pub fn radroots_event_codec::calendar::decode::admit_radroots_calendar_time_event(radroots_event::calendar::ParsedNip52CalendarTimeEvent) -> core::result::Result<radroots_event::calendar::AdmittedCalendarTimeEvent, radroots_event::calendar::CalendarAdmissionError>
+pub fn radroots_event_codec::calendar::decode::nip52_calendar_data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::calendar::ParsedNip52Calendar>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::calendar::decode::nip52_calendar_event_rsvp_data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::calendar::ParsedNip52CalendarEventRsvp>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::calendar::decode::nip52_calendar_event_rsvp_parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::calendar::ParsedNip52CalendarEventRsvp>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::calendar::decode::nip52_calendar_parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::calendar::ParsedNip52Calendar>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::calendar::decode::nip52_date_data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::calendar::ParsedNip52CalendarDateEvent>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::calendar::decode::nip52_date_parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::calendar::ParsedNip52CalendarDateEvent>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::calendar::decode::nip52_time_data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::calendar::ParsedNip52CalendarTimeEvent>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::calendar::decode::nip52_time_parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::calendar::ParsedNip52CalendarTimeEvent>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::calendar::decode::parse_nip52_calendar(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::calendar::ParsedNip52Calendar, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::calendar::decode::parse_nip52_calendar_date_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::calendar::ParsedNip52CalendarDateEvent, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::calendar::decode::parse_nip52_calendar_event_rsvp(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::calendar::ParsedNip52CalendarEventRsvp, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::calendar::decode::parse_nip52_calendar_time_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::calendar::ParsedNip52CalendarTimeEvent, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::calendar::encode
+pub fn radroots_event_codec::calendar::encode::calendar_collection_build_tags(&radroots_event::calendar::AuthoredCalendar) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::calendar::encode::calendar_date_event_build_tags(&radroots_event::calendar::AuthoredCalendarDateEvent) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::calendar::encode::calendar_time_event_build_tags(&radroots_event::calendar::AuthoredCalendarTimeEvent) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::calendar::encode::calendar_to_wire_parts(&radroots_event::calendar::AuthoredCalendar) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::calendar::encode::calendar_to_wire_parts_with_kind(&radroots_event::calendar::AuthoredCalendar, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::calendar::encode::date_to_wire_parts(&radroots_event::calendar::AuthoredCalendarDateEvent) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::calendar::encode::date_to_wire_parts_with_kind(&radroots_event::calendar::AuthoredCalendarDateEvent, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::calendar::encode::rsvp_build_tags(&radroots_event::calendar::AuthoredCalendarEventRsvp) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::calendar::encode::rsvp_to_wire_parts(&radroots_event::calendar::AuthoredCalendarEventRsvp) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::calendar::encode::rsvp_to_wire_parts_with_kind(&radroots_event::calendar::AuthoredCalendarEventRsvp, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::calendar::encode::time_to_wire_parts(&radroots_event::calendar::AuthoredCalendarTimeEvent) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::calendar::encode::time_to_wire_parts_with_kind(&radroots_event::calendar::AuthoredCalendarTimeEvent, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::canonical
+pub fn radroots_event_codec::canonical::id(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event::id::EventId, radroots_event_codec::canonical::CanonicalError>
+pub fn radroots_event_codec::canonical::id_preimage(&radroots_event::envelope::EventEnvelope) -> core::result::Result<alloc::string::String, radroots_event_codec::canonical::CanonicalError>
+pub type radroots_event_codec::canonical::CanonicalError = radroots_event::wire::v1::CanonicalEventIdError
+pub mod radroots_event_codec::comment
+pub mod radroots_event_codec::comment::admission
+#[non_exhaustive] pub enum radroots_event_codec::comment::admission::RadrootsNip22CommentAdmissionError
+pub radroots_event_codec::comment::admission::RadrootsNip22CommentAdmissionError::Nip01Verification(crate::verification::RadrootsNip01VerificationError)
+pub radroots_event_codec::comment::admission::RadrootsNip22CommentAdmissionError::Projection(crate::comment::inbound::RadrootsNip22CommentProjectionError)
+impl radroots_event_codec::admission::comment::RadrootsNip22CommentAdmissionError
+pub const fn radroots_event_codec::admission::comment::RadrootsNip22CommentAdmissionError::code(&self) -> &'static str
+impl core::error::Error for radroots_event_codec::admission::comment::RadrootsNip22CommentAdmissionError
+pub fn radroots_event_codec::admission::comment::RadrootsNip22CommentAdmissionError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::admission::comment::RadrootsNip22CommentAdmissionError
+pub fn radroots_event_codec::admission::comment::RadrootsNip22CommentAdmissionError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub struct radroots_event_codec::comment::admission::RadrootsAdmittedNip22CommentEvent
+impl radroots_event_codec::admission::comment::RadrootsAdmittedNip22CommentEvent
+pub fn radroots_event_codec::admission::comment::RadrootsAdmittedNip22CommentEvent::contract(&self) -> &'static radroots_event::contract::registry_v7::EventContract
+pub fn radroots_event_codec::admission::comment::RadrootsAdmittedNip22CommentEvent::event(&self) -> &radroots_event::envelope::EventEnvelope
+pub fn radroots_event_codec::admission::comment::RadrootsAdmittedNip22CommentEvent::into_parts(self) -> (RadrootsSignatureVerifiedEvent, RadrootsInboundNip22CommentProjection)
+pub const fn radroots_event_codec::admission::comment::RadrootsAdmittedNip22CommentEvent::projection(&self) -> &RadrootsInboundNip22CommentProjection
+pub fn radroots_event_codec::admission::comment::RadrootsAdmittedNip22CommentEvent::verified_event(&self) -> &RadrootsSignatureVerifiedEvent
+pub fn radroots_event_codec::comment::admission::admit_verified_nip22_comment_event(crate::verification::RadrootsSignatureVerifiedEvent) -> core::result::Result<radroots_event_codec::admission::comment::RadrootsAdmittedNip22CommentEvent, radroots_event_codec::admission::comment::RadrootsNip22CommentAdmissionError>
+pub fn radroots_event_codec::comment::admission::verify_and_admit_nip22_comment_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::admission::comment::RadrootsAdmittedNip22CommentEvent, radroots_event_codec::admission::comment::RadrootsNip22CommentAdmissionError>
+pub mod radroots_event_codec::comment::authored
+pub fn radroots_event_codec::comment::authored::authored_nip22_comment_to_wire_parts(&radroots_event::post::comment::AuthoredNip22Comment) -> radroots_event::wire::v1::Nip01EventWireParts
+pub mod radroots_event_codec::comment::inbound
+pub mod radroots_event_codec::coop
+pub mod radroots_event_codec::coop::decode
+pub fn radroots_event_codec::coop::decode::coop_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::farm::coop::Coop, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::coop::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::farm::coop::Coop>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::coop::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::farm::coop::Coop>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::coop::encode
+pub fn radroots_event_codec::coop::encode::coop_build_tags(&radroots_event::farm::coop::Coop) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::coop::encode::coop_ref_tags(&radroots_event::farm::coop::CoopRef) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::coop::encode::to_wire_parts(&radroots_event::farm::coop::Coop) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::coop::encode::to_wire_parts_with_kind(&radroots_event::farm::coop::Coop, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::coop::list_sets
+pub fn radroots_event_codec::coop::list_sets::coop_admins_list_set<I, S>(&str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str>
+pub fn radroots_event_codec::coop::list_sets::coop_items_list_set<I, S>(&str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str>
+pub fn radroots_event_codec::coop::list_sets::coop_members_farms_list_set<I>(&str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = radroots_event::farm::FarmRef>
+pub fn radroots_event_codec::coop::list_sets::coop_members_list_set<I, S>(&str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str>
+pub fn radroots_event_codec::coop::list_sets::coop_owners_list_set<I, S>(&str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str>
+pub fn radroots_event_codec::coop::list_sets::member_of_coops_list_set<I, S>(I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str>
+pub mod radroots_event_codec::d_tag
+pub fn radroots_event_codec::d_tag::is_d_tag_base64url(&str) -> bool
+pub mod radroots_event_codec::decode
+pub mod radroots_event_codec::decode::app_data
+pub fn radroots_event_codec::decode::app_data::app_data_from_tags(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::app_data::AppData, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::app_data::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::app_data::AppData>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::app_data::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::app_data::AppData>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::article
+pub fn radroots_event_codec::decode::article::article_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::post::article::Article, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::article::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::post::article::Article>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::article::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::post::article::Article>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::calendar
+pub fn radroots_event_codec::decode::calendar::admit_radroots_calendar(radroots_event::calendar::ParsedNip52Calendar) -> core::result::Result<radroots_event::calendar::AdmittedCalendar, radroots_event::calendar::CalendarAdmissionError>
+pub fn radroots_event_codec::decode::calendar::admit_radroots_calendar_date_event(radroots_event::calendar::ParsedNip52CalendarDateEvent) -> core::result::Result<radroots_event::calendar::AdmittedCalendarDateEvent, radroots_event::calendar::CalendarAdmissionError>
+pub fn radroots_event_codec::decode::calendar::admit_radroots_calendar_event_rsvp(radroots_event::calendar::ParsedNip52CalendarEventRsvp) -> core::result::Result<radroots_event::calendar::AdmittedCalendarEventRsvp, radroots_event::calendar::CalendarAdmissionError>
+pub fn radroots_event_codec::decode::calendar::admit_radroots_calendar_time_event(radroots_event::calendar::ParsedNip52CalendarTimeEvent) -> core::result::Result<radroots_event::calendar::AdmittedCalendarTimeEvent, radroots_event::calendar::CalendarAdmissionError>
+pub fn radroots_event_codec::decode::calendar::nip52_calendar_data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::calendar::ParsedNip52Calendar>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::calendar::nip52_calendar_event_rsvp_data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::calendar::ParsedNip52CalendarEventRsvp>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::calendar::nip52_calendar_event_rsvp_parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::calendar::ParsedNip52CalendarEventRsvp>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::calendar::nip52_calendar_parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::calendar::ParsedNip52Calendar>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::calendar::nip52_date_data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::calendar::ParsedNip52CalendarDateEvent>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::calendar::nip52_date_parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::calendar::ParsedNip52CalendarDateEvent>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::calendar::nip52_time_data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::calendar::ParsedNip52CalendarTimeEvent>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::calendar::nip52_time_parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::calendar::ParsedNip52CalendarTimeEvent>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::calendar::parse_nip52_calendar(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::calendar::ParsedNip52Calendar, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::calendar::parse_nip52_calendar_date_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::calendar::ParsedNip52CalendarDateEvent, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::calendar::parse_nip52_calendar_event_rsvp(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::calendar::ParsedNip52CalendarEventRsvp, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::calendar::parse_nip52_calendar_time_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::calendar::ParsedNip52CalendarTimeEvent, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::comment
+pub mod radroots_event_codec::decode::coop
+pub fn radroots_event_codec::decode::coop::coop_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::farm::coop::Coop, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::coop::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::farm::coop::Coop>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::coop::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::farm::coop::Coop>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::deletion
+pub mod radroots_event_codec::decode::deletion::reconciliation_v1
+pub mod radroots_event_codec::decode::document
+pub fn radroots_event_codec::decode::document::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::post::document::Document>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::document::document_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::post::document::Document, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::document::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::post::document::Document>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::farm
+pub fn radroots_event_codec::decode::farm::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::farm::Farm>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::farm::farm_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::farm::Farm, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::farm::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::farm::Farm>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::farm_crdt
+pub fn radroots_event_codec::decode::farm_crdt::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::farm::crdt::FarmCrdtChange>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::farm_crdt::farm_crdt_change_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::farm::crdt::FarmCrdtChange, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::farm_crdt::farm_crdt_change_from_event_with_author(u32, &[alloc::vec::Vec<alloc::string::String>], &str, &str) -> core::result::Result<radroots_event::farm::crdt::FarmCrdtChange, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::farm_crdt::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::farm::crdt::FarmCrdtChange>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::farm_file
+pub fn radroots_event_codec::decode::farm_file::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::farm::file::FarmFileMetadata>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::farm_file::farm_file_metadata_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::farm::file::FarmFileMetadata, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::farm_file::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::farm::file::FarmFileMetadata>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::farm_workspace
+pub fn radroots_event_codec::decode::farm_workspace::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::farm::workspace::FarmWorkspaceManifest>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::farm_workspace::farm_workspace_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::farm::workspace::FarmWorkspaceManifest, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::farm_workspace::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::farm::workspace::FarmWorkspaceManifest>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::file_metadata
+pub fn radroots_event_codec::decode::file_metadata::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::media::file_metadata::FileMetadata>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::file_metadata::file_metadata_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::media::file_metadata::FileMetadata, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::file_metadata::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::media::file_metadata::FileMetadata>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::follow
+pub fn radroots_event_codec::decode::follow::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::follow::Follow>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::follow::follow_from_tags(u32, &[alloc::vec::Vec<alloc::string::String>], u64) -> core::result::Result<radroots_event::social::follow::Follow, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::follow::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::follow::Follow>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::food_availability
+pub mod radroots_event_codec::decode::geochat
+pub fn radroots_event_codec::decode::geochat::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::geochat::GeoChat>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::geochat::geochat_from_tags(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::geochat::GeoChat, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::geochat::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::geochat::GeoChat>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::gift_wrap
+pub fn radroots_event_codec::decode::gift_wrap::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::gift_wrap::GiftWrap>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::gift_wrap::gift_wrap_from_tags(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::gift_wrap::GiftWrap, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::gift_wrap::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::gift_wrap::GiftWrap>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::group
+pub fn radroots_event_codec::decode::group::group_admins_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupAdmins, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::group::group_create_group_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupCreateGroup, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::group::group_create_invite_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupCreateInvite, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::group::group_delete_event_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupDeleteEvent, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::group::group_delete_group_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupDeleteGroup, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::group::group_edit_metadata_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupEditMetadata, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::group::group_join_request_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupJoinRequest, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::group::group_leave_request_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupLeaveRequest, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::group::group_members_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupMembers, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::group::group_metadata_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupMetadata, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::group::group_put_user_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupPutUser, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::group::group_remove_user_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupRemoveUser, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::group::group_roles_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupRoles, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::http_auth
+pub fn radroots_event_codec::decode::http_auth::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::http_auth::HttpAuth>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::http_auth::http_auth_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::http_auth::HttpAuth, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::http_auth::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::http_auth::HttpAuth>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::job
+pub mod radroots_event_codec::decode::job::feedback
+pub fn radroots_event_codec::decode::job::feedback::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_feedback::JobFeedback>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::feedback::job_feedback_from_tags(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::job_feedback::JobFeedback, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::feedback::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_feedback::JobFeedback>, radroots_event_codec::decode::job::JobParseError>
+pub mod radroots_event_codec::decode::job::request
+pub fn radroots_event_codec::decode::job::request::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_request::JobRequest>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::request::job_request_from_tags(u32, &[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<radroots_event::social::job_request::JobRequest, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::request::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_request::JobRequest>, radroots_event_codec::decode::job::JobParseError>
+pub mod radroots_event_codec::decode::job::result
+pub fn radroots_event_codec::decode::job::result::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_result::JobResult>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::result::job_result_from_tags(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::job_result::JobResult, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::result::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_result::JobResult>, radroots_event_codec::decode::job::JobParseError>
+pub enum radroots_event_codec::decode::job::JobParseError
+pub radroots_event_codec::decode::job::JobParseError::AmountOverflow(&'static str)
+pub radroots_event_codec::decode::job::JobParseError::InvalidNumber(&'static str, core::num::error::ParseIntError)
+pub radroots_event_codec::decode::job::JobParseError::InvalidTag(&'static str)
+pub radroots_event_codec::decode::job::JobParseError::KindOutOfRange(u32)
+pub radroots_event_codec::decode::job::JobParseError::MissingChainTag(&'static str)
+pub radroots_event_codec::decode::job::JobParseError::MissingTag(&'static str)
+pub radroots_event_codec::decode::job::JobParseError::NonWholeSats(&'static str)
+impl core::error::Error for radroots_event_codec::decode::job::JobParseError
+pub fn radroots_event_codec::decode::job::JobParseError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::decode::job::JobParseError
+pub fn radroots_event_codec::decode::job::JobParseError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub struct radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E: radroots_event_codec::decode::job::JobEventBorrow<'a>>
+impl<'a, E: radroots_event_codec::decode::job::JobEventBorrow<'a>> radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::new(&'a E, u64, &'a [alloc::vec::Vec<alloc::string::String>], impl core::convert::Into<alloc::string::String>) -> Self
+impl<'a, E: radroots_event_codec::decode::job::JobEventBorrow<'a>> radroots_event_codec::decode::job::JobEventLike for radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_author(&self) -> alloc::string::String
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_content(&self) -> alloc::string::String
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_id(&self) -> alloc::string::String
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_kind(&self) -> u32
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_published_at(&self) -> u64
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_sig(&self) -> alloc::string::String
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_tags(&self) -> alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_feedback_event_index(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_feedback::JobFeedback>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_feedback_metadata(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_feedback::JobFeedback>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_request_event_index(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_request::JobRequest>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_request_metadata(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_request::JobRequest>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_result_event_index(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_result::JobResult>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_result_metadata(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_result::JobResult>, radroots_event_codec::decode::job::JobParseError>
+pub trait radroots_event_codec::decode::job::JobEventBorrow<'a>
+pub fn radroots_event_codec::decode::job::JobEventBorrow::raw_author(&'a self) -> alloc::string::String
+pub fn radroots_event_codec::decode::job::JobEventBorrow::raw_content(&'a self) -> &'a str
+pub fn radroots_event_codec::decode::job::JobEventBorrow::raw_id(&'a self) -> alloc::string::String
+pub fn radroots_event_codec::decode::job::JobEventBorrow::raw_kind(&'a self) -> u32
+impl<'a> radroots_event_codec::decode::job::JobEventBorrow<'a> for radroots_event::envelope::EventEnvelope
+pub fn radroots_event::envelope::EventEnvelope::raw_author(&'a self) -> alloc::string::String
+pub fn radroots_event::envelope::EventEnvelope::raw_content(&'a self) -> &'a str
+pub fn radroots_event::envelope::EventEnvelope::raw_id(&'a self) -> alloc::string::String
+pub fn radroots_event::envelope::EventEnvelope::raw_kind(&'a self) -> u32
+pub trait radroots_event_codec::decode::job::JobEventLike
+pub fn radroots_event_codec::decode::job::JobEventLike::raw_author(&self) -> alloc::string::String
+pub fn radroots_event_codec::decode::job::JobEventLike::raw_content(&self) -> alloc::string::String
+pub fn radroots_event_codec::decode::job::JobEventLike::raw_id(&self) -> alloc::string::String
+pub fn radroots_event_codec::decode::job::JobEventLike::raw_kind(&self) -> u32
+pub fn radroots_event_codec::decode::job::JobEventLike::raw_published_at(&self) -> u64
+pub fn radroots_event_codec::decode::job::JobEventLike::raw_sig(&self) -> alloc::string::String
+pub fn radroots_event_codec::decode::job::JobEventLike::raw_tags(&self) -> alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>
+pub fn radroots_event_codec::decode::job::JobEventLike::to_job_feedback_event_index(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_feedback::JobFeedback>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::JobEventLike::to_job_feedback_metadata(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_feedback::JobFeedback>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::JobEventLike::to_job_request_event_index(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_request::JobRequest>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::JobEventLike::to_job_request_metadata(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_request::JobRequest>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::JobEventLike::to_job_result_event_index(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_result::JobResult>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::JobEventLike::to_job_result_metadata(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_result::JobResult>, radroots_event_codec::decode::job::JobParseError>
+impl<'a, E: radroots_event_codec::decode::job::JobEventBorrow<'a>> radroots_event_codec::decode::job::JobEventLike for radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_author(&self) -> alloc::string::String
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_content(&self) -> alloc::string::String
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_id(&self) -> alloc::string::String
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_kind(&self) -> u32
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_published_at(&self) -> u64
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_sig(&self) -> alloc::string::String
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_tags(&self) -> alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_feedback_event_index(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_feedback::JobFeedback>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_feedback_metadata(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_feedback::JobFeedback>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_request_event_index(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_request::JobRequest>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_request_metadata(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_request::JobRequest>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_result_event_index(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_result::JobResult>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_result_metadata(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_result::JobResult>, radroots_event_codec::decode::job::JobParseError>
+pub mod radroots_event_codec::decode::knowledge
+pub fn radroots_event_codec::decode::knowledge::contribution_attestation_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::ContributionAttestation>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::knowledge::evidence_bounty_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::EvidenceBounty>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::knowledge::knowledge_change_proposal_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeChangeProposal>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::knowledge::knowledge_claim_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeClaim>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::knowledge::knowledge_field_report_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeFieldReport>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::knowledge::knowledge_relation_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeRelation>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::knowledge::knowledge_review_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeReview>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::knowledge::knowledge_source_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeSource>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::knowledge::wiki_article_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiArticle>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::knowledge::wiki_merge_request_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiMergeRequest>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::knowledge::wiki_redirect_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiRedirect>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::list
+pub fn radroots_event_codec::decode::list::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::list::List>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::list::list_entries_from_tags(&[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<alloc::vec::Vec<radroots_event::social::list::ListEntry>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::list::list_from_tags(u32, alloc::string::String, &[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<radroots_event::social::list::List, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::list::list_private_entries_from_json(&str) -> core::result::Result<alloc::vec::Vec<radroots_event::social::list::ListEntry>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::list::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::list::List>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::list_set
+pub fn radroots_event_codec::decode::list_set::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::list_set::ListSet>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::list_set::list_set_from_tags(u32, alloc::string::String, &[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::list_set::list_set_private_entries_from_json(&str) -> core::result::Result<alloc::vec::Vec<radroots_event::social::list::ListEntry>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::list_set::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::list_set::ListSet>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::message
+pub fn radroots_event_codec::decode::message::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::message::Message>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::message::message_from_tags(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::message::Message, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::message::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::message::Message>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::message_file
+pub fn radroots_event_codec::decode::message_file::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::message_file::MessageFile>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::message_file::message_file_from_tags(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::message_file::MessageFile, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::message_file::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::message_file::MessageFile>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::operational_listing
+pub fn radroots_event_codec::decode::operational_listing::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::listing::operational::OperationalListing>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::operational_listing::data_from_nostr_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::listing::operational::OperationalListing>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::operational_listing::operational_listing_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::listing::operational::OperationalListing, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::operational_listing::operational_listing_from_event_parts(&[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::listing::operational::OperationalListing, radroots_event::listing::operational::OperationalListingParseError>
+pub fn radroots_event_codec::decode::operational_listing::operational_listing_from_nostr_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event::listing::operational::OperationalListing, radroots_event::listing::operational::OperationalListingParseError>
+pub fn radroots_event_codec::decode::operational_listing::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::listing::operational::OperationalListing>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::operational_listing::parsed_from_nostr_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::listing::operational::OperationalListing>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::order
+pub enum radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError
+pub radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError::AuthorMismatch
+pub radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError::CounterpartyTagMismatch
+pub radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError::InvalidEnvelope(radroots_event::trade::order::OrderEnvelopeError)
+pub radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError::InvalidJson
+pub radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError::InvalidKind(u32)
+pub radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError::InvalidListingAddr(radroots_event::id::ParseError)
+pub radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError::InvalidPayload(radroots_event::trade::order::OrderPayloadError)
+pub radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError::InvalidTag(&'static str)
+pub radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError::ListingAddrTagMismatch
+pub radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError::MessageTypeKindMismatch
+pub radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError::MessageTypeKindMismatch::event_kind: u32
+pub radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError::MessageTypeKindMismatch::message_type: radroots_event::trade::order::OrderEventType
+pub radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError::MissingTag(&'static str)
+pub radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError::OrderIdTagMismatch
+pub radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError::PayloadBindingMismatch(&'static str)
+impl core::error::Error for radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError
+pub fn radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError
+pub fn radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub struct radroots_event_codec::decode::order::RadrootsOrderEventContext
+pub radroots_event_codec::decode::order::RadrootsOrderEventContext::counterparty_pubkey: radroots_identity::key::PublicKey
+pub radroots_event_codec::decode::order::RadrootsOrderEventContext::listing_event: core::option::Option<radroots_event::tag::EventPtr>
+pub radroots_event_codec::decode::order::RadrootsOrderEventContext::prev_event_id: core::option::Option<radroots_event::id::EventId>
+pub radroots_event_codec::decode::order::RadrootsOrderEventContext::root_event_id: core::option::Option<radroots_event::id::EventId>
+pub fn radroots_event_codec::decode::order::order_cancellation_from_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event::trade::order::OrderEnvelope<radroots_event::trade::order::OrderCancellation>, radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError>
+pub fn radroots_event_codec::decode::order::order_decision_from_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event::trade::order::OrderEnvelope<radroots_event::trade::order::OrderDecision>, radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError>
+pub fn radroots_event_codec::decode::order::order_envelope_from_event<T: serde_core::de::DeserializeOwned>(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event::trade::order::OrderEnvelope<T>, radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError>
+pub fn radroots_event_codec::decode::order::order_event_context_from_tags(radroots_event::trade::order::OrderEventType, &[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<radroots_event_codec::decode::order::RadrootsOrderEventContext, radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError>
+pub fn radroots_event_codec::decode::order::order_request_from_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event::trade::order::OrderEnvelope<radroots_event::trade::order::OrderRequest>, radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError>
+pub mod radroots_event_codec::decode::plot
+pub fn radroots_event_codec::decode::plot::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::farm::plot::Plot>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::plot::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::farm::plot::Plot>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::plot::plot_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::farm::plot::Plot, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::post
+pub struct radroots_event_codec::decode::post::LegacyPost
+pub radroots_event_codec::decode::post::LegacyPost::address_refs: core::option::Option<alloc::vec::Vec<radroots_event::social::SocialTarget>>
+pub radroots_event_codec::decode::post::LegacyPost::content: alloc::string::String
+pub radroots_event_codec::decode::post::LegacyPost::farm: core::option::Option<radroots_event::social::SocialFarmAnchor>
+pub radroots_event_codec::decode::post::LegacyPost::location: core::option::Option<radroots_event::social::SocialLocation>
+pub radroots_event_codec::decode::post::LegacyPost::media: core::option::Option<alloc::vec::Vec<radroots_event::social::SocialMediaMetadata>>
+pub radroots_event_codec::decode::post::LegacyPost::quote_refs: core::option::Option<alloc::vec::Vec<radroots_event::social::SocialTarget>>
+pub radroots_event_codec::decode::post::LegacyPost::topics: core::option::Option<alloc::vec::Vec<alloc::string::String>>
+pub fn radroots_event_codec::decode::post::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event_codec::decode::post::LegacyPost>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::post::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event_codec::decode::post::LegacyPost>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::post::post_from_content(u32, &str) -> core::result::Result<radroots_event_codec::decode::post::LegacyPost, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::post::post_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event_codec::decode::post::LegacyPost, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::profile
+pub struct radroots_event_codec::decode::profile::LegacyProfile
+pub radroots_event_codec::decode::profile::LegacyProfile::about: core::option::Option<alloc::string::String>
+pub radroots_event_codec::decode::profile::LegacyProfile::banner: core::option::Option<alloc::string::String>
+pub radroots_event_codec::decode::profile::LegacyProfile::bot: core::option::Option<alloc::string::String>
+pub radroots_event_codec::decode::profile::LegacyProfile::display_name: core::option::Option<alloc::string::String>
+pub radroots_event_codec::decode::profile::LegacyProfile::lud06: core::option::Option<alloc::string::String>
+pub radroots_event_codec::decode::profile::LegacyProfile::lud16: core::option::Option<alloc::string::String>
+pub radroots_event_codec::decode::profile::LegacyProfile::name: alloc::string::String
+pub radroots_event_codec::decode::profile::LegacyProfile::nip05: core::option::Option<alloc::string::String>
+pub radroots_event_codec::decode::profile::LegacyProfile::picture: core::option::Option<alloc::string::String>
+pub radroots_event_codec::decode::profile::LegacyProfile::website: core::option::Option<alloc::string::String>
+pub struct radroots_event_codec::decode::profile::RadrootsProfileData
+pub radroots_event_codec::decode::profile::RadrootsProfileData::profile: radroots_event_codec::profile::LegacyProfile
+pub radroots_event_codec::decode::profile::RadrootsProfileData::profile_type: core::option::Option<radroots_event::profile::ProfileType>
+pub fn radroots_event_codec::decode::profile::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event_codec::profile::RadrootsProfileData>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::profile::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event_codec::profile::RadrootsProfileData>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::profile::profile_from_content(&str) -> core::result::Result<radroots_event_codec::profile::LegacyProfile, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::reaction
+pub fn radroots_event_codec::decode::reaction::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::post::reaction::Reaction>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::reaction::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::post::reaction::Reaction>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::reaction::reaction_from_tags(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::post::reaction::Reaction, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::relay_auth
+pub fn radroots_event_codec::decode::relay_auth::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::relay_auth::RelayAuth>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::relay_auth::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::relay_auth::RelayAuth>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::relay_auth::relay_auth_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::relay_auth::RelayAuth, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::reply
+pub mod radroots_event_codec::decode::report
+pub fn radroots_event_codec::decode::report::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::post::report::Report>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::report::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::post::report::Report>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::report::report_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::post::report::Report, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::repost
+pub fn radroots_event_codec::decode::repost::generic_repost_data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::post::repost::GenericRepost>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::repost::generic_repost_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::post::repost::GenericRepost, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::repost::generic_repost_parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::post::repost::GenericRepost>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::repost::repost_data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::post::repost::Repost>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::repost::repost_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::post::repost::Repost, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::repost::repost_parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::post::repost::Repost>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::resource_area
+pub fn radroots_event_codec::decode::resource_area::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::farm::resource_area::ResourceArea>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::resource_area::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::farm::resource_area::ResourceArea>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::resource_area::resource_area_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::farm::resource_area::ResourceArea, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::resource_cap
+pub fn radroots_event_codec::decode::resource_cap::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::farm::resource_cap::ResourceHarvestCap>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::resource_cap::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::farm::resource_cap::ResourceHarvestCap>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::resource_cap::resource_harvest_cap_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::farm::resource_cap::ResourceHarvestCap, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::seal
+pub fn radroots_event_codec::decode::seal::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::seal::Seal>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::seal::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::seal::Seal>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::decode::seal::seal_from_parts(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::seal::Seal, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::decode::trade
+pub enum radroots_event_codec::decode::trade::RadrootsTradeMutationParseError
+pub radroots_event_codec::decode::trade::RadrootsTradeMutationParseError::Canonical(radroots_event::trade::TradeProtocolError)
+pub radroots_event_codec::decode::trade::RadrootsTradeMutationParseError::ContractTagMismatch
+pub radroots_event_codec::decode::trade::RadrootsTradeMutationParseError::CounterpartyTagMismatch
+pub radroots_event_codec::decode::trade::RadrootsTradeMutationParseError::InvalidKind(u32)
+pub radroots_event_codec::decode::trade::RadrootsTradeMutationParseError::InvalidTag(&'static str)
+pub radroots_event_codec::decode::trade::RadrootsTradeMutationParseError::KindContractMismatch
+pub radroots_event_codec::decode::trade::RadrootsTradeMutationParseError::MissingTag(&'static str)
+pub radroots_event_codec::decode::trade::RadrootsTradeMutationParseError::ParentTagsMismatch
+pub radroots_event_codec::decode::trade::RadrootsTradeMutationParseError::TradeIdTagMismatch
+impl core::convert::From<radroots_event::trade::TradeProtocolError> for radroots_event_codec::trade::RadrootsTradeMutationParseError
+pub fn radroots_event_codec::trade::RadrootsTradeMutationParseError::from(radroots_event::trade::TradeProtocolError) -> Self
+impl core::error::Error for radroots_event_codec::trade::RadrootsTradeMutationParseError
+impl core::fmt::Display for radroots_event_codec::trade::RadrootsTradeMutationParseError
+pub fn radroots_event_codec::trade::RadrootsTradeMutationParseError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub fn radroots_event_codec::decode::trade::trade_mutation_from_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event::trade::TradeMutationEnvelopeV1, radroots_event_codec::trade::RadrootsTradeMutationParseError>
+#[non_exhaustive] pub enum radroots_event_codec::decode::DecodeError
+pub radroots_event_codec::decode::DecodeError::InputTooLarge
+pub radroots_event_codec::decode::DecodeError::InputTooLarge::actual: usize
+pub radroots_event_codec::decode::DecodeError::InputTooLarge::max: usize
+pub radroots_event_codec::decode::DecodeError::InvalidEnvelope(radroots_event::envelope::EventEnvelopeError)
+pub radroots_event_codec::decode::DecodeError::InvalidJson
+pub radroots_event_codec::decode::DecodeError::InvalidWire(radroots_event::wire::v1::EventWireError)
+impl radroots_event_codec::decode::DecodeError
+pub const fn radroots_event_codec::decode::DecodeError::code(&self) -> &'static str
+impl core::error::Error for radroots_event_codec::decode::DecodeError
+pub fn radroots_event_codec::decode::DecodeError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::decode::DecodeError
+pub fn radroots_event_codec::decode::DecodeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub enum radroots_event_codec::decode::EventParseError
+pub radroots_event_codec::decode::EventParseError::DuplicateTag(&'static str)
+pub radroots_event_codec::decode::EventParseError::InvalidEnvelope
+pub radroots_event_codec::decode::EventParseError::InvalidJson(&'static str)
+pub radroots_event_codec::decode::EventParseError::InvalidKind
+pub radroots_event_codec::decode::EventParseError::InvalidKind::expected: &'static str
+pub radroots_event_codec::decode::EventParseError::InvalidKind::got: u32
+pub radroots_event_codec::decode::EventParseError::InvalidNumber(&'static str, core::num::error::ParseIntError)
+pub radroots_event_codec::decode::EventParseError::InvalidTag(&'static str)
+pub radroots_event_codec::decode::EventParseError::MissingTag(&'static str)
+impl radroots_event_codec::error::EventParseError
+pub const fn radroots_event_codec::error::EventParseError::code(&self) -> &'static str
+impl core::convert::From<radroots_event::envelope::EventEnvelopeError> for radroots_event_codec::error::EventParseError
+pub fn radroots_event_codec::error::EventParseError::from(radroots_event::envelope::EventEnvelopeError) -> Self
+impl core::convert::From<radroots_event_codec::error::EventParseError> for radroots_event_codec::knowledge::verification::RadrootsDecodeError
+pub fn radroots_event_codec::knowledge::verification::RadrootsDecodeError::from(radroots_event_codec::error::EventParseError) -> Self
+impl core::error::Error for radroots_event_codec::error::EventParseError
+pub fn radroots_event_codec::error::EventParseError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::error::EventParseError
+pub fn radroots_event_codec::error::EventParseError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub struct radroots_event_codec::decode::RadrootsParsedData<T>
+pub radroots_event_codec::decode::RadrootsParsedData::author: alloc::string::String
+pub radroots_event_codec::decode::RadrootsParsedData::data: T
+pub radroots_event_codec::decode::RadrootsParsedData::id: alloc::string::String
+pub radroots_event_codec::decode::RadrootsParsedData::kind: u32
+pub radroots_event_codec::decode::RadrootsParsedData::published_at: u64
+impl<T> radroots_event_codec::parsed::RadrootsParsedData<T>
+pub fn radroots_event_codec::parsed::RadrootsParsedData<T>::new(alloc::string::String, alloc::string::String, u64, u32, T) -> Self
+pub struct radroots_event_codec::decode::RadrootsParsedEvent<T>
+pub radroots_event_codec::decode::RadrootsParsedEvent::data: radroots_event_codec::parsed::RadrootsParsedData<T>
+pub radroots_event_codec::decode::RadrootsParsedEvent::event: radroots_event::envelope::EventEnvelope
+impl<T> radroots_event_codec::parsed::RadrootsParsedEvent<T>
+pub fn radroots_event_codec::parsed::RadrootsParsedEvent<T>::from_event_parts(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String, radroots_event_codec::parsed::RadrootsParsedData<T>) -> core::result::Result<Self, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::parsed::RadrootsParsedEvent<T>::from_parts(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String, T) -> core::result::Result<Self, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::parsed::RadrootsParsedEvent<T>::new(radroots_event::envelope::EventEnvelope, radroots_event_codec::parsed::RadrootsParsedData<T>) -> Self
+pub const radroots_event_codec::decode::MAX_EVENT_JSON_BYTES: usize
+pub fn radroots_event_codec::decode::event(&str) -> core::result::Result<radroots_event::verification::RawEvent, radroots_event_codec::decode::DecodeError>
+pub mod radroots_event_codec::deletion
+pub mod radroots_event_codec::deletion::admission
+pub mod radroots_event_codec::deletion::authored
+pub fn radroots_event_codec::deletion::authored::authored_nip09_deletion_request_to_wire_parts(&radroots_event::post::deletion::AuthoredNip09DeletionRequest) -> radroots_event::wire::v1::Nip01EventWireParts
+pub mod radroots_event_codec::deletion::evaluator
+pub mod radroots_event_codec::deletion::inbound
+pub mod radroots_event_codec::document
+pub mod radroots_event_codec::document::decode
+pub fn radroots_event_codec::document::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::post::document::Document>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::document::decode::document_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::post::document::Document, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::document::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::post::document::Document>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::document::encode
+pub fn radroots_event_codec::document::encode::document_build_tags(&radroots_event::post::document::Document) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::document::encode::to_wire_parts(&radroots_event::post::document::Document) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::document::encode::to_wire_parts_with_kind(&radroots_event::post::document::Document, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode
+pub mod radroots_event_codec::encode::app_data
+pub fn radroots_event_codec::encode::app_data::app_data_build_tags(&radroots_event::social::app_data::AppData) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::app_data::to_wire_parts(&radroots_event::social::app_data::AppData) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::app_data::to_wire_parts_with_kind(&radroots_event::social::app_data::AppData, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::article
+pub fn radroots_event_codec::encode::article::article_build_tags(&radroots_event::post::article::Article) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::article::to_wire_parts(&radroots_event::post::article::Article) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::article::to_wire_parts_with_kind(&radroots_event::post::article::Article, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::calendar
+pub fn radroots_event_codec::encode::calendar::calendar_collection_build_tags(&radroots_event::calendar::AuthoredCalendar) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::calendar::calendar_date_event_build_tags(&radroots_event::calendar::AuthoredCalendarDateEvent) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::calendar::calendar_time_event_build_tags(&radroots_event::calendar::AuthoredCalendarTimeEvent) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::calendar::calendar_to_wire_parts(&radroots_event::calendar::AuthoredCalendar) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::calendar::calendar_to_wire_parts_with_kind(&radroots_event::calendar::AuthoredCalendar, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::calendar::date_to_wire_parts(&radroots_event::calendar::AuthoredCalendarDateEvent) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::calendar::date_to_wire_parts_with_kind(&radroots_event::calendar::AuthoredCalendarDateEvent, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::calendar::rsvp_build_tags(&radroots_event::calendar::AuthoredCalendarEventRsvp) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::calendar::rsvp_to_wire_parts(&radroots_event::calendar::AuthoredCalendarEventRsvp) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::calendar::rsvp_to_wire_parts_with_kind(&radroots_event::calendar::AuthoredCalendarEventRsvp, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::calendar::time_to_wire_parts(&radroots_event::calendar::AuthoredCalendarTimeEvent) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::calendar::time_to_wire_parts_with_kind(&radroots_event::calendar::AuthoredCalendarTimeEvent, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::comment
+pub fn radroots_event_codec::encode::comment::authored_nip22_comment_to_wire_parts(&radroots_event::post::comment::AuthoredNip22Comment) -> radroots_event::wire::v1::Nip01EventWireParts
+pub mod radroots_event_codec::encode::coop
+pub fn radroots_event_codec::encode::coop::coop_build_tags(&radroots_event::farm::coop::Coop) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::coop::coop_ref_tags(&radroots_event::farm::coop::CoopRef) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::coop::to_wire_parts(&radroots_event::farm::coop::Coop) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::coop::to_wire_parts_with_kind(&radroots_event::farm::coop::Coop, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::deletion
+pub fn radroots_event_codec::encode::deletion::authored_nip09_deletion_request_to_wire_parts(&radroots_event::post::deletion::AuthoredNip09DeletionRequest) -> radroots_event::wire::v1::Nip01EventWireParts
+pub mod radroots_event_codec::encode::document
+pub fn radroots_event_codec::encode::document::document_build_tags(&radroots_event::post::document::Document) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::document::to_wire_parts(&radroots_event::post::document::Document) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::document::to_wire_parts_with_kind(&radroots_event::post::document::Document, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::farm
+pub fn radroots_event_codec::encode::farm::farm_build_tags(&radroots_event::farm::Farm) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::farm::farm_members_list_set<I, S>(&str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str>
+pub fn radroots_event_codec::encode::farm::farm_operational_listings_list_set<I, S>(&str, &str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str>
+pub fn radroots_event_codec::encode::farm::farm_operational_listings_list_set_from_listings<'a, I>(&str, &str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = &'a radroots_event::listing::operational::OperationalListing>
+pub fn radroots_event_codec::encode::farm::farm_owners_list_set<I, S>(&str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str>
+pub fn radroots_event_codec::encode::farm::farm_plots_list_set<I, S>(&str, &str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str>
+pub fn radroots_event_codec::encode::farm::farm_plots_list_set_from_plots<'a, I>(&str, &str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = &'a radroots_event::farm::plot::Plot>
+pub fn radroots_event_codec::encode::farm::farm_ref_tags(&radroots_event::farm::FarmRef) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::farm::farm_workers_list_set<I, S>(&str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str>
+pub fn radroots_event_codec::encode::farm::member_of_farms_list_set<I, S>(I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str>
+pub fn radroots_event_codec::encode::farm::to_wire_parts(&radroots_event::farm::Farm) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::farm::to_wire_parts_with_kind(&radroots_event::farm::Farm, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::farm_crdt
+pub fn radroots_event_codec::encode::farm_crdt::farm_crdt_change_build_tags(&radroots_event::farm::crdt::FarmCrdtChange) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::farm_crdt::farm_crdt_change_build_tags_with_author(&radroots_event::farm::crdt::FarmCrdtChange, core::option::Option<&str>) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::farm_crdt::to_wire_parts(&radroots_event::farm::crdt::FarmCrdtChange) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::farm_crdt::to_wire_parts_with_author(&radroots_event::farm::crdt::FarmCrdtChange, &str) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::farm_crdt::to_wire_parts_with_kind(&radroots_event::farm::crdt::FarmCrdtChange, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::farm_crdt::to_wire_parts_with_kind_and_author(&radroots_event::farm::crdt::FarmCrdtChange, u32, core::option::Option<&str>) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::farm_file
+pub fn radroots_event_codec::encode::farm_file::farm_file_metadata_build_tags(&radroots_event::farm::file::FarmFileMetadata) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::farm_file::to_wire_parts(&radroots_event::farm::file::FarmFileMetadata) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::farm_file::to_wire_parts_with_kind(&radroots_event::farm::file::FarmFileMetadata, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::farm_workspace
+pub fn radroots_event_codec::encode::farm_workspace::farm_workspace_build_tags(&radroots_event::farm::workspace::FarmWorkspaceManifest) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::farm_workspace::to_wire_parts(&radroots_event::farm::workspace::FarmWorkspaceManifest) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::farm_workspace::to_wire_parts_with_kind(&radroots_event::farm::workspace::FarmWorkspaceManifest, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::file_metadata
+pub fn radroots_event_codec::encode::file_metadata::file_metadata_build_tags(&radroots_event::media::file_metadata::FileMetadata) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::file_metadata::to_wire_parts(&radroots_event::media::file_metadata::FileMetadata) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::file_metadata::to_wire_parts_with_kind(&radroots_event::media::file_metadata::FileMetadata, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::follow
+pub enum radroots_event_codec::encode::follow::FollowMutation
+pub radroots_event_codec::encode::follow::FollowMutation::Follow
+pub radroots_event_codec::encode::follow::FollowMutation::Follow::contact_name: core::option::Option<alloc::string::String>
+pub radroots_event_codec::encode::follow::FollowMutation::Follow::public_key: alloc::string::String
+pub radroots_event_codec::encode::follow::FollowMutation::Follow::relay_url: core::option::Option<alloc::string::String>
+pub radroots_event_codec::encode::follow::FollowMutation::Toggle
+pub radroots_event_codec::encode::follow::FollowMutation::Toggle::contact_name: core::option::Option<alloc::string::String>
+pub radroots_event_codec::encode::follow::FollowMutation::Toggle::public_key: alloc::string::String
+pub radroots_event_codec::encode::follow::FollowMutation::Toggle::relay_url: core::option::Option<alloc::string::String>
+pub radroots_event_codec::encode::follow::FollowMutation::Unfollow
+pub radroots_event_codec::encode::follow::FollowMutation::Unfollow::public_key: alloc::string::String
+pub fn radroots_event_codec::encode::follow::follow_apply(&radroots_event::social::follow::Follow, radroots_event_codec::encode::follow::FollowMutation) -> core::result::Result<radroots_event::social::follow::Follow, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::follow::follow_build_tags(&radroots_event::social::follow::Follow) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::follow::follow_to_wire_parts_after(&radroots_event::social::follow::Follow, radroots_event_codec::encode::follow::FollowMutation) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::follow::to_wire_parts(&radroots_event::social::follow::Follow) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::follow::to_wire_parts_with_kind(&radroots_event::social::follow::Follow, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::food_availability
+#[non_exhaustive] pub enum radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError
+pub radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError::Domain(radroots_event::food::availability::FoodAvailabilityError)
+pub radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError::EventWireTooLarge
+pub radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError::EventWireTooLarge::actual: usize
+pub radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError::EventWireTooLarge::max: usize
+pub radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError::Wire(radroots_event::envelope::EventEnvelopeError)
+impl radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError
+pub const fn radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError::code(&self) -> &'static str
+impl core::convert::From<radroots_event::envelope::EventEnvelopeError> for radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError
+pub fn radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError::from(radroots_event::envelope::EventEnvelopeError) -> Self
+impl core::convert::From<radroots_event::food::availability::FoodAvailabilityError> for radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError
+pub fn radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError::from(radroots_event::food::availability::FoodAvailabilityError) -> Self
+impl core::error::Error for radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError
+pub fn radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError
+pub fn radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub fn radroots_event_codec::encode::food_availability::authored_food_availability_build_tags(&radroots_event::food::availability::FoodAvailabilityDetails, u64) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError>
+pub fn radroots_event_codec::encode::food_availability::authored_food_availability_to_wire_parts(&radroots_event::food::availability::FoodAvailabilityDetails, u64) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError>
+pub mod radroots_event_codec::encode::geochat
+pub fn radroots_event_codec::encode::geochat::geochat_build_tags(&radroots_event::social::geochat::GeoChat) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::geochat::to_wire_parts(&radroots_event::social::geochat::GeoChat) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::gift_wrap
+pub fn radroots_event_codec::encode::gift_wrap::gift_wrap_build_tags(&radroots_event::social::gift_wrap::GiftWrap) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::gift_wrap::to_wire_parts(&radroots_event::social::gift_wrap::GiftWrap) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::gift_wrap::to_wire_parts_with_kind(&radroots_event::social::gift_wrap::GiftWrap, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::group
+pub fn radroots_event_codec::encode::group::group_admins_build_tags(&radroots_event::social::group::GroupAdmins) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_admins_to_wire_parts(&radroots_event::social::group::GroupAdmins) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_create_group_build_tags(&radroots_event::social::group::GroupCreateGroup) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_create_group_to_wire_parts(&radroots_event::social::group::GroupCreateGroup) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_create_invite_build_tags(&radroots_event::social::group::GroupCreateInvite) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_create_invite_to_wire_parts(&radroots_event::social::group::GroupCreateInvite) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_delete_event_build_tags(&radroots_event::social::group::GroupDeleteEvent) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_delete_event_to_wire_parts(&radroots_event::social::group::GroupDeleteEvent) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_delete_group_build_tags(&radroots_event::social::group::GroupDeleteGroup) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_delete_group_to_wire_parts(&radroots_event::social::group::GroupDeleteGroup) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_edit_metadata_build_tags(&radroots_event::social::group::GroupEditMetadata) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_edit_metadata_to_wire_parts(&radroots_event::social::group::GroupEditMetadata) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_join_request_build_tags(&radroots_event::social::group::GroupJoinRequest) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_join_request_to_wire_parts(&radroots_event::social::group::GroupJoinRequest) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_leave_request_build_tags(&radroots_event::social::group::GroupLeaveRequest) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_leave_request_to_wire_parts(&radroots_event::social::group::GroupLeaveRequest) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_members_build_tags(&radroots_event::social::group::GroupMembers) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_members_to_wire_parts(&radroots_event::social::group::GroupMembers) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_metadata_build_tags(&radroots_event::social::group::GroupMetadata) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_metadata_to_wire_parts(&radroots_event::social::group::GroupMetadata) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_put_user_build_tags(&radroots_event::social::group::GroupPutUser) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_put_user_to_wire_parts(&radroots_event::social::group::GroupPutUser) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_remove_user_build_tags(&radroots_event::social::group::GroupRemoveUser) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_remove_user_to_wire_parts(&radroots_event::social::group::GroupRemoveUser) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_roles_build_tags(&radroots_event::social::group::GroupRoles) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::group::group_roles_to_wire_parts(&radroots_event::social::group::GroupRoles) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::http_auth
+pub fn radroots_event_codec::encode::http_auth::http_auth_build_tags(&radroots_event::social::http_auth::HttpAuth) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::http_auth::to_wire_parts(&radroots_event::social::http_auth::HttpAuth) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::http_auth::to_wire_parts_with_kind(&radroots_event::social::http_auth::HttpAuth, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::job
+pub mod radroots_event_codec::encode::job::feedback
+pub fn radroots_event_codec::encode::job::feedback::job_feedback_build_tags(&radroots_event::social::job_feedback::JobFeedback) -> alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>
+pub fn radroots_event_codec::encode::job::feedback::to_wire_parts(&radroots_event::social::job_feedback::JobFeedback, &str) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::job::encode::JobEncodeError>
+pub mod radroots_event_codec::encode::job::request
+pub fn radroots_event_codec::encode::job::request::job_request_build_tags(&radroots_event::social::job_request::JobRequest) -> alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>
+pub fn radroots_event_codec::encode::job::request::to_wire_parts(&radroots_event::social::job_request::JobRequest, &str) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::job::encode::JobEncodeError>
+pub mod radroots_event_codec::encode::job::result
+pub fn radroots_event_codec::encode::job::result::job_result_build_tags(&radroots_event::social::job_result::JobResult) -> alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>
+pub fn radroots_event_codec::encode::job::result::to_wire_parts(&radroots_event::social::job_result::JobResult, &str) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::job::encode::JobEncodeError>
+pub mod radroots_event_codec::encode::knowledge
+pub fn radroots_event_codec::encode::knowledge::contribution_attestation_build_tags(&radroots_event::knowledge::ContributionAttestation) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::knowledge::contribution_attestation_to_wire_parts(&radroots_event::knowledge::ContributionAttestation) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::knowledge::evidence_bounty_build_tags(&radroots_event::knowledge::EvidenceBounty) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::knowledge::evidence_bounty_to_wire_parts(&radroots_event::knowledge::EvidenceBounty) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::knowledge::knowledge_change_proposal_build_tags(&radroots_event::knowledge::KnowledgeChangeProposal) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::knowledge::knowledge_change_proposal_to_wire_parts(&radroots_event::knowledge::KnowledgeChangeProposal) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::knowledge::knowledge_claim_build_tags(&radroots_event::knowledge::KnowledgeClaim) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::knowledge::knowledge_claim_to_wire_parts(&radroots_event::knowledge::KnowledgeClaim) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::knowledge::knowledge_field_report_build_tags(&radroots_event::knowledge::KnowledgeFieldReport) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::knowledge::knowledge_field_report_to_wire_parts(&radroots_event::knowledge::KnowledgeFieldReport) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::knowledge::knowledge_relation_build_tags(&radroots_event::knowledge::KnowledgeRelation) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::knowledge::knowledge_relation_to_wire_parts(&radroots_event::knowledge::KnowledgeRelation) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::knowledge::knowledge_review_build_tags(&radroots_event::knowledge::KnowledgeReview) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::knowledge::knowledge_review_to_wire_parts(&radroots_event::knowledge::KnowledgeReview) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::knowledge::knowledge_source_build_tags(&radroots_event::knowledge::KnowledgeSource) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::knowledge::knowledge_source_to_wire_parts(&radroots_event::knowledge::KnowledgeSource) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::knowledge::wiki_article_build_tags(&radroots_event::knowledge::WikiArticle) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::knowledge::wiki_article_to_wire_parts(&radroots_event::knowledge::WikiArticle) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::knowledge::wiki_merge_request_build_tags(&radroots_event::knowledge::WikiMergeRequest) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::knowledge::wiki_merge_request_to_wire_parts(&radroots_event::knowledge::WikiMergeRequest) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::knowledge::wiki_redirect_build_tags(&radroots_event::knowledge::WikiRedirect) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::knowledge::wiki_redirect_to_wire_parts(&radroots_event::knowledge::WikiRedirect) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::list
+pub fn radroots_event_codec::encode::list::list_build_tags(&radroots_event::social::list::List) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::list::list_entries_to_tags(&[radroots_event::social::list::ListEntry]) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::list::list_private_entries_json(&[radroots_event::social::list::ListEntry]) -> core::result::Result<alloc::string::String, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::list::to_wire_parts_with_kind(&radroots_event::social::list::List, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::list_set
+pub fn radroots_event_codec::encode::list_set::list_set_build_tags(&radroots_event::social::list_set::ListSet) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::list_set::list_set_private_entries_json(&[radroots_event::social::list::ListEntry]) -> core::result::Result<alloc::string::String, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::list_set::to_wire_parts_with_kind(&radroots_event::social::list_set::ListSet, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::message
+pub fn radroots_event_codec::encode::message::message_build_tags(&radroots_event::social::message::Message) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::message::to_wire_parts(&radroots_event::social::message::Message) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::message_file
+pub fn radroots_event_codec::encode::message_file::message_file_build_tags(&radroots_event::social::message_file::MessageFile) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::message_file::to_wire_parts(&radroots_event::social::message_file::MessageFile) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::message_file::to_wire_parts_with_kind(&radroots_event::social::message_file::MessageFile, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::operational_listing
+pub struct radroots_event_codec::encode::operational_listing::OperationalListingTagOptions
+pub radroots_event_codec::encode::operational_listing::OperationalListingTagOptions::include_availability: bool
+pub radroots_event_codec::encode::operational_listing::OperationalListingTagOptions::include_delivery: bool
+pub radroots_event_codec::encode::operational_listing::OperationalListingTagOptions::include_geohash: bool
+pub radroots_event_codec::encode::operational_listing::OperationalListingTagOptions::include_inventory: bool
+impl radroots_event_codec::encode::operational_listing::OperationalListingTagOptions
+pub fn radroots_event_codec::encode::operational_listing::OperationalListingTagOptions::with_trade_fields() -> Self
+impl core::default::Default for radroots_event_codec::encode::operational_listing::OperationalListingTagOptions
+pub fn radroots_event_codec::encode::operational_listing::OperationalListingTagOptions::default() -> Self
+pub fn radroots_event_codec::encode::operational_listing::operational_listing_build_tags(&radroots_event::listing::operational::OperationalListing) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::operational_listing::operational_listing_tags(&radroots_event::listing::operational::OperationalListing) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::operational_listing::operational_listing_tags_full(&radroots_event::listing::operational::OperationalListing) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::operational_listing::operational_listing_tags_with_options(&radroots_event::listing::operational::OperationalListing, radroots_event_codec::encode::operational_listing::OperationalListingTagOptions) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::operational_listing::to_wire_parts(&radroots_event::listing::operational::OperationalListing) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::operational_listing::to_wire_parts_with_kind(&radroots_event::listing::operational::OperationalListing, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::order
+pub const radroots_event_codec::encode::order::TAG_LISTING_EVENT: &str
+pub fn radroots_event_codec::encode::order::order_cancellation_event_build(&radroots_event::id::EventId, &radroots_event::id::EventId, &radroots_event::trade::order::OrderCancellation) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::order::order_decision_event_build(&radroots_event::id::EventId, &radroots_event::id::EventId, &radroots_event::trade::order::OrderDecision) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::order::order_envelope_tags<P, A, D>(P, A, core::option::Option<D>, core::option::Option<&radroots_event::tag::EventPtr>, core::option::Option<&str>, core::option::Option<&str>) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError> where P: core::convert::Into<alloc::string::String>, A: core::convert::Into<alloc::string::String>, D: core::convert::Into<alloc::string::String>
+pub fn radroots_event_codec::encode::order::order_request_event_build(&radroots_event::tag::EventPtr, &radroots_event::trade::order::OrderRequest) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::order::parse_order_counterparty_tag(&[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<alloc::string::String, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::encode::order::parse_order_listing_event_tag(&[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<core::option::Option<radroots_event::tag::EventPtr>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::encode::order::parse_order_prev_tag(&[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<core::option::Option<alloc::string::String>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::encode::order::parse_order_root_tag(&[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<core::option::Option<alloc::string::String>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::encode::order::push_order_chain_tags(&mut alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, impl core::convert::Into<alloc::string::String>, core::option::Option<impl core::convert::Into<alloc::string::String>>, core::option::Option<impl core::convert::Into<alloc::string::String>>)
+pub fn radroots_event_codec::encode::order::validate_order_chain(&[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<(), radroots_event_codec::decode::job::JobParseError>
+pub mod radroots_event_codec::encode::plot
+pub fn radroots_event_codec::encode::plot::plot_address(&str, &str) -> core::result::Result<alloc::string::String, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::plot::plot_build_tags(&radroots_event::farm::plot::Plot) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::plot::to_wire_parts(&radroots_event::farm::plot::Plot) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::plot::to_wire_parts_with_kind(&radroots_event::farm::plot::Plot, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::post
+pub fn radroots_event_codec::encode::post::authored_ask_to_wire_parts(&radroots_event::post::AuthoredAsk) -> radroots_event::wire::v1::Nip01EventWireParts
+pub fn radroots_event_codec::encode::post::authored_photo_update_to_wire_parts(&radroots_event::post::AuthoredPhotoUpdate) -> radroots_event::wire::v1::Nip01EventWireParts
+pub fn radroots_event_codec::encode::post::authored_update_to_wire_parts(&radroots_event::post::AuthoredUpdate) -> radroots_event::wire::v1::Nip01EventWireParts
+pub mod radroots_event_codec::encode::profile
+#[non_exhaustive] pub enum radroots_event_codec::encode::profile::RadrootsAuthoredProfileEncodeError
+pub radroots_event_codec::encode::profile::RadrootsAuthoredProfileEncodeError::ContentTooLarge
+pub radroots_event_codec::encode::profile::RadrootsAuthoredProfileEncodeError::ContentTooLarge::actual: usize
+pub radroots_event_codec::encode::profile::RadrootsAuthoredProfileEncodeError::ContentTooLarge::max: usize
+impl radroots_event_codec::encode::profile::RadrootsAuthoredProfileEncodeError
+pub const fn radroots_event_codec::encode::profile::RadrootsAuthoredProfileEncodeError::code(&self) -> &'static str
+impl core::error::Error for radroots_event_codec::encode::profile::RadrootsAuthoredProfileEncodeError
+impl core::fmt::Display for radroots_event_codec::encode::profile::RadrootsAuthoredProfileEncodeError
+pub fn radroots_event_codec::encode::profile::RadrootsAuthoredProfileEncodeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub fn radroots_event_codec::encode::profile::authored_profile_to_wire_parts(&radroots_event::profile::AuthoredProfile) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::encode::profile::RadrootsAuthoredProfileEncodeError>
+pub mod radroots_event_codec::encode::reaction
+pub fn radroots_event_codec::encode::reaction::reaction_build_tags(&radroots_event::post::reaction::Reaction) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::reaction::to_wire_parts(&radroots_event::post::reaction::Reaction) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::reaction::to_wire_parts_with_kind(&radroots_event::post::reaction::Reaction, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::relay_auth
+pub fn radroots_event_codec::encode::relay_auth::relay_auth_build_tags(&radroots_event::social::relay_auth::RelayAuth) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::relay_auth::to_wire_parts(&radroots_event::social::relay_auth::RelayAuth) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::relay_auth::to_wire_parts_with_kind(&radroots_event::social::relay_auth::RelayAuth, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::reply
+pub fn radroots_event_codec::encode::reply::authored_nip10_reply_to_wire_parts(&radroots_event::post::reply::AuthoredNip10Reply) -> radroots_event::wire::v1::Nip01EventWireParts
+pub mod radroots_event_codec::encode::report
+pub fn radroots_event_codec::encode::report::report_build_tags(&radroots_event::post::report::Report) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::report::to_wire_parts(&radroots_event::post::report::Report) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::report::to_wire_parts_with_kind(&radroots_event::post::report::Report, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::repost
+pub fn radroots_event_codec::encode::repost::generic_repost_build_tags(&radroots_event::post::repost::GenericRepost) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::repost::generic_repost_to_wire_parts(&radroots_event::post::repost::GenericRepost) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::repost::generic_repost_to_wire_parts_with_kind(&radroots_event::post::repost::GenericRepost, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::repost::repost_build_tags(&radroots_event::post::repost::Repost) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::repost::repost_to_wire_parts(&radroots_event::post::repost::Repost) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::repost::repost_to_wire_parts_with_kind(&radroots_event::post::repost::Repost, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::resource_area
+pub fn radroots_event_codec::encode::resource_area::resource_area_build_tags(&radroots_event::farm::resource_area::ResourceArea) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::resource_area::resource_area_ref_tags(&radroots_event::farm::resource_area::ResourceAreaRef) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::resource_area::to_wire_parts(&radroots_event::farm::resource_area::ResourceArea) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::resource_area::to_wire_parts_with_kind(&radroots_event::farm::resource_area::ResourceArea, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::resource_cap
+pub fn radroots_event_codec::encode::resource_cap::resource_harvest_cap_build_tags(&radroots_event::farm::resource_cap::ResourceHarvestCap) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::resource_cap::to_wire_parts(&radroots_event::farm::resource_cap::ResourceHarvestCap) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::resource_cap::to_wire_parts_with_kind(&radroots_event::farm::resource_cap::ResourceHarvestCap, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::seal
+pub fn radroots_event_codec::encode::seal::seal_build_tags(&radroots_event::social::seal::Seal) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::seal::to_wire_parts(&radroots_event::social::seal::Seal) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::seal::to_wire_parts_with_kind(&radroots_event::social::seal::Seal, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::encode::trade
+pub fn radroots_event_codec::encode::trade::trade_mutation_event_build(radroots_event::trade::TradeMutationEnvelopeV1) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::encode::trade::trade_mutation_tags(&radroots_event::trade::TradeMutationEnvelopeV1) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+#[non_exhaustive] pub enum radroots_event_codec::encode::EncodeError
+pub radroots_event_codec::encode::EncodeError::Json
+impl radroots_event_codec::encode::EncodeError
+pub const fn radroots_event_codec::encode::EncodeError::code(self) -> &'static str
+impl core::error::Error for radroots_event_codec::encode::EncodeError
+impl core::fmt::Display for radroots_event_codec::encode::EncodeError
+pub fn radroots_event_codec::encode::EncodeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub enum radroots_event_codec::encode::EventEncodeError
+pub radroots_event_codec::encode::EventEncodeError::EmptyRequiredField(&'static str)
+pub radroots_event_codec::encode::EventEncodeError::InvalidField(&'static str)
+pub radroots_event_codec::encode::EventEncodeError::InvalidKind(u32)
+pub radroots_event_codec::encode::EventEncodeError::Json
+impl radroots_event_codec::error::EventEncodeError
+pub const fn radroots_event_codec::error::EventEncodeError::code(&self) -> &'static str
+impl core::error::Error for radroots_event_codec::error::EventEncodeError
+impl core::fmt::Display for radroots_event_codec::error::EventEncodeError
+pub fn radroots_event_codec::error::EventEncodeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub fn radroots_event_codec::encode::event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<alloc::string::String, radroots_event_codec::encode::EncodeError>
+pub type radroots_event_codec::encode::RadrootsEncodeError = radroots_event_codec::error::EventEncodeError
+pub mod radroots_event_codec::error
+pub enum radroots_event_codec::error::EventEncodeError
+pub radroots_event_codec::error::EventEncodeError::EmptyRequiredField(&'static str)
+pub radroots_event_codec::error::EventEncodeError::InvalidField(&'static str)
+pub radroots_event_codec::error::EventEncodeError::InvalidKind(u32)
+pub radroots_event_codec::error::EventEncodeError::Json
+impl radroots_event_codec::error::EventEncodeError
+pub const fn radroots_event_codec::error::EventEncodeError::code(&self) -> &'static str
+impl core::error::Error for radroots_event_codec::error::EventEncodeError
+impl core::fmt::Display for radroots_event_codec::error::EventEncodeError
+pub fn radroots_event_codec::error::EventEncodeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub enum radroots_event_codec::error::EventParseError
+pub radroots_event_codec::error::EventParseError::DuplicateTag(&'static str)
+pub radroots_event_codec::error::EventParseError::InvalidEnvelope
+pub radroots_event_codec::error::EventParseError::InvalidJson(&'static str)
+pub radroots_event_codec::error::EventParseError::InvalidKind
+pub radroots_event_codec::error::EventParseError::InvalidKind::expected: &'static str
+pub radroots_event_codec::error::EventParseError::InvalidKind::got: u32
+pub radroots_event_codec::error::EventParseError::InvalidNumber(&'static str, core::num::error::ParseIntError)
+pub radroots_event_codec::error::EventParseError::InvalidTag(&'static str)
+pub radroots_event_codec::error::EventParseError::MissingTag(&'static str)
+impl radroots_event_codec::error::EventParseError
+pub const fn radroots_event_codec::error::EventParseError::code(&self) -> &'static str
+impl core::convert::From<radroots_event::envelope::EventEnvelopeError> for radroots_event_codec::error::EventParseError
+pub fn radroots_event_codec::error::EventParseError::from(radroots_event::envelope::EventEnvelopeError) -> Self
+impl core::convert::From<radroots_event_codec::error::EventParseError> for radroots_event_codec::knowledge::verification::RadrootsDecodeError
+pub fn radroots_event_codec::knowledge::verification::RadrootsDecodeError::from(radroots_event_codec::error::EventParseError) -> Self
+impl core::error::Error for radroots_event_codec::error::EventParseError
+pub fn radroots_event_codec::error::EventParseError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::error::EventParseError
+pub fn radroots_event_codec::error::EventParseError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub type radroots_event_codec::error::RadrootsEncodeError = radroots_event_codec::error::EventEncodeError
+pub mod radroots_event_codec::event_ref
+pub fn radroots_event_codec::event_ref::build_event_ref_tag(&str, &radroots_event::tag::EventRef) -> alloc::vec::Vec<alloc::string::String>
+pub fn radroots_event_codec::event_ref::find_event_ref_tag<'a>(&'a [alloc::vec::Vec<alloc::string::String>], &'static str) -> core::option::Option<&'a alloc::vec::Vec<alloc::string::String>>
+pub fn radroots_event_codec::event_ref::parse_event_ref_tag(&[alloc::string::String], &'static str) -> core::result::Result<radroots_event::tag::EventRef, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::event_ref::parse_nip10_ref_tags(&[alloc::vec::Vec<alloc::string::String>], &'static str, &'static str, &'static str, &'static str) -> core::result::Result<radroots_event::tag::EventRef, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::event_ref::push_nip10_ref_tags(&mut alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, &radroots_event::tag::EventRef, &'static str, &'static str, &'static str, &'static str)
+pub mod radroots_event_codec::farm
+pub mod radroots_event_codec::farm::decode
+pub fn radroots_event_codec::farm::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::farm::Farm>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::farm::decode::farm_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::farm::Farm, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::farm::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::farm::Farm>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::farm::encode
+pub fn radroots_event_codec::farm::encode::farm_build_tags(&radroots_event::farm::Farm) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::farm::encode::farm_ref_tags(&radroots_event::farm::FarmRef) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::farm::encode::to_wire_parts(&radroots_event::farm::Farm) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::farm::encode::to_wire_parts_with_kind(&radroots_event::farm::Farm, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::farm::list_sets
+pub fn radroots_event_codec::farm::list_sets::farm_members_list_set<I, S>(&str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str>
+pub fn radroots_event_codec::farm::list_sets::farm_operational_listings_list_set<I, S>(&str, &str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str>
+pub fn radroots_event_codec::farm::list_sets::farm_operational_listings_list_set_from_listings<'a, I>(&str, &str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = &'a radroots_event::listing::operational::OperationalListing>
+pub fn radroots_event_codec::farm::list_sets::farm_owners_list_set<I, S>(&str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str>
+pub fn radroots_event_codec::farm::list_sets::farm_plots_list_set<I, S>(&str, &str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str>
+pub fn radroots_event_codec::farm::list_sets::farm_plots_list_set_from_plots<'a, I>(&str, &str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = &'a radroots_event::farm::plot::Plot>
+pub fn radroots_event_codec::farm::list_sets::farm_workers_list_set<I, S>(&str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str>
+pub fn radroots_event_codec::farm::list_sets::member_of_farms_list_set<I, S>(I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str>
+pub mod radroots_event_codec::farm_crdt
+pub mod radroots_event_codec::farm_crdt::decode
+pub fn radroots_event_codec::farm_crdt::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::farm::crdt::FarmCrdtChange>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::farm_crdt::decode::farm_crdt_change_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::farm::crdt::FarmCrdtChange, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::farm_crdt::decode::farm_crdt_change_from_event_with_author(u32, &[alloc::vec::Vec<alloc::string::String>], &str, &str) -> core::result::Result<radroots_event::farm::crdt::FarmCrdtChange, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::farm_crdt::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::farm::crdt::FarmCrdtChange>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::farm_crdt::encode
+pub fn radroots_event_codec::farm_crdt::encode::farm_crdt_change_build_tags(&radroots_event::farm::crdt::FarmCrdtChange) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::farm_crdt::encode::farm_crdt_change_build_tags_with_author(&radroots_event::farm::crdt::FarmCrdtChange, core::option::Option<&str>) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::farm_crdt::encode::to_wire_parts(&radroots_event::farm::crdt::FarmCrdtChange) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::farm_crdt::encode::to_wire_parts_with_author(&radroots_event::farm::crdt::FarmCrdtChange, &str) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::farm_crdt::encode::to_wire_parts_with_kind(&radroots_event::farm::crdt::FarmCrdtChange, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::farm_crdt::encode::to_wire_parts_with_kind_and_author(&radroots_event::farm::crdt::FarmCrdtChange, u32, core::option::Option<&str>) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::farm_file
+pub mod radroots_event_codec::farm_file::decode
+pub fn radroots_event_codec::farm_file::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::farm::file::FarmFileMetadata>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::farm_file::decode::farm_file_metadata_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::farm::file::FarmFileMetadata, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::farm_file::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::farm::file::FarmFileMetadata>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::farm_file::encode
+pub fn radroots_event_codec::farm_file::encode::farm_file_metadata_build_tags(&radroots_event::farm::file::FarmFileMetadata) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::farm_file::encode::to_wire_parts(&radroots_event::farm::file::FarmFileMetadata) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::farm_file::encode::to_wire_parts_with_kind(&radroots_event::farm::file::FarmFileMetadata, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::farm_workspace
+pub mod radroots_event_codec::farm_workspace::decode
+pub fn radroots_event_codec::farm_workspace::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::farm::workspace::FarmWorkspaceManifest>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::farm_workspace::decode::farm_workspace_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::farm::workspace::FarmWorkspaceManifest, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::farm_workspace::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::farm::workspace::FarmWorkspaceManifest>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::farm_workspace::encode
+pub fn radroots_event_codec::farm_workspace::encode::farm_workspace_build_tags(&radroots_event::farm::workspace::FarmWorkspaceManifest) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::farm_workspace::encode::to_wire_parts(&radroots_event::farm::workspace::FarmWorkspaceManifest) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::farm_workspace::encode::to_wire_parts_with_kind(&radroots_event::farm::workspace::FarmWorkspaceManifest, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::file_metadata
+pub mod radroots_event_codec::file_metadata::decode
+pub fn radroots_event_codec::file_metadata::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::media::file_metadata::FileMetadata>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::file_metadata::decode::file_metadata_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::media::file_metadata::FileMetadata, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::file_metadata::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::media::file_metadata::FileMetadata>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::file_metadata::encode
+pub fn radroots_event_codec::file_metadata::encode::file_metadata_build_tags(&radroots_event::media::file_metadata::FileMetadata) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::file_metadata::encode::to_wire_parts(&radroots_event::media::file_metadata::FileMetadata) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::file_metadata::encode::to_wire_parts_with_kind(&radroots_event::media::file_metadata::FileMetadata, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::follow
+pub mod radroots_event_codec::follow::decode
+pub fn radroots_event_codec::follow::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::follow::Follow>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::follow::decode::follow_from_tags(u32, &[alloc::vec::Vec<alloc::string::String>], u64) -> core::result::Result<radroots_event::social::follow::Follow, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::follow::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::follow::Follow>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::follow::encode
+pub enum radroots_event_codec::follow::encode::FollowMutation
+pub radroots_event_codec::follow::encode::FollowMutation::Follow
+pub radroots_event_codec::follow::encode::FollowMutation::Follow::contact_name: core::option::Option<alloc::string::String>
+pub radroots_event_codec::follow::encode::FollowMutation::Follow::public_key: alloc::string::String
+pub radroots_event_codec::follow::encode::FollowMutation::Follow::relay_url: core::option::Option<alloc::string::String>
+pub radroots_event_codec::follow::encode::FollowMutation::Toggle
+pub radroots_event_codec::follow::encode::FollowMutation::Toggle::contact_name: core::option::Option<alloc::string::String>
+pub radroots_event_codec::follow::encode::FollowMutation::Toggle::public_key: alloc::string::String
+pub radroots_event_codec::follow::encode::FollowMutation::Toggle::relay_url: core::option::Option<alloc::string::String>
+pub radroots_event_codec::follow::encode::FollowMutation::Unfollow
+pub radroots_event_codec::follow::encode::FollowMutation::Unfollow::public_key: alloc::string::String
+pub fn radroots_event_codec::follow::encode::follow_apply(&radroots_event::social::follow::Follow, radroots_event_codec::encode::follow::FollowMutation) -> core::result::Result<radroots_event::social::follow::Follow, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::follow::encode::follow_build_tags(&radroots_event::social::follow::Follow) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::follow::encode::follow_to_wire_parts_after(&radroots_event::social::follow::Follow, radroots_event_codec::encode::follow::FollowMutation) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::follow::encode::to_wire_parts(&radroots_event::social::follow::Follow) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::follow::encode::to_wire_parts_with_kind(&radroots_event::social::follow::Follow, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::food_availability
+pub mod radroots_event_codec::food_availability::admission
+#[non_exhaustive] pub enum radroots_event_codec::food_availability::admission::RadrootsFoodAvailabilityAdmissionError
+pub radroots_event_codec::food_availability::admission::RadrootsFoodAvailabilityAdmissionError::Nip01Verification(crate::verification::RadrootsNip01VerificationError)
+pub radroots_event_codec::food_availability::admission::RadrootsFoodAvailabilityAdmissionError::Projection(crate::food_availability::inbound::RadrootsFoodAvailabilityProjectionError)
+impl radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionError
+pub const fn radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionError::code(&self) -> &'static str
+impl core::error::Error for radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionError
+pub fn radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionError
+pub fn radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+#[non_exhaustive] pub enum radroots_event_codec::food_availability::admission::RadrootsFoodAvailabilityAdmissionOutcome
+pub radroots_event_codec::food_availability::admission::RadrootsFoodAvailabilityAdmissionOutcome::Admitted(alloc::boxed::Box<radroots_event_codec::admission::food_availability::RadrootsAdmittedFoodAvailabilityEvent>)
+pub radroots_event_codec::food_availability::admission::RadrootsFoodAvailabilityAdmissionOutcome::Excluded(radroots_event_codec::admission::food_availability::RadrootsExcludedClassifiedListingCandidate)
+pub struct radroots_event_codec::food_availability::admission::RadrootsAdmittedFoodAvailabilityEvent
+impl radroots_event_codec::admission::food_availability::RadrootsAdmittedFoodAvailabilityEvent
+pub fn radroots_event_codec::admission::food_availability::RadrootsAdmittedFoodAvailabilityEvent::contract(&self) -> &'static radroots_event::contract::registry_v7::EventContract
+pub fn radroots_event_codec::admission::food_availability::RadrootsAdmittedFoodAvailabilityEvent::event(&self) -> &radroots_event::envelope::EventEnvelope
+pub fn radroots_event_codec::admission::food_availability::RadrootsAdmittedFoodAvailabilityEvent::into_parts(self) -> (RadrootsSignatureVerifiedEvent, RadrootsInboundFoodAvailabilityProjection)
+pub fn radroots_event_codec::admission::food_availability::RadrootsAdmittedFoodAvailabilityEvent::projection(&self) -> &RadrootsInboundFoodAvailabilityProjection
+pub fn radroots_event_codec::admission::food_availability::RadrootsAdmittedFoodAvailabilityEvent::verified_event(&self) -> &RadrootsSignatureVerifiedEvent
+pub struct radroots_event_codec::food_availability::admission::RadrootsExcludedClassifiedListingCandidate
+impl radroots_event_codec::admission::food_availability::RadrootsExcludedClassifiedListingCandidate
+pub fn radroots_event_codec::admission::food_availability::RadrootsExcludedClassifiedListingCandidate::event(&self) -> &radroots_event::envelope::EventEnvelope
+pub fn radroots_event_codec::admission::food_availability::RadrootsExcludedClassifiedListingCandidate::into_parts(self) -> (RadrootsSignatureVerifiedEvent, radroots_event::listing::classified::ClassifiedListingPartition)
+pub const fn radroots_event_codec::admission::food_availability::RadrootsExcludedClassifiedListingCandidate::partition(&self) -> radroots_event::listing::classified::ClassifiedListingPartition
+pub fn radroots_event_codec::admission::food_availability::RadrootsExcludedClassifiedListingCandidate::verified_event(&self) -> &RadrootsSignatureVerifiedEvent
+pub fn radroots_event_codec::food_availability::admission::admit_verified_food_availability_event(crate::verification::RadrootsSignatureVerifiedEvent) -> core::result::Result<radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionOutcome, radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionError>
+pub fn radroots_event_codec::food_availability::admission::verify_and_admit_food_availability_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionOutcome, radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityAdmissionError>
+pub mod radroots_event_codec::food_availability::authored
+#[non_exhaustive] pub enum radroots_event_codec::food_availability::authored::RadrootsFoodAvailabilityEncodeError
+pub radroots_event_codec::food_availability::authored::RadrootsFoodAvailabilityEncodeError::Domain(radroots_event::food::availability::FoodAvailabilityError)
+pub radroots_event_codec::food_availability::authored::RadrootsFoodAvailabilityEncodeError::EventWireTooLarge
+pub radroots_event_codec::food_availability::authored::RadrootsFoodAvailabilityEncodeError::EventWireTooLarge::actual: usize
+pub radroots_event_codec::food_availability::authored::RadrootsFoodAvailabilityEncodeError::EventWireTooLarge::max: usize
+pub radroots_event_codec::food_availability::authored::RadrootsFoodAvailabilityEncodeError::Wire(radroots_event::envelope::EventEnvelopeError)
+impl radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError
+pub const fn radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError::code(&self) -> &'static str
+impl core::convert::From<radroots_event::envelope::EventEnvelopeError> for radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError
+pub fn radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError::from(radroots_event::envelope::EventEnvelopeError) -> Self
+impl core::convert::From<radroots_event::food::availability::FoodAvailabilityError> for radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError
+pub fn radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError::from(radroots_event::food::availability::FoodAvailabilityError) -> Self
+impl core::error::Error for radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError
+pub fn radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError
+pub fn radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub fn radroots_event_codec::food_availability::authored::authored_food_availability_build_tags(&radroots_event::food::availability::FoodAvailabilityDetails, u64) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError>
+pub fn radroots_event_codec::food_availability::authored::authored_food_availability_to_wire_parts(&radroots_event::food::availability::FoodAvailabilityDetails, u64) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError>
+pub mod radroots_event_codec::food_availability::inbound
+pub mod radroots_event_codec::food_availability::revision
+#[non_exhaustive] pub enum radroots_event_codec::food_availability::revision::RadrootsFoodAvailabilityRevisionError
+pub radroots_event_codec::food_availability::revision::RadrootsFoodAvailabilityRevisionError::CoordinateChanged
+pub radroots_event_codec::food_availability::revision::RadrootsFoodAvailabilityRevisionError::CurrentInvalid(crate::food_availability::inbound::RadrootsFoodAvailabilityProjectionError)
+pub radroots_event_codec::food_availability::revision::RadrootsFoodAvailabilityRevisionError::NotNewer
+pub radroots_event_codec::food_availability::revision::RadrootsFoodAvailabilityRevisionError::PreviousInvalid(crate::food_availability::inbound::RadrootsFoodAvailabilityProjectionError)
+pub radroots_event_codec::food_availability::revision::RadrootsFoodAvailabilityRevisionError::PublishedAtChanged
+impl radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityRevisionError
+pub const fn radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityRevisionError::code(&self) -> &'static str
+impl core::error::Error for radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityRevisionError
+pub fn radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityRevisionError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityRevisionError
+pub fn radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityRevisionError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub fn radroots_event_codec::food_availability::revision::validate_food_availability_revision(&crate::verification::RadrootsSignatureVerifiedEvent, &crate::verification::RadrootsSignatureVerifiedEvent) -> core::result::Result<(), radroots_event_codec::admission::food_availability::RadrootsFoodAvailabilityRevisionError>
+pub mod radroots_event_codec::geochat
+pub mod radroots_event_codec::geochat::decode
+pub fn radroots_event_codec::geochat::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::geochat::GeoChat>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::geochat::decode::geochat_from_tags(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::geochat::GeoChat, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::geochat::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::geochat::GeoChat>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::geochat::encode
+pub fn radroots_event_codec::geochat::encode::geochat_build_tags(&radroots_event::social::geochat::GeoChat) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::geochat::encode::to_wire_parts(&radroots_event::social::geochat::GeoChat) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::gift_wrap
+pub mod radroots_event_codec::gift_wrap::decode
+pub fn radroots_event_codec::gift_wrap::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::gift_wrap::GiftWrap>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::gift_wrap::decode::gift_wrap_from_tags(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::gift_wrap::GiftWrap, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::gift_wrap::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::gift_wrap::GiftWrap>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::gift_wrap::encode
+pub fn radroots_event_codec::gift_wrap::encode::gift_wrap_build_tags(&radroots_event::social::gift_wrap::GiftWrap) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::gift_wrap::encode::to_wire_parts(&radroots_event::social::gift_wrap::GiftWrap) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::gift_wrap::encode::to_wire_parts_with_kind(&radroots_event::social::gift_wrap::GiftWrap, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::group
+pub mod radroots_event_codec::group::decode
+pub fn radroots_event_codec::group::decode::group_admins_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupAdmins, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::group::decode::group_create_group_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupCreateGroup, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::group::decode::group_create_invite_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupCreateInvite, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::group::decode::group_delete_event_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupDeleteEvent, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::group::decode::group_delete_group_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupDeleteGroup, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::group::decode::group_edit_metadata_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupEditMetadata, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::group::decode::group_join_request_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupJoinRequest, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::group::decode::group_leave_request_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupLeaveRequest, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::group::decode::group_members_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupMembers, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::group::decode::group_metadata_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupMetadata, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::group::decode::group_put_user_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupPutUser, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::group::decode::group_remove_user_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupRemoveUser, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::group::decode::group_roles_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::group::GroupRoles, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::group::encode
+pub fn radroots_event_codec::group::encode::group_admins_build_tags(&radroots_event::social::group::GroupAdmins) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_admins_to_wire_parts(&radroots_event::social::group::GroupAdmins) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_create_group_build_tags(&radroots_event::social::group::GroupCreateGroup) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_create_group_to_wire_parts(&radroots_event::social::group::GroupCreateGroup) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_create_invite_build_tags(&radroots_event::social::group::GroupCreateInvite) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_create_invite_to_wire_parts(&radroots_event::social::group::GroupCreateInvite) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_delete_event_build_tags(&radroots_event::social::group::GroupDeleteEvent) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_delete_event_to_wire_parts(&radroots_event::social::group::GroupDeleteEvent) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_delete_group_build_tags(&radroots_event::social::group::GroupDeleteGroup) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_delete_group_to_wire_parts(&radroots_event::social::group::GroupDeleteGroup) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_edit_metadata_build_tags(&radroots_event::social::group::GroupEditMetadata) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_edit_metadata_to_wire_parts(&radroots_event::social::group::GroupEditMetadata) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_join_request_build_tags(&radroots_event::social::group::GroupJoinRequest) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_join_request_to_wire_parts(&radroots_event::social::group::GroupJoinRequest) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_leave_request_build_tags(&radroots_event::social::group::GroupLeaveRequest) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_leave_request_to_wire_parts(&radroots_event::social::group::GroupLeaveRequest) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_members_build_tags(&radroots_event::social::group::GroupMembers) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_members_to_wire_parts(&radroots_event::social::group::GroupMembers) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_metadata_build_tags(&radroots_event::social::group::GroupMetadata) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_metadata_to_wire_parts(&radroots_event::social::group::GroupMetadata) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_put_user_build_tags(&radroots_event::social::group::GroupPutUser) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_put_user_to_wire_parts(&radroots_event::social::group::GroupPutUser) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_remove_user_build_tags(&radroots_event::social::group::GroupRemoveUser) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_remove_user_to_wire_parts(&radroots_event::social::group::GroupRemoveUser) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_roles_build_tags(&radroots_event::social::group::GroupRoles) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::group::encode::group_roles_to_wire_parts(&radroots_event::social::group::GroupRoles) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::http_auth
+pub mod radroots_event_codec::http_auth::decode
+pub fn radroots_event_codec::http_auth::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::http_auth::HttpAuth>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::http_auth::decode::http_auth_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::http_auth::HttpAuth, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::http_auth::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::http_auth::HttpAuth>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::http_auth::encode
+pub fn radroots_event_codec::http_auth::encode::http_auth_build_tags(&radroots_event::social::http_auth::HttpAuth) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::http_auth::encode::to_wire_parts(&radroots_event::social::http_auth::HttpAuth) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::http_auth::encode::to_wire_parts_with_kind(&radroots_event::social::http_auth::HttpAuth, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::job
+pub mod radroots_event_codec::job::encode
+pub enum radroots_event_codec::job::encode::JobEncodeError
+pub radroots_event_codec::job::encode::JobEncodeError::EmptyRequiredField(&'static str)
+pub radroots_event_codec::job::encode::JobEncodeError::InvalidKind(u32)
+pub radroots_event_codec::job::encode::JobEncodeError::MissingProvidersForEncrypted
+impl core::error::Error for radroots_event_codec::job::encode::JobEncodeError
+impl core::fmt::Display for radroots_event_codec::job::encode::JobEncodeError
+pub fn radroots_event_codec::job::encode::JobEncodeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub fn radroots_event_codec::job::encode::assert_no_inputs_when_encrypted(&[alloc::vec::Vec<alloc::string::String>]) -> bool
+pub fn radroots_event_codec::job::encode::canonicalize_tags(&mut alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>)
+pub fn radroots_event_codec::job::encode::empty_content() -> alloc::string::String
+pub fn radroots_event_codec::job::encode::json_content<T: serde_core::ser::Serialize>(&T) -> core::result::Result<alloc::string::String, radroots_event_codec::job::encode::JobEncodeError>
+pub fn radroots_event_codec::job::encode::push_provider_tag(&mut alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, &str)
+pub fn radroots_event_codec::job::encode::push_relay_tag(&mut alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, &str)
+pub fn radroots_event_codec::job::encode::push_status_tag(&mut alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, &str, core::option::Option<&str>)
+pub mod radroots_event_codec::job::error
+pub enum radroots_event_codec::job::error::JobParseError
+pub radroots_event_codec::job::error::JobParseError::AmountOverflow(&'static str)
+pub radroots_event_codec::job::error::JobParseError::InvalidNumber(&'static str, core::num::error::ParseIntError)
+pub radroots_event_codec::job::error::JobParseError::InvalidTag(&'static str)
+pub radroots_event_codec::job::error::JobParseError::KindOutOfRange(u32)
+pub radroots_event_codec::job::error::JobParseError::MissingChainTag(&'static str)
+pub radroots_event_codec::job::error::JobParseError::MissingTag(&'static str)
+pub radroots_event_codec::job::error::JobParseError::NonWholeSats(&'static str)
+impl core::error::Error for radroots_event_codec::decode::job::JobParseError
+pub fn radroots_event_codec::decode::job::JobParseError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::decode::job::JobParseError
+pub fn radroots_event_codec::decode::job::JobParseError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub mod radroots_event_codec::job::feedback
+pub mod radroots_event_codec::job::feedback::decode
+pub fn radroots_event_codec::job::feedback::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_feedback::JobFeedback>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::job::feedback::decode::job_feedback_from_tags(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::job_feedback::JobFeedback, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::job::feedback::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_feedback::JobFeedback>, radroots_event_codec::decode::job::JobParseError>
+pub mod radroots_event_codec::job::feedback::encode
+pub fn radroots_event_codec::job::feedback::encode::job_feedback_build_tags(&radroots_event::social::job_feedback::JobFeedback) -> alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>
+pub fn radroots_event_codec::job::feedback::encode::to_wire_parts(&radroots_event::social::job_feedback::JobFeedback, &str) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::job::encode::JobEncodeError>
+pub mod radroots_event_codec::job::request
+pub mod radroots_event_codec::job::request::decode
+pub fn radroots_event_codec::job::request::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_request::JobRequest>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::job::request::decode::job_request_from_tags(u32, &[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<radroots_event::social::job_request::JobRequest, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::job::request::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_request::JobRequest>, radroots_event_codec::decode::job::JobParseError>
+pub mod radroots_event_codec::job::request::encode
+pub fn radroots_event_codec::job::request::encode::job_request_build_tags(&radroots_event::social::job_request::JobRequest) -> alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>
+pub fn radroots_event_codec::job::request::encode::to_wire_parts(&radroots_event::social::job_request::JobRequest, &str) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::job::encode::JobEncodeError>
+pub mod radroots_event_codec::job::result
+pub mod radroots_event_codec::job::result::decode
+pub fn radroots_event_codec::job::result::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_result::JobResult>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::job::result::decode::job_result_from_tags(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::job_result::JobResult, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::job::result::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_result::JobResult>, radroots_event_codec::decode::job::JobParseError>
+pub mod radroots_event_codec::job::result::encode
+pub fn radroots_event_codec::job::result::encode::job_result_build_tags(&radroots_event::social::job_result::JobResult) -> alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>
+pub fn radroots_event_codec::job::result::encode::to_wire_parts(&radroots_event::social::job_result::JobResult, &str) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::job::encode::JobEncodeError>
+pub mod radroots_event_codec::job::traits
+pub struct radroots_event_codec::job::traits::BorrowedEventAdapter<'a, E: radroots_event_codec::decode::job::JobEventBorrow<'a>>
+impl<'a, E: radroots_event_codec::decode::job::JobEventBorrow<'a>> radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::new(&'a E, u64, &'a [alloc::vec::Vec<alloc::string::String>], impl core::convert::Into<alloc::string::String>) -> Self
+impl<'a, E: radroots_event_codec::decode::job::JobEventBorrow<'a>> radroots_event_codec::decode::job::JobEventLike for radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_author(&self) -> alloc::string::String
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_content(&self) -> alloc::string::String
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_id(&self) -> alloc::string::String
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_kind(&self) -> u32
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_published_at(&self) -> u64
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_sig(&self) -> alloc::string::String
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_tags(&self) -> alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_feedback_event_index(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_feedback::JobFeedback>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_feedback_metadata(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_feedback::JobFeedback>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_request_event_index(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_request::JobRequest>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_request_metadata(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_request::JobRequest>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_result_event_index(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_result::JobResult>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_result_metadata(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_result::JobResult>, radroots_event_codec::decode::job::JobParseError>
+pub trait radroots_event_codec::job::traits::JobEventBorrow<'a>
+pub fn radroots_event_codec::job::traits::JobEventBorrow::raw_author(&'a self) -> alloc::string::String
+pub fn radroots_event_codec::job::traits::JobEventBorrow::raw_content(&'a self) -> &'a str
+pub fn radroots_event_codec::job::traits::JobEventBorrow::raw_id(&'a self) -> alloc::string::String
+pub fn radroots_event_codec::job::traits::JobEventBorrow::raw_kind(&'a self) -> u32
+impl<'a> radroots_event_codec::decode::job::JobEventBorrow<'a> for radroots_event::envelope::EventEnvelope
+pub fn radroots_event::envelope::EventEnvelope::raw_author(&'a self) -> alloc::string::String
+pub fn radroots_event::envelope::EventEnvelope::raw_content(&'a self) -> &'a str
+pub fn radroots_event::envelope::EventEnvelope::raw_id(&'a self) -> alloc::string::String
+pub fn radroots_event::envelope::EventEnvelope::raw_kind(&'a self) -> u32
+pub trait radroots_event_codec::job::traits::JobEventLike
+pub fn radroots_event_codec::job::traits::JobEventLike::raw_author(&self) -> alloc::string::String
+pub fn radroots_event_codec::job::traits::JobEventLike::raw_content(&self) -> alloc::string::String
+pub fn radroots_event_codec::job::traits::JobEventLike::raw_id(&self) -> alloc::string::String
+pub fn radroots_event_codec::job::traits::JobEventLike::raw_kind(&self) -> u32
+pub fn radroots_event_codec::job::traits::JobEventLike::raw_published_at(&self) -> u64
+pub fn radroots_event_codec::job::traits::JobEventLike::raw_sig(&self) -> alloc::string::String
+pub fn radroots_event_codec::job::traits::JobEventLike::raw_tags(&self) -> alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>
+pub fn radroots_event_codec::job::traits::JobEventLike::to_job_feedback_event_index(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_feedback::JobFeedback>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::job::traits::JobEventLike::to_job_feedback_metadata(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_feedback::JobFeedback>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::job::traits::JobEventLike::to_job_request_event_index(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_request::JobRequest>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::job::traits::JobEventLike::to_job_request_metadata(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_request::JobRequest>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::job::traits::JobEventLike::to_job_result_event_index(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_result::JobResult>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::job::traits::JobEventLike::to_job_result_metadata(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_result::JobResult>, radroots_event_codec::decode::job::JobParseError>
+impl<'a, E: radroots_event_codec::decode::job::JobEventBorrow<'a>> radroots_event_codec::decode::job::JobEventLike for radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_author(&self) -> alloc::string::String
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_content(&self) -> alloc::string::String
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_id(&self) -> alloc::string::String
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_kind(&self) -> u32
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_published_at(&self) -> u64
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_sig(&self) -> alloc::string::String
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::raw_tags(&self) -> alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_feedback_event_index(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_feedback::JobFeedback>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_feedback_metadata(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_feedback::JobFeedback>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_request_event_index(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_request::JobRequest>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_request_metadata(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_request::JobRequest>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_result_event_index(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_result::JobResult>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::decode::job::BorrowedEventAdapter<'a, E>::to_job_result_metadata(&self) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_result::JobResult>, radroots_event_codec::decode::job::JobParseError>
+pub mod radroots_event_codec::job::util
+pub fn radroots_event_codec::job::util::feedback_status_from_tag(&str) -> core::option::Option<radroots_event::social::job::JobFeedbackStatus>
+pub fn radroots_event_codec::job::util::feedback_status_tag(radroots_event::social::job::JobFeedbackStatus) -> &'static str
+pub fn radroots_event_codec::job::util::job_input_type_from_tag(&str) -> core::option::Option<radroots_event::social::job::JobInputType>
+pub fn radroots_event_codec::job::util::job_input_type_tag(radroots_event::social::job::JobInputType) -> &'static str
+pub fn radroots_event_codec::job::util::parse_amount_tag_sat(&[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<core::option::Option<(u32, core::option::Option<alloc::string::String>)>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::job::util::parse_bid_tag_sat(&[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<core::option::Option<u32>, radroots_event_codec::decode::job::JobParseError>
+pub fn radroots_event_codec::job::util::parse_bool_encrypted(&[alloc::vec::Vec<alloc::string::String>]) -> bool
+pub fn radroots_event_codec::job::util::parse_i_tags(&[alloc::vec::Vec<alloc::string::String>]) -> alloc::vec::Vec<radroots_event::social::job_request::JobInput>
+pub fn radroots_event_codec::job::util::parse_params(&[alloc::vec::Vec<alloc::string::String>]) -> alloc::vec::Vec<radroots_event::social::job_request::JobParam>
+pub fn radroots_event_codec::job::util::push_amount_tag_msat(&mut alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, u32, core::option::Option<alloc::string::String>)
+pub fn radroots_event_codec::job::util::push_bid_tag_sat(&mut alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, u32)
+pub mod radroots_event_codec::knowledge
+pub mod radroots_event_codec::knowledge::decode
+pub fn radroots_event_codec::knowledge::decode::contribution_attestation_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::ContributionAttestation>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::knowledge::decode::evidence_bounty_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::EvidenceBounty>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::knowledge::decode::knowledge_change_proposal_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeChangeProposal>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::knowledge::decode::knowledge_claim_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeClaim>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::knowledge::decode::knowledge_field_report_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeFieldReport>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::knowledge::decode::knowledge_relation_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeRelation>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::knowledge::decode::knowledge_review_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeReview>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::knowledge::decode::knowledge_source_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeSource>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::knowledge::decode::wiki_article_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiArticle>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::knowledge::decode::wiki_merge_request_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiMergeRequest>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::knowledge::decode::wiki_redirect_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiRedirect>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::knowledge::encode
+pub fn radroots_event_codec::knowledge::encode::contribution_attestation_build_tags(&radroots_event::knowledge::ContributionAttestation) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::encode::contribution_attestation_to_wire_parts(&radroots_event::knowledge::ContributionAttestation) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::encode::evidence_bounty_build_tags(&radroots_event::knowledge::EvidenceBounty) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::encode::evidence_bounty_to_wire_parts(&radroots_event::knowledge::EvidenceBounty) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::encode::knowledge_change_proposal_build_tags(&radroots_event::knowledge::KnowledgeChangeProposal) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::encode::knowledge_change_proposal_to_wire_parts(&radroots_event::knowledge::KnowledgeChangeProposal) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::encode::knowledge_claim_build_tags(&radroots_event::knowledge::KnowledgeClaim) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::encode::knowledge_claim_to_wire_parts(&radroots_event::knowledge::KnowledgeClaim) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::encode::knowledge_field_report_build_tags(&radroots_event::knowledge::KnowledgeFieldReport) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::encode::knowledge_field_report_to_wire_parts(&radroots_event::knowledge::KnowledgeFieldReport) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::encode::knowledge_relation_build_tags(&radroots_event::knowledge::KnowledgeRelation) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::encode::knowledge_relation_to_wire_parts(&radroots_event::knowledge::KnowledgeRelation) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::encode::knowledge_review_build_tags(&radroots_event::knowledge::KnowledgeReview) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::encode::knowledge_review_to_wire_parts(&radroots_event::knowledge::KnowledgeReview) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::encode::knowledge_source_build_tags(&radroots_event::knowledge::KnowledgeSource) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::encode::knowledge_source_to_wire_parts(&radroots_event::knowledge::KnowledgeSource) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::encode::wiki_article_build_tags(&radroots_event::knowledge::WikiArticle) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::encode::wiki_article_to_wire_parts(&radroots_event::knowledge::WikiArticle) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::encode::wiki_merge_request_build_tags(&radroots_event::knowledge::WikiMergeRequest) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::encode::wiki_merge_request_to_wire_parts(&radroots_event::knowledge::WikiMergeRequest) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::encode::wiki_redirect_build_tags(&radroots_event::knowledge::WikiRedirect) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::encode::wiki_redirect_to_wire_parts(&radroots_event::knowledge::WikiRedirect) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::knowledge::verification
+pub use radroots_event_codec::knowledge::verification::RadrootsContractValidatedEvent
+pub use radroots_event_codec::knowledge::verification::validate_event_contract
+pub enum radroots_event_codec::knowledge::verification::RadrootsDecodeError
+pub radroots_event_codec::knowledge::verification::RadrootsDecodeError::ContractValidation(radroots_event::contract::registry_v7::ContractValidationError)
+pub radroots_event_codec::knowledge::verification::RadrootsDecodeError::EventParse(radroots_event_codec::error::EventParseError)
+pub radroots_event_codec::knowledge::verification::RadrootsDecodeError::Nip01Verification(crate::verification::RadrootsNip01VerificationError)
+pub radroots_event_codec::knowledge::verification::RadrootsDecodeError::UnsupportedContract
+pub radroots_event_codec::knowledge::verification::RadrootsDecodeError::UnsupportedContract::contract_id: alloc::string::String
+impl radroots_event_codec::knowledge::verification::RadrootsDecodeError
+pub const fn radroots_event_codec::knowledge::verification::RadrootsDecodeError::code(&self) -> &'static str
+impl core::convert::From<radroots_event::contract::registry_v7::ContractValidationError> for radroots_event_codec::knowledge::verification::RadrootsDecodeError
+pub fn radroots_event_codec::knowledge::verification::RadrootsDecodeError::from(radroots_event::contract::registry_v7::ContractValidationError) -> Self
+impl core::convert::From<radroots_event_codec::error::EventParseError> for radroots_event_codec::knowledge::verification::RadrootsDecodeError
+pub fn radroots_event_codec::knowledge::verification::RadrootsDecodeError::from(radroots_event_codec::error::EventParseError) -> Self
+impl core::error::Error for radroots_event_codec::knowledge::verification::RadrootsDecodeError
+impl core::fmt::Display for radroots_event_codec::knowledge::verification::RadrootsDecodeError
+pub fn radroots_event_codec::knowledge::verification::RadrootsDecodeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub enum radroots_event_codec::knowledge::verification::RadrootsDecodedEvent
+pub radroots_event_codec::knowledge::verification::RadrootsDecodedEvent::ContributionAttestation(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::ContributionAttestation>)
+pub radroots_event_codec::knowledge::verification::RadrootsDecodedEvent::EvidenceBounty(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::EvidenceBounty>)
+pub radroots_event_codec::knowledge::verification::RadrootsDecodedEvent::KnowledgeChangeProposal(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeChangeProposal>)
+pub radroots_event_codec::knowledge::verification::RadrootsDecodedEvent::KnowledgeClaim(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeClaim>)
+pub radroots_event_codec::knowledge::verification::RadrootsDecodedEvent::KnowledgeFieldReport(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeFieldReport>)
+pub radroots_event_codec::knowledge::verification::RadrootsDecodedEvent::KnowledgeRelation(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeRelation>)
+pub radroots_event_codec::knowledge::verification::RadrootsDecodedEvent::KnowledgeReview(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeReview>)
+pub radroots_event_codec::knowledge::verification::RadrootsDecodedEvent::KnowledgeSource(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeSource>)
+pub radroots_event_codec::knowledge::verification::RadrootsDecodedEvent::WikiArticle(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiArticle>)
+pub radroots_event_codec::knowledge::verification::RadrootsDecodedEvent::WikiMergeRequest(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiMergeRequest>)
+pub radroots_event_codec::knowledge::verification::RadrootsDecodedEvent::WikiRedirect(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiRedirect>)
+impl radroots_event_codec::knowledge::verification::RadrootsDecodedEvent
+pub fn radroots_event_codec::knowledge::verification::RadrootsDecodedEvent::event(&self) -> &radroots_event::envelope::EventEnvelope
+pub fn radroots_event_codec::knowledge::verification::decode_validated_event(RadrootsContractValidatedEvent) -> core::result::Result<radroots_event_codec::knowledge::verification::RadrootsDecodedEvent, radroots_event_codec::knowledge::verification::RadrootsDecodeError>
+pub fn radroots_event_codec::knowledge::verification::verify_and_decode_radroots_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::knowledge::verification::RadrootsDecodedEvent, radroots_event_codec::knowledge::verification::RadrootsDecodeError>
+pub fn radroots_event_codec::knowledge::contribution_attestation_build_tags(&radroots_event::knowledge::ContributionAttestation) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::contribution_attestation_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::ContributionAttestation>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::knowledge::contribution_attestation_to_wire_parts(&radroots_event::knowledge::ContributionAttestation) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::evidence_bounty_build_tags(&radroots_event::knowledge::EvidenceBounty) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::evidence_bounty_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::EvidenceBounty>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::knowledge::evidence_bounty_to_wire_parts(&radroots_event::knowledge::EvidenceBounty) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::knowledge_change_proposal_build_tags(&radroots_event::knowledge::KnowledgeChangeProposal) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::knowledge_change_proposal_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeChangeProposal>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::knowledge::knowledge_change_proposal_to_wire_parts(&radroots_event::knowledge::KnowledgeChangeProposal) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::knowledge_claim_build_tags(&radroots_event::knowledge::KnowledgeClaim) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::knowledge_claim_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeClaim>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::knowledge::knowledge_claim_to_wire_parts(&radroots_event::knowledge::KnowledgeClaim) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::knowledge_field_report_build_tags(&radroots_event::knowledge::KnowledgeFieldReport) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::knowledge_field_report_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeFieldReport>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::knowledge::knowledge_field_report_to_wire_parts(&radroots_event::knowledge::KnowledgeFieldReport) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::knowledge_relation_build_tags(&radroots_event::knowledge::KnowledgeRelation) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::knowledge_relation_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeRelation>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::knowledge::knowledge_relation_to_wire_parts(&radroots_event::knowledge::KnowledgeRelation) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::knowledge_review_build_tags(&radroots_event::knowledge::KnowledgeReview) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::knowledge_review_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeReview>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::knowledge::knowledge_review_to_wire_parts(&radroots_event::knowledge::KnowledgeReview) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::knowledge_source_build_tags(&radroots_event::knowledge::KnowledgeSource) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::knowledge_source_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeSource>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::knowledge::knowledge_source_to_wire_parts(&radroots_event::knowledge::KnowledgeSource) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::wiki_article_build_tags(&radroots_event::knowledge::WikiArticle) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::wiki_article_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiArticle>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::knowledge::wiki_article_to_wire_parts(&radroots_event::knowledge::WikiArticle) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::wiki_merge_request_build_tags(&radroots_event::knowledge::WikiMergeRequest) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::wiki_merge_request_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiMergeRequest>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::knowledge::wiki_merge_request_to_wire_parts(&radroots_event::knowledge::WikiMergeRequest) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::wiki_redirect_build_tags(&radroots_event::knowledge::WikiRedirect) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::knowledge::wiki_redirect_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiRedirect>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::knowledge::wiki_redirect_to_wire_parts(&radroots_event::knowledge::WikiRedirect) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::list
+pub mod radroots_event_codec::list::decode
+pub fn radroots_event_codec::list::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::list::List>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::list::decode::list_entries_from_tags(&[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<alloc::vec::Vec<radroots_event::social::list::ListEntry>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::list::decode::list_from_tags(u32, alloc::string::String, &[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<radroots_event::social::list::List, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::list::decode::list_private_entries_from_json(&str) -> core::result::Result<alloc::vec::Vec<radroots_event::social::list::ListEntry>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::list::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::list::List>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::list::encode
+pub fn radroots_event_codec::list::encode::list_build_tags(&radroots_event::social::list::List) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::list::encode::list_entries_to_tags(&[radroots_event::social::list::ListEntry]) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::list::encode::list_private_entries_json(&[radroots_event::social::list::ListEntry]) -> core::result::Result<alloc::string::String, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::list::encode::to_wire_parts_with_kind(&radroots_event::social::list::List, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::list_set
+pub mod radroots_event_codec::list_set::decode
+pub fn radroots_event_codec::list_set::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::list_set::ListSet>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::list_set::decode::list_set_from_tags(u32, alloc::string::String, &[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::list_set::decode::list_set_private_entries_from_json(&str) -> core::result::Result<alloc::vec::Vec<radroots_event::social::list::ListEntry>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::list_set::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::list_set::ListSet>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::list_set::encode
+pub fn radroots_event_codec::list_set::encode::list_set_build_tags(&radroots_event::social::list_set::ListSet) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::list_set::encode::list_set_private_entries_json(&[radroots_event::social::list::ListEntry]) -> core::result::Result<alloc::string::String, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::list_set::encode::to_wire_parts_with_kind(&radroots_event::social::list_set::ListSet, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::manifest
+pub mod radroots_event_codec::manifest::registry_v7
+pub enum radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ActorRole
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ActorRole::Any
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ActorRole::Application
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ActorRole::Buyer
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ActorRole::Farmer
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ActorRole::Member
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ActorRole::Moderator
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ActorRole::Relay
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ActorRole::Seller
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ActorRole::Service
+pub enum radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7AuthoringPolicy
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7AuthoringPolicy::GenericDraft
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7AuthoringPolicy::ReadOnly
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7AuthoringPolicy::TypedOnly
+pub enum radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Class
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Class::Addressable
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Class::Ephemeral
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Class::Regular
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Class::Replaceable
+pub enum radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ClassifiedListingPartition
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ClassifiedListingPartition::Ambiguous
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ClassifiedListingPartition::FocusedFoodAvailability
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ClassifiedListingPartition::GenericNip99
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ClassifiedListingPartition::OperationalListing
+pub enum radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ContentSchema
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ContentSchema::BinaryReference
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ContentSchema::Djot
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ContentSchema::Empty
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ContentSchema::Encrypted
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ContentSchema::JsonObject
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ContentSchema::Markdown
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ContentSchema::PlainText
+pub enum radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator::AdmissionOnly
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator::ClassifiedListingPartition
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator::ClassifiedListingPartition::value: radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ClassifiedListingPartition
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator::Composite
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator::Composite::parts: alloc::vec::Vec<radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator>
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator::ContentJsonFieldEquals
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator::ContentJsonFieldEquals::field: alloc::string::String
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator::ContentJsonFieldEquals::value: alloc::string::String
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator::DTagExact
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator::DTagExact::value: alloc::string::String
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator::DTagPrefix
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator::DTagPrefix::prefix: alloc::string::String
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator::DTagSuffix
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator::DTagSuffix::suffix: alloc::string::String
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator::EnvelopeType
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator::EnvelopeType::value: alloc::string::String
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator::KindOnly
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator::TagEquals
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator::TagEquals::name: alloc::string::String
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator::TagEquals::value: alloc::string::String
+impl<'de> serde_core::de::Deserialize<'de> for radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator
+pub fn radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de>
+pub enum radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Privacy
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Privacy::Encrypted
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Privacy::LocalOnly
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Privacy::Public
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Privacy::Secret
+pub enum radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Reducer
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Reducer::CalendarProjection
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Reducer::FarmOpsProjection
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Reducer::GroupProjection
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Reducer::KnowledgeProjection
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Reducer::MarketProjection
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Reducer::NostrRelayPolicyProjection
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Reducer::OperationalListingInventoryAccounting
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Reducer::OperationalListingProjection
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Reducer::OrderProjection
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Reducer::ProfileProjection
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Reducer::SocialProjection
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Reducer::TradeProjection
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Reducer::TradeValidation
+pub enum radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Stability
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Stability::Experimental
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Stability::Stable
+pub enum radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard::Nip01
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard::Nip09
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard::Nip17
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard::Nip18
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard::Nip22
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard::Nip23
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard::Nip25
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard::Nip28
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard::Nip29
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard::Nip42
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard::Nip51
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard::Nip52
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard::Nip53
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard::Nip54
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard::Nip56
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard::Nip57
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard::Nip78
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard::Nip90
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard::Nip94
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard::Nip98
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard::Nip99
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard::Radroots
+pub enum radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagCardinality
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagCardinality::OptionalMany
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagCardinality::OptionalOne
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagCardinality::RequiredMany
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagCardinality::RequiredOne
+pub enum radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::AddressableCoordinate
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::CalendarEnd
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::CalendarEventAuthor
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::CalendarEventReference
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::CalendarEventRevision
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::CalendarInclusionRequest
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::CalendarStart
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::Category
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::Citation
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::ClassifiedListingAddress
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::Contract
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::Counterparty
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::EventPointer
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::Evidence
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::FreeBusy
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::Geohash
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::GroupId
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::Identifier
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::Image
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::Kind
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::ListDescription
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::Location
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::Nip01Coordinate
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::OperationalListingSnapshot
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::Participant
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::PreviousEvent
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::Price
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::PublishedAt
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::Reference
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::Relay
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::ReviewTarget
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::RootEvent
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::ServiceInput
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::ServiceOutput
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::Source
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::Status
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::Summary
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::TimeZone
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::Title
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::Topic
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::Url
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic::UtcDayCoverage
+pub enum radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::AddressableCoordinate
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::CalendarDate
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::CalendarEventCoordinate
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::CalendarFreeBusy
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::CalendarRsvpStatus
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::CalendarUid
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::ContractId
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::DTag
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::EventId
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::EventPointer
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::Geohash
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::IanaTimeZoneId
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::Kind
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::Nip01Coordinate
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::PublicKey
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::RelayUrl
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::Sha256
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::Text
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::UnixTimestamp
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::Uri
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::Url
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::UtcDayIndex
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType::Uuid
+pub struct radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Inventory
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Inventory::event_contract_registry_version: u32
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Inventory::event_contracts: alloc::vec::Vec<radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7InventoryEntry>
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Inventory::kind_contracts: alloc::vec::Vec<radroots_event_codec::manifest::registry_v7::RadrootsKindContractRegistryV7InventoryEntry>
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Inventory::schema_version: u32
+pub struct radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7InventoryEntry
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7InventoryEntry::author_role: radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ActorRole
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7InventoryEntry::authoring_policy: radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7AuthoringPolicy
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7InventoryEntry::class: radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Class
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7InventoryEntry::content_schema: radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7ContentSchema
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7InventoryEntry::contract_id: alloc::string::String
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7InventoryEntry::discriminator: radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Discriminator
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7InventoryEntry::kind: u32
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7InventoryEntry::name: alloc::string::String
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7InventoryEntry::ordinal: usize
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7InventoryEntry::payload_type: alloc::string::String
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7InventoryEntry::privacy: radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Privacy
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7InventoryEntry::reducers: alloc::vec::Vec<radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Reducer>
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7InventoryEntry::stability: radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Stability
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7InventoryEntry::tags: alloc::vec::Vec<radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Tag>
+pub struct radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Tag
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Tag::cardinality: radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagCardinality
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Tag::name: alloc::string::String
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Tag::relay_indexed: bool
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Tag::semantic: radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagSemantic
+pub radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Tag::value_type: radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7TagValueType
+pub struct radroots_event_codec::manifest::registry_v7::RadrootsKindContractRegistryV7InventoryEntry
+pub radroots_event_codec::manifest::registry_v7::RadrootsKindContractRegistryV7InventoryEntry::accepted_event_contracts: alloc::vec::Vec<alloc::string::String>
+pub radroots_event_codec::manifest::registry_v7::RadrootsKindContractRegistryV7InventoryEntry::canonical_constant: alloc::string::String
+pub radroots_event_codec::manifest::registry_v7::RadrootsKindContractRegistryV7InventoryEntry::class: radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Class
+pub radroots_event_codec::manifest::registry_v7::RadrootsKindContractRegistryV7InventoryEntry::kind: u32
+pub radroots_event_codec::manifest::registry_v7::RadrootsKindContractRegistryV7InventoryEntry::name: alloc::string::String
+pub radroots_event_codec::manifest::registry_v7::RadrootsKindContractRegistryV7InventoryEntry::ordinal: usize
+pub radroots_event_codec::manifest::registry_v7::RadrootsKindContractRegistryV7InventoryEntry::standard: radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Standard
+pub const radroots_event_codec::manifest::registry_v7::RADROOTS_EVENT_CONTRACT_REGISTRY_V7_EVENT_COUNT: usize
+pub const radroots_event_codec::manifest::registry_v7::RADROOTS_EVENT_CONTRACT_REGISTRY_V7_INVENTORY_SCHEMA_VERSION: u32
+pub const radroots_event_codec::manifest::registry_v7::RADROOTS_EVENT_CONTRACT_REGISTRY_V7_KIND_COUNT: usize
+pub const radroots_event_codec::manifest::registry_v7::RADROOTS_EVENT_CONTRACT_REGISTRY_V7_VERSION: u32
+pub fn radroots_event_codec::manifest::registry_v7::event_contract_registry_v7_inventory() -> radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Inventory
+pub fn radroots_event_codec::manifest::registry_v7::event_contract_registry_v7_inventory_json() -> core::result::Result<alloc::string::String, serde_json::error::Error>
+pub fn radroots_event_codec::manifest::registry_v7::event_contract_registry_v7_inventory_sha256() -> core::result::Result<alloc::string::String, serde_json::error::Error>
+pub fn radroots_event_codec::manifest::registry_v7::parse_event_contract_registry_v7_inventory_json(&str) -> core::result::Result<radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Inventory, serde_json::error::Error>
+pub enum radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator::AdmissionOnly
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator::ClassifiedListingPartition
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator::ClassifiedListingPartition::value: alloc::string::String
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator::Composite
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator::Composite::parts: alloc::vec::Vec<radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator>
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator::ContentJsonFieldEquals
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator::ContentJsonFieldEquals::field: alloc::string::String
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator::ContentJsonFieldEquals::value: alloc::string::String
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator::DTagExact
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator::DTagExact::value: alloc::string::String
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator::DTagPrefix
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator::DTagPrefix::prefix: alloc::string::String
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator::DTagSuffix
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator::DTagSuffix::suffix: alloc::string::String
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator::EnvelopeType
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator::EnvelopeType::value: alloc::string::String
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator::KindOnly
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator::TagEquals
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator::TagEquals::name: alloc::string::String
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator::TagEquals::value: alloc::string::String
+pub struct radroots_event_codec::manifest::RadrootsKnowledgeContractManifest
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifest::contract_count: usize
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifest::contracts: alloc::vec::Vec<radroots_event_codec::manifest::RadrootsKnowledgeContractManifestEntry>
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifest::radroots_event_codec_version: alloc::string::String
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifest::radroots_event_version: alloc::string::String
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifest::registry_version: u32
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifest::schema_version: u32
+pub struct radroots_event_codec::manifest::RadrootsKnowledgeContractManifestEntry
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifestEntry::author_role: alloc::string::String
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifestEntry::class: alloc::string::String
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifestEntry::codec_support: radroots_event_codec::manifest::RadrootsKnowledgeManifestCodecSupport
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifestEntry::content_schema: alloc::string::String
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifestEntry::contract_id: alloc::string::String
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifestEntry::deprecated: bool
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifestEntry::discriminators: alloc::vec::Vec<radroots_event_codec::manifest::RadrootsKnowledgeManifestDiscriminator>
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifestEntry::introduced_at: alloc::string::String
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifestEntry::kind: u32
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifestEntry::payload_type: alloc::string::String
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifestEntry::privacy: alloc::string::String
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifestEntry::reducers: alloc::vec::Vec<alloc::string::String>
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifestEntry::replaced_by: core::option::Option<alloc::string::String>
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifestEntry::sdk_builder_support: bool
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifestEntry::sdk_draft_support: bool
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifestEntry::stability: alloc::string::String
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifestEntry::standard: alloc::string::String
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifestEntry::tag_contracts: alloc::vec::Vec<radroots_event_codec::manifest::RadrootsKnowledgeManifestTagContract>
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifestEntry::wasm_tag_builder_support: bool
+pub radroots_event_codec::manifest::RadrootsKnowledgeContractManifestEntry::wasm_verified_decode_support: bool
+pub struct radroots_event_codec::manifest::RadrootsKnowledgeManifestCodecSupport
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestCodecSupport::contract_validation: bool
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestCodecSupport::decode: bool
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestCodecSupport::encode: bool
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestCodecSupport::verified_decode: bool
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestCodecSupport::verified_decode_requires_nostr: bool
+pub struct radroots_event_codec::manifest::RadrootsKnowledgeManifestTagContract
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestTagContract::cardinality: alloc::string::String
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestTagContract::name: alloc::string::String
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestTagContract::relay_indexed: bool
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestTagContract::semantic: alloc::string::String
+pub radroots_event_codec::manifest::RadrootsKnowledgeManifestTagContract::value_type: alloc::string::String
+pub const radroots_event_codec::manifest::RADROOTS_KNOWLEDGE_CONTRACT_MANIFEST_SCHEMA_VERSION: u32
+pub fn radroots_event_codec::manifest::contract_manifest_json() -> core::result::Result<alloc::string::String, serde_json::error::Error>
+pub fn radroots_event_codec::manifest::contract_manifest_sha256() -> core::result::Result<alloc::string::String, serde_json::error::Error>
+pub fn radroots_event_codec::manifest::knowledge_contract_manifest() -> radroots_event_codec::manifest::RadrootsKnowledgeContractManifest
+pub fn radroots_event_codec::manifest::parse_knowledge_contract_manifest_json(&str) -> core::result::Result<radroots_event_codec::manifest::RadrootsKnowledgeContractManifest, serde_json::error::Error>
+pub mod radroots_event_codec::message
+pub mod radroots_event_codec::message::decode
+pub fn radroots_event_codec::message::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::message::Message>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::message::decode::message_from_tags(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::message::Message, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::message::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::message::Message>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::message::encode
+pub fn radroots_event_codec::message::encode::message_build_tags(&radroots_event::social::message::Message) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::message::encode::to_wire_parts(&radroots_event::social::message::Message) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::message_file
+pub mod radroots_event_codec::message_file::decode
+pub fn radroots_event_codec::message_file::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::message_file::MessageFile>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::message_file::decode::message_file_from_tags(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::message_file::MessageFile, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::message_file::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::message_file::MessageFile>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::message_file::encode
+pub fn radroots_event_codec::message_file::encode::message_file_build_tags(&radroots_event::social::message_file::MessageFile) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::message_file::encode::to_wire_parts(&radroots_event::social::message_file::MessageFile) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::message_file::encode::to_wire_parts_with_kind(&radroots_event::social::message_file::MessageFile, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::operational_listing
+pub mod radroots_event_codec::operational_listing::decode
+pub fn radroots_event_codec::operational_listing::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::listing::operational::OperationalListing>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::operational_listing::decode::data_from_nostr_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::listing::operational::OperationalListing>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::operational_listing::decode::operational_listing_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::listing::operational::OperationalListing, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::operational_listing::decode::operational_listing_from_event_parts(&[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::listing::operational::OperationalListing, radroots_event::listing::operational::OperationalListingParseError>
+pub fn radroots_event_codec::operational_listing::decode::operational_listing_from_nostr_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event::listing::operational::OperationalListing, radroots_event::listing::operational::OperationalListingParseError>
+pub fn radroots_event_codec::operational_listing::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::listing::operational::OperationalListing>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::operational_listing::decode::parsed_from_nostr_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::listing::operational::OperationalListing>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::operational_listing::encode
+pub fn radroots_event_codec::operational_listing::encode::operational_listing_build_tags(&radroots_event::listing::operational::OperationalListing) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::operational_listing::encode::to_wire_parts(&radroots_event::listing::operational::OperationalListing) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::operational_listing::encode::to_wire_parts_with_kind(&radroots_event::listing::operational::OperationalListing, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::operational_listing::tags
+pub struct radroots_event_codec::operational_listing::tags::OperationalListingTagOptions
+pub radroots_event_codec::operational_listing::tags::OperationalListingTagOptions::include_availability: bool
+pub radroots_event_codec::operational_listing::tags::OperationalListingTagOptions::include_delivery: bool
+pub radroots_event_codec::operational_listing::tags::OperationalListingTagOptions::include_geohash: bool
+pub radroots_event_codec::operational_listing::tags::OperationalListingTagOptions::include_inventory: bool
+impl radroots_event_codec::encode::operational_listing::OperationalListingTagOptions
+pub fn radroots_event_codec::encode::operational_listing::OperationalListingTagOptions::with_trade_fields() -> Self
+impl core::default::Default for radroots_event_codec::encode::operational_listing::OperationalListingTagOptions
+pub fn radroots_event_codec::encode::operational_listing::OperationalListingTagOptions::default() -> Self
+pub fn radroots_event_codec::operational_listing::tags::operational_listing_tags(&radroots_event::listing::operational::OperationalListing) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::operational_listing::tags::operational_listing_tags_full(&radroots_event::listing::operational::OperationalListing) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::operational_listing::tags::operational_listing_tags_with_options(&radroots_event::listing::operational::OperationalListing, radroots_event_codec::encode::operational_listing::OperationalListingTagOptions) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::order
+pub mod radroots_event_codec::order::decode
+pub enum radroots_event_codec::order::decode::RadrootsOrderEnvelopeParseError
+pub radroots_event_codec::order::decode::RadrootsOrderEnvelopeParseError::AuthorMismatch
+pub radroots_event_codec::order::decode::RadrootsOrderEnvelopeParseError::CounterpartyTagMismatch
+pub radroots_event_codec::order::decode::RadrootsOrderEnvelopeParseError::InvalidEnvelope(radroots_event::trade::order::OrderEnvelopeError)
+pub radroots_event_codec::order::decode::RadrootsOrderEnvelopeParseError::InvalidJson
+pub radroots_event_codec::order::decode::RadrootsOrderEnvelopeParseError::InvalidKind(u32)
+pub radroots_event_codec::order::decode::RadrootsOrderEnvelopeParseError::InvalidListingAddr(radroots_event::id::ParseError)
+pub radroots_event_codec::order::decode::RadrootsOrderEnvelopeParseError::InvalidPayload(radroots_event::trade::order::OrderPayloadError)
+pub radroots_event_codec::order::decode::RadrootsOrderEnvelopeParseError::InvalidTag(&'static str)
+pub radroots_event_codec::order::decode::RadrootsOrderEnvelopeParseError::ListingAddrTagMismatch
+pub radroots_event_codec::order::decode::RadrootsOrderEnvelopeParseError::MessageTypeKindMismatch
+pub radroots_event_codec::order::decode::RadrootsOrderEnvelopeParseError::MessageTypeKindMismatch::event_kind: u32
+pub radroots_event_codec::order::decode::RadrootsOrderEnvelopeParseError::MessageTypeKindMismatch::message_type: radroots_event::trade::order::OrderEventType
+pub radroots_event_codec::order::decode::RadrootsOrderEnvelopeParseError::MissingTag(&'static str)
+pub radroots_event_codec::order::decode::RadrootsOrderEnvelopeParseError::OrderIdTagMismatch
+pub radroots_event_codec::order::decode::RadrootsOrderEnvelopeParseError::PayloadBindingMismatch(&'static str)
+impl core::error::Error for radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError
+pub fn radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError
+pub fn radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub struct radroots_event_codec::order::decode::RadrootsOrderEventContext
+pub radroots_event_codec::order::decode::RadrootsOrderEventContext::counterparty_pubkey: radroots_identity::key::PublicKey
+pub radroots_event_codec::order::decode::RadrootsOrderEventContext::listing_event: core::option::Option<radroots_event::tag::EventPtr>
+pub radroots_event_codec::order::decode::RadrootsOrderEventContext::prev_event_id: core::option::Option<radroots_event::id::EventId>
+pub radroots_event_codec::order::decode::RadrootsOrderEventContext::root_event_id: core::option::Option<radroots_event::id::EventId>
+pub fn radroots_event_codec::order::decode::order_cancellation_from_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event::trade::order::OrderEnvelope<radroots_event::trade::order::OrderCancellation>, radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError>
+pub fn radroots_event_codec::order::decode::order_decision_from_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event::trade::order::OrderEnvelope<radroots_event::trade::order::OrderDecision>, radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError>
+pub fn radroots_event_codec::order::decode::order_envelope_from_event<T: serde_core::de::DeserializeOwned>(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event::trade::order::OrderEnvelope<T>, radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError>
+pub fn radroots_event_codec::order::decode::order_event_context_from_tags(radroots_event::trade::order::OrderEventType, &[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<radroots_event_codec::decode::order::RadrootsOrderEventContext, radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError>
+pub fn radroots_event_codec::order::decode::order_request_from_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event::trade::order::OrderEnvelope<radroots_event::trade::order::OrderRequest>, radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError>
+pub mod radroots_event_codec::order::encode
+pub fn radroots_event_codec::order::encode::order_cancellation_event_build(&radroots_event::id::EventId, &radroots_event::id::EventId, &radroots_event::trade::order::OrderCancellation) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::order::encode::order_decision_event_build(&radroots_event::id::EventId, &radroots_event::id::EventId, &radroots_event::trade::order::OrderDecision) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::order::encode::order_request_event_build(&radroots_event::tag::EventPtr, &radroots_event::trade::order::OrderRequest) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::order::tags
+pub const radroots_event_codec::order::tags::TAG_LISTING_EVENT: &str
+pub fn radroots_event_codec::order::tags::order_envelope_tags<P, A, D>(P, A, core::option::Option<D>, core::option::Option<&radroots_event::tag::EventPtr>, core::option::Option<&str>, core::option::Option<&str>) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError> where P: core::convert::Into<alloc::string::String>, A: core::convert::Into<alloc::string::String>, D: core::convert::Into<alloc::string::String>
+pub fn radroots_event_codec::order::tags::parse_order_counterparty_tag(&[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<alloc::string::String, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::order::tags::parse_order_listing_event_tag(&[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<core::option::Option<radroots_event::tag::EventPtr>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::order::tags::parse_order_prev_tag(&[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<core::option::Option<alloc::string::String>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::order::tags::parse_order_root_tag(&[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<core::option::Option<alloc::string::String>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::order::tags::push_order_chain_tags(&mut alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, impl core::convert::Into<alloc::string::String>, core::option::Option<impl core::convert::Into<alloc::string::String>>, core::option::Option<impl core::convert::Into<alloc::string::String>>)
+pub fn radroots_event_codec::order::tags::validate_order_chain(&[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<(), radroots_event_codec::decode::job::JobParseError>
+pub enum radroots_event_codec::order::RadrootsOrderEnvelopeParseError
+pub radroots_event_codec::order::RadrootsOrderEnvelopeParseError::AuthorMismatch
+pub radroots_event_codec::order::RadrootsOrderEnvelopeParseError::CounterpartyTagMismatch
+pub radroots_event_codec::order::RadrootsOrderEnvelopeParseError::InvalidEnvelope(radroots_event::trade::order::OrderEnvelopeError)
+pub radroots_event_codec::order::RadrootsOrderEnvelopeParseError::InvalidJson
+pub radroots_event_codec::order::RadrootsOrderEnvelopeParseError::InvalidKind(u32)
+pub radroots_event_codec::order::RadrootsOrderEnvelopeParseError::InvalidListingAddr(radroots_event::id::ParseError)
+pub radroots_event_codec::order::RadrootsOrderEnvelopeParseError::InvalidPayload(radroots_event::trade::order::OrderPayloadError)
+pub radroots_event_codec::order::RadrootsOrderEnvelopeParseError::InvalidTag(&'static str)
+pub radroots_event_codec::order::RadrootsOrderEnvelopeParseError::ListingAddrTagMismatch
+pub radroots_event_codec::order::RadrootsOrderEnvelopeParseError::MessageTypeKindMismatch
+pub radroots_event_codec::order::RadrootsOrderEnvelopeParseError::MessageTypeKindMismatch::event_kind: u32
+pub radroots_event_codec::order::RadrootsOrderEnvelopeParseError::MessageTypeKindMismatch::message_type: radroots_event::trade::order::OrderEventType
+pub radroots_event_codec::order::RadrootsOrderEnvelopeParseError::MissingTag(&'static str)
+pub radroots_event_codec::order::RadrootsOrderEnvelopeParseError::OrderIdTagMismatch
+pub radroots_event_codec::order::RadrootsOrderEnvelopeParseError::PayloadBindingMismatch(&'static str)
+impl core::error::Error for radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError
+pub fn radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError
+pub fn radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub struct radroots_event_codec::order::RadrootsOrderEventContext
+pub radroots_event_codec::order::RadrootsOrderEventContext::counterparty_pubkey: radroots_identity::key::PublicKey
+pub radroots_event_codec::order::RadrootsOrderEventContext::listing_event: core::option::Option<radroots_event::tag::EventPtr>
+pub radroots_event_codec::order::RadrootsOrderEventContext::prev_event_id: core::option::Option<radroots_event::id::EventId>
+pub radroots_event_codec::order::RadrootsOrderEventContext::root_event_id: core::option::Option<radroots_event::id::EventId>
+pub const radroots_event_codec::order::TAG_LISTING_EVENT: &str
+pub fn radroots_event_codec::order::order_cancellation_event_build(&radroots_event::id::EventId, &radroots_event::id::EventId, &radroots_event::trade::order::OrderCancellation) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::order::order_cancellation_from_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event::trade::order::OrderEnvelope<radroots_event::trade::order::OrderCancellation>, radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError>
+pub fn radroots_event_codec::order::order_decision_event_build(&radroots_event::id::EventId, &radroots_event::id::EventId, &radroots_event::trade::order::OrderDecision) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::order::order_decision_from_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event::trade::order::OrderEnvelope<radroots_event::trade::order::OrderDecision>, radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError>
+pub fn radroots_event_codec::order::order_envelope_from_event<T: serde_core::de::DeserializeOwned>(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event::trade::order::OrderEnvelope<T>, radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError>
+pub fn radroots_event_codec::order::order_envelope_tags<P, A, D>(P, A, core::option::Option<D>, core::option::Option<&radroots_event::tag::EventPtr>, core::option::Option<&str>, core::option::Option<&str>) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError> where P: core::convert::Into<alloc::string::String>, A: core::convert::Into<alloc::string::String>, D: core::convert::Into<alloc::string::String>
+pub fn radroots_event_codec::order::order_event_context_from_tags(radroots_event::trade::order::OrderEventType, &[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<radroots_event_codec::decode::order::RadrootsOrderEventContext, radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError>
+pub fn radroots_event_codec::order::order_request_event_build(&radroots_event::tag::EventPtr, &radroots_event::trade::order::OrderRequest) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::order::order_request_from_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event::trade::order::OrderEnvelope<radroots_event::trade::order::OrderRequest>, radroots_event_codec::decode::order::RadrootsOrderEnvelopeParseError>
+pub fn radroots_event_codec::order::parse_order_counterparty_tag(&[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<alloc::string::String, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::order::parse_order_listing_event_tag(&[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<core::option::Option<radroots_event::tag::EventPtr>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::order::parse_order_prev_tag(&[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<core::option::Option<alloc::string::String>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::order::parse_order_root_tag(&[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<core::option::Option<alloc::string::String>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::order::push_order_chain_tags(&mut alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, impl core::convert::Into<alloc::string::String>, core::option::Option<impl core::convert::Into<alloc::string::String>>, core::option::Option<impl core::convert::Into<alloc::string::String>>)
+pub fn radroots_event_codec::order::validate_order_chain(&[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<(), radroots_event_codec::decode::job::JobParseError>
+pub mod radroots_event_codec::parsed
+pub struct radroots_event_codec::parsed::RadrootsParsedData<T>
+pub radroots_event_codec::parsed::RadrootsParsedData::author: alloc::string::String
+pub radroots_event_codec::parsed::RadrootsParsedData::data: T
+pub radroots_event_codec::parsed::RadrootsParsedData::id: alloc::string::String
+pub radroots_event_codec::parsed::RadrootsParsedData::kind: u32
+pub radroots_event_codec::parsed::RadrootsParsedData::published_at: u64
+impl<T> radroots_event_codec::parsed::RadrootsParsedData<T>
+pub fn radroots_event_codec::parsed::RadrootsParsedData<T>::new(alloc::string::String, alloc::string::String, u64, u32, T) -> Self
+pub struct radroots_event_codec::parsed::RadrootsParsedEvent<T>
+pub radroots_event_codec::parsed::RadrootsParsedEvent::data: radroots_event_codec::parsed::RadrootsParsedData<T>
+pub radroots_event_codec::parsed::RadrootsParsedEvent::event: radroots_event::envelope::EventEnvelope
+impl<T> radroots_event_codec::parsed::RadrootsParsedEvent<T>
+pub fn radroots_event_codec::parsed::RadrootsParsedEvent<T>::from_event_parts(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String, radroots_event_codec::parsed::RadrootsParsedData<T>) -> core::result::Result<Self, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::parsed::RadrootsParsedEvent<T>::from_parts(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String, T) -> core::result::Result<Self, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::parsed::RadrootsParsedEvent<T>::new(radroots_event::envelope::EventEnvelope, radroots_event_codec::parsed::RadrootsParsedData<T>) -> Self
+pub mod radroots_event_codec::plot
+pub mod radroots_event_codec::plot::decode
+pub fn radroots_event_codec::plot::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::farm::plot::Plot>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::plot::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::farm::plot::Plot>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::plot::decode::plot_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::farm::plot::Plot, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::plot::encode
+pub fn radroots_event_codec::plot::encode::plot_address(&str, &str) -> core::result::Result<alloc::string::String, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::plot::encode::plot_build_tags(&radroots_event::farm::plot::Plot) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::plot::encode::to_wire_parts(&radroots_event::farm::plot::Plot) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::plot::encode::to_wire_parts_with_kind(&radroots_event::farm::plot::Plot, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::post
+pub mod radroots_event_codec::post::admission
+#[non_exhaustive] pub enum radroots_event_codec::post::admission::RadrootsPostAdmissionError
+pub radroots_event_codec::post::admission::RadrootsPostAdmissionError::Nip01Verification(crate::verification::RadrootsNip01VerificationError)
+pub radroots_event_codec::post::admission::RadrootsPostAdmissionError::Projection(crate::post::inbound::RadrootsPostProjectionError)
+impl radroots_event_codec::admission::post::RadrootsPostAdmissionError
+pub const fn radroots_event_codec::admission::post::RadrootsPostAdmissionError::code(&self) -> &'static str
+impl core::error::Error for radroots_event_codec::admission::post::RadrootsPostAdmissionError
+pub fn radroots_event_codec::admission::post::RadrootsPostAdmissionError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::admission::post::RadrootsPostAdmissionError
+pub fn radroots_event_codec::admission::post::RadrootsPostAdmissionError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+#[non_exhaustive] pub enum radroots_event_codec::post::admission::RadrootsPostAdmissionOutcome
+pub radroots_event_codec::post::admission::RadrootsPostAdmissionOutcome::Root(radroots_event_codec::admission::post::RadrootsAdmittedRootPostEvent)
+pub radroots_event_codec::post::admission::RadrootsPostAdmissionOutcome::ThreadExcluded(radroots_event_codec::admission::post::RadrootsThreadExcludedPostCandidate)
+pub struct radroots_event_codec::post::admission::RadrootsAdmittedRootPostEvent
+impl radroots_event_codec::admission::post::RadrootsAdmittedRootPostEvent
+pub fn radroots_event_codec::admission::post::RadrootsAdmittedRootPostEvent::contract(&self) -> &'static radroots_event::contract::registry_v7::EventContract
+pub fn radroots_event_codec::admission::post::RadrootsAdmittedRootPostEvent::event(&self) -> &radroots_event::envelope::EventEnvelope
+pub fn radroots_event_codec::admission::post::RadrootsAdmittedRootPostEvent::into_parts(self) -> (RadrootsSignatureVerifiedEvent, RadrootsInboundPostProjection)
+pub fn radroots_event_codec::admission::post::RadrootsAdmittedRootPostEvent::projection(&self) -> &RadrootsInboundPostProjection
+pub fn radroots_event_codec::admission::post::RadrootsAdmittedRootPostEvent::verified_event(&self) -> &RadrootsSignatureVerifiedEvent
+pub struct radroots_event_codec::post::admission::RadrootsThreadExcludedPostCandidate
+impl radroots_event_codec::admission::post::RadrootsThreadExcludedPostCandidate
+pub fn radroots_event_codec::admission::post::RadrootsThreadExcludedPostCandidate::event(&self) -> &radroots_event::envelope::EventEnvelope
+pub fn radroots_event_codec::admission::post::RadrootsThreadExcludedPostCandidate::into_parts(self) -> (RadrootsSignatureVerifiedEvent, RadrootsInboundPostProjection)
+pub fn radroots_event_codec::admission::post::RadrootsThreadExcludedPostCandidate::projection(&self) -> &RadrootsInboundPostProjection
+pub fn radroots_event_codec::admission::post::RadrootsThreadExcludedPostCandidate::verified_event(&self) -> &RadrootsSignatureVerifiedEvent
+pub fn radroots_event_codec::post::admission::admit_verified_post_event(crate::verification::RadrootsSignatureVerifiedEvent) -> core::result::Result<radroots_event_codec::admission::post::RadrootsPostAdmissionOutcome, radroots_event_codec::admission::post::RadrootsPostAdmissionError>
+pub fn radroots_event_codec::post::admission::verify_and_admit_post_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::admission::post::RadrootsPostAdmissionOutcome, radroots_event_codec::admission::post::RadrootsPostAdmissionError>
+pub mod radroots_event_codec::post::authored
+pub fn radroots_event_codec::post::authored::authored_ask_to_wire_parts(&radroots_event::post::AuthoredAsk) -> radroots_event::wire::v1::Nip01EventWireParts
+pub fn radroots_event_codec::post::authored::authored_photo_update_to_wire_parts(&radroots_event::post::AuthoredPhotoUpdate) -> radroots_event::wire::v1::Nip01EventWireParts
+pub fn radroots_event_codec::post::authored::authored_update_to_wire_parts(&radroots_event::post::AuthoredUpdate) -> radroots_event::wire::v1::Nip01EventWireParts
+pub mod radroots_event_codec::post::decode
+pub struct radroots_event_codec::post::decode::LegacyPost
+pub radroots_event_codec::post::decode::LegacyPost::address_refs: core::option::Option<alloc::vec::Vec<radroots_event::social::SocialTarget>>
+pub radroots_event_codec::post::decode::LegacyPost::content: alloc::string::String
+pub radroots_event_codec::post::decode::LegacyPost::farm: core::option::Option<radroots_event::social::SocialFarmAnchor>
+pub radroots_event_codec::post::decode::LegacyPost::location: core::option::Option<radroots_event::social::SocialLocation>
+pub radroots_event_codec::post::decode::LegacyPost::media: core::option::Option<alloc::vec::Vec<radroots_event::social::SocialMediaMetadata>>
+pub radroots_event_codec::post::decode::LegacyPost::quote_refs: core::option::Option<alloc::vec::Vec<radroots_event::social::SocialTarget>>
+pub radroots_event_codec::post::decode::LegacyPost::topics: core::option::Option<alloc::vec::Vec<alloc::string::String>>
+pub fn radroots_event_codec::post::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event_codec::decode::post::LegacyPost>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::post::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event_codec::decode::post::LegacyPost>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::post::decode::post_from_content(u32, &str) -> core::result::Result<radroots_event_codec::decode::post::LegacyPost, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::post::decode::post_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event_codec::decode::post::LegacyPost, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::post::inbound
+pub mod radroots_event_codec::profile
+pub mod radroots_event_codec::profile::admission
+#[non_exhaustive] pub enum radroots_event_codec::profile::admission::RadrootsProfileAdmissionError
+pub radroots_event_codec::profile::admission::RadrootsProfileAdmissionError::InvalidKind
+pub radroots_event_codec::profile::admission::RadrootsProfileAdmissionError::InvalidKind::actual: u32
+pub radroots_event_codec::profile::admission::RadrootsProfileAdmissionError::InvalidKind::expected: u32
+pub radroots_event_codec::profile::admission::RadrootsProfileAdmissionError::Metadata(crate::profile::inbound::RadrootsProfileMetadataParseError)
+pub radroots_event_codec::profile::admission::RadrootsProfileAdmissionError::Nip01Verification(crate::verification::RadrootsNip01VerificationError)
+impl radroots_event_codec::profile::admission::RadrootsProfileAdmissionError
+pub const fn radroots_event_codec::profile::admission::RadrootsProfileAdmissionError::code(&self) -> &'static str
+impl core::error::Error for radroots_event_codec::profile::admission::RadrootsProfileAdmissionError
+pub fn radroots_event_codec::profile::admission::RadrootsProfileAdmissionError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::profile::admission::RadrootsProfileAdmissionError
+pub fn radroots_event_codec::profile::admission::RadrootsProfileAdmissionError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub struct radroots_event_codec::profile::admission::RadrootsAdmittedProfileEvent
+impl radroots_event_codec::profile::admission::RadrootsAdmittedProfileEvent
+pub fn radroots_event_codec::profile::admission::RadrootsAdmittedProfileEvent::contract(&self) -> &'static radroots_event::contract::registry_v7::EventContract
+pub fn radroots_event_codec::profile::admission::RadrootsAdmittedProfileEvent::event(&self) -> &radroots_event::envelope::EventEnvelope
+pub fn radroots_event_codec::profile::admission::RadrootsAdmittedProfileEvent::into_parts(self) -> (RadrootsSignatureVerifiedEvent, RadrootsInboundProfileMetadata)
+pub fn radroots_event_codec::profile::admission::RadrootsAdmittedProfileEvent::metadata(&self) -> &RadrootsInboundProfileMetadata
+pub fn radroots_event_codec::profile::admission::RadrootsAdmittedProfileEvent::verified_event(&self) -> &RadrootsSignatureVerifiedEvent
+pub fn radroots_event_codec::profile::admission::admit_verified_profile_event(crate::verification::RadrootsSignatureVerifiedEvent) -> core::result::Result<radroots_event_codec::profile::admission::RadrootsAdmittedProfileEvent, radroots_event_codec::profile::admission::RadrootsProfileAdmissionError>
+pub fn radroots_event_codec::profile::admission::verify_and_admit_profile_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::profile::admission::RadrootsAdmittedProfileEvent, radroots_event_codec::profile::admission::RadrootsProfileAdmissionError>
+pub mod radroots_event_codec::profile::authored
+#[non_exhaustive] pub enum radroots_event_codec::profile::authored::RadrootsAuthoredProfileEncodeError
+pub radroots_event_codec::profile::authored::RadrootsAuthoredProfileEncodeError::ContentTooLarge
+pub radroots_event_codec::profile::authored::RadrootsAuthoredProfileEncodeError::ContentTooLarge::actual: usize
+pub radroots_event_codec::profile::authored::RadrootsAuthoredProfileEncodeError::ContentTooLarge::max: usize
+impl radroots_event_codec::encode::profile::RadrootsAuthoredProfileEncodeError
+pub const fn radroots_event_codec::encode::profile::RadrootsAuthoredProfileEncodeError::code(&self) -> &'static str
+impl core::error::Error for radroots_event_codec::encode::profile::RadrootsAuthoredProfileEncodeError
+impl core::fmt::Display for radroots_event_codec::encode::profile::RadrootsAuthoredProfileEncodeError
+pub fn radroots_event_codec::encode::profile::RadrootsAuthoredProfileEncodeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub fn radroots_event_codec::profile::authored::authored_profile_to_wire_parts(&radroots_event::profile::AuthoredProfile) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::encode::profile::RadrootsAuthoredProfileEncodeError>
+pub mod radroots_event_codec::profile::decode
+pub fn radroots_event_codec::profile::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event_codec::profile::RadrootsProfileData>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::profile::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event_codec::profile::RadrootsProfileData>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::profile::decode::profile_from_content(&str) -> core::result::Result<radroots_event_codec::profile::LegacyProfile, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::profile::inbound
+pub struct radroots_event_codec::profile::LegacyProfile
+pub radroots_event_codec::profile::LegacyProfile::about: core::option::Option<alloc::string::String>
+pub radroots_event_codec::profile::LegacyProfile::banner: core::option::Option<alloc::string::String>
+pub radroots_event_codec::profile::LegacyProfile::bot: core::option::Option<alloc::string::String>
+pub radroots_event_codec::profile::LegacyProfile::display_name: core::option::Option<alloc::string::String>
+pub radroots_event_codec::profile::LegacyProfile::lud06: core::option::Option<alloc::string::String>
+pub radroots_event_codec::profile::LegacyProfile::lud16: core::option::Option<alloc::string::String>
+pub radroots_event_codec::profile::LegacyProfile::name: alloc::string::String
+pub radroots_event_codec::profile::LegacyProfile::nip05: core::option::Option<alloc::string::String>
+pub radroots_event_codec::profile::LegacyProfile::picture: core::option::Option<alloc::string::String>
+pub radroots_event_codec::profile::LegacyProfile::website: core::option::Option<alloc::string::String>
+pub struct radroots_event_codec::profile::RadrootsProfileData
+pub radroots_event_codec::profile::RadrootsProfileData::profile: radroots_event_codec::profile::LegacyProfile
+pub radroots_event_codec::profile::RadrootsProfileData::profile_type: core::option::Option<radroots_event::profile::ProfileType>
+pub mod radroots_event_codec::reaction
+pub mod radroots_event_codec::reaction::decode
+pub fn radroots_event_codec::reaction::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::post::reaction::Reaction>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::reaction::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::post::reaction::Reaction>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::reaction::decode::reaction_from_tags(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::post::reaction::Reaction, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::reaction::encode
+pub fn radroots_event_codec::reaction::encode::reaction_build_tags(&radroots_event::post::reaction::Reaction) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::reaction::encode::to_wire_parts(&radroots_event::post::reaction::Reaction) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::reaction::encode::to_wire_parts_with_kind(&radroots_event::post::reaction::Reaction, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::relay_auth
+pub mod radroots_event_codec::relay_auth::decode
+pub fn radroots_event_codec::relay_auth::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::relay_auth::RelayAuth>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::relay_auth::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::relay_auth::RelayAuth>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::relay_auth::decode::relay_auth_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::relay_auth::RelayAuth, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::relay_auth::encode
+pub fn radroots_event_codec::relay_auth::encode::relay_auth_build_tags(&radroots_event::social::relay_auth::RelayAuth) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::relay_auth::encode::to_wire_parts(&radroots_event::social::relay_auth::RelayAuth) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::relay_auth::encode::to_wire_parts_with_kind(&radroots_event::social::relay_auth::RelayAuth, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::relay_document
+pub mod radroots_event_codec::relay_document::decode
+pub fn radroots_event_codec::relay_document::decode::from_json(&str) -> core::result::Result<radroots_event::social::relay_document::RelayDocument, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::relay_document::encode
+pub fn radroots_event_codec::relay_document::encode::to_json(&radroots_event::social::relay_document::RelayDocument) -> core::result::Result<alloc::string::String, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::reply
+pub mod radroots_event_codec::reply::admission
+#[non_exhaustive] pub enum radroots_event_codec::reply::admission::RadrootsNip10ReplyAdmissionError
+pub radroots_event_codec::reply::admission::RadrootsNip10ReplyAdmissionError::Nip01Verification(crate::verification::RadrootsNip01VerificationError)
+pub radroots_event_codec::reply::admission::RadrootsNip10ReplyAdmissionError::Projection(crate::reply::inbound::RadrootsNip10ReplyProjectionError)
+impl radroots_event_codec::reply::admission::RadrootsNip10ReplyAdmissionError
+pub const fn radroots_event_codec::reply::admission::RadrootsNip10ReplyAdmissionError::code(&self) -> &'static str
+impl core::error::Error for radroots_event_codec::reply::admission::RadrootsNip10ReplyAdmissionError
+pub fn radroots_event_codec::reply::admission::RadrootsNip10ReplyAdmissionError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::reply::admission::RadrootsNip10ReplyAdmissionError
+pub fn radroots_event_codec::reply::admission::RadrootsNip10ReplyAdmissionError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub struct radroots_event_codec::reply::admission::RadrootsAdmittedNip10ReplyEvent
+impl radroots_event_codec::reply::admission::RadrootsAdmittedNip10ReplyEvent
+pub fn radroots_event_codec::reply::admission::RadrootsAdmittedNip10ReplyEvent::contract(&self) -> &'static radroots_event::contract::registry_v7::EventContract
+pub fn radroots_event_codec::reply::admission::RadrootsAdmittedNip10ReplyEvent::event(&self) -> &radroots_event::envelope::EventEnvelope
+pub fn radroots_event_codec::reply::admission::RadrootsAdmittedNip10ReplyEvent::into_parts(self) -> (RadrootsSignatureVerifiedEvent, RadrootsInboundNip10ReplyProjection)
+pub fn radroots_event_codec::reply::admission::RadrootsAdmittedNip10ReplyEvent::projection(&self) -> &RadrootsInboundNip10ReplyProjection
+pub fn radroots_event_codec::reply::admission::RadrootsAdmittedNip10ReplyEvent::verified_event(&self) -> &RadrootsSignatureVerifiedEvent
+pub fn radroots_event_codec::reply::admission::admit_thread_excluded_post_candidate(radroots_event_codec::admission::post::RadrootsThreadExcludedPostCandidate) -> core::result::Result<radroots_event_codec::reply::admission::RadrootsAdmittedNip10ReplyEvent, radroots_event_codec::reply::admission::RadrootsNip10ReplyAdmissionError>
+pub fn radroots_event_codec::reply::admission::admit_verified_nip10_reply_event(crate::verification::RadrootsSignatureVerifiedEvent) -> core::result::Result<radroots_event_codec::reply::admission::RadrootsAdmittedNip10ReplyEvent, radroots_event_codec::reply::admission::RadrootsNip10ReplyAdmissionError>
+pub fn radroots_event_codec::reply::admission::verify_and_admit_nip10_reply_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::reply::admission::RadrootsAdmittedNip10ReplyEvent, radroots_event_codec::reply::admission::RadrootsNip10ReplyAdmissionError>
+pub mod radroots_event_codec::reply::authored
+pub fn radroots_event_codec::reply::authored::authored_nip10_reply_to_wire_parts(&radroots_event::post::reply::AuthoredNip10Reply) -> radroots_event::wire::v1::Nip01EventWireParts
+pub mod radroots_event_codec::reply::inbound
+pub mod radroots_event_codec::report
+pub mod radroots_event_codec::report::decode
+pub fn radroots_event_codec::report::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::post::report::Report>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::report::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::post::report::Report>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::report::decode::report_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::post::report::Report, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::report::encode
+pub fn radroots_event_codec::report::encode::report_build_tags(&radroots_event::post::report::Report) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::report::encode::to_wire_parts(&radroots_event::post::report::Report) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::report::encode::to_wire_parts_with_kind(&radroots_event::post::report::Report, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::repost
+pub mod radroots_event_codec::repost::decode
+pub fn radroots_event_codec::repost::decode::generic_repost_data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::post::repost::GenericRepost>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::repost::decode::generic_repost_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::post::repost::GenericRepost, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::repost::decode::generic_repost_parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::post::repost::GenericRepost>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::repost::decode::repost_data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::post::repost::Repost>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::repost::decode::repost_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::post::repost::Repost, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::repost::decode::repost_parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::post::repost::Repost>, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::repost::encode
+pub fn radroots_event_codec::repost::encode::generic_repost_build_tags(&radroots_event::post::repost::GenericRepost) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::repost::encode::generic_repost_to_wire_parts(&radroots_event::post::repost::GenericRepost) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::repost::encode::generic_repost_to_wire_parts_with_kind(&radroots_event::post::repost::GenericRepost, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::repost::encode::repost_build_tags(&radroots_event::post::repost::Repost) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::repost::encode::repost_to_wire_parts(&radroots_event::post::repost::Repost) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::repost::encode::repost_to_wire_parts_with_kind(&radroots_event::post::repost::Repost, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::resource_area
+pub mod radroots_event_codec::resource_area::decode
+pub fn radroots_event_codec::resource_area::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::farm::resource_area::ResourceArea>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::resource_area::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::farm::resource_area::ResourceArea>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::resource_area::decode::resource_area_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::farm::resource_area::ResourceArea, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::resource_area::encode
+pub fn radroots_event_codec::resource_area::encode::resource_area_build_tags(&radroots_event::farm::resource_area::ResourceArea) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::resource_area::encode::resource_area_ref_tags(&radroots_event::farm::resource_area::ResourceAreaRef) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::resource_area::encode::to_wire_parts(&radroots_event::farm::resource_area::ResourceArea) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::resource_area::encode::to_wire_parts_with_kind(&radroots_event::farm::resource_area::ResourceArea, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::resource_area::list_sets
+pub fn radroots_event_codec::resource_area::list_sets::resource_area_members_farms_list_set<I>(&str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = radroots_event::farm::FarmRef>
+pub fn radroots_event_codec::resource_area::list_sets::resource_area_members_plots_list_set<I>(&str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = radroots_event::farm::plot::PlotRef>
+pub fn radroots_event_codec::resource_area::list_sets::resource_area_stewards_list_set<I, S>(&str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::error::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str>
+pub mod radroots_event_codec::resource_cap
+pub mod radroots_event_codec::resource_cap::decode
+pub fn radroots_event_codec::resource_cap::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::farm::resource_cap::ResourceHarvestCap>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::resource_cap::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::farm::resource_cap::ResourceHarvestCap>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::resource_cap::decode::resource_harvest_cap_from_event(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::farm::resource_cap::ResourceHarvestCap, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::resource_cap::encode
+pub fn radroots_event_codec::resource_cap::encode::resource_harvest_cap_build_tags(&radroots_event::farm::resource_cap::ResourceHarvestCap) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::resource_cap::encode::to_wire_parts(&radroots_event::farm::resource_cap::ResourceHarvestCap) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::resource_cap::encode::to_wire_parts_with_kind(&radroots_event::farm::resource_cap::ResourceHarvestCap, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::seal
+pub mod radroots_event_codec::seal::decode
+pub fn radroots_event_codec::seal::decode::data_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::seal::Seal>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::seal::decode::parsed_from_event(alloc::string::String, alloc::string::String, u64, u32, alloc::string::String, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::seal::Seal>, radroots_event_codec::error::EventParseError>
+pub fn radroots_event_codec::seal::decode::seal_from_parts(u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::social::seal::Seal, radroots_event_codec::error::EventParseError>
+pub mod radroots_event_codec::seal::encode
+pub fn radroots_event_codec::seal::encode::seal_build_tags(&radroots_event::social::seal::Seal) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::seal::encode::to_wire_parts(&radroots_event::social::seal::Seal) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::seal::encode::to_wire_parts_with_kind(&radroots_event::social::seal::Seal, u32) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::tag_builders
+pub trait radroots_event_codec::tag_builders::RadrootsEventTagBuilder
+pub type radroots_event_codec::tag_builders::RadrootsEventTagBuilder::Error
+pub fn radroots_event_codec::tag_builders::RadrootsEventTagBuilder::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::farm::Farm
+pub type radroots_event::farm::Farm::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::farm::Farm::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::farm::coop::Coop
+pub type radroots_event::farm::coop::Coop::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::farm::coop::Coop::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::farm::plot::Plot
+pub type radroots_event::farm::plot::Plot::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::farm::plot::Plot::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::farm::resource_area::ResourceArea
+pub type radroots_event::farm::resource_area::ResourceArea::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::farm::resource_area::ResourceArea::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::farm::resource_cap::ResourceHarvestCap
+pub type radroots_event::farm::resource_cap::ResourceHarvestCap::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::farm::resource_cap::ResourceHarvestCap::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::ContributionAttestation
+pub type radroots_event::knowledge::ContributionAttestation::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::knowledge::ContributionAttestation::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::EvidenceBounty
+pub type radroots_event::knowledge::EvidenceBounty::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::knowledge::EvidenceBounty::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::KnowledgeChangeProposal
+pub type radroots_event::knowledge::KnowledgeChangeProposal::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::knowledge::KnowledgeChangeProposal::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::KnowledgeClaim
+pub type radroots_event::knowledge::KnowledgeClaim::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::knowledge::KnowledgeClaim::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::KnowledgeFieldReport
+pub type radroots_event::knowledge::KnowledgeFieldReport::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::knowledge::KnowledgeFieldReport::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::KnowledgeRelation
+pub type radroots_event::knowledge::KnowledgeRelation::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::knowledge::KnowledgeRelation::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::KnowledgeReview
+pub type radroots_event::knowledge::KnowledgeReview::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::knowledge::KnowledgeReview::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::KnowledgeSource
+pub type radroots_event::knowledge::KnowledgeSource::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::knowledge::KnowledgeSource::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::WikiArticle
+pub type radroots_event::knowledge::WikiArticle::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::knowledge::WikiArticle::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::WikiMergeRequest
+pub type radroots_event::knowledge::WikiMergeRequest::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::knowledge::WikiMergeRequest::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::WikiRedirect
+pub type radroots_event::knowledge::WikiRedirect::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::knowledge::WikiRedirect::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::listing::operational::OperationalListing
+pub type radroots_event::listing::operational::OperationalListing::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::listing::operational::OperationalListing::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::post::document::Document
+pub type radroots_event::post::document::Document::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::post::document::Document::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::post::reaction::Reaction
+pub type radroots_event::post::reaction::Reaction::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::post::reaction::Reaction::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::app_data::AppData
+pub type radroots_event::social::app_data::AppData::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::social::app_data::AppData::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::follow::Follow
+pub type radroots_event::social::follow::Follow::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::social::follow::Follow::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::geochat::GeoChat
+pub type radroots_event::social::geochat::GeoChat::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::social::geochat::GeoChat::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::gift_wrap::GiftWrap
+pub type radroots_event::social::gift_wrap::GiftWrap::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::social::gift_wrap::GiftWrap::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::job_feedback::JobFeedback
+pub type radroots_event::social::job_feedback::JobFeedback::Error = radroots_event_codec::job::encode::JobEncodeError
+pub fn radroots_event::social::job_feedback::JobFeedback::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::job_request::JobRequest
+pub type radroots_event::social::job_request::JobRequest::Error = radroots_event_codec::job::encode::JobEncodeError
+pub fn radroots_event::social::job_request::JobRequest::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::job_result::JobResult
+pub type radroots_event::social::job_result::JobResult::Error = radroots_event_codec::job::encode::JobEncodeError
+pub fn radroots_event::social::job_result::JobResult::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::list::List
+pub type radroots_event::social::list::List::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::social::list::List::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::list_set::ListSet
+pub type radroots_event::social::list_set::ListSet::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::social::list_set::ListSet::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::message::Message
+pub type radroots_event::social::message::Message::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::social::message::Message::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::message_file::MessageFile
+pub type radroots_event::social::message_file::MessageFile::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::social::message_file::MessageFile::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::seal::Seal
+pub type radroots_event::social::seal::Seal::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::social::seal::Seal::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+pub mod radroots_event_codec::trade
+pub enum radroots_event_codec::trade::RadrootsTradeMutationParseError
+pub radroots_event_codec::trade::RadrootsTradeMutationParseError::Canonical(radroots_event::trade::TradeProtocolError)
+pub radroots_event_codec::trade::RadrootsTradeMutationParseError::ContractTagMismatch
+pub radroots_event_codec::trade::RadrootsTradeMutationParseError::CounterpartyTagMismatch
+pub radroots_event_codec::trade::RadrootsTradeMutationParseError::InvalidKind(u32)
+pub radroots_event_codec::trade::RadrootsTradeMutationParseError::InvalidTag(&'static str)
+pub radroots_event_codec::trade::RadrootsTradeMutationParseError::KindContractMismatch
+pub radroots_event_codec::trade::RadrootsTradeMutationParseError::MissingTag(&'static str)
+pub radroots_event_codec::trade::RadrootsTradeMutationParseError::ParentTagsMismatch
+pub radroots_event_codec::trade::RadrootsTradeMutationParseError::TradeIdTagMismatch
+impl core::convert::From<radroots_event::trade::TradeProtocolError> for radroots_event_codec::trade::RadrootsTradeMutationParseError
+pub fn radroots_event_codec::trade::RadrootsTradeMutationParseError::from(radroots_event::trade::TradeProtocolError) -> Self
+impl core::error::Error for radroots_event_codec::trade::RadrootsTradeMutationParseError
+impl core::fmt::Display for radroots_event_codec::trade::RadrootsTradeMutationParseError
+pub fn radroots_event_codec::trade::RadrootsTradeMutationParseError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub fn radroots_event_codec::trade::trade_mutation_event_build(radroots_event::trade::TradeMutationEnvelopeV1) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_event_codec::error::EventEncodeError>
+pub fn radroots_event_codec::trade::trade_mutation_from_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event::trade::TradeMutationEnvelopeV1, radroots_event_codec::trade::RadrootsTradeMutationParseError>
+pub fn radroots_event_codec::trade::trade_mutation_tags(&radroots_event::trade::TradeMutationEnvelopeV1) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event_codec::error::EventEncodeError>
+pub mod radroots_event_codec::verification
+pub enum radroots_event_codec::verification::RadrootsDecodeError
+pub radroots_event_codec::verification::RadrootsDecodeError::ContractValidation(radroots_event::contract::registry_v7::ContractValidationError)
+pub radroots_event_codec::verification::RadrootsDecodeError::EventParse(radroots_event_codec::error::EventParseError)
+pub radroots_event_codec::verification::RadrootsDecodeError::Nip01Verification(crate::verification::RadrootsNip01VerificationError)
+pub radroots_event_codec::verification::RadrootsDecodeError::UnsupportedContract
+pub radroots_event_codec::verification::RadrootsDecodeError::UnsupportedContract::contract_id: alloc::string::String
+impl radroots_event_codec::knowledge::verification::RadrootsDecodeError
+pub const fn radroots_event_codec::knowledge::verification::RadrootsDecodeError::code(&self) -> &'static str
+impl core::convert::From<radroots_event::contract::registry_v7::ContractValidationError> for radroots_event_codec::knowledge::verification::RadrootsDecodeError
+pub fn radroots_event_codec::knowledge::verification::RadrootsDecodeError::from(radroots_event::contract::registry_v7::ContractValidationError) -> Self
+impl core::convert::From<radroots_event_codec::error::EventParseError> for radroots_event_codec::knowledge::verification::RadrootsDecodeError
+pub fn radroots_event_codec::knowledge::verification::RadrootsDecodeError::from(radroots_event_codec::error::EventParseError) -> Self
+impl core::error::Error for radroots_event_codec::knowledge::verification::RadrootsDecodeError
+impl core::fmt::Display for radroots_event_codec::knowledge::verification::RadrootsDecodeError
+pub fn radroots_event_codec::knowledge::verification::RadrootsDecodeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub enum radroots_event_codec::verification::RadrootsDecodedEvent
+pub radroots_event_codec::verification::RadrootsDecodedEvent::ContributionAttestation(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::ContributionAttestation>)
+pub radroots_event_codec::verification::RadrootsDecodedEvent::EvidenceBounty(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::EvidenceBounty>)
+pub radroots_event_codec::verification::RadrootsDecodedEvent::KnowledgeChangeProposal(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeChangeProposal>)
+pub radroots_event_codec::verification::RadrootsDecodedEvent::KnowledgeClaim(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeClaim>)
+pub radroots_event_codec::verification::RadrootsDecodedEvent::KnowledgeFieldReport(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeFieldReport>)
+pub radroots_event_codec::verification::RadrootsDecodedEvent::KnowledgeRelation(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeRelation>)
+pub radroots_event_codec::verification::RadrootsDecodedEvent::KnowledgeReview(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeReview>)
+pub radroots_event_codec::verification::RadrootsDecodedEvent::KnowledgeSource(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeSource>)
+pub radroots_event_codec::verification::RadrootsDecodedEvent::WikiArticle(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiArticle>)
+pub radroots_event_codec::verification::RadrootsDecodedEvent::WikiMergeRequest(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiMergeRequest>)
+pub radroots_event_codec::verification::RadrootsDecodedEvent::WikiRedirect(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiRedirect>)
+impl radroots_event_codec::knowledge::verification::RadrootsDecodedEvent
+pub fn radroots_event_codec::knowledge::verification::RadrootsDecodedEvent::event(&self) -> &radroots_event::envelope::EventEnvelope
+pub fn radroots_event_codec::verification::decode_validated_event(RadrootsContractValidatedEvent) -> core::result::Result<radroots_event_codec::knowledge::verification::RadrootsDecodedEvent, radroots_event_codec::knowledge::verification::RadrootsDecodeError>
+pub fn radroots_event_codec::verification::verify_and_decode_radroots_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::knowledge::verification::RadrootsDecodedEvent, radroots_event_codec::knowledge::verification::RadrootsDecodeError>
+pub mod radroots_event_codec::verify
+pub use radroots_event_codec::verify::ContractValidatedEvent
+pub use radroots_event_codec::verify::IdVerifiedEvent
+pub use radroots_event_codec::verify::RawEvent
+pub use radroots_event_codec::verify::SignatureVerifiedEvent
+pub use radroots_event_codec::verify::SignatureVerifier
+pub use radroots_event_codec::verify::VerificationError
+pub enum radroots_event_codec::verify::RadrootsDecodeError
+pub radroots_event_codec::verify::RadrootsDecodeError::ContractValidation(radroots_event::contract::registry_v7::ContractValidationError)
+pub radroots_event_codec::verify::RadrootsDecodeError::EventParse(radroots_event_codec::error::EventParseError)
+pub radroots_event_codec::verify::RadrootsDecodeError::Nip01Verification(crate::verification::RadrootsNip01VerificationError)
+pub radroots_event_codec::verify::RadrootsDecodeError::UnsupportedContract
+pub radroots_event_codec::verify::RadrootsDecodeError::UnsupportedContract::contract_id: alloc::string::String
+impl radroots_event_codec::knowledge::verification::RadrootsDecodeError
+pub const fn radroots_event_codec::knowledge::verification::RadrootsDecodeError::code(&self) -> &'static str
+impl core::convert::From<radroots_event::contract::registry_v7::ContractValidationError> for radroots_event_codec::knowledge::verification::RadrootsDecodeError
+pub fn radroots_event_codec::knowledge::verification::RadrootsDecodeError::from(radroots_event::contract::registry_v7::ContractValidationError) -> Self
+impl core::convert::From<radroots_event_codec::error::EventParseError> for radroots_event_codec::knowledge::verification::RadrootsDecodeError
+pub fn radroots_event_codec::knowledge::verification::RadrootsDecodeError::from(radroots_event_codec::error::EventParseError) -> Self
+impl core::error::Error for radroots_event_codec::knowledge::verification::RadrootsDecodeError
+impl core::fmt::Display for radroots_event_codec::knowledge::verification::RadrootsDecodeError
+pub fn radroots_event_codec::knowledge::verification::RadrootsDecodeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub enum radroots_event_codec::verify::RadrootsDecodedEvent
+pub radroots_event_codec::verify::RadrootsDecodedEvent::ContributionAttestation(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::ContributionAttestation>)
+pub radroots_event_codec::verify::RadrootsDecodedEvent::EvidenceBounty(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::EvidenceBounty>)
+pub radroots_event_codec::verify::RadrootsDecodedEvent::KnowledgeChangeProposal(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeChangeProposal>)
+pub radroots_event_codec::verify::RadrootsDecodedEvent::KnowledgeClaim(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeClaim>)
+pub radroots_event_codec::verify::RadrootsDecodedEvent::KnowledgeFieldReport(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeFieldReport>)
+pub radroots_event_codec::verify::RadrootsDecodedEvent::KnowledgeRelation(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeRelation>)
+pub radroots_event_codec::verify::RadrootsDecodedEvent::KnowledgeReview(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeReview>)
+pub radroots_event_codec::verify::RadrootsDecodedEvent::KnowledgeSource(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeSource>)
+pub radroots_event_codec::verify::RadrootsDecodedEvent::WikiArticle(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiArticle>)
+pub radroots_event_codec::verify::RadrootsDecodedEvent::WikiMergeRequest(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiMergeRequest>)
+pub radroots_event_codec::verify::RadrootsDecodedEvent::WikiRedirect(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiRedirect>)
+impl radroots_event_codec::knowledge::verification::RadrootsDecodedEvent
+pub fn radroots_event_codec::knowledge::verification::RadrootsDecodedEvent::event(&self) -> &radroots_event::envelope::EventEnvelope
+pub fn radroots_event_codec::verify::contract(radroots_event::verification::SignatureVerifiedEvent) -> core::result::Result<radroots_event::verification::ContractValidatedEvent, radroots_event::verification::Error>
+pub fn radroots_event_codec::verify::decode_validated_event(RadrootsContractValidatedEvent) -> core::result::Result<radroots_event_codec::knowledge::verification::RadrootsDecodedEvent, radroots_event_codec::knowledge::verification::RadrootsDecodeError>
+pub fn radroots_event_codec::verify::id(radroots_event::verification::RawEvent) -> core::result::Result<radroots_event::verification::IdVerifiedEvent, radroots_event::verification::Error>
+pub fn radroots_event_codec::verify::signature<V>(radroots_event::verification::IdVerifiedEvent, &V) -> core::result::Result<radroots_event::verification::SignatureVerifiedEvent, radroots_event::verification::Error> where V: radroots_event::verification::SignatureVerifier + ?core::marker::Sized
+pub fn radroots_event_codec::verify::verify_and_decode_radroots_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::knowledge::verification::RadrootsDecodedEvent, radroots_event_codec::knowledge::verification::RadrootsDecodeError>
+pub mod radroots_event_codec::wire
+pub fn radroots_event_codec::wire::canonicalize_tags(&mut alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>)
+pub fn radroots_event_codec::wire::empty_content() -> alloc::string::String
+#[non_exhaustive] pub enum radroots_event_codec::DecodeError
+pub radroots_event_codec::DecodeError::InputTooLarge
+pub radroots_event_codec::DecodeError::InputTooLarge::actual: usize
+pub radroots_event_codec::DecodeError::InputTooLarge::max: usize
+pub radroots_event_codec::DecodeError::InvalidEnvelope(radroots_event::envelope::EventEnvelopeError)
+pub radroots_event_codec::DecodeError::InvalidJson
+pub radroots_event_codec::DecodeError::InvalidWire(radroots_event::wire::v1::EventWireError)
+impl radroots_event_codec::decode::DecodeError
+pub const fn radroots_event_codec::decode::DecodeError::code(&self) -> &'static str
+impl core::error::Error for radroots_event_codec::decode::DecodeError
+pub fn radroots_event_codec::decode::DecodeError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_event_codec::decode::DecodeError
+pub fn radroots_event_codec::decode::DecodeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+#[non_exhaustive] pub enum radroots_event_codec::EncodeError
+pub radroots_event_codec::EncodeError::Json
+impl radroots_event_codec::encode::EncodeError
+pub const fn radroots_event_codec::encode::EncodeError::code(self) -> &'static str
+impl core::error::Error for radroots_event_codec::encode::EncodeError
+impl core::fmt::Display for radroots_event_codec::encode::EncodeError
+pub fn radroots_event_codec::encode::EncodeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub enum radroots_event_codec::RadrootsDecodeError
+pub radroots_event_codec::RadrootsDecodeError::ContractValidation(radroots_event::contract::registry_v7::ContractValidationError)
+pub radroots_event_codec::RadrootsDecodeError::EventParse(radroots_event_codec::error::EventParseError)
+pub radroots_event_codec::RadrootsDecodeError::Nip01Verification(crate::verification::RadrootsNip01VerificationError)
+pub radroots_event_codec::RadrootsDecodeError::UnsupportedContract
+pub radroots_event_codec::RadrootsDecodeError::UnsupportedContract::contract_id: alloc::string::String
+impl radroots_event_codec::knowledge::verification::RadrootsDecodeError
+pub const fn radroots_event_codec::knowledge::verification::RadrootsDecodeError::code(&self) -> &'static str
+impl core::convert::From<radroots_event::contract::registry_v7::ContractValidationError> for radroots_event_codec::knowledge::verification::RadrootsDecodeError
+pub fn radroots_event_codec::knowledge::verification::RadrootsDecodeError::from(radroots_event::contract::registry_v7::ContractValidationError) -> Self
+impl core::convert::From<radroots_event_codec::error::EventParseError> for radroots_event_codec::knowledge::verification::RadrootsDecodeError
+pub fn radroots_event_codec::knowledge::verification::RadrootsDecodeError::from(radroots_event_codec::error::EventParseError) -> Self
+impl core::error::Error for radroots_event_codec::knowledge::verification::RadrootsDecodeError
+impl core::fmt::Display for radroots_event_codec::knowledge::verification::RadrootsDecodeError
+pub fn radroots_event_codec::knowledge::verification::RadrootsDecodeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub enum radroots_event_codec::RadrootsDecodedEvent
+pub radroots_event_codec::RadrootsDecodedEvent::ContributionAttestation(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::ContributionAttestation>)
+pub radroots_event_codec::RadrootsDecodedEvent::EvidenceBounty(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::EvidenceBounty>)
+pub radroots_event_codec::RadrootsDecodedEvent::KnowledgeChangeProposal(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeChangeProposal>)
+pub radroots_event_codec::RadrootsDecodedEvent::KnowledgeClaim(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeClaim>)
+pub radroots_event_codec::RadrootsDecodedEvent::KnowledgeFieldReport(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeFieldReport>)
+pub radroots_event_codec::RadrootsDecodedEvent::KnowledgeRelation(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeRelation>)
+pub radroots_event_codec::RadrootsDecodedEvent::KnowledgeReview(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeReview>)
+pub radroots_event_codec::RadrootsDecodedEvent::KnowledgeSource(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeSource>)
+pub radroots_event_codec::RadrootsDecodedEvent::WikiArticle(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiArticle>)
+pub radroots_event_codec::RadrootsDecodedEvent::WikiMergeRequest(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiMergeRequest>)
+pub radroots_event_codec::RadrootsDecodedEvent::WikiRedirect(radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiRedirect>)
+impl radroots_event_codec::knowledge::verification::RadrootsDecodedEvent
+pub fn radroots_event_codec::knowledge::verification::RadrootsDecodedEvent::event(&self) -> &radroots_event::envelope::EventEnvelope
+pub struct radroots_event_codec::Codec
+impl radroots_event_codec::Codec
+pub fn radroots_event_codec::Codec::decode_event(&str) -> core::result::Result<radroots_event::verification::RawEvent, radroots_event_codec::decode::DecodeError>
+pub fn radroots_event_codec::Codec::encode_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<alloc::string::String, radroots_event_codec::encode::EncodeError>
+pub fn radroots_event_codec::Codec::verify_contract(radroots_event::verification::SignatureVerifiedEvent) -> core::result::Result<radroots_event::verification::ContractValidatedEvent, radroots_event::verification::Error>
+pub fn radroots_event_codec::Codec::verify_id(radroots_event::verification::RawEvent) -> core::result::Result<radroots_event::verification::IdVerifiedEvent, radroots_event::verification::Error>
+pub fn radroots_event_codec::Codec::verify_signature<V>(radroots_event::verification::IdVerifiedEvent, &V) -> core::result::Result<radroots_event::verification::SignatureVerifiedEvent, radroots_event::verification::Error> where V: radroots_event::verification::SignatureVerifier + ?core::marker::Sized
+pub struct radroots_event_codec::RadrootsEventContractRegistryV7Inventory
+pub radroots_event_codec::RadrootsEventContractRegistryV7Inventory::event_contract_registry_version: u32
+pub radroots_event_codec::RadrootsEventContractRegistryV7Inventory::event_contracts: alloc::vec::Vec<radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7InventoryEntry>
+pub radroots_event_codec::RadrootsEventContractRegistryV7Inventory::kind_contracts: alloc::vec::Vec<radroots_event_codec::manifest::registry_v7::RadrootsKindContractRegistryV7InventoryEntry>
+pub radroots_event_codec::RadrootsEventContractRegistryV7Inventory::schema_version: u32
+pub const radroots_event_codec::RADROOTS_EVENT_CONTRACT_REGISTRY_V7_EVENT_COUNT: usize
+pub const radroots_event_codec::RADROOTS_EVENT_CONTRACT_REGISTRY_V7_INVENTORY_SCHEMA_VERSION: u32
+pub const radroots_event_codec::RADROOTS_EVENT_CONTRACT_REGISTRY_V7_KIND_COUNT: usize
+pub const radroots_event_codec::RADROOTS_EVENT_CONTRACT_REGISTRY_V7_VERSION: u32
+pub const radroots_event_codec::RADROOTS_KNOWLEDGE_CONTRACT_MANIFEST_SCHEMA_VERSION: u32
+pub trait radroots_event_codec::RadrootsEventTagBuilder
+pub type radroots_event_codec::RadrootsEventTagBuilder::Error
+pub fn radroots_event_codec::RadrootsEventTagBuilder::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::farm::Farm
+pub type radroots_event::farm::Farm::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::farm::Farm::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::farm::coop::Coop
+pub type radroots_event::farm::coop::Coop::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::farm::coop::Coop::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::farm::plot::Plot
+pub type radroots_event::farm::plot::Plot::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::farm::plot::Plot::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::farm::resource_area::ResourceArea
+pub type radroots_event::farm::resource_area::ResourceArea::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::farm::resource_area::ResourceArea::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::farm::resource_cap::ResourceHarvestCap
+pub type radroots_event::farm::resource_cap::ResourceHarvestCap::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::farm::resource_cap::ResourceHarvestCap::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::ContributionAttestation
+pub type radroots_event::knowledge::ContributionAttestation::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::knowledge::ContributionAttestation::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::EvidenceBounty
+pub type radroots_event::knowledge::EvidenceBounty::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::knowledge::EvidenceBounty::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::KnowledgeChangeProposal
+pub type radroots_event::knowledge::KnowledgeChangeProposal::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::knowledge::KnowledgeChangeProposal::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::KnowledgeClaim
+pub type radroots_event::knowledge::KnowledgeClaim::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::knowledge::KnowledgeClaim::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::KnowledgeFieldReport
+pub type radroots_event::knowledge::KnowledgeFieldReport::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::knowledge::KnowledgeFieldReport::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::KnowledgeRelation
+pub type radroots_event::knowledge::KnowledgeRelation::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::knowledge::KnowledgeRelation::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::KnowledgeReview
+pub type radroots_event::knowledge::KnowledgeReview::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::knowledge::KnowledgeReview::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::KnowledgeSource
+pub type radroots_event::knowledge::KnowledgeSource::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::knowledge::KnowledgeSource::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::WikiArticle
+pub type radroots_event::knowledge::WikiArticle::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::knowledge::WikiArticle::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::WikiMergeRequest
+pub type radroots_event::knowledge::WikiMergeRequest::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::knowledge::WikiMergeRequest::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::WikiRedirect
+pub type radroots_event::knowledge::WikiRedirect::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::knowledge::WikiRedirect::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::listing::operational::OperationalListing
+pub type radroots_event::listing::operational::OperationalListing::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::listing::operational::OperationalListing::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::post::document::Document
+pub type radroots_event::post::document::Document::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::post::document::Document::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::post::reaction::Reaction
+pub type radroots_event::post::reaction::Reaction::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::post::reaction::Reaction::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::app_data::AppData
+pub type radroots_event::social::app_data::AppData::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::social::app_data::AppData::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::follow::Follow
+pub type radroots_event::social::follow::Follow::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::social::follow::Follow::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::geochat::GeoChat
+pub type radroots_event::social::geochat::GeoChat::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::social::geochat::GeoChat::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::gift_wrap::GiftWrap
+pub type radroots_event::social::gift_wrap::GiftWrap::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::social::gift_wrap::GiftWrap::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::job_feedback::JobFeedback
+pub type radroots_event::social::job_feedback::JobFeedback::Error = radroots_event_codec::job::encode::JobEncodeError
+pub fn radroots_event::social::job_feedback::JobFeedback::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::job_request::JobRequest
+pub type radroots_event::social::job_request::JobRequest::Error = radroots_event_codec::job::encode::JobEncodeError
+pub fn radroots_event::social::job_request::JobRequest::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::job_result::JobResult
+pub type radroots_event::social::job_result::JobResult::Error = radroots_event_codec::job::encode::JobEncodeError
+pub fn radroots_event::social::job_result::JobResult::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::list::List
+pub type radroots_event::social::list::List::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::social::list::List::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::list_set::ListSet
+pub type radroots_event::social::list_set::ListSet::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::social::list_set::ListSet::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::message::Message
+pub type radroots_event::social::message::Message::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::social::message::Message::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::message_file::MessageFile
+pub type radroots_event::social::message_file::MessageFile::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::social::message_file::MessageFile::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+impl radroots_event_codec::tag_builders::RadrootsEventTagBuilder for radroots_event::social::seal::Seal
+pub type radroots_event::social::seal::Seal::Error = radroots_event_codec::error::EventEncodeError
+pub fn radroots_event::social::seal::Seal::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error>
+pub fn radroots_event_codec::contract_manifest_json() -> core::result::Result<alloc::string::String, serde_json::error::Error>
+pub fn radroots_event_codec::contract_manifest_sha256() -> core::result::Result<alloc::string::String, serde_json::error::Error>
+pub fn radroots_event_codec::decode_validated_event(RadrootsContractValidatedEvent) -> core::result::Result<radroots_event_codec::knowledge::verification::RadrootsDecodedEvent, radroots_event_codec::knowledge::verification::RadrootsDecodeError>
+pub fn radroots_event_codec::event_contract_registry_v7_inventory() -> radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Inventory
+pub fn radroots_event_codec::event_contract_registry_v7_inventory_json() -> core::result::Result<alloc::string::String, serde_json::error::Error>
+pub fn radroots_event_codec::event_contract_registry_v7_inventory_sha256() -> core::result::Result<alloc::string::String, serde_json::error::Error>
+pub fn radroots_event_codec::knowledge_contract_manifest() -> radroots_event_codec::manifest::RadrootsKnowledgeContractManifest
+pub fn radroots_event_codec::parse_event_contract_registry_v7_inventory_json(&str) -> core::result::Result<radroots_event_codec::manifest::registry_v7::RadrootsEventContractRegistryV7Inventory, serde_json::error::Error>
+pub fn radroots_event_codec::verify_and_decode_radroots_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::knowledge::verification::RadrootsDecodedEvent, radroots_event_codec::knowledge::verification::RadrootsDecodeError>
diff --git a/tools/xtask/src/contract/nip09_reconciliation.rs b/tools/xtask/src/contract/nip09_reconciliation.rs
@@ -5295,6 +5295,7 @@ fn validate_raw_crate_attributes(relative: &str, source: &str) -> Result<(), Str
"#![cfg_attr(not(feature=\"std\"),no_std)]",
"#![cfg_attr(coverage_nightly,feature(coverage_attribute))]",
"#![forbid(unsafe_code)]",
+ "#![doc=include_str!(\"../README.md\")]",
],
"crates/blossom/src/lib.rs" => &[
"#![doc=include_str!(\"../README.md\")]",