lib

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

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:
Mcrates/event_codec/README.md | 482+++++++++++++++++++++++++------------------------------------------------------
Acrates/event_codec/examples/verify_profile.rs | 13+++++++++++++
Mcrates/event_codec/src/admission.rs | 7+++++++
Mcrates/event_codec/src/lib.rs | 1+
Mcrates/event_codec/src/manifest.rs | 6++++++
Mcrates/event_codec/tests/package_boundary.rs | 40++++++++++++++++++++++++++++++++++++++++
Mcrates/event_store/contracts/source_maintenance_v1.manifest.json | 12++++++------
Mcrates/event_store/contracts/source_maintenance_v1.manifest.sha256 | 2+-
Mcrates/event_store/src/generated/source_maintenance_manifest.rs | 4++--
Mdocs/api/README.md | 1+
Adocs/api/radroots_event_codec.txt | 2455+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mtools/xtask/src/contract/nip09_reconciliation.rs | 1+
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\")]",