lib

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

commit 9155c116ec80bc532bff4e9faa752613d9776343
parent 3fcace7e84036a9d247e95991a029bc078ab5a2a
Author: triesap <tyson@radroots.org>
Date:   Sun,  9 Aug 2026 05:38:12 +0000

contracts: relocate standalone documentation authority

Diffstat:
MAGENTS.md | 40++++++++++++++++++++++++++--------------
MAGENT_INSTRUCTIONS.md | 36++++++++++++++++++++++++++++++++++--
MCONTRIBUTING.md | 22++++++++++++----------
Mbuild/nix/common.nix | 4----
Acontracts/api_baselines/radroots.txt | 131+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acontracts/api_baselines/radroots_blossom.txt | 348+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acontracts/api_baselines/radroots_core.txt | 521+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acontracts/api_baselines/radroots_event.txt | 3594+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acontracts/api_baselines/radroots_event_codec.txt | 1459+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acontracts/api_baselines/radroots_geonames.txt | 163+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acontracts/api_baselines/radroots_identity.txt | 378+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acontracts/api_baselines/radroots_nostr.txt | 339+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acontracts/api_baselines/radroots_nostr_connect.txt | 658+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acontracts/api_baselines/radroots_protocol.txt | 791+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acontracts/api_baselines/radroots_sdk.txt | 539+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acontracts/api_baselines/radroots_secrets.txt | 511+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acontracts/api_baselines/radroots_signing.txt | 385+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acontracts/api_baselines/radroots_storage.txt | 1552+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acontracts/api_baselines/radroots_trade.txt | 354+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acontracts/api_baselines/radroots_transport.txt | 683+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acontracts/api_baselines/radroots_transport_nostr.txt | 162+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acontracts/architecture/decisions/public_api_leakage_migration_baseline.v1.toml | 39+++++++++++++++++++++++++++++++++++++++
Acontracts/architecture/deviations.toml | 327+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acontracts/architecture/retired_compatibility.v1.toml | 43+++++++++++++++++++++++++++++++++++++++++++
Mcontracts/crates/release.v2.toml | 14+++++++-------
Acontracts/crates/release_v1/radroots_crates_release_v1.dot | 102+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acontracts/crates/release_v1/radroots_crates_release_v1.sha256 | 4++++
Acontracts/crates/release_v1/radroots_crates_release_v1.toml | 668+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acontracts/crates/release_v1/radroots_crates_release_v1_inventory.csv | 20++++++++++++++++++++
Mcontracts/releases/api_boundaries.toml | 57---------------------------------------------------------
Mcrates/blossom/README.md | 6+++---
Mcrates/core/README.md | 6+++---
Mcrates/event/tests/package_boundary.rs | 2+-
Mcrates/event/tests/source_boundary.rs | 2+-
Mcrates/event_codec/README.md | 8++++----
Mcrates/event_codec/tests/package_boundary.rs | 2+-
Mcrates/geonames/README.md | 4++--
Mcrates/geonames/tests/package_boundary.rs | 11+++--------
Mcrates/identity/README.md | 10+++++-----
Mcrates/nostr/README.md | 2+-
Mcrates/nostr/tests/package_boundary.rs | 2+-
Mcrates/nostr_connect/README.md | 8++++----
Mcrates/nostr_connect/tests/package_boundary.rs | 3++-
Mcrates/protocol/README.md | 4++--
Mcrates/radroots/README.md | 4++--
Mcrates/sdk/README.md | 4++--
Mcrates/secrets/README.md | 8++++----
Mcrates/secrets/tests/security_contract.rs | 2+-
Mcrates/signing/README.md | 2+-
Mcrates/signing/tests/package_boundary.rs | 4++--
Mcrates/storage/README.md | 2+-
Mcrates/trade/README.md | 8++++----
Mcrates/trade/tests/package_boundary.rs | 2+-
Mcrates/transport/README.md | 2+-
Mcrates/transport/tests/package_boundary.rs | 6+++---
Mcrates/transport_nostr/README.md | 4++--
Mcrates/transport_nostr/tests/legacy_quarantine.rs | 7++++---
Mcrates/transport_nostr/tests/package_boundary.rs | 11++++-------
Mcrates/transport_nostr/tests/workspace_consumers.rs | 2+-
Mtools/xtask/src/architecture.rs | 88++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------
Mtools/xtask/src/architecture/api_leakage.rs | 253++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------
Mtools/xtask/src/architecture/core_contract.rs | 7++++---
Mtools/xtask/src/architecture/dependency_boundary.rs | 2+-
Atools/xtask/src/architecture/retired_compatibility.rs | 150+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mtools/xtask/src/catalog.rs | 32+++++++++++++++++++++++++-------
Mtools/xtask/src/contract.rs | 87+++++++++++++++++++++++++++++++++++--------------------------------------------
Dtools/xtask/tests/fixtures/api-leakage/adr-exception.rs | 3---
67 files changed, 14412 insertions(+), 292 deletions(-)

diff --git a/AGENTS.md b/AGENTS.md @@ -14,24 +14,32 @@ This file exists for compatibility with tools that look for AGENTS.md. ## 2. Source of intent -- Read `docs/specs/README.md` and - `docs/specs/radroots_crates_release_v1.md` before changing a public package, - package identity, dependency, feature, or release control. -- The Markdown specification is normative. Its TOML catalog is the executable - package and dependency representation; the CSV and DOT files are review - aids. +- Read `contracts/crates/release.v2.toml`, + `contracts/crates/release_v1/radroots_crates_release_v1.toml`, and + `contracts/crates/catalog.v2.toml` before changing a public package, package + identity, dependency, feature, or release control. +- Machine contracts under `contracts/**` are the standalone authority. Human + specifications, decisions, runbooks, and qualification evidence belong + under the parent monorepo's `docs/oss/lib/**` authority and must never become + a standalone build, test, package, or release input. - Current source and tests are implementation evidence. They do not silently override `radroots.crates.release.v1`. - Record any evidence-based plan deviation in - `docs/implementation/deviations.toml`, following - `docs/implementation/DEVIATIONS.md`, before proceeding. Validate it with - `cargo xtask architecture`. + `contracts/architecture/deviations.toml` before proceeding. Validate it with + `cargo xtask architecture`; a normative architecture exception also requires + the applicable machine decision under `contracts/architecture/decisions/**`. + Deviation anchors must resolve the Release V1 TOML through a validated + selector: `repositories.<name>`, `repository_policy`, `release_policy`, + `quality_policy.coverage`, or `package.<name>`. ## 3. Repository operating model - This is a public open-source library workspace; optimize for durable library design, portability, determinism, and explicit contracts. - Keep release and validation automation forge-agnostic; repo-owned xtask commands, Nix apps, tags, and contract metadata are canonical, while committed provider-specific workflow automation is not. -- `.github/**` and capsule-local CI workflows are forbidden. Any required monorepo orchestration belongs exclusively to the parent repository's root `.act/**` authority and must not be copied into this standalone capsule. +- Do not add or retain tracked `docs/**`, `.github/**`, or `.act/**` content. + Keep validation forge-agnostic. Any required monorepo orchestration belongs + exclusively to the parent repository's root `.act/**` authority and must not + be copied into this standalone capsule. - Prefer clean target-state changes over compatibility scaffolding unless compatibility is explicitly required. - Stay within the requested scope and the smallest coherent file set. - Do not fold unrelated cleanup, speculative refactors, or roadmap work into the same change. @@ -59,6 +67,9 @@ Before editing code: - `nix run .#release-preflight` - `cargo xtask architecture` for controlled deviation records and local spec anchors +- Public API baselines live in `contracts/api_baselines/**`. Regenerate one + with `cargo-public-api` `0.52.0` and rustdoc JSON from + `nightly-2026-07-16`, writing the reviewed output back to that directory. - targeted `cargo check -p <crate>` and `cargo test -p <crate>` only inside the Nix shell - `cargo xtask dto-roots --write` after changing configured DTO exports and `cargo xtask dto-roots --check` for exact generated-root freshness @@ -114,7 +125,8 @@ Before editing code: feature closures. - During the migration, every package remains non-publishable until its package-realistic release gates pass and publication is explicitly - authorized. Follow `docs/implementation/PUBLICATION_FREEZE.md`. + authorized. `contracts/releases/publish_policy.toml` is the machine + authority; validation metadata does not authorize upload. ## 8. Service hardening boundaries @@ -156,9 +168,9 @@ trusted-publisher configuration without explicit authorization. - Split unrelated changes into separate commits. - If repository evidence proves a planned step obsolete or unsafe, record the evidence, affected specification anchor, disposition, and validation in - `docs/implementation/deviations.toml`, following - `docs/implementation/DEVIATIONS.md`. A normative architecture change also - requires an approved decision record. Never silently skip or reorder work. + `contracts/architecture/deviations.toml`. A normative architecture change + also requires an approved machine decision under + `contracts/architecture/decisions/**`. Never silently skip or reorder work. ## 11. Definition of done diff --git a/AGENT_INSTRUCTIONS.md b/AGENT_INSTRUCTIONS.md @@ -66,10 +66,14 @@ Use this mental model: - keep domain logic inside the correct crate rather than spreading it across the workspace - `contracts/` - core-library contract metadata, release-candidate policy, coverage governance, and public conformance assets +- `contracts/api_baselines/` + - reviewed generated public Rust API surfaces +- `contracts/architecture/` + - machine-readable deviations, decisions, and compatibility-retirement authority +- `contracts/crates/release_v1/` + - historical machine catalog, inventory, graph, and checksums retained by release V2 - `contracts/conformance/` - cross-language and cross-surface vector expectations -- `docs/` - - durable workflow and environment documentation - `build/nix/`, `flake.nix`, `treefmt.nix` - canonical environment and CI contract - `tools/xtask/` @@ -77,6 +81,17 @@ Use this mental model: Do not duplicate contract knowledge between crates when `contracts/`, `contracts/conformance/`, or `tools/xtask` already owns it. +Do not add or retain tracked `docs/**`, `.github/**`, or `.act/**`. Root +`README.md`, `AGENTS.md`, `AGENT_INSTRUCTIONS.md`, conventional public project +files, package READMEs, and Rustdoc carry concise standalone guidance. Extended +human authority is parent-owned and is never a standalone command input. + +Deviation `spec_anchors` target the Release V1 TOML and must use one of the +machine selectors enforced by `cargo xtask architecture`: +`repositories.<name>`, `repository_policy`, `release_policy`, +`quality_policy.coverage`, or `package.<name>`. Markdown heading fragments and +unresolved free-form fragments are invalid. + ## 5. Rust engineering standards ### Core design @@ -158,6 +173,23 @@ When a change affects exported models, transforms, identifiers, or public runtim Do not change public behavior in Rust and leave contract or conformance assets stale. +Public API baselines are generated with `cargo-public-api` `0.52.0` and +rustdoc JSON from `nightly-2026-07-16`; the workspace's pinned stable toolchain +still governs package verification. From the canonical development shell, +regenerate one package with: + +```sh +RUSTC="$(rustup which --toolchain nightly-2026-07-16 rustc)" \ +RUSTDOC="$(rustup which --toolchain nightly-2026-07-16 rustdoc)" \ +cargo public-api --manifest-path crates/<crate>/Cargo.toml \ + --all-features -sss \ + > contracts/api_baselines/<package>.txt +``` + +Review each baseline change with the package's machine charter and intended +SemVer impact. Generated listings are evidence of the Rust surface, not +authority to expand it. + ## 7. Canonical validation strategy Use the smallest authoritative lane that proves the change green. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md @@ -4,9 +4,10 @@ Radroots core-library changes are contract-driven and independently reviewable. Before editing, read these files in order: 1. `AGENTS.md` -2. `docs/specs/README.md` -3. `docs/specs/radroots_crates_release_v1.md` for crate-surface work -4. `AGENT_INSTRUCTIONS.md` +2. `AGENT_INSTRUCTIONS.md` +3. `contracts/crates/release.v2.toml` +4. `contracts/crates/release_v1/radroots_crates_release_v1.toml` for + crate-surface work 5. the affected manifests, implementation, contracts, and tests The release-v1 architecture identifier is `radroots.crates.release.v1`. This @@ -42,10 +43,11 @@ Keep commits focused and keep public commit language independent of any private checkout. Do not publish, tag, merge, or change registry ownership without explicit authorization. -When current evidence proves a planned step obsolete or unsafe, follow -`docs/implementation/DEVIATIONS.md` and validate the machine-readable ledger -with `cargo xtask architecture`. Complete -`docs/implementation/STEP_REPORT_TEMPLATE.md`, and keep -`docs/implementation/TRACEABILITY.md` aligned with durable requirements. -Record the evidence and affected spec anchor before changing the plan; do not -silently redefine the architecture. +When current evidence proves a planned step obsolete or unsafe, update +`contracts/architecture/deviations.toml` and validate it with +`cargo xtask architecture`. Record the evidence and affected machine-contract +anchor before changing the plan. Anchors must use a validated Release V1 TOML +selector (`repositories.<name>`, `repository_policy`, `release_policy`, +`quality_policy.coverage`, or `package.<name>`); Markdown heading fragments are +not machine anchors. A normative change also requires the applicable machine +decision. Do not silently redefine the architecture. diff --git a/build/nix/common.nix b/build/nix/common.nix @@ -42,10 +42,6 @@ let ../../rust-toolchain.toml ../../contracts ../../crates - ../../docs/api - ../../docs/decisions - ../../docs/implementation - ../../docs/specs ../../fuzz ../../tools ] diff --git a/contracts/api_baselines/radroots.txt b/contracts/api_baselines/radroots.txt @@ -0,0 +1,131 @@ +pub mod radroots +pub use radroots::Client +pub use radroots::ClientBuilder +pub use radroots::Error +pub use radroots::Result +pub mod radroots::client +pub const fn radroots::client::geonames_enabled() -> bool +pub const fn radroots::client::knowledge_enabled() -> bool +pub const fn radroots::client::local_only() -> radroots_sdk::transport::Profile +pub fn radroots::client::memory() -> radroots_sdk::client::ClientBuilder +pub async fn radroots::client::native(radroots_sdk::storage::SqliteOptions) -> radroots_sdk::error::Result<radroots_sdk::client::ClientBuilder> +pub fn radroots::client::with_nip46_signer(radroots_sdk::client::ClientBuilder, radroots_sdk::signing::Provider) -> radroots_sdk::client::ClientBuilder +pub fn radroots::client::with_transport(radroots_sdk::client::ClientBuilder, alloc::sync::Arc<dyn radroots_transport::source::EventSource>, alloc::sync::Arc<dyn radroots_transport::sink::EventSink>) -> radroots_sdk::client::ClientBuilder +pub mod radroots::event +pub use radroots::event::Error +pub use radroots::event::Event +pub use radroots::event::EventId +pub use radroots::event::EventKind +pub use radroots::event::EventTag +pub use radroots::event::GenericEventDraft +pub use radroots::event::SignedEvent +pub use radroots::event::VerifiedEvent +pub mod radroots::farm +pub use radroots::farm::Farm +pub use radroots::farm::FarmPublicLocation +pub use radroots::farm::FarmRef +pub use radroots::farm::Plan +pub use radroots::farm::PrepareError +pub use radroots::farm::PrepareErrorKind +pub use radroots::farm::PrepareRequest +pub use radroots::farm::prepare +pub mod radroots::identity +pub use radroots::identity::AccountId +pub use radroots::identity::Error +pub use radroots::identity::IdentityId +pub use radroots::identity::Profile +pub use radroots::identity::PublicIdentity +pub use radroots::identity::PublicKey +pub use radroots::identity::Username +pub mod radroots::knowledge +pub use radroots::knowledge::AddressableRef +pub use radroots::knowledge::KnowledgeClaim +pub use radroots::knowledge::KnowledgeFieldReport +pub use radroots::knowledge::KnowledgeRelation +pub use radroots::knowledge::KnowledgeReview +pub use radroots::knowledge::KnowledgeSource +pub use radroots::knowledge::KnowledgeValidationError +pub use radroots::knowledge::WikiArticle +pub use radroots::knowledge::WikiDTagError +pub use radroots::knowledge::WikiMergeRequest +pub use radroots::knowledge::WikiRedirect +pub use radroots::knowledge::normalize_wiki_d_tag +pub use radroots::knowledge::validate_wiki_d_tag +pub mod radroots::listing +pub use radroots::listing::Action +pub use radroots::listing::EditV1 +pub use radroots::listing::Lifecycle +pub use radroots::listing::OperationalListing +pub use radroots::listing::OperationalListingAvailability +pub use radroots::listing::OperationalListingBin +pub use radroots::listing::OperationalListingDeliveryMethod +pub use radroots::listing::OperationalListingImage +pub use radroots::listing::OperationalListingProduct +pub use radroots::listing::OperationalListingPublicLocation +pub use radroots::listing::OperationalListingStatus +pub use radroots::listing::Plan +pub use radroots::listing::PrepareError +pub use radroots::listing::PrepareErrorKind +pub use radroots::listing::PrepareRequest +pub use radroots::listing::prepare +pub mod radroots::signing +pub use radroots::signing::AuthorizationHeader +pub use radroots::signing::BlossomAuthorizationPlan +pub use radroots::signing::BlossomSigningError +pub use radroots::signing::Mode +pub use radroots::signing::Operations +pub use radroots::signing::Provider +pub use radroots::signing::blossom_upload_request +pub mod radroots::storage +pub use radroots::storage::IntegrityStatus +pub use radroots::storage::Operations +pub use radroots::storage::SqliteOpenMode +pub use radroots::storage::SqliteOptions +pub use radroots::storage::SqlitePaths +pub use radroots::storage::Status +pub mod radroots::sync +pub mod radroots::trade +pub use radroots::trade::Currency +pub use radroots::trade::Decimal +pub use radroots::trade::FulfillmentProfileV1 +pub use radroots::trade::Money +pub use radroots::trade::MutationBodyV1 +pub use radroots::trade::MutationKindV1 +pub use radroots::trade::MutationV1 +pub use radroots::trade::Percent +pub use radroots::trade::Plan +pub use radroots::trade::PrepareError +pub use radroots::trade::PrepareErrorKind +pub use radroots::trade::PrepareRequest +pub use radroots::trade::Projection +pub use radroots::trade::Quantity +pub use radroots::trade::QuantityPrice +pub use radroots::trade::ReducerIssue +pub use radroots::trade::ReductionInput +pub use radroots::trade::TradeCancellationProfileV1 +pub use radroots::trade::TradeCandidateLineV1 +pub use radroots::trade::TradeCandidateTermsV1 +pub use radroots::trade::TradeDecisionV1 +pub use radroots::trade::TradeEconomicAdjustmentV1 +pub use radroots::trade::TradeEconomicsProfileV1 +pub use radroots::trade::TradePrivateTermsRefV1 +pub use radroots::trade::Unit +pub use radroots::trade::ValidationError +pub use radroots::trade::WorkflowPlan +pub use radroots::trade::prepare +pub use radroots::trade::project +pub mod radroots::transport +pub use radroots::transport::DaemonAuth +pub use radroots::transport::DaemonConfig +pub use radroots::transport::DaemonDelivery +pub use radroots::transport::DaemonError +pub use radroots::transport::Error +pub use radroots::transport::EventSink +pub use radroots::transport::EventSource +pub use radroots::transport::Profile +pub use radroots::transport::SatisfactionClass +pub use radroots::transport::SatisfactionPolicy +pub use radroots::transport::Target +pub use radroots::transport::TargetPolicy +pub use radroots::transport::TargetSet +pub use radroots::transport::TransportId diff --git a/contracts/api_baselines/radroots_blossom.txt b/contracts/api_baselines/radroots_blossom.txt @@ -0,0 +1,348 @@ +pub mod radroots_blossom +pub mod radroots_blossom::authorization +pub enum radroots_blossom::authorization::AuthorizationAction +pub radroots_blossom::authorization::AuthorizationAction::Delete +pub radroots_blossom::authorization::AuthorizationAction::Get +pub radroots_blossom::authorization::AuthorizationAction::List +pub radroots_blossom::authorization::AuthorizationAction::Media +pub radroots_blossom::authorization::AuthorizationAction::Upload +impl radroots_blossom::authorization::AuthorizationAction +pub const fn radroots_blossom::authorization::AuthorizationAction::as_str(self) -> &'static str +pub fn radroots_blossom::authorization::AuthorizationAction::parse(&str) -> core::result::Result<Self, radroots_blossom::Error> +impl core::fmt::Display for radroots_blossom::authorization::AuthorizationAction +pub fn radroots_blossom::authorization::AuthorizationAction::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_blossom::authorization::AuthorizationAction +pub type radroots_blossom::authorization::AuthorizationAction::Err = radroots_blossom::Error +pub fn radroots_blossom::authorization::AuthorizationAction::from_str(&str) -> core::result::Result<Self, Self::Err> +pub enum radroots_blossom::authorization::AuthorizationTarget +pub radroots_blossom::authorization::AuthorizationTarget::DeleteBlob(radroots_blossom::hash::Sha256) +pub radroots_blossom::authorization::AuthorizationTarget::GetBlob(radroots_blossom::hash::Sha256) +pub radroots_blossom::authorization::AuthorizationTarget::List +pub radroots_blossom::authorization::AuthorizationTarget::Media(radroots_blossom::hash::Sha256) +pub radroots_blossom::authorization::AuthorizationTarget::Mirror(radroots_blossom::hash::Sha256) +pub radroots_blossom::authorization::AuthorizationTarget::Upload(radroots_blossom::hash::Sha256) +impl radroots_blossom::authorization::AuthorizationTarget +pub const fn radroots_blossom::authorization::AuthorizationTarget::action(self) -> radroots_blossom::authorization::AuthorizationAction +pub const fn radroots_blossom::authorization::AuthorizationTarget::implied_hash(self) -> core::option::Option<radroots_blossom::hash::Sha256> +pub enum radroots_blossom::authorization::ServerScopeRequirement +pub radroots_blossom::authorization::ServerScopeRequirement::OptionalAnyMatch +pub radroots_blossom::authorization::ServerScopeRequirement::RequiredAnyMatch +pub struct radroots_blossom::authorization::AuthoredUploadClaim +impl radroots_blossom::authorization::AuthoredUploadClaim +pub fn radroots_blossom::authorization::AuthoredUploadClaim::content(&self) -> &radroots_blossom::authorization::AuthorizationContent +pub const fn radroots_blossom::authorization::AuthoredUploadClaim::created_at(&self) -> u64 +pub const fn radroots_blossom::authorization::AuthoredUploadClaim::expiration(&self) -> u64 +pub fn radroots_blossom::authorization::AuthoredUploadClaim::into_wire_parts(self) -> radroots_blossom::authorization::AuthorizationWireParts +pub const fn radroots_blossom::authorization::AuthoredUploadClaim::lifetime_seconds(&self) -> u64 +pub fn radroots_blossom::authorization::AuthoredUploadClaim::new(radroots_blossom::authorization::AuthorizationContent, radroots_blossom::authorization::ServerDomain, radroots_blossom::hash::Sha256, u64, u64) -> core::result::Result<Self, radroots_blossom::Error> +pub fn radroots_blossom::authorization::AuthoredUploadClaim::server_domain(&self) -> &radroots_blossom::authorization::ServerDomain +pub const fn radroots_blossom::authorization::AuthoredUploadClaim::sha256(&self) -> radroots_blossom::hash::Sha256 +pub fn radroots_blossom::authorization::AuthoredUploadClaim::wire_parts(&self) -> &radroots_blossom::authorization::AuthorizationWireParts +pub struct radroots_blossom::authorization::AuthorizationClaim +impl radroots_blossom::authorization::AuthorizationClaim +pub const fn radroots_blossom::authorization::AuthorizationClaim::action(&self) -> radroots_blossom::authorization::AuthorizationAction +pub fn radroots_blossom::authorization::AuthorizationClaim::content(&self) -> &radroots_blossom::authorization::AuthorizationContent +pub const fn radroots_blossom::authorization::AuthorizationClaim::created_at(&self) -> u64 +pub const fn radroots_blossom::authorization::AuthorizationClaim::expiration(&self) -> u64 +pub fn radroots_blossom::authorization::AuthorizationClaim::hashes(&self) -> &[radroots_blossom::hash::Sha256] +pub fn radroots_blossom::authorization::AuthorizationClaim::parse(&str, u64, &[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<Self, radroots_blossom::Error> +pub fn radroots_blossom::authorization::AuthorizationClaim::server_domains(&self) -> &[radroots_blossom::authorization::ServerDomain] +pub fn radroots_blossom::authorization::AuthorizationClaim::validate(&self, &radroots_blossom::authorization::AuthorizationValidation) -> core::result::Result<radroots_blossom::authorization::ValidatedAuthorizationClaim, radroots_blossom::Error> +pub struct radroots_blossom::authorization::AuthorizationContent(_) +impl radroots_blossom::authorization::AuthorizationContent +pub fn radroots_blossom::authorization::AuthorizationContent::as_str(&self) -> &str +pub fn radroots_blossom::authorization::AuthorizationContent::parse(&str) -> core::result::Result<Self, radroots_blossom::Error> +impl core::fmt::Display for radroots_blossom::authorization::AuthorizationContent +pub fn radroots_blossom::authorization::AuthorizationContent::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_blossom::authorization::AuthorizationContent +pub type radroots_blossom::authorization::AuthorizationContent::Err = radroots_blossom::Error +pub fn radroots_blossom::authorization::AuthorizationContent::from_str(&str) -> core::result::Result<Self, Self::Err> +pub struct radroots_blossom::authorization::AuthorizationValidation +impl radroots_blossom::authorization::AuthorizationValidation +pub fn radroots_blossom::authorization::AuthorizationValidation::bud11(radroots_blossom::authorization::AuthorizationTarget, radroots_blossom::authorization::ServerDomain, u64) -> Self +pub const fn radroots_blossom::authorization::AuthorizationValidation::max_created_age_seconds(&self) -> core::option::Option<u64> +pub const fn radroots_blossom::authorization::AuthorizationValidation::max_lifetime_seconds(&self) -> core::option::Option<u64> +pub fn radroots_blossom::authorization::AuthorizationValidation::new(radroots_blossom::authorization::AuthorizationTarget, radroots_blossom::authorization::ServerDomain, radroots_blossom::authorization::ServerScopeRequirement, u64, u64) -> core::result::Result<Self, radroots_blossom::Error> +pub const fn radroots_blossom::authorization::AuthorizationValidation::now(&self) -> u64 +pub const fn radroots_blossom::authorization::AuthorizationValidation::server_scope_requirement(&self) -> radroots_blossom::authorization::ServerScopeRequirement +pub const fn radroots_blossom::authorization::AuthorizationValidation::target(&self) -> radroots_blossom::authorization::AuthorizationTarget +pub fn radroots_blossom::authorization::AuthorizationValidation::target_server(&self) -> &radroots_blossom::authorization::ServerDomain +pub struct radroots_blossom::authorization::AuthorizationWireParts +impl radroots_blossom::authorization::AuthorizationWireParts +pub fn radroots_blossom::authorization::AuthorizationWireParts::content(&self) -> &str +pub const fn radroots_blossom::authorization::AuthorizationWireParts::created_at(&self) -> u64 +pub fn radroots_blossom::authorization::AuthorizationWireParts::into_parts(self) -> (u16, u64, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, alloc::string::String) +pub const fn radroots_blossom::authorization::AuthorizationWireParts::kind(&self) -> u16 +pub fn radroots_blossom::authorization::AuthorizationWireParts::tags(&self) -> &[alloc::vec::Vec<alloc::string::String>] +pub struct radroots_blossom::authorization::ServerDomain(_) +impl radroots_blossom::authorization::ServerDomain +pub fn radroots_blossom::authorization::ServerDomain::as_str(&self) -> &str +pub fn radroots_blossom::authorization::ServerDomain::parse(&str) -> core::result::Result<Self, radroots_blossom::Error> +impl core::fmt::Display for radroots_blossom::authorization::ServerDomain +pub fn radroots_blossom::authorization::ServerDomain::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_blossom::authorization::ServerDomain +pub type radroots_blossom::authorization::ServerDomain::Err = radroots_blossom::Error +pub fn radroots_blossom::authorization::ServerDomain::from_str(&str) -> core::result::Result<Self, Self::Err> +pub struct radroots_blossom::authorization::ValidatedAuthorizationClaim +impl radroots_blossom::authorization::ValidatedAuthorizationClaim +pub const fn radroots_blossom::authorization::ValidatedAuthorizationClaim::action(&self) -> radroots_blossom::authorization::AuthorizationAction +pub fn radroots_blossom::authorization::ValidatedAuthorizationClaim::claim(&self) -> &radroots_blossom::authorization::AuthorizationClaim +pub fn radroots_blossom::authorization::ValidatedAuthorizationClaim::content(&self) -> &radroots_blossom::authorization::AuthorizationContent +pub const fn radroots_blossom::authorization::ValidatedAuthorizationClaim::created_at(&self) -> u64 +pub const fn radroots_blossom::authorization::ValidatedAuthorizationClaim::expiration(&self) -> u64 +pub fn radroots_blossom::authorization::ValidatedAuthorizationClaim::hashes(&self) -> &[radroots_blossom::hash::Sha256] +pub fn radroots_blossom::authorization::ValidatedAuthorizationClaim::server_domains(&self) -> &[radroots_blossom::authorization::ServerDomain] +pub const fn radroots_blossom::authorization::ValidatedAuthorizationClaim::target(&self) -> radroots_blossom::authorization::AuthorizationTarget +pub fn radroots_blossom::authorization::ValidatedAuthorizationClaim::target_server(&self) -> &radroots_blossom::authorization::ServerDomain +pub const radroots_blossom::authorization::RADROOTS_BLOSSOM_AUTHORIZATION_EVENT_KIND: u16 +pub const radroots_blossom::authorization::RADROOTS_BLOSSOM_AUTH_CONTENT_MAX_BYTES: usize +pub const radroots_blossom::authorization::RADROOTS_BLOSSOM_AUTH_MAX_CREATED_AGE_SECONDS: u64 +pub const radroots_blossom::authorization::RADROOTS_BLOSSOM_AUTH_MAX_HORIZON_SECONDS: u64 +pub mod radroots_blossom::descriptor +pub struct radroots_blossom::descriptor::ApprovedDescriptor +impl radroots_blossom::descriptor::ApprovedDescriptor +pub fn radroots_blossom::descriptor::ApprovedDescriptor::descriptor(&self) -> &radroots_blossom::descriptor::BlobDescriptor +pub fn radroots_blossom::descriptor::ApprovedDescriptor::into_descriptor(self) -> radroots_blossom::descriptor::BlobDescriptor +pub fn radroots_blossom::descriptor::ApprovedDescriptor::url(&self) -> &radroots_blossom::url::ApprovedBlobUrl +pub fn radroots_blossom::descriptor::ApprovedDescriptor::verify_bytes(self, &[u8], &radroots_blossom::media_type::MediaType) -> core::result::Result<radroots_blossom::descriptor::ByteVerifiedDescriptor, radroots_blossom::Error> +pub fn radroots_blossom::descriptor::ApprovedDescriptor::verify_commitment(self, &radroots_blossom::descriptor::ByteCommitment) -> core::result::Result<radroots_blossom::descriptor::ByteVerifiedDescriptor, radroots_blossom::Error> +pub struct radroots_blossom::descriptor::BlobDescriptor +impl radroots_blossom::descriptor::BlobDescriptor +pub fn radroots_blossom::descriptor::BlobDescriptor::approve_reference(self) -> core::result::Result<radroots_blossom::descriptor::ApprovedDescriptor, radroots_blossom::Error> +pub fn radroots_blossom::descriptor::BlobDescriptor::media_type(&self) -> &radroots_blossom::media_type::MediaType +pub fn radroots_blossom::descriptor::BlobDescriptor::new(radroots_blossom::url::BlobUrl, radroots_blossom::hash::Sha256, u64, radroots_blossom::media_type::MediaType, u64) -> core::result::Result<Self, radroots_blossom::Error> +pub const fn radroots_blossom::descriptor::BlobDescriptor::sha256(&self) -> radroots_blossom::hash::Sha256 +pub const fn radroots_blossom::descriptor::BlobDescriptor::size(&self) -> u64 +pub const fn radroots_blossom::descriptor::BlobDescriptor::uploaded(&self) -> u64 +pub fn radroots_blossom::descriptor::BlobDescriptor::url(&self) -> &radroots_blossom::url::BlobUrl +impl serde_core::ser::Serialize for radroots_blossom::descriptor::BlobDescriptor +pub fn radroots_blossom::descriptor::BlobDescriptor::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_blossom::descriptor::BlobDescriptor +pub fn radroots_blossom::descriptor::BlobDescriptor::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_blossom::descriptor::ByteCommitment +impl radroots_blossom::descriptor::ByteCommitment +pub fn radroots_blossom::descriptor::ByteCommitment::from_bytes(&[u8], radroots_blossom::media_type::MediaType) -> Self +pub fn radroots_blossom::descriptor::ByteCommitment::media_type(&self) -> &radroots_blossom::media_type::MediaType +pub const fn radroots_blossom::descriptor::ByteCommitment::sha256(&self) -> radroots_blossom::hash::Sha256 +pub const fn radroots_blossom::descriptor::ByteCommitment::size(&self) -> u64 +pub struct radroots_blossom::descriptor::ByteVerifiedDescriptor(_) +impl radroots_blossom::descriptor::ByteVerifiedDescriptor +pub fn radroots_blossom::descriptor::ByteVerifiedDescriptor::descriptor(&self) -> &radroots_blossom::descriptor::BlobDescriptor +pub fn radroots_blossom::descriptor::ByteVerifiedDescriptor::into_descriptor(self) -> radroots_blossom::descriptor::BlobDescriptor +pub fn radroots_blossom::descriptor::ByteVerifiedDescriptor::media_type(&self) -> &radroots_blossom::media_type::MediaType +pub const fn radroots_blossom::descriptor::ByteVerifiedDescriptor::sha256(&self) -> radroots_blossom::hash::Sha256 +pub const fn radroots_blossom::descriptor::ByteVerifiedDescriptor::size(&self) -> u64 +pub fn radroots_blossom::descriptor::ByteVerifiedDescriptor::url(&self) -> &radroots_blossom::url::ApprovedBlobUrl +pub mod radroots_blossom::hash +pub struct radroots_blossom::hash::FileExtension(_) +impl radroots_blossom::hash::FileExtension +pub fn radroots_blossom::hash::FileExtension::as_str(&self) -> &str +pub fn radroots_blossom::hash::FileExtension::parse(&str) -> core::result::Result<Self, radroots_blossom::Error> +impl core::fmt::Display for radroots_blossom::hash::FileExtension +pub fn radroots_blossom::hash::FileExtension::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_blossom::hash::FileExtension +pub type radroots_blossom::hash::FileExtension::Err = radroots_blossom::Error +pub fn radroots_blossom::hash::FileExtension::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_blossom::hash::FileExtension +pub fn radroots_blossom::hash::FileExtension::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_blossom::hash::FileExtension +pub fn radroots_blossom::hash::FileExtension::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_blossom::hash::HashPath +impl radroots_blossom::hash::HashPath +pub fn radroots_blossom::hash::HashPath::extension(&self) -> core::option::Option<&radroots_blossom::hash::FileExtension> +pub const fn radroots_blossom::hash::HashPath::hash(&self) -> radroots_blossom::hash::Sha256 +pub fn radroots_blossom::hash::HashPath::new(radroots_blossom::hash::Sha256, core::option::Option<radroots_blossom::hash::FileExtension>) -> Self +pub fn radroots_blossom::hash::HashPath::parse(&str) -> core::result::Result<Self, radroots_blossom::Error> +pub fn radroots_blossom::hash::HashPath::to_path(&self) -> alloc::string::String +impl core::fmt::Display for radroots_blossom::hash::HashPath +pub fn radroots_blossom::hash::HashPath::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_blossom::hash::HashPath +pub type radroots_blossom::hash::HashPath::Err = radroots_blossom::Error +pub fn radroots_blossom::hash::HashPath::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_blossom::hash::HashPath +pub fn radroots_blossom::hash::HashPath::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_blossom::hash::HashPath +pub fn radroots_blossom::hash::HashPath::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_blossom::hash::Sha256(_) +impl radroots_blossom::hash::Sha256 +pub const fn radroots_blossom::hash::Sha256::as_bytes(&self) -> &[u8; 32] +pub fn radroots_blossom::hash::Sha256::digest(&[u8]) -> Self +pub const fn radroots_blossom::hash::Sha256::from_bytes([u8; 32]) -> Self +pub fn radroots_blossom::hash::Sha256::from_hex(&str) -> core::result::Result<Self, radroots_blossom::Error> +pub fn radroots_blossom::hash::Sha256::to_hex(self) -> alloc::string::String +impl core::fmt::Display for radroots_blossom::hash::Sha256 +pub fn radroots_blossom::hash::Sha256::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_blossom::hash::Sha256 +pub type radroots_blossom::hash::Sha256::Err = radroots_blossom::Error +pub fn radroots_blossom::hash::Sha256::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_blossom::hash::Sha256 +pub fn radroots_blossom::hash::Sha256::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_blossom::hash::Sha256 +pub fn radroots_blossom::hash::Sha256::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub mod radroots_blossom::media_type +pub struct radroots_blossom::media_type::MediaType(_) +impl radroots_blossom::media_type::MediaType +pub fn radroots_blossom::media_type::MediaType::as_str(&self) -> &str +pub fn radroots_blossom::media_type::MediaType::parse(&str) -> core::result::Result<Self, radroots_blossom::Error> +impl core::fmt::Display for radroots_blossom::media_type::MediaType +pub fn radroots_blossom::media_type::MediaType::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_blossom::media_type::MediaType +pub type radroots_blossom::media_type::MediaType::Err = radroots_blossom::Error +pub fn radroots_blossom::media_type::MediaType::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_blossom::media_type::MediaType +pub fn radroots_blossom::media_type::MediaType::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_blossom::media_type::MediaType +pub fn radroots_blossom::media_type::MediaType::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub mod radroots_blossom::url +pub struct radroots_blossom::url::ApprovedBlobUrl(_) +impl radroots_blossom::url::ApprovedBlobUrl +pub fn radroots_blossom::url::ApprovedBlobUrl::as_blob_url(&self) -> &radroots_blossom::url::BlobUrl +pub fn radroots_blossom::url::ApprovedBlobUrl::as_str(&self) -> &str +pub fn radroots_blossom::url::ApprovedBlobUrl::into_blob_url(self) -> radroots_blossom::url::BlobUrl +impl core::fmt::Display for radroots_blossom::url::ApprovedBlobUrl +pub fn radroots_blossom::url::ApprovedBlobUrl::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_blossom::url::BlobUrl +impl radroots_blossom::url::BlobUrl +pub fn radroots_blossom::url::BlobUrl::approve(self) -> core::result::Result<radroots_blossom::url::ApprovedBlobUrl, radroots_blossom::Error> +pub fn radroots_blossom::url::BlobUrl::as_str(&self) -> &str +pub fn radroots_blossom::url::BlobUrl::hash_path(&self) -> &radroots_blossom::hash::HashPath +pub fn radroots_blossom::url::BlobUrl::host(&self) -> &str +pub fn radroots_blossom::url::BlobUrl::is_https(&self) -> bool +pub fn radroots_blossom::url::BlobUrl::is_loopback_http(&self) -> bool +pub fn radroots_blossom::url::BlobUrl::parse(&str) -> core::result::Result<Self, radroots_blossom::Error> +pub fn radroots_blossom::url::BlobUrl::port(&self) -> core::option::Option<u16> +pub fn radroots_blossom::url::BlobUrl::scheme(&self) -> &str +impl core::fmt::Display for radroots_blossom::url::BlobUrl +pub fn radroots_blossom::url::BlobUrl::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_blossom::url::BlobUrl +pub type radroots_blossom::url::BlobUrl::Err = radroots_blossom::Error +pub fn radroots_blossom::url::BlobUrl::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_blossom::url::BlobUrl +pub fn radroots_blossom::url::BlobUrl::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_blossom::url::BlobUrl +pub fn radroots_blossom::url::BlobUrl::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +#[non_exhaustive] pub enum radroots_blossom::Error +pub radroots_blossom::Error::AuthorizationActionMismatch +pub radroots_blossom::Error::AuthorizationCreatedInFuture +pub radroots_blossom::Error::AuthorizationExpired +pub radroots_blossom::Error::AuthorizationHashMismatch +pub radroots_blossom::Error::AuthorizationHashRequired +pub radroots_blossom::Error::AuthorizationServerMismatch +pub radroots_blossom::Error::AuthorizationServerRequired +pub radroots_blossom::Error::AuthorizationStale +pub radroots_blossom::Error::AuthorizationTimestampOverflow +pub radroots_blossom::Error::BlobHashMismatch +pub radroots_blossom::Error::BlobMediaTypeMismatch +pub radroots_blossom::Error::BlobSizeMismatch +pub radroots_blossom::Error::BlobSizeMismatch::actual: u64 +pub radroots_blossom::Error::BlobSizeMismatch::expected: u64 +pub radroots_blossom::Error::BlobUrlCredentialsForbidden +pub radroots_blossom::Error::BlobUrlFragmentForbidden +pub radroots_blossom::Error::BlobUrlQueryForbidden +pub radroots_blossom::Error::DescriptorExtensionRequired +pub radroots_blossom::Error::DescriptorHashMismatch +pub radroots_blossom::Error::DuplicateAuthorizationActionTag +pub radroots_blossom::Error::DuplicateAuthorizationExpirationTag +pub radroots_blossom::Error::InsecureBlobUrl +pub radroots_blossom::Error::InvalidAuthorizationAction +pub radroots_blossom::Error::InvalidAuthorizationContent +pub radroots_blossom::Error::InvalidAuthorizationCreatedAge +pub radroots_blossom::Error::InvalidAuthorizationLifetime +pub radroots_blossom::Error::InvalidAuthorizationServerDomain +pub radroots_blossom::Error::InvalidBlobUrl +pub radroots_blossom::Error::InvalidFileExtension +pub radroots_blossom::Error::InvalidHashPath +pub radroots_blossom::Error::InvalidMediaType +pub radroots_blossom::Error::InvalidSha256 +pub radroots_blossom::Error::MalformedAuthorizationActionTag +pub radroots_blossom::Error::MalformedAuthorizationExpirationTag +pub radroots_blossom::Error::MalformedAuthorizationHashTag +pub radroots_blossom::Error::MalformedAuthorizationServerTag +pub radroots_blossom::Error::MissingAuthorizationActionTag +pub radroots_blossom::Error::MissingAuthorizationExpirationTag +pub radroots_blossom::Error::UnsupportedBlobUrlScheme +impl radroots_blossom::Error +pub const fn radroots_blossom::Error::code(&self) -> &'static str +impl core::error::Error for radroots_blossom::Error +impl core::fmt::Display for radroots_blossom::Error +pub fn radroots_blossom::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_blossom::AuthorizationClaim +impl radroots_blossom::authorization::AuthorizationClaim +pub const fn radroots_blossom::authorization::AuthorizationClaim::action(&self) -> radroots_blossom::authorization::AuthorizationAction +pub fn radroots_blossom::authorization::AuthorizationClaim::content(&self) -> &radroots_blossom::authorization::AuthorizationContent +pub const fn radroots_blossom::authorization::AuthorizationClaim::created_at(&self) -> u64 +pub const fn radroots_blossom::authorization::AuthorizationClaim::expiration(&self) -> u64 +pub fn radroots_blossom::authorization::AuthorizationClaim::hashes(&self) -> &[radroots_blossom::hash::Sha256] +pub fn radroots_blossom::authorization::AuthorizationClaim::parse(&str, u64, &[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<Self, radroots_blossom::Error> +pub fn radroots_blossom::authorization::AuthorizationClaim::server_domains(&self) -> &[radroots_blossom::authorization::ServerDomain] +pub fn radroots_blossom::authorization::AuthorizationClaim::validate(&self, &radroots_blossom::authorization::AuthorizationValidation) -> core::result::Result<radroots_blossom::authorization::ValidatedAuthorizationClaim, radroots_blossom::Error> +pub struct radroots_blossom::BlobDescriptor +impl radroots_blossom::descriptor::BlobDescriptor +pub fn radroots_blossom::descriptor::BlobDescriptor::approve_reference(self) -> core::result::Result<radroots_blossom::descriptor::ApprovedDescriptor, radroots_blossom::Error> +pub fn radroots_blossom::descriptor::BlobDescriptor::media_type(&self) -> &radroots_blossom::media_type::MediaType +pub fn radroots_blossom::descriptor::BlobDescriptor::new(radroots_blossom::url::BlobUrl, radroots_blossom::hash::Sha256, u64, radroots_blossom::media_type::MediaType, u64) -> core::result::Result<Self, radroots_blossom::Error> +pub const fn radroots_blossom::descriptor::BlobDescriptor::sha256(&self) -> radroots_blossom::hash::Sha256 +pub const fn radroots_blossom::descriptor::BlobDescriptor::size(&self) -> u64 +pub const fn radroots_blossom::descriptor::BlobDescriptor::uploaded(&self) -> u64 +pub fn radroots_blossom::descriptor::BlobDescriptor::url(&self) -> &radroots_blossom::url::BlobUrl +impl serde_core::ser::Serialize for radroots_blossom::descriptor::BlobDescriptor +pub fn radroots_blossom::descriptor::BlobDescriptor::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_blossom::descriptor::BlobDescriptor +pub fn radroots_blossom::descriptor::BlobDescriptor::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_blossom::BlobUrl +impl radroots_blossom::url::BlobUrl +pub fn radroots_blossom::url::BlobUrl::approve(self) -> core::result::Result<radroots_blossom::url::ApprovedBlobUrl, radroots_blossom::Error> +pub fn radroots_blossom::url::BlobUrl::as_str(&self) -> &str +pub fn radroots_blossom::url::BlobUrl::hash_path(&self) -> &radroots_blossom::hash::HashPath +pub fn radroots_blossom::url::BlobUrl::host(&self) -> &str +pub fn radroots_blossom::url::BlobUrl::is_https(&self) -> bool +pub fn radroots_blossom::url::BlobUrl::is_loopback_http(&self) -> bool +pub fn radroots_blossom::url::BlobUrl::parse(&str) -> core::result::Result<Self, radroots_blossom::Error> +pub fn radroots_blossom::url::BlobUrl::port(&self) -> core::option::Option<u16> +pub fn radroots_blossom::url::BlobUrl::scheme(&self) -> &str +impl core::fmt::Display for radroots_blossom::url::BlobUrl +pub fn radroots_blossom::url::BlobUrl::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_blossom::url::BlobUrl +pub type radroots_blossom::url::BlobUrl::Err = radroots_blossom::Error +pub fn radroots_blossom::url::BlobUrl::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_blossom::url::BlobUrl +pub fn radroots_blossom::url::BlobUrl::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_blossom::url::BlobUrl +pub fn radroots_blossom::url::BlobUrl::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_blossom::ByteVerifiedDescriptor(_) +impl radroots_blossom::descriptor::ByteVerifiedDescriptor +pub fn radroots_blossom::descriptor::ByteVerifiedDescriptor::descriptor(&self) -> &radroots_blossom::descriptor::BlobDescriptor +pub fn radroots_blossom::descriptor::ByteVerifiedDescriptor::into_descriptor(self) -> radroots_blossom::descriptor::BlobDescriptor +pub fn radroots_blossom::descriptor::ByteVerifiedDescriptor::media_type(&self) -> &radroots_blossom::media_type::MediaType +pub const fn radroots_blossom::descriptor::ByteVerifiedDescriptor::sha256(&self) -> radroots_blossom::hash::Sha256 +pub const fn radroots_blossom::descriptor::ByteVerifiedDescriptor::size(&self) -> u64 +pub fn radroots_blossom::descriptor::ByteVerifiedDescriptor::url(&self) -> &radroots_blossom::url::ApprovedBlobUrl +pub struct radroots_blossom::MediaType(_) +impl radroots_blossom::media_type::MediaType +pub fn radroots_blossom::media_type::MediaType::as_str(&self) -> &str +pub fn radroots_blossom::media_type::MediaType::parse(&str) -> core::result::Result<Self, radroots_blossom::Error> +impl core::fmt::Display for radroots_blossom::media_type::MediaType +pub fn radroots_blossom::media_type::MediaType::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_blossom::media_type::MediaType +pub type radroots_blossom::media_type::MediaType::Err = radroots_blossom::Error +pub fn radroots_blossom::media_type::MediaType::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_blossom::media_type::MediaType +pub fn radroots_blossom::media_type::MediaType::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_blossom::media_type::MediaType +pub fn radroots_blossom::media_type::MediaType::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_blossom::Sha256(_) +impl radroots_blossom::hash::Sha256 +pub const fn radroots_blossom::hash::Sha256::as_bytes(&self) -> &[u8; 32] +pub fn radroots_blossom::hash::Sha256::digest(&[u8]) -> Self +pub const fn radroots_blossom::hash::Sha256::from_bytes([u8; 32]) -> Self +pub fn radroots_blossom::hash::Sha256::from_hex(&str) -> core::result::Result<Self, radroots_blossom::Error> +pub fn radroots_blossom::hash::Sha256::to_hex(self) -> alloc::string::String +impl core::fmt::Display for radroots_blossom::hash::Sha256 +pub fn radroots_blossom::hash::Sha256::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_blossom::hash::Sha256 +pub type radroots_blossom::hash::Sha256::Err = radroots_blossom::Error +pub fn radroots_blossom::hash::Sha256::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_blossom::hash::Sha256 +pub fn radroots_blossom::hash::Sha256::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_blossom::hash::Sha256 +pub fn radroots_blossom::hash::Sha256::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> diff --git a/contracts/api_baselines/radroots_core.txt b/contracts/api_baselines/radroots_core.txt @@ -0,0 +1,521 @@ +pub mod radroots_core +pub mod radroots_core::currency +#[non_exhaustive] pub enum radroots_core::currency::ParseError +pub radroots_core::currency::ParseError::InvalidFormat +impl core::convert::From<radroots_core::currency::ParseError> for radroots_core::Error +pub fn radroots_core::Error::from(radroots_core::currency::ParseError) -> Self +impl core::error::Error for radroots_core::currency::ParseError +impl core::fmt::Display for radroots_core::currency::ParseError +pub fn radroots_core::currency::ParseError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_core::currency::Currency(_) +impl radroots_core::currency::Currency +pub const radroots_core::currency::Currency::AUD: radroots_core::currency::Currency +pub const radroots_core::currency::Currency::CAD: radroots_core::currency::Currency +pub const radroots_core::currency::Currency::EUR: radroots_core::currency::Currency +pub const radroots_core::currency::Currency::GBP: radroots_core::currency::Currency +pub const radroots_core::currency::Currency::JPY: radroots_core::currency::Currency +pub const radroots_core::currency::Currency::USD: radroots_core::currency::Currency +pub const fn radroots_core::currency::Currency::as_bytes(&self) -> &[u8; 3] +pub fn radroots_core::currency::Currency::as_str(&self) -> &str +pub const fn radroots_core::currency::Currency::from_const([u8; 3]) -> core::result::Result<Self, radroots_core::currency::ParseError> +pub fn radroots_core::currency::Currency::from_str_upper(&str) -> core::result::Result<Self, radroots_core::currency::ParseError> +pub const fn radroots_core::currency::Currency::minor_unit_exponent(&self) -> u32 +impl core::convert::TryFrom<&str> for radroots_core::currency::Currency +pub type radroots_core::currency::Currency::Error = radroots_core::currency::ParseError +pub fn radroots_core::currency::Currency::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::fmt::Debug for radroots_core::currency::Currency +pub fn radroots_core::currency::Currency::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_core::currency::Currency +pub fn radroots_core::currency::Currency::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_core::currency::Currency +pub type radroots_core::currency::Currency::Err = radroots_core::currency::ParseError +pub fn radroots_core::currency::Currency::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_core::currency::Currency +pub fn radroots_core::currency::Currency::serialize<S: serde_core::ser::Serializer>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> +impl<'de> serde_core::de::Deserialize<'de> for radroots_core::currency::Currency +pub fn radroots_core::currency::Currency::deserialize<D: serde_core::de::Deserializer<'de>>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> +pub mod radroots_core::decimal +#[non_exhaustive] pub enum radroots_core::decimal::Error +pub radroots_core::decimal::Error::ArithmeticOverflow +pub radroots_core::decimal::Error::DivisionByZero +pub radroots_core::decimal::Error::InvalidFormat +pub radroots_core::decimal::Error::OutOfRange +pub radroots_core::decimal::Error::PrecisionLoss +pub radroots_core::decimal::Error::ScaleOutOfRange +impl core::convert::From<radroots_core::decimal::Error> for radroots_core::Error +pub fn radroots_core::Error::from(radroots_core::decimal::Error) -> Self +impl core::convert::From<radroots_core::decimal::Error> for radroots_core::money::Error +pub fn radroots_core::money::Error::from(radroots_core::decimal::Error) -> Self +impl core::convert::From<radroots_core::decimal::Error> for radroots_core::quantity::Error +pub fn radroots_core::quantity::Error::from(radroots_core::decimal::Error) -> Self +impl core::error::Error for radroots_core::decimal::Error +impl core::fmt::Display for radroots_core::decimal::Error +pub fn radroots_core::decimal::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_core::decimal::Decimal(_) +impl radroots_core::decimal::Decimal +pub const radroots_core::decimal::Decimal::MAX: Self +pub const radroots_core::decimal::Decimal::MAX_SCALE: u32 +pub const radroots_core::decimal::Decimal::MIN: Self +pub const radroots_core::decimal::Decimal::ONE: Self +pub const radroots_core::decimal::Decimal::ZERO: Self +pub fn radroots_core::decimal::Decimal::checked_add(self, Self) -> core::result::Result<Self, radroots_core::decimal::Error> +pub fn radroots_core::decimal::Decimal::checked_div(self, Self) -> core::result::Result<Self, radroots_core::decimal::Error> +pub fn radroots_core::decimal::Decimal::checked_mul(self, Self) -> core::result::Result<Self, radroots_core::decimal::Error> +pub fn radroots_core::decimal::Decimal::checked_sub(self, Self) -> core::result::Result<Self, radroots_core::decimal::Error> +pub fn radroots_core::decimal::Decimal::from_f64_display(f64) -> core::result::Result<Self, radroots_core::decimal::Error> +pub fn radroots_core::decimal::Decimal::from_str_exact(&str) -> core::result::Result<Self, radroots_core::decimal::Error> +pub fn radroots_core::decimal::Decimal::is_sign_negative(&self) -> bool +pub fn radroots_core::decimal::Decimal::is_zero(&self) -> bool +pub fn radroots_core::decimal::Decimal::normalize(&self) -> Self +pub fn radroots_core::decimal::Decimal::rescale(&mut self, u32) +pub fn radroots_core::decimal::Decimal::scale(&self) -> u32 +pub fn radroots_core::decimal::Decimal::to_f64_lossy(&self) -> core::option::Option<f64> +pub fn radroots_core::decimal::Decimal::to_u64_exact(&self) -> core::option::Option<u64> +pub fn radroots_core::decimal::Decimal::try_rescale_exact(&mut self, u32) -> core::result::Result<(), radroots_core::decimal::Error> +impl core::convert::From<i32> for radroots_core::decimal::Decimal +pub fn radroots_core::decimal::Decimal::from(i32) -> Self +impl core::convert::From<i64> for radroots_core::decimal::Decimal +pub fn radroots_core::decimal::Decimal::from(i64) -> Self +impl core::convert::From<u32> for radroots_core::decimal::Decimal +pub fn radroots_core::decimal::Decimal::from(u32) -> Self +impl core::convert::From<u64> for radroots_core::decimal::Decimal +pub fn radroots_core::decimal::Decimal::from(u64) -> Self +impl core::fmt::Display for radroots_core::decimal::Decimal +pub fn radroots_core::decimal::Decimal::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_core::decimal::Decimal +pub type radroots_core::decimal::Decimal::Err = radroots_core::decimal::Error +pub fn radroots_core::decimal::Decimal::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_core::decimal::Decimal +pub fn radroots_core::decimal::Decimal::serialize<S: serde_core::ser::Serializer>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> +impl<'de> serde_core::de::Deserialize<'de> for radroots_core::decimal::Decimal +pub fn radroots_core::decimal::Decimal::deserialize<D: serde_core::de::Deserializer<'de>>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> +pub mod radroots_core::money +#[non_exhaustive] pub enum radroots_core::money::Error +pub radroots_core::money::Error::AmountOverflow +pub radroots_core::money::Error::ArithmeticOverflow +pub radroots_core::money::Error::CurrencyMismatch +pub radroots_core::money::Error::DivisionByZero +pub radroots_core::money::Error::NegativeAmount +pub radroots_core::money::Error::NotWholeMinorUnits +pub radroots_core::money::Error::PrecisionLoss +pub radroots_core::money::Error::ScaleOutOfRange +impl core::convert::From<radroots_core::decimal::Error> for radroots_core::money::Error +pub fn radroots_core::money::Error::from(radroots_core::decimal::Error) -> Self +impl core::convert::From<radroots_core::money::Error> for radroots_core::Error +pub fn radroots_core::Error::from(radroots_core::money::Error) -> Self +impl core::error::Error for radroots_core::money::Error +impl core::fmt::Display for radroots_core::money::Error +pub fn radroots_core::money::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_core::money::Money +impl radroots_core::money::Money +pub const fn radroots_core::money::Money::amount(&self) -> radroots_core::decimal::Decimal +pub fn radroots_core::money::Money::checked_add(&self, &Self) -> core::result::Result<Self, radroots_core::money::Error> +pub fn radroots_core::money::Money::checked_div_decimal(&self, radroots_core::decimal::Decimal) -> core::result::Result<Self, radroots_core::money::Error> +pub fn radroots_core::money::Money::checked_mul_decimal(&self, radroots_core::decimal::Decimal) -> core::result::Result<Self, radroots_core::money::Error> +pub fn radroots_core::money::Money::checked_sub(&self, &Self) -> core::result::Result<Self, radroots_core::money::Error> +pub const fn radroots_core::money::Money::currency(&self) -> radroots_core::currency::Currency +pub fn radroots_core::money::Money::from_minor_units_u32(u32, radroots_core::currency::Currency) -> Self +pub fn radroots_core::money::Money::from_minor_units_u64(u64, radroots_core::currency::Currency) -> Self +pub fn radroots_core::money::Money::is_zero(&self) -> bool +pub fn radroots_core::money::Money::quantize_to_currency(self) -> Self +pub fn radroots_core::money::Money::to_minor_units_u32_exact(&self) -> core::result::Result<u32, radroots_core::money::Error> +pub fn radroots_core::money::Money::to_minor_units_u32_rounded(&self) -> core::result::Result<u32, radroots_core::money::Error> +pub fn radroots_core::money::Money::to_minor_units_u64_exact(&self) -> core::result::Result<u64, radroots_core::money::Error> +pub fn radroots_core::money::Money::to_minor_units_u64_rounded(&self) -> core::result::Result<u64, radroots_core::money::Error> +pub fn radroots_core::money::Money::try_new(radroots_core::decimal::Decimal, radroots_core::currency::Currency) -> core::result::Result<Self, radroots_core::money::Error> +pub fn radroots_core::money::Money::try_with_scale_exact(self, u32) -> core::result::Result<Self, radroots_core::money::Error> +pub fn radroots_core::money::Money::zero(radroots_core::currency::Currency) -> Self +impl core::fmt::Display for radroots_core::money::Money +pub fn radroots_core::money::Money::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl<'de> serde_core::de::Deserialize<'de> for radroots_core::money::Money +pub fn radroots_core::money::Money::deserialize<D: serde_core::de::Deserializer<'de>>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> +pub mod radroots_core::percent +#[non_exhaustive] pub enum radroots_core::percent::ParseError +pub radroots_core::percent::ParseError::InvalidNumber +impl core::convert::From<radroots_core::percent::ParseError> for radroots_core::Error +pub fn radroots_core::Error::from(radroots_core::percent::ParseError) -> Self +impl core::error::Error for radroots_core::percent::ParseError +impl core::fmt::Display for radroots_core::percent::ParseError +pub fn radroots_core::percent::ParseError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_core::percent::Percent +impl radroots_core::percent::Percent +pub fn radroots_core::percent::Percent::new(radroots_core::decimal::Decimal) -> Self +pub fn radroots_core::percent::Percent::try_from_ratio(radroots_core::decimal::Decimal) -> core::result::Result<Self, radroots_core::decimal::Error> +pub fn radroots_core::percent::Percent::try_of_money(&self, &radroots_core::money::Money) -> core::result::Result<radroots_core::money::Money, radroots_core::money::Error> +pub fn radroots_core::percent::Percent::try_of_money_quantized(&self, &radroots_core::money::Money) -> core::result::Result<radroots_core::money::Money, radroots_core::money::Error> +pub fn radroots_core::percent::Percent::try_to_ratio(&self) -> core::result::Result<radroots_core::decimal::Decimal, radroots_core::decimal::Error> +pub const fn radroots_core::percent::Percent::value(&self) -> radroots_core::decimal::Decimal +impl core::fmt::Display for radroots_core::percent::Percent +pub fn radroots_core::percent::Percent::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_core::percent::Percent +pub type radroots_core::percent::Percent::Err = radroots_core::percent::ParseError +pub fn radroots_core::percent::Percent::from_str(&str) -> core::result::Result<Self, Self::Err> +pub mod radroots_core::pricing +#[non_exhaustive] pub enum radroots_core::pricing::DiscountError +pub radroots_core::pricing::DiscountError::NegativeThreshold +pub radroots_core::pricing::DiscountError::NegativeValue +impl core::convert::From<radroots_core::pricing::DiscountError> for radroots_core::Error +pub fn radroots_core::Error::from(radroots_core::pricing::DiscountError) -> Self +impl core::error::Error for radroots_core::pricing::DiscountError +impl core::fmt::Display for radroots_core::pricing::DiscountError +pub fn radroots_core::pricing::DiscountError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_core::pricing::DiscountScope +pub radroots_core::pricing::DiscountScope::Bin +pub radroots_core::pricing::DiscountScope::OrderTotal +pub enum radroots_core::pricing::DiscountThreshold +pub radroots_core::pricing::DiscountThreshold::BinCount +pub radroots_core::pricing::DiscountThreshold::BinCount::bin_id: alloc::string::String +pub radroots_core::pricing::DiscountThreshold::BinCount::min: u32 +pub radroots_core::pricing::DiscountThreshold::OrderQuantity +pub radroots_core::pricing::DiscountThreshold::OrderQuantity::min: radroots_core::quantity::Quantity +pub enum radroots_core::pricing::DiscountValue +pub radroots_core::pricing::DiscountValue::MoneyPerBin(radroots_core::money::Money) +pub radroots_core::pricing::DiscountValue::Percent(radroots_core::percent::Percent) +pub enum radroots_core::pricing::Error +pub radroots_core::pricing::Error::ArithmeticOverflow +pub radroots_core::pricing::Error::NegativePrice +pub radroots_core::pricing::Error::NegativeRequestedQuantity +pub radroots_core::pricing::Error::NonConvertibleUnits +pub radroots_core::pricing::Error::NonConvertibleUnits::from: radroots_core::unit::Unit +pub radroots_core::pricing::Error::NonConvertibleUnits::to: radroots_core::unit::Unit +pub radroots_core::pricing::Error::PerQuantityNegative +pub radroots_core::pricing::Error::PerQuantityZero +pub radroots_core::pricing::Error::UnitMismatch +pub radroots_core::pricing::Error::UnitMismatch::have: radroots_core::unit::Unit +pub radroots_core::pricing::Error::UnitMismatch::want: radroots_core::unit::Unit +impl core::convert::From<radroots_core::pricing::Error> for radroots_core::Error +pub fn radroots_core::Error::from(radroots_core::pricing::Error) -> Self +impl core::error::Error for radroots_core::pricing::Error +impl core::fmt::Display for radroots_core::pricing::Error +pub fn radroots_core::pricing::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_core::pricing::Discount +impl radroots_core::pricing::Discount +pub fn radroots_core::pricing::Discount::is_non_negative(&self) -> bool +pub fn radroots_core::pricing::Discount::scope(&self) -> &radroots_core::pricing::DiscountScope +pub fn radroots_core::pricing::Discount::threshold(&self) -> &radroots_core::pricing::DiscountThreshold +pub fn radroots_core::pricing::Discount::try_new(radroots_core::pricing::DiscountScope, radroots_core::pricing::DiscountThreshold, radroots_core::pricing::DiscountValue) -> core::result::Result<Self, radroots_core::pricing::DiscountError> +pub fn radroots_core::pricing::Discount::validate(&self) -> core::result::Result<(), radroots_core::pricing::DiscountError> +pub fn radroots_core::pricing::Discount::value(&self) -> &radroots_core::pricing::DiscountValue +impl<'de> serde_core::de::Deserialize<'de> for radroots_core::pricing::Discount +pub fn radroots_core::pricing::Discount::deserialize<D: serde_core::de::Deserializer<'de>>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> +pub struct radroots_core::pricing::QuantityPrice +impl radroots_core::QuantityPrice +pub fn radroots_core::QuantityPrice::amount(&self) -> &radroots_core::money::Money +pub fn radroots_core::QuantityPrice::is_price_per_canonical_unit(&self) -> bool +pub fn radroots_core::QuantityPrice::quantity(&self) -> &radroots_core::quantity::Quantity +pub fn radroots_core::QuantityPrice::try_cost_for_amount_in(&self, radroots_core::decimal::Decimal, radroots_core::unit::Unit) -> core::result::Result<radroots_core::money::Money, radroots_core::pricing::Error> +pub fn radroots_core::QuantityPrice::try_cost_for_quantity_in(&self, &radroots_core::quantity::Quantity) -> core::result::Result<radroots_core::money::Money, radroots_core::pricing::Error> +pub fn radroots_core::QuantityPrice::try_new(radroots_core::money::Money, radroots_core::quantity::Quantity) -> core::result::Result<Self, radroots_core::pricing::Error> +pub fn radroots_core::QuantityPrice::try_to_canonical_unit_price(&self) -> core::result::Result<radroots_core::QuantityPrice, radroots_core::pricing::Error> +pub fn radroots_core::QuantityPrice::try_to_unit_price(&self, radroots_core::unit::Unit) -> core::result::Result<radroots_core::QuantityPrice, radroots_core::pricing::Error> +pub fn radroots_core::QuantityPrice::validate(&self) -> core::result::Result<(), radroots_core::pricing::Error> +impl radroots_core::pricing::QuantityPriceOps for radroots_core::QuantityPrice +pub fn radroots_core::QuantityPrice::try_cost_for(&self, &radroots_core::quantity::Quantity) -> core::result::Result<radroots_core::money::Money, radroots_core::pricing::Error> +pub fn radroots_core::QuantityPrice::try_cost_for_rounded(&self, &radroots_core::quantity::Quantity) -> core::result::Result<radroots_core::money::Money, radroots_core::pricing::Error> +impl<'de> serde_core::de::Deserialize<'de> for radroots_core::QuantityPrice +pub fn radroots_core::QuantityPrice::deserialize<D: serde_core::de::Deserializer<'de>>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> +pub trait radroots_core::pricing::QuantityPriceOps: radroots_core::quantity_price::sealed::Sealed +pub fn radroots_core::pricing::QuantityPriceOps::try_cost_for(&self, &radroots_core::quantity::Quantity) -> core::result::Result<radroots_core::money::Money, radroots_core::pricing::Error> +pub fn radroots_core::pricing::QuantityPriceOps::try_cost_for_rounded(&self, &radroots_core::quantity::Quantity) -> core::result::Result<radroots_core::money::Money, radroots_core::pricing::Error> +impl radroots_core::pricing::QuantityPriceOps for radroots_core::QuantityPrice +pub fn radroots_core::QuantityPrice::try_cost_for(&self, &radroots_core::quantity::Quantity) -> core::result::Result<radroots_core::money::Money, radroots_core::pricing::Error> +pub fn radroots_core::QuantityPrice::try_cost_for_rounded(&self, &radroots_core::quantity::Quantity) -> core::result::Result<radroots_core::money::Money, radroots_core::pricing::Error> +pub mod radroots_core::quantity +#[non_exhaustive] pub enum radroots_core::quantity::Error +pub radroots_core::quantity::Error::ArithmeticOverflow +pub radroots_core::quantity::Error::DivisionByZero +pub radroots_core::quantity::Error::NegativeAmount +pub radroots_core::quantity::Error::UnitMismatch +impl core::convert::From<radroots_core::decimal::Error> for radroots_core::quantity::Error +pub fn radroots_core::quantity::Error::from(radroots_core::decimal::Error) -> Self +impl core::convert::From<radroots_core::quantity::Error> for radroots_core::Error +pub fn radroots_core::Error::from(radroots_core::quantity::Error) -> Self +impl core::error::Error for radroots_core::quantity::Error +impl core::fmt::Display for radroots_core::quantity::Error +pub fn radroots_core::quantity::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_core::quantity::Quantity +impl radroots_core::quantity::Quantity +pub const fn radroots_core::quantity::Quantity::amount(&self) -> radroots_core::decimal::Decimal +pub fn radroots_core::quantity::Quantity::canonical_unit(&self) -> radroots_core::unit::Unit +pub fn radroots_core::quantity::Quantity::checked_add(&self, &radroots_core::quantity::Quantity) -> core::option::Option<radroots_core::quantity::Quantity> +pub fn radroots_core::quantity::Quantity::checked_div_decimal(&self, radroots_core::decimal::Decimal) -> core::result::Result<radroots_core::quantity::Quantity, radroots_core::quantity::Error> +pub fn radroots_core::quantity::Quantity::checked_mul_decimal(&self, radroots_core::decimal::Decimal) -> core::result::Result<radroots_core::quantity::Quantity, radroots_core::quantity::Error> +pub fn radroots_core::quantity::Quantity::checked_sub(&self, &radroots_core::quantity::Quantity) -> core::option::Option<radroots_core::quantity::Quantity> +pub fn radroots_core::quantity::Quantity::clear_label(self) -> Self +pub fn radroots_core::quantity::Quantity::is_canonical(&self) -> bool +pub fn radroots_core::quantity::Quantity::is_zero(&self) -> bool +pub fn radroots_core::quantity::Quantity::label(&self) -> core::option::Option<&str> +pub fn radroots_core::quantity::Quantity::to_canonical(&self) -> core::result::Result<radroots_core::quantity::Quantity, radroots_core::unit::ConvertError> +pub fn radroots_core::quantity::Quantity::try_add(&self, &radroots_core::quantity::Quantity) -> core::result::Result<radroots_core::quantity::Quantity, radroots_core::quantity::Error> +pub fn radroots_core::quantity::Quantity::try_convert_to(&self, radroots_core::unit::Unit) -> core::result::Result<radroots_core::quantity::Quantity, radroots_core::unit::ConvertError> +pub fn radroots_core::quantity::Quantity::try_new(radroots_core::decimal::Decimal, radroots_core::unit::Unit) -> core::result::Result<Self, radroots_core::quantity::Error> +pub fn radroots_core::quantity::Quantity::try_sub(&self, &radroots_core::quantity::Quantity) -> core::result::Result<radroots_core::quantity::Quantity, radroots_core::quantity::Error> +pub const fn radroots_core::quantity::Quantity::unit(&self) -> radroots_core::unit::Unit +pub fn radroots_core::quantity::Quantity::with_label<S: core::convert::Into<alloc::string::String>>(self, S) -> Self +pub fn radroots_core::quantity::Quantity::with_optional_label<S: core::convert::Into<alloc::string::String>>(self, core::option::Option<S>) -> Self +pub fn radroots_core::quantity::Quantity::zero(radroots_core::unit::Unit) -> Self +impl core::fmt::Display for radroots_core::quantity::Quantity +pub fn radroots_core::quantity::Quantity::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl<'de> serde_core::de::Deserialize<'de> for radroots_core::quantity::Quantity +pub fn radroots_core::quantity::Quantity::deserialize<D: serde_core::de::Deserializer<'de>>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> +pub mod radroots_core::unit +pub enum radroots_core::unit::ConvertError +pub radroots_core::unit::ConvertError::ArithmeticOverflow +pub radroots_core::unit::ConvertError::ArithmeticOverflow::from: radroots_core::unit::Unit +pub radroots_core::unit::ConvertError::ArithmeticOverflow::to: radroots_core::unit::Unit +pub radroots_core::unit::ConvertError::NotConvertibleUnits +pub radroots_core::unit::ConvertError::NotConvertibleUnits::from: radroots_core::unit::Unit +pub radroots_core::unit::ConvertError::NotConvertibleUnits::to: radroots_core::unit::Unit +pub radroots_core::unit::ConvertError::NotMassUnit +pub radroots_core::unit::ConvertError::NotMassUnit::from: radroots_core::unit::Unit +pub radroots_core::unit::ConvertError::NotMassUnit::to: radroots_core::unit::Unit +pub radroots_core::unit::ConvertError::NotVolumeUnit +pub radroots_core::unit::ConvertError::NotVolumeUnit::from: radroots_core::unit::Unit +pub radroots_core::unit::ConvertError::NotVolumeUnit::to: radroots_core::unit::Unit +impl core::convert::From<radroots_core::unit::ConvertError> for radroots_core::Error +pub fn radroots_core::Error::from(radroots_core::unit::ConvertError) -> Self +impl core::error::Error for radroots_core::unit::ConvertError +impl core::fmt::Display for radroots_core::unit::ConvertError +pub fn radroots_core::unit::ConvertError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_core::unit::ParseError +pub radroots_core::unit::ParseError::NotAMassUnit +pub radroots_core::unit::ParseError::NotAVolumeUnit +pub radroots_core::unit::ParseError::UnknownUnit +impl core::convert::From<radroots_core::unit::ParseError> for radroots_core::Error +pub fn radroots_core::Error::from(radroots_core::unit::ParseError) -> Self +impl core::error::Error for radroots_core::unit::ParseError +impl core::fmt::Display for radroots_core::unit::ParseError +pub fn radroots_core::unit::ParseError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_core::unit::Unit +pub radroots_core::unit::Unit::Each +pub radroots_core::unit::Unit::MassG +pub radroots_core::unit::Unit::MassKg +pub radroots_core::unit::Unit::MassLb +pub radroots_core::unit::Unit::MassOz +pub radroots_core::unit::Unit::VolumeL +pub radroots_core::unit::Unit::VolumeMl +impl radroots_core::unit::Unit +pub fn radroots_core::unit::Unit::canonical_unit(&self) -> Self +pub fn radroots_core::unit::Unit::code(&self) -> &'static str +pub fn radroots_core::unit::Unit::dimension(&self) -> radroots_core::unit::UnitDimension +pub fn radroots_core::unit::Unit::is_count(&self) -> bool +pub fn radroots_core::unit::Unit::is_mass(&self) -> bool +pub fn radroots_core::unit::Unit::is_volume(&self) -> bool +pub fn radroots_core::unit::Unit::same_dimension(Self, Self) -> bool +impl core::fmt::Display for radroots_core::unit::Unit +pub fn radroots_core::unit::Unit::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_core::unit::Unit +pub type radroots_core::unit::Unit::Err = radroots_core::unit::ParseError +pub fn radroots_core::unit::Unit::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_core::unit::Unit +pub fn radroots_core::unit::Unit::serialize<S: serde_core::ser::Serializer>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> +impl<'de> serde_core::de::Deserialize<'de> for radroots_core::unit::Unit +pub fn radroots_core::unit::Unit::deserialize<D: serde_core::de::Deserializer<'de>>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> +pub enum radroots_core::unit::UnitDimension +pub radroots_core::unit::UnitDimension::Count +pub radroots_core::unit::UnitDimension::Mass +pub radroots_core::unit::UnitDimension::Volume +pub fn radroots_core::unit::convert_mass_decimal(radroots_core::decimal::Decimal, radroots_core::unit::Unit, radroots_core::unit::Unit) -> core::result::Result<radroots_core::decimal::Decimal, radroots_core::unit::ConvertError> +pub fn radroots_core::unit::convert_unit_decimal(radroots_core::decimal::Decimal, radroots_core::unit::Unit, radroots_core::unit::Unit) -> core::result::Result<radroots_core::decimal::Decimal, radroots_core::unit::ConvertError> +pub fn radroots_core::unit::convert_volume_decimal(radroots_core::decimal::Decimal, radroots_core::unit::Unit, radroots_core::unit::Unit) -> core::result::Result<radroots_core::decimal::Decimal, radroots_core::unit::ConvertError> +pub fn radroots_core::unit::parse_mass_unit(&str) -> core::result::Result<radroots_core::unit::Unit, radroots_core::unit::ParseError> +pub fn radroots_core::unit::parse_volume_unit(&str) -> core::result::Result<radroots_core::unit::Unit, radroots_core::unit::ParseError> +#[non_exhaustive] pub enum radroots_core::Error +pub radroots_core::Error::Currency(radroots_core::currency::ParseError) +pub radroots_core::Error::Decimal(radroots_core::decimal::Error) +pub radroots_core::Error::Discount(radroots_core::pricing::DiscountError) +pub radroots_core::Error::Money(radroots_core::money::Error) +pub radroots_core::Error::Percent(radroots_core::percent::ParseError) +pub radroots_core::Error::Pricing(radroots_core::pricing::Error) +pub radroots_core::Error::Quantity(radroots_core::quantity::Error) +pub radroots_core::Error::UnitConversion(radroots_core::unit::ConvertError) +pub radroots_core::Error::UnitParse(radroots_core::unit::ParseError) +impl core::convert::From<radroots_core::currency::ParseError> for radroots_core::Error +pub fn radroots_core::Error::from(radroots_core::currency::ParseError) -> Self +impl core::convert::From<radroots_core::decimal::Error> for radroots_core::Error +pub fn radroots_core::Error::from(radroots_core::decimal::Error) -> Self +impl core::convert::From<radroots_core::money::Error> for radroots_core::Error +pub fn radroots_core::Error::from(radroots_core::money::Error) -> Self +impl core::convert::From<radroots_core::percent::ParseError> for radroots_core::Error +pub fn radroots_core::Error::from(radroots_core::percent::ParseError) -> Self +impl core::convert::From<radroots_core::pricing::DiscountError> for radroots_core::Error +pub fn radroots_core::Error::from(radroots_core::pricing::DiscountError) -> Self +impl core::convert::From<radroots_core::pricing::Error> for radroots_core::Error +pub fn radroots_core::Error::from(radroots_core::pricing::Error) -> Self +impl core::convert::From<radroots_core::quantity::Error> for radroots_core::Error +pub fn radroots_core::Error::from(radroots_core::quantity::Error) -> Self +impl core::convert::From<radroots_core::unit::ConvertError> for radroots_core::Error +pub fn radroots_core::Error::from(radroots_core::unit::ConvertError) -> Self +impl core::convert::From<radroots_core::unit::ParseError> for radroots_core::Error +pub fn radroots_core::Error::from(radroots_core::unit::ParseError) -> Self +impl core::error::Error for radroots_core::Error +pub fn radroots_core::Error::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +impl core::fmt::Display for radroots_core::Error +pub fn radroots_core::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_core::Unit +pub radroots_core::Unit::Each +pub radroots_core::Unit::MassG +pub radroots_core::Unit::MassKg +pub radroots_core::Unit::MassLb +pub radroots_core::Unit::MassOz +pub radroots_core::Unit::VolumeL +pub radroots_core::Unit::VolumeMl +impl radroots_core::unit::Unit +pub fn radroots_core::unit::Unit::canonical_unit(&self) -> Self +pub fn radroots_core::unit::Unit::code(&self) -> &'static str +pub fn radroots_core::unit::Unit::dimension(&self) -> radroots_core::unit::UnitDimension +pub fn radroots_core::unit::Unit::is_count(&self) -> bool +pub fn radroots_core::unit::Unit::is_mass(&self) -> bool +pub fn radroots_core::unit::Unit::is_volume(&self) -> bool +pub fn radroots_core::unit::Unit::same_dimension(Self, Self) -> bool +impl core::fmt::Display for radroots_core::unit::Unit +pub fn radroots_core::unit::Unit::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_core::unit::Unit +pub type radroots_core::unit::Unit::Err = radroots_core::unit::ParseError +pub fn radroots_core::unit::Unit::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_core::unit::Unit +pub fn radroots_core::unit::Unit::serialize<S: serde_core::ser::Serializer>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> +impl<'de> serde_core::de::Deserialize<'de> for radroots_core::unit::Unit +pub fn radroots_core::unit::Unit::deserialize<D: serde_core::de::Deserializer<'de>>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> +pub struct radroots_core::Currency(_) +impl radroots_core::currency::Currency +pub const radroots_core::currency::Currency::AUD: radroots_core::currency::Currency +pub const radroots_core::currency::Currency::CAD: radroots_core::currency::Currency +pub const radroots_core::currency::Currency::EUR: radroots_core::currency::Currency +pub const radroots_core::currency::Currency::GBP: radroots_core::currency::Currency +pub const radroots_core::currency::Currency::JPY: radroots_core::currency::Currency +pub const radroots_core::currency::Currency::USD: radroots_core::currency::Currency +pub const fn radroots_core::currency::Currency::as_bytes(&self) -> &[u8; 3] +pub fn radroots_core::currency::Currency::as_str(&self) -> &str +pub const fn radroots_core::currency::Currency::from_const([u8; 3]) -> core::result::Result<Self, radroots_core::currency::ParseError> +pub fn radroots_core::currency::Currency::from_str_upper(&str) -> core::result::Result<Self, radroots_core::currency::ParseError> +pub const fn radroots_core::currency::Currency::minor_unit_exponent(&self) -> u32 +impl core::convert::TryFrom<&str> for radroots_core::currency::Currency +pub type radroots_core::currency::Currency::Error = radroots_core::currency::ParseError +pub fn radroots_core::currency::Currency::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::fmt::Debug for radroots_core::currency::Currency +pub fn radroots_core::currency::Currency::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_core::currency::Currency +pub fn radroots_core::currency::Currency::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_core::currency::Currency +pub type radroots_core::currency::Currency::Err = radroots_core::currency::ParseError +pub fn radroots_core::currency::Currency::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_core::currency::Currency +pub fn radroots_core::currency::Currency::serialize<S: serde_core::ser::Serializer>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> +impl<'de> serde_core::de::Deserialize<'de> for radroots_core::currency::Currency +pub fn radroots_core::currency::Currency::deserialize<D: serde_core::de::Deserializer<'de>>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> +pub struct radroots_core::Decimal(_) +impl radroots_core::decimal::Decimal +pub const radroots_core::decimal::Decimal::MAX: Self +pub const radroots_core::decimal::Decimal::MAX_SCALE: u32 +pub const radroots_core::decimal::Decimal::MIN: Self +pub const radroots_core::decimal::Decimal::ONE: Self +pub const radroots_core::decimal::Decimal::ZERO: Self +pub fn radroots_core::decimal::Decimal::checked_add(self, Self) -> core::result::Result<Self, radroots_core::decimal::Error> +pub fn radroots_core::decimal::Decimal::checked_div(self, Self) -> core::result::Result<Self, radroots_core::decimal::Error> +pub fn radroots_core::decimal::Decimal::checked_mul(self, Self) -> core::result::Result<Self, radroots_core::decimal::Error> +pub fn radroots_core::decimal::Decimal::checked_sub(self, Self) -> core::result::Result<Self, radroots_core::decimal::Error> +pub fn radroots_core::decimal::Decimal::from_f64_display(f64) -> core::result::Result<Self, radroots_core::decimal::Error> +pub fn radroots_core::decimal::Decimal::from_str_exact(&str) -> core::result::Result<Self, radroots_core::decimal::Error> +pub fn radroots_core::decimal::Decimal::is_sign_negative(&self) -> bool +pub fn radroots_core::decimal::Decimal::is_zero(&self) -> bool +pub fn radroots_core::decimal::Decimal::normalize(&self) -> Self +pub fn radroots_core::decimal::Decimal::rescale(&mut self, u32) +pub fn radroots_core::decimal::Decimal::scale(&self) -> u32 +pub fn radroots_core::decimal::Decimal::to_f64_lossy(&self) -> core::option::Option<f64> +pub fn radroots_core::decimal::Decimal::to_u64_exact(&self) -> core::option::Option<u64> +pub fn radroots_core::decimal::Decimal::try_rescale_exact(&mut self, u32) -> core::result::Result<(), radroots_core::decimal::Error> +impl core::convert::From<i32> for radroots_core::decimal::Decimal +pub fn radroots_core::decimal::Decimal::from(i32) -> Self +impl core::convert::From<i64> for radroots_core::decimal::Decimal +pub fn radroots_core::decimal::Decimal::from(i64) -> Self +impl core::convert::From<u32> for radroots_core::decimal::Decimal +pub fn radroots_core::decimal::Decimal::from(u32) -> Self +impl core::convert::From<u64> for radroots_core::decimal::Decimal +pub fn radroots_core::decimal::Decimal::from(u64) -> Self +impl core::fmt::Display for radroots_core::decimal::Decimal +pub fn radroots_core::decimal::Decimal::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_core::decimal::Decimal +pub type radroots_core::decimal::Decimal::Err = radroots_core::decimal::Error +pub fn radroots_core::decimal::Decimal::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_core::decimal::Decimal +pub fn radroots_core::decimal::Decimal::serialize<S: serde_core::ser::Serializer>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> +impl<'de> serde_core::de::Deserialize<'de> for radroots_core::decimal::Decimal +pub fn radroots_core::decimal::Decimal::deserialize<D: serde_core::de::Deserializer<'de>>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> +pub struct radroots_core::Money +impl radroots_core::money::Money +pub const fn radroots_core::money::Money::amount(&self) -> radroots_core::decimal::Decimal +pub fn radroots_core::money::Money::checked_add(&self, &Self) -> core::result::Result<Self, radroots_core::money::Error> +pub fn radroots_core::money::Money::checked_div_decimal(&self, radroots_core::decimal::Decimal) -> core::result::Result<Self, radroots_core::money::Error> +pub fn radroots_core::money::Money::checked_mul_decimal(&self, radroots_core::decimal::Decimal) -> core::result::Result<Self, radroots_core::money::Error> +pub fn radroots_core::money::Money::checked_sub(&self, &Self) -> core::result::Result<Self, radroots_core::money::Error> +pub const fn radroots_core::money::Money::currency(&self) -> radroots_core::currency::Currency +pub fn radroots_core::money::Money::from_minor_units_u32(u32, radroots_core::currency::Currency) -> Self +pub fn radroots_core::money::Money::from_minor_units_u64(u64, radroots_core::currency::Currency) -> Self +pub fn radroots_core::money::Money::is_zero(&self) -> bool +pub fn radroots_core::money::Money::quantize_to_currency(self) -> Self +pub fn radroots_core::money::Money::to_minor_units_u32_exact(&self) -> core::result::Result<u32, radroots_core::money::Error> +pub fn radroots_core::money::Money::to_minor_units_u32_rounded(&self) -> core::result::Result<u32, radroots_core::money::Error> +pub fn radroots_core::money::Money::to_minor_units_u64_exact(&self) -> core::result::Result<u64, radroots_core::money::Error> +pub fn radroots_core::money::Money::to_minor_units_u64_rounded(&self) -> core::result::Result<u64, radroots_core::money::Error> +pub fn radroots_core::money::Money::try_new(radroots_core::decimal::Decimal, radroots_core::currency::Currency) -> core::result::Result<Self, radroots_core::money::Error> +pub fn radroots_core::money::Money::try_with_scale_exact(self, u32) -> core::result::Result<Self, radroots_core::money::Error> +pub fn radroots_core::money::Money::zero(radroots_core::currency::Currency) -> Self +impl core::fmt::Display for radroots_core::money::Money +pub fn radroots_core::money::Money::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl<'de> serde_core::de::Deserialize<'de> for radroots_core::money::Money +pub fn radroots_core::money::Money::deserialize<D: serde_core::de::Deserializer<'de>>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> +pub struct radroots_core::Percent +impl radroots_core::percent::Percent +pub fn radroots_core::percent::Percent::new(radroots_core::decimal::Decimal) -> Self +pub fn radroots_core::percent::Percent::try_from_ratio(radroots_core::decimal::Decimal) -> core::result::Result<Self, radroots_core::decimal::Error> +pub fn radroots_core::percent::Percent::try_of_money(&self, &radroots_core::money::Money) -> core::result::Result<radroots_core::money::Money, radroots_core::money::Error> +pub fn radroots_core::percent::Percent::try_of_money_quantized(&self, &radroots_core::money::Money) -> core::result::Result<radroots_core::money::Money, radroots_core::money::Error> +pub fn radroots_core::percent::Percent::try_to_ratio(&self) -> core::result::Result<radroots_core::decimal::Decimal, radroots_core::decimal::Error> +pub const fn radroots_core::percent::Percent::value(&self) -> radroots_core::decimal::Decimal +impl core::fmt::Display for radroots_core::percent::Percent +pub fn radroots_core::percent::Percent::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_core::percent::Percent +pub type radroots_core::percent::Percent::Err = radroots_core::percent::ParseError +pub fn radroots_core::percent::Percent::from_str(&str) -> core::result::Result<Self, Self::Err> +pub struct radroots_core::Quantity +impl radroots_core::quantity::Quantity +pub const fn radroots_core::quantity::Quantity::amount(&self) -> radroots_core::decimal::Decimal +pub fn radroots_core::quantity::Quantity::canonical_unit(&self) -> radroots_core::unit::Unit +pub fn radroots_core::quantity::Quantity::checked_add(&self, &radroots_core::quantity::Quantity) -> core::option::Option<radroots_core::quantity::Quantity> +pub fn radroots_core::quantity::Quantity::checked_div_decimal(&self, radroots_core::decimal::Decimal) -> core::result::Result<radroots_core::quantity::Quantity, radroots_core::quantity::Error> +pub fn radroots_core::quantity::Quantity::checked_mul_decimal(&self, radroots_core::decimal::Decimal) -> core::result::Result<radroots_core::quantity::Quantity, radroots_core::quantity::Error> +pub fn radroots_core::quantity::Quantity::checked_sub(&self, &radroots_core::quantity::Quantity) -> core::option::Option<radroots_core::quantity::Quantity> +pub fn radroots_core::quantity::Quantity::clear_label(self) -> Self +pub fn radroots_core::quantity::Quantity::is_canonical(&self) -> bool +pub fn radroots_core::quantity::Quantity::is_zero(&self) -> bool +pub fn radroots_core::quantity::Quantity::label(&self) -> core::option::Option<&str> +pub fn radroots_core::quantity::Quantity::to_canonical(&self) -> core::result::Result<radroots_core::quantity::Quantity, radroots_core::unit::ConvertError> +pub fn radroots_core::quantity::Quantity::try_add(&self, &radroots_core::quantity::Quantity) -> core::result::Result<radroots_core::quantity::Quantity, radroots_core::quantity::Error> +pub fn radroots_core::quantity::Quantity::try_convert_to(&self, radroots_core::unit::Unit) -> core::result::Result<radroots_core::quantity::Quantity, radroots_core::unit::ConvertError> +pub fn radroots_core::quantity::Quantity::try_new(radroots_core::decimal::Decimal, radroots_core::unit::Unit) -> core::result::Result<Self, radroots_core::quantity::Error> +pub fn radroots_core::quantity::Quantity::try_sub(&self, &radroots_core::quantity::Quantity) -> core::result::Result<radroots_core::quantity::Quantity, radroots_core::quantity::Error> +pub const fn radroots_core::quantity::Quantity::unit(&self) -> radroots_core::unit::Unit +pub fn radroots_core::quantity::Quantity::with_label<S: core::convert::Into<alloc::string::String>>(self, S) -> Self +pub fn radroots_core::quantity::Quantity::with_optional_label<S: core::convert::Into<alloc::string::String>>(self, core::option::Option<S>) -> Self +pub fn radroots_core::quantity::Quantity::zero(radroots_core::unit::Unit) -> Self +impl core::fmt::Display for radroots_core::quantity::Quantity +pub fn radroots_core::quantity::Quantity::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl<'de> serde_core::de::Deserialize<'de> for radroots_core::quantity::Quantity +pub fn radroots_core::quantity::Quantity::deserialize<D: serde_core::de::Deserializer<'de>>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> +pub struct radroots_core::QuantityPrice +impl radroots_core::QuantityPrice +pub fn radroots_core::QuantityPrice::amount(&self) -> &radroots_core::money::Money +pub fn radroots_core::QuantityPrice::is_price_per_canonical_unit(&self) -> bool +pub fn radroots_core::QuantityPrice::quantity(&self) -> &radroots_core::quantity::Quantity +pub fn radroots_core::QuantityPrice::try_cost_for_amount_in(&self, radroots_core::decimal::Decimal, radroots_core::unit::Unit) -> core::result::Result<radroots_core::money::Money, radroots_core::pricing::Error> +pub fn radroots_core::QuantityPrice::try_cost_for_quantity_in(&self, &radroots_core::quantity::Quantity) -> core::result::Result<radroots_core::money::Money, radroots_core::pricing::Error> +pub fn radroots_core::QuantityPrice::try_new(radroots_core::money::Money, radroots_core::quantity::Quantity) -> core::result::Result<Self, radroots_core::pricing::Error> +pub fn radroots_core::QuantityPrice::try_to_canonical_unit_price(&self) -> core::result::Result<radroots_core::QuantityPrice, radroots_core::pricing::Error> +pub fn radroots_core::QuantityPrice::try_to_unit_price(&self, radroots_core::unit::Unit) -> core::result::Result<radroots_core::QuantityPrice, radroots_core::pricing::Error> +pub fn radroots_core::QuantityPrice::validate(&self) -> core::result::Result<(), radroots_core::pricing::Error> +impl radroots_core::pricing::QuantityPriceOps for radroots_core::QuantityPrice +pub fn radroots_core::QuantityPrice::try_cost_for(&self, &radroots_core::quantity::Quantity) -> core::result::Result<radroots_core::money::Money, radroots_core::pricing::Error> +pub fn radroots_core::QuantityPrice::try_cost_for_rounded(&self, &radroots_core::quantity::Quantity) -> core::result::Result<radroots_core::money::Money, radroots_core::pricing::Error> +impl<'de> serde_core::de::Deserialize<'de> for radroots_core::QuantityPrice +pub fn radroots_core::QuantityPrice::deserialize<D: serde_core::de::Deserializer<'de>>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> diff --git a/contracts/api_baselines/radroots_event.txt b/contracts/api_baselines/radroots_event.txt @@ -0,0 +1,3594 @@ +pub mod radroots_event +pub mod radroots_event::admission +#[non_exhaustive] pub enum radroots_event::admission::Error +pub radroots_event::admission::Error::ContractValidation(crate::contract::registry_v7::ContractValidationError) +pub radroots_event::admission::Error::IdMismatch +pub radroots_event::admission::Error::IdMismatch::actual: radroots_event::id::EventId +pub radroots_event::admission::Error::IdMismatch::expected: radroots_event::id::EventId +pub radroots_event::admission::Error::MalformedEnvelope +pub radroots_event::admission::Error::SignatureInvalid +impl radroots_event::Error +pub const fn radroots_event::Error::code(&self) -> &'static str +impl core::error::Error for radroots_event::Error +impl core::fmt::Display for radroots_event::Error +pub fn radroots_event::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_event::admission::AdmittedEvent +impl radroots_event::admission::AdmittedEvent +pub const fn radroots_event::admission::AdmittedEvent::event(&self) -> &radroots_event::envelope::EventEnvelope +pub fn radroots_event::admission::AdmittedEvent::into_validated_event(self) -> radroots_event::admission::ContractValidatedEvent +pub fn radroots_event::admission::AdmittedEvent::make_visible_with<P>(self, &P) -> core::result::Result<radroots_event::admission::VisibleEvent, <P as radroots_event::admission::VisibilityPolicy>::Error> where P: radroots_event::admission::VisibilityPolicy + ?core::marker::Sized +pub const fn radroots_event::admission::AdmittedEvent::policy_id(&self) -> &'static str +pub const fn radroots_event::admission::AdmittedEvent::validated_event(&self) -> &radroots_event::admission::ContractValidatedEvent +pub struct radroots_event::admission::ContractValidatedEvent +impl radroots_event::admission::ContractValidatedEvent +pub fn radroots_event::admission::ContractValidatedEvent::admit_with<P>(self, &P) -> core::result::Result<radroots_event::admission::AdmittedEvent, <P as radroots_event::admission::AdmissionPolicy>::Error> where P: radroots_event::admission::AdmissionPolicy + ?core::marker::Sized +impl radroots_event::admission::ContractValidatedEvent +pub const fn radroots_event::admission::ContractValidatedEvent::contract(&self) -> &'static EventContract +pub const fn radroots_event::admission::ContractValidatedEvent::contract_id(&self) -> &'static str +pub const fn radroots_event::admission::ContractValidatedEvent::event(&self) -> &radroots_event::envelope::EventEnvelope +pub fn radroots_event::admission::ContractValidatedEvent::into_event(self) -> radroots_event::envelope::EventEnvelope +pub fn radroots_event::admission::ContractValidatedEvent::into_verified_event(self) -> radroots_event::VerifiedEvent +pub const fn radroots_event::admission::ContractValidatedEvent::verified_event(&self) -> &radroots_event::VerifiedEvent +pub struct radroots_event::admission::IdVerifiedEvent(_) +impl radroots_event::admission::IdVerifiedEvent +pub const fn radroots_event::admission::IdVerifiedEvent::event(&self) -> &radroots_event::envelope::EventEnvelope +pub fn radroots_event::admission::IdVerifiedEvent::into_event(self) -> radroots_event::envelope::EventEnvelope +pub fn radroots_event::admission::IdVerifiedEvent::verify_signature<V>(self, &V) -> core::result::Result<radroots_event::VerifiedEvent, radroots_event::Error> where V: radroots_event::admission::SignatureVerifier + ?core::marker::Sized +pub struct radroots_event::admission::RawEvent(_) +impl radroots_event::admission::RawEvent +pub const fn radroots_event::admission::RawEvent::event(&self) -> &radroots_event::envelope::EventEnvelope +pub fn radroots_event::admission::RawEvent::into_event(self) -> radroots_event::envelope::EventEnvelope +pub const fn radroots_event::admission::RawEvent::new(radroots_event::envelope::EventEnvelope) -> Self +pub fn radroots_event::admission::RawEvent::verify_id(self) -> core::result::Result<radroots_event::admission::IdVerifiedEvent, radroots_event::Error> +pub struct radroots_event::admission::SignatureVerifiedEvent(_) +impl radroots_event::VerifiedEvent +pub const fn radroots_event::VerifiedEvent::event(&self) -> &radroots_event::envelope::EventEnvelope +pub fn radroots_event::VerifiedEvent::into_event(self) -> radroots_event::envelope::EventEnvelope +pub fn radroots_event::VerifiedEvent::validate_contract(self) -> core::result::Result<radroots_event::admission::ContractValidatedEvent, radroots_event::Error> +pub struct radroots_event::admission::VisibleEvent +impl radroots_event::admission::VisibleEvent +pub const fn radroots_event::admission::VisibleEvent::admitted_event(&self) -> &radroots_event::admission::AdmittedEvent +pub const fn radroots_event::admission::VisibleEvent::event(&self) -> &radroots_event::envelope::EventEnvelope +pub fn radroots_event::admission::VisibleEvent::into_admitted_event(self) -> radroots_event::admission::AdmittedEvent +pub const fn radroots_event::admission::VisibleEvent::policy_id(&self) -> &'static str +pub trait radroots_event::admission::AdmissionPolicy: core::marker::Send + core::marker::Sync +pub type radroots_event::admission::AdmissionPolicy::Error +pub fn radroots_event::admission::AdmissionPolicy::admit(&self, &radroots_event::admission::ContractValidatedEvent) -> core::result::Result<(), Self::Error> +pub fn radroots_event::admission::AdmissionPolicy::policy_id(&self) -> &'static str +pub trait radroots_event::admission::SignatureVerifier: core::marker::Send + core::marker::Sync +pub fn radroots_event::admission::SignatureVerifier::verify_signature(&self, &radroots_event::envelope::EventEnvelope) -> core::result::Result<(), radroots_event::Error> +pub trait radroots_event::admission::VisibilityPolicy: core::marker::Send + core::marker::Sync +pub type radroots_event::admission::VisibilityPolicy::Error +pub fn radroots_event::admission::VisibilityPolicy::make_visible(&self, &radroots_event::admission::AdmittedEvent) -> core::result::Result<(), Self::Error> +pub fn radroots_event::admission::VisibilityPolicy::policy_id(&self) -> &'static str +pub mod radroots_event::calendar +#[non_exhaustive] pub enum radroots_event::calendar::CalendarAdmissionError +pub radroots_event::calendar::CalendarAdmissionError::AuthorHintMismatch +pub radroots_event::calendar::CalendarAdmissionError::CoveredDayLimitExceeded +pub radroots_event::calendar::CalendarAdmissionError::CoveredDayLimitExceeded::actual: u64 +pub radroots_event::calendar::CalendarAdmissionError::CoveredDayLimitExceeded::max: u64 +pub radroots_event::calendar::CalendarAdmissionError::DuplicateEventReference +pub radroots_event::calendar::CalendarAdmissionError::ForbiddenDateDayIndex +pub radroots_event::calendar::CalendarAdmissionError::IncompleteDayCoverage +pub radroots_event::calendar::CalendarAdmissionError::NonBlossomImage +pub radroots_event::calendar::CalendarAdmissionError::NonCanonicalField(&'static str) +impl radroots_event::calendar::CalendarAdmissionError +pub const fn radroots_event::calendar::CalendarAdmissionError::code(&self) -> &'static str +impl core::error::Error for radroots_event::calendar::CalendarAdmissionError +impl core::fmt::Display for radroots_event::calendar::CalendarAdmissionError +pub fn radroots_event::calendar::CalendarAdmissionError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +#[non_exhaustive] pub enum radroots_event::calendar::CalendarEventError +pub radroots_event::calendar::CalendarEventError::AuthorHintMismatch +pub radroots_event::calendar::CalendarEventError::ContentTooLarge +pub radroots_event::calendar::CalendarEventError::ContentTooLarge::actual: usize +pub radroots_event::calendar::CalendarEventError::ContentTooLarge::max: usize +pub radroots_event::calendar::CalendarEventError::CoveredDayLimitExceeded +pub radroots_event::calendar::CalendarEventError::CoveredDayLimitExceeded::actual: u64 +pub radroots_event::calendar::CalendarEventError::CoveredDayLimitExceeded::max: u64 +pub radroots_event::calendar::CalendarEventError::DeclinedFreeBusyForbidden +pub radroots_event::calendar::CalendarEventError::DuplicateEventReference +pub radroots_event::calendar::CalendarEventError::InvalidAuthorReference +pub radroots_event::calendar::CalendarEventError::InvalidCalendarUid +pub radroots_event::calendar::CalendarEventError::InvalidDate +pub radroots_event::calendar::CalendarEventError::InvalidEventReference +pub radroots_event::calendar::CalendarEventError::InvalidGeohash +pub radroots_event::calendar::CalendarEventError::InvalidIdentifier +pub radroots_event::calendar::CalendarEventError::InvalidParticipant +pub radroots_event::calendar::CalendarEventError::InvalidParticipant::index: usize +pub radroots_event::calendar::CalendarEventError::InvalidRange +pub radroots_event::calendar::CalendarEventError::InvalidRevisionReference +pub radroots_event::calendar::CalendarEventError::InvalidText(&'static str) +pub radroots_event::calendar::CalendarEventError::InvalidTimeZone +pub radroots_event::calendar::CalendarEventError::InvalidTitle +pub radroots_event::calendar::CalendarEventError::InvalidUrl(&'static str) +pub radroots_event::calendar::CalendarEventError::TagBytesExceeded +pub radroots_event::calendar::CalendarEventError::TagBytesExceeded::actual: usize +pub radroots_event::calendar::CalendarEventError::TagBytesExceeded::max: usize +pub radroots_event::calendar::CalendarEventError::TagCountExceeded +pub radroots_event::calendar::CalendarEventError::TagCountExceeded::actual: usize +pub radroots_event::calendar::CalendarEventError::TagCountExceeded::max: usize +pub radroots_event::calendar::CalendarEventError::TagElementTooLarge +pub radroots_event::calendar::CalendarEventError::TagElementTooLarge::actual: usize +pub radroots_event::calendar::CalendarEventError::TagElementTooLarge::field: &'static str +pub radroots_event::calendar::CalendarEventError::TagElementTooLarge::max: usize +pub radroots_event::calendar::CalendarEventError::TooManyParticipants +pub radroots_event::calendar::CalendarEventError::TooManyParticipants::actual: usize +pub radroots_event::calendar::CalendarEventError::TooManyParticipants::max: usize +impl radroots_event::calendar::CalendarEventError +pub const fn radroots_event::calendar::CalendarEventError::code(&self) -> &'static str +impl core::error::Error for radroots_event::calendar::CalendarEventError +impl core::fmt::Display for radroots_event::calendar::CalendarEventError +pub fn radroots_event::calendar::CalendarEventError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_event::calendar::CalendarEventFreeBusy +pub radroots_event::calendar::CalendarEventFreeBusy::Busy +pub radroots_event::calendar::CalendarEventFreeBusy::Free +pub enum radroots_event::calendar::CalendarEventRsvpStatus +pub radroots_event::calendar::CalendarEventRsvpStatus::Accepted +pub radroots_event::calendar::CalendarEventRsvpStatus::Declined +pub radroots_event::calendar::CalendarEventRsvpStatus::Tentative +pub struct radroots_event::calendar::AdmittedCalendar +impl radroots_event::calendar::AdmittedCalendar +pub fn radroots_event::calendar::AdmittedCalendar::blossom_image(&self) -> core::option::Option<&radroots_blossom::url::BlobUrl> +pub fn radroots_event::calendar::AdmittedCalendar::content(&self) -> &str +pub fn radroots_event::calendar::AdmittedCalendar::event_references(&self) -> &[radroots_event::calendar::CalendarEventReference] +pub fn radroots_event::calendar::AdmittedCalendar::list_description(&self) -> core::option::Option<&str> +pub fn radroots_event::calendar::AdmittedCalendar::parsed(&self) -> &radroots_event::calendar::ParsedNip52Calendar +pub fn radroots_event::calendar::AdmittedCalendar::title(&self) -> &str +pub fn radroots_event::calendar::AdmittedCalendar::try_from_parsed(radroots_event::calendar::ParsedNip52Calendar) -> core::result::Result<Self, radroots_event::calendar::CalendarAdmissionError> +pub fn radroots_event::calendar::AdmittedCalendar::uid(&self) -> &radroots_event::calendar::CalendarUid +pub struct radroots_event::calendar::AdmittedCalendarDateEvent +impl radroots_event::calendar::AdmittedCalendarDateEvent +pub fn radroots_event::calendar::AdmittedCalendarDateEvent::blossom_image(&self) -> core::option::Option<&radroots_blossom::url::BlobUrl> +pub fn radroots_event::calendar::AdmittedCalendarDateEvent::d_tag(&self) -> &radroots_event::id::DTag +pub fn radroots_event::calendar::AdmittedCalendarDateEvent::parsed(&self) -> &radroots_event::calendar::ParsedNip52CalendarDateEvent +pub fn radroots_event::calendar::AdmittedCalendarDateEvent::try_from_parsed(radroots_event::calendar::ParsedNip52CalendarDateEvent) -> core::result::Result<Self, radroots_event::calendar::CalendarAdmissionError> +pub struct radroots_event::calendar::AdmittedCalendarEventRsvp +impl radroots_event::calendar::AdmittedCalendarEventRsvp +pub fn radroots_event::calendar::AdmittedCalendarEventRsvp::author_hint(&self) -> core::option::Option<&radroots_event::calendar::CalendarEventAuthorReference> +pub fn radroots_event::calendar::AdmittedCalendarEventRsvp::effective_free_busy(&self) -> core::option::Option<&radroots_event::calendar::CalendarEventFreeBusy> +pub fn radroots_event::calendar::AdmittedCalendarEventRsvp::event_reference(&self) -> &radroots_event::calendar::CalendarEventReference +pub fn radroots_event::calendar::AdmittedCalendarEventRsvp::note(&self) -> core::option::Option<&str> +pub fn radroots_event::calendar::AdmittedCalendarEventRsvp::observed_free_busy(&self) -> core::option::Option<&radroots_event::calendar::CalendarEventFreeBusy> +pub fn radroots_event::calendar::AdmittedCalendarEventRsvp::parsed(&self) -> &radroots_event::calendar::ParsedNip52CalendarEventRsvp +pub fn radroots_event::calendar::AdmittedCalendarEventRsvp::revision_reference(&self) -> core::option::Option<&radroots_event::calendar::CalendarEventRevisionReference> +pub fn radroots_event::calendar::AdmittedCalendarEventRsvp::status(&self) -> &radroots_event::calendar::CalendarEventRsvpStatus +pub fn radroots_event::calendar::AdmittedCalendarEventRsvp::try_from_parsed(radroots_event::calendar::ParsedNip52CalendarEventRsvp) -> core::result::Result<Self, radroots_event::calendar::CalendarAdmissionError> +pub fn radroots_event::calendar::AdmittedCalendarEventRsvp::uid(&self) -> &radroots_event::calendar::CalendarUid +pub struct radroots_event::calendar::AdmittedCalendarTimeEvent +impl radroots_event::calendar::AdmittedCalendarTimeEvent +pub fn radroots_event::calendar::AdmittedCalendarTimeEvent::blossom_image(&self) -> core::option::Option<&radroots_blossom::url::BlobUrl> +pub fn radroots_event::calendar::AdmittedCalendarTimeEvent::covered_utc_days(&self) -> &[u64] +pub fn radroots_event::calendar::AdmittedCalendarTimeEvent::d_tag(&self) -> &radroots_event::id::DTag +pub fn radroots_event::calendar::AdmittedCalendarTimeEvent::parsed(&self) -> &radroots_event::calendar::ParsedNip52CalendarTimeEvent +pub fn radroots_event::calendar::AdmittedCalendarTimeEvent::try_from_parsed(radroots_event::calendar::ParsedNip52CalendarTimeEvent) -> core::result::Result<Self, radroots_event::calendar::CalendarAdmissionError> +pub struct radroots_event::calendar::AuthoredCalendar +impl radroots_event::calendar::AuthoredCalendar +pub fn radroots_event::calendar::AuthoredCalendar::content(&self) -> &str +pub fn radroots_event::calendar::AuthoredCalendar::event_references(&self) -> &[radroots_event::calendar::CalendarEventReference] +pub fn radroots_event::calendar::AuthoredCalendar::image(&self) -> core::option::Option<&radroots_event::media::AuthoredImage> +pub fn radroots_event::calendar::AuthoredCalendar::list_description(&self) -> core::option::Option<&str> +pub fn radroots_event::calendar::AuthoredCalendar::new(radroots_event::calendar::CalendarUid, impl core::convert::Into<alloc::string::String>, impl core::convert::Into<alloc::string::String>, alloc::vec::Vec<radroots_event::calendar::CalendarEventReference>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendar::title(&self) -> &str +pub fn radroots_event::calendar::AuthoredCalendar::uid(&self) -> &radroots_event::calendar::CalendarUid +pub fn radroots_event::calendar::AuthoredCalendar::with_image(self, radroots_event::media::AuthoredImage) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendar::with_list_description(self, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub struct radroots_event::calendar::AuthoredCalendarDateEvent +impl radroots_event::calendar::AuthoredCalendarDateEvent +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::calendar_requests(&self) -> &[radroots_event::calendar::CalendarRequest] +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::categories(&self) -> &[alloc::string::String] +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::d_tag(&self) -> &radroots_event::id::DTag +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::description(&self) -> core::option::Option<&str> +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::end(&self) -> core::option::Option<&radroots_event::calendar::CalendarDate> +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::geohash(&self) -> core::option::Option<&str> +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::image(&self) -> core::option::Option<&radroots_event::media::AuthoredImage> +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::locations(&self) -> &[alloc::string::String] +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::new(impl core::convert::AsRef<str>, impl core::convert::Into<alloc::string::String>, radroots_event::calendar::CalendarDate) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::participants(&self) -> core::option::Option<&alloc::vec::Vec<radroots_event::calendar::CalendarParticipant>> +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::references(&self) -> &[radroots_event::calendar::CalendarUri] +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::start(&self) -> &radroots_event::calendar::CalendarDate +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::summary(&self) -> core::option::Option<&str> +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::title(&self) -> &str +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::with_calendar_requests(self, alloc::vec::Vec<radroots_event::calendar::CalendarRequest>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::with_categories(self, alloc::vec::Vec<alloc::string::String>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::with_description(self, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::with_end(self, radroots_event::calendar::CalendarDate) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::with_geohash(self, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::with_image(self, radroots_event::media::AuthoredImage) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::with_locations(self, alloc::vec::Vec<alloc::string::String>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::with_participants(self, alloc::vec::Vec<radroots_event::calendar::CalendarParticipant>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::with_references(self, alloc::vec::Vec<radroots_event::calendar::CalendarUri>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarDateEvent::with_summary(self, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub struct radroots_event::calendar::AuthoredCalendarEventRsvp +impl radroots_event::calendar::AuthoredCalendarEventRsvp +pub fn radroots_event::calendar::AuthoredCalendarEventRsvp::author_hint(&self) -> core::option::Option<&radroots_event::calendar::CalendarEventAuthorReference> +pub fn radroots_event::calendar::AuthoredCalendarEventRsvp::effective_free_busy(&self) -> core::option::Option<&radroots_event::calendar::CalendarEventFreeBusy> +pub fn radroots_event::calendar::AuthoredCalendarEventRsvp::event_reference(&self) -> &radroots_event::calendar::CalendarEventReference +pub fn radroots_event::calendar::AuthoredCalendarEventRsvp::new(radroots_event::calendar::CalendarUid, radroots_event::calendar::CalendarEventReference, radroots_event::calendar::CalendarEventRsvpStatus) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarEventRsvp::note(&self) -> core::option::Option<&str> +pub fn radroots_event::calendar::AuthoredCalendarEventRsvp::observed_free_busy(&self) -> core::option::Option<&radroots_event::calendar::CalendarEventFreeBusy> +pub fn radroots_event::calendar::AuthoredCalendarEventRsvp::revision_reference(&self) -> core::option::Option<&radroots_event::calendar::CalendarEventRevisionReference> +pub fn radroots_event::calendar::AuthoredCalendarEventRsvp::status(&self) -> &radroots_event::calendar::CalendarEventRsvpStatus +pub fn radroots_event::calendar::AuthoredCalendarEventRsvp::uid(&self) -> &radroots_event::calendar::CalendarUid +pub fn radroots_event::calendar::AuthoredCalendarEventRsvp::with_author_hint(self, radroots_event::calendar::CalendarEventAuthorReference) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarEventRsvp::with_free_busy(self, radroots_event::calendar::CalendarEventFreeBusy) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarEventRsvp::with_note(self, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarEventRsvp::with_revision_reference(self, radroots_event::calendar::CalendarEventRevisionReference) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub struct radroots_event::calendar::AuthoredCalendarTimeEvent +impl radroots_event::calendar::AuthoredCalendarTimeEvent +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::calendar_requests(&self) -> &[radroots_event::calendar::CalendarRequest] +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::categories(&self) -> &[alloc::string::String] +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::d_tag(&self) -> &radroots_event::id::DTag +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::description(&self) -> core::option::Option<&str> +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::effective_end_tzid(&self) -> core::option::Option<&radroots_event::calendar::IanaTimeZoneId> +pub const fn radroots_event::calendar::AuthoredCalendarTimeEvent::end(&self) -> core::option::Option<u64> +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::end_tzid(&self) -> core::option::Option<&radroots_event::calendar::IanaTimeZoneId> +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::geohash(&self) -> core::option::Option<&str> +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::image(&self) -> core::option::Option<&radroots_event::media::AuthoredImage> +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::locations(&self) -> &[alloc::string::String] +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::new(impl core::convert::AsRef<str>, impl core::convert::Into<alloc::string::String>, u64) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::participants(&self) -> core::option::Option<&alloc::vec::Vec<radroots_event::calendar::CalendarParticipant>> +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::references(&self) -> &[radroots_event::calendar::CalendarUri] +pub const fn radroots_event::calendar::AuthoredCalendarTimeEvent::start(&self) -> u64 +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::start_tzid(&self) -> core::option::Option<&radroots_event::calendar::IanaTimeZoneId> +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::summary(&self) -> core::option::Option<&str> +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::title(&self) -> &str +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::with_calendar_requests(self, alloc::vec::Vec<radroots_event::calendar::CalendarRequest>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::with_categories(self, alloc::vec::Vec<alloc::string::String>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::with_description(self, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::with_end(self, u64) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::with_end_tzid(self, impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::with_geohash(self, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::with_image(self, radroots_event::media::AuthoredImage) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::with_locations(self, alloc::vec::Vec<alloc::string::String>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::with_participants(self, alloc::vec::Vec<radroots_event::calendar::CalendarParticipant>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::with_references(self, alloc::vec::Vec<radroots_event::calendar::CalendarUri>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::with_start_tzid(self, impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::AuthoredCalendarTimeEvent::with_summary(self, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub struct radroots_event::calendar::CalendarDate(_) +impl radroots_event::calendar::CalendarDate +pub fn radroots_event::calendar::CalendarDate::as_str(&self) -> &str +pub fn radroots_event::calendar::CalendarDate::parse(&str) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +impl core::convert::AsRef<str> for radroots_event::calendar::CalendarDate +pub fn radroots_event::calendar::CalendarDate::as_ref(&self) -> &str +impl core::fmt::Display for radroots_event::calendar::CalendarDate +pub fn radroots_event::calendar::CalendarDate::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::calendar::CalendarDate +pub type radroots_event::calendar::CalendarDate::Err = radroots_event::calendar::CalendarEventError +pub fn radroots_event::calendar::CalendarDate::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::calendar::CalendarDate +pub fn radroots_event::calendar::CalendarDate::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::calendar::CalendarDate +pub fn radroots_event::calendar::CalendarDate::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::calendar::CalendarEventAuthorReference +impl radroots_event::calendar::CalendarEventAuthorReference +pub fn radroots_event::calendar::CalendarEventAuthorReference::is_canonical(&self) -> bool +pub fn radroots_event::calendar::CalendarEventAuthorReference::parse(impl core::convert::AsRef<str>, core::option::Option<&str>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::CalendarEventAuthorReference::pubkey(&self) -> &radroots_identity::key::PublicKey +pub fn radroots_event::calendar::CalendarEventAuthorReference::raw_pubkey(&self) -> &str +pub fn radroots_event::calendar::CalendarEventAuthorReference::relay(&self) -> core::option::Option<&str> +pub struct radroots_event::calendar::CalendarEventReference +impl radroots_event::calendar::CalendarEventReference +pub fn radroots_event::calendar::CalendarEventReference::author(&self) -> &radroots_identity::key::PublicKey +pub fn radroots_event::calendar::CalendarEventReference::coordinate(&self) -> &radroots_event::id::AddressableCoordinate +pub fn radroots_event::calendar::CalendarEventReference::d_tag(&self) -> &radroots_event::id::DTag +pub fn radroots_event::calendar::CalendarEventReference::is_canonical(&self) -> bool +pub const fn radroots_event::calendar::CalendarEventReference::kind(&self) -> u32 +pub fn radroots_event::calendar::CalendarEventReference::parse(impl core::convert::AsRef<str>, core::option::Option<&str>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::CalendarEventReference::relay(&self) -> core::option::Option<&str> +pub struct radroots_event::calendar::CalendarEventRevisionReference +impl radroots_event::calendar::CalendarEventRevisionReference +pub fn radroots_event::calendar::CalendarEventRevisionReference::event_id(&self) -> &radroots_event::id::EventId +pub fn radroots_event::calendar::CalendarEventRevisionReference::is_canonical(&self) -> bool +pub fn radroots_event::calendar::CalendarEventRevisionReference::parse(impl core::convert::AsRef<str>, core::option::Option<&str>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::CalendarEventRevisionReference::raw_event_id(&self) -> &str +pub fn radroots_event::calendar::CalendarEventRevisionReference::relay(&self) -> core::option::Option<&str> +pub struct radroots_event::calendar::CalendarParticipant +pub radroots_event::calendar::CalendarParticipant::pubkey: alloc::string::String +pub radroots_event::calendar::CalendarParticipant::relay: core::option::Option<alloc::string::String> +pub radroots_event::calendar::CalendarParticipant::role: core::option::Option<alloc::string::String> +pub struct radroots_event::calendar::CalendarRequest +impl radroots_event::calendar::CalendarRequest +pub fn radroots_event::calendar::CalendarRequest::calendar(&self) -> &radroots_event::id::AddressableCoordinate +pub fn radroots_event::calendar::CalendarRequest::is_canonical(&self) -> bool +pub fn radroots_event::calendar::CalendarRequest::new(impl core::convert::AsRef<str>, core::option::Option<&str>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::CalendarRequest::relay(&self) -> core::option::Option<&str> +pub struct radroots_event::calendar::CalendarUid(_) +impl radroots_event::calendar::CalendarUid +pub fn radroots_event::calendar::CalendarUid::as_str(&self) -> &str +pub fn radroots_event::calendar::CalendarUid::into_string(self) -> alloc::string::String +pub fn radroots_event::calendar::CalendarUid::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +impl core::convert::AsRef<str> for radroots_event::calendar::CalendarUid +pub fn radroots_event::calendar::CalendarUid::as_ref(&self) -> &str +impl core::convert::TryFrom<&str> for radroots_event::calendar::CalendarUid +pub type radroots_event::calendar::CalendarUid::Error = radroots_event::calendar::CalendarEventError +pub fn radroots_event::calendar::CalendarUid::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_event::calendar::CalendarUid +pub type radroots_event::calendar::CalendarUid::Error = radroots_event::calendar::CalendarEventError +pub fn radroots_event::calendar::CalendarUid::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_event::calendar::CalendarUid +pub fn radroots_event::calendar::CalendarUid::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::calendar::CalendarUid +pub type radroots_event::calendar::CalendarUid::Err = radroots_event::calendar::CalendarEventError +pub fn radroots_event::calendar::CalendarUid::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::calendar::CalendarUid +pub fn radroots_event::calendar::CalendarUid::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +pub struct radroots_event::calendar::CalendarUri(_) +impl radroots_event::calendar::CalendarUri +pub fn radroots_event::calendar::CalendarUri::as_str(&self) -> &str +pub fn radroots_event::calendar::CalendarUri::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +impl core::convert::AsRef<str> for radroots_event::calendar::CalendarUri +pub fn radroots_event::calendar::CalendarUri::as_ref(&self) -> &str +impl core::fmt::Display for radroots_event::calendar::CalendarUri +pub fn radroots_event::calendar::CalendarUri::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::calendar::CalendarUri +pub type radroots_event::calendar::CalendarUri::Err = radroots_event::calendar::CalendarEventError +pub fn radroots_event::calendar::CalendarUri::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::calendar::CalendarUri +pub fn radroots_event::calendar::CalendarUri::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::calendar::CalendarUri +pub fn radroots_event::calendar::CalendarUri::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::calendar::IanaTimeZoneId(_) +impl radroots_event::calendar::IanaTimeZoneId +pub fn radroots_event::calendar::IanaTimeZoneId::as_str(&self) -> &str +pub fn radroots_event::calendar::IanaTimeZoneId::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +impl core::convert::AsRef<str> for radroots_event::calendar::IanaTimeZoneId +pub fn radroots_event::calendar::IanaTimeZoneId::as_ref(&self) -> &str +impl core::fmt::Display for radroots_event::calendar::IanaTimeZoneId +pub fn radroots_event::calendar::IanaTimeZoneId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::calendar::IanaTimeZoneId +pub type radroots_event::calendar::IanaTimeZoneId::Err = radroots_event::calendar::CalendarEventError +pub fn radroots_event::calendar::IanaTimeZoneId::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::calendar::IanaTimeZoneId +pub fn radroots_event::calendar::IanaTimeZoneId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::calendar::IanaTimeZoneId +pub fn radroots_event::calendar::IanaTimeZoneId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::calendar::ObservedUtcDay +impl radroots_event::calendar::ObservedUtcDay +pub const fn radroots_event::calendar::ObservedUtcDay::index(&self) -> u64 +pub fn radroots_event::calendar::ObservedUtcDay::is_canonical(&self) -> bool +pub fn radroots_event::calendar::ObservedUtcDay::parse(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub fn radroots_event::calendar::ObservedUtcDay::wire_value(&self) -> &str +pub struct radroots_event::calendar::ParsedNip52Calendar +impl radroots_event::calendar::ParsedNip52Calendar +pub fn radroots_event::calendar::ParsedNip52Calendar::content(&self) -> &str +pub fn radroots_event::calendar::ParsedNip52Calendar::d_tag(&self) -> &str +pub fn radroots_event::calendar::ParsedNip52Calendar::event_references(&self) -> &[radroots_event::calendar::CalendarEventReference] +pub fn radroots_event::calendar::ParsedNip52Calendar::image(&self) -> core::option::Option<&radroots_event::calendar::CalendarUri> +pub fn radroots_event::calendar::ParsedNip52Calendar::list_description(&self) -> core::option::Option<&str> +pub fn radroots_event::calendar::ParsedNip52Calendar::title(&self) -> &str +pub fn radroots_event::calendar::ParsedNip52Calendar::try_new(radroots_event::calendar::ParsedNip52CalendarParts) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub struct radroots_event::calendar::ParsedNip52CalendarCommon +impl radroots_event::calendar::ParsedNip52CalendarCommon +pub fn radroots_event::calendar::ParsedNip52CalendarCommon::calendar_requests(&self) -> &[radroots_event::calendar::CalendarRequest] +pub fn radroots_event::calendar::ParsedNip52CalendarCommon::categories(&self) -> &[alloc::string::String] +pub fn radroots_event::calendar::ParsedNip52CalendarCommon::d_tag(&self) -> &str +pub fn radroots_event::calendar::ParsedNip52CalendarCommon::description(&self) -> core::option::Option<&str> +pub fn radroots_event::calendar::ParsedNip52CalendarCommon::geohash(&self) -> core::option::Option<&str> +pub fn radroots_event::calendar::ParsedNip52CalendarCommon::image(&self) -> core::option::Option<&radroots_event::calendar::CalendarUri> +pub fn radroots_event::calendar::ParsedNip52CalendarCommon::legacy_name(&self) -> core::option::Option<&str> +pub fn radroots_event::calendar::ParsedNip52CalendarCommon::locations(&self) -> &[alloc::string::String] +pub fn radroots_event::calendar::ParsedNip52CalendarCommon::participants(&self) -> &[radroots_event::calendar::CalendarParticipant] +pub fn radroots_event::calendar::ParsedNip52CalendarCommon::references(&self) -> &[radroots_event::calendar::CalendarUri] +pub fn radroots_event::calendar::ParsedNip52CalendarCommon::summary(&self) -> core::option::Option<&str> +pub fn radroots_event::calendar::ParsedNip52CalendarCommon::title(&self) -> &str +pub fn radroots_event::calendar::ParsedNip52CalendarCommon::try_new(radroots_event::calendar::ParsedNip52CalendarCommonParts) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub struct radroots_event::calendar::ParsedNip52CalendarCommonParts +pub radroots_event::calendar::ParsedNip52CalendarCommonParts::calendar_requests: alloc::vec::Vec<radroots_event::calendar::CalendarRequest> +pub radroots_event::calendar::ParsedNip52CalendarCommonParts::categories: alloc::vec::Vec<alloc::string::String> +pub radroots_event::calendar::ParsedNip52CalendarCommonParts::d_tag: alloc::string::String +pub radroots_event::calendar::ParsedNip52CalendarCommonParts::description: core::option::Option<alloc::string::String> +pub radroots_event::calendar::ParsedNip52CalendarCommonParts::geohash: core::option::Option<alloc::string::String> +pub radroots_event::calendar::ParsedNip52CalendarCommonParts::image: core::option::Option<radroots_event::calendar::CalendarUri> +pub radroots_event::calendar::ParsedNip52CalendarCommonParts::legacy_name: core::option::Option<alloc::string::String> +pub radroots_event::calendar::ParsedNip52CalendarCommonParts::locations: alloc::vec::Vec<alloc::string::String> +pub radroots_event::calendar::ParsedNip52CalendarCommonParts::participants: alloc::vec::Vec<radroots_event::calendar::CalendarParticipant> +pub radroots_event::calendar::ParsedNip52CalendarCommonParts::references: alloc::vec::Vec<radroots_event::calendar::CalendarUri> +pub radroots_event::calendar::ParsedNip52CalendarCommonParts::summary: core::option::Option<alloc::string::String> +pub radroots_event::calendar::ParsedNip52CalendarCommonParts::title: alloc::string::String +pub struct radroots_event::calendar::ParsedNip52CalendarDateEvent +impl radroots_event::calendar::ParsedNip52CalendarDateEvent +pub fn radroots_event::calendar::ParsedNip52CalendarDateEvent::common(&self) -> &radroots_event::calendar::ParsedNip52CalendarCommon +pub fn radroots_event::calendar::ParsedNip52CalendarDateEvent::end(&self) -> core::option::Option<&radroots_event::calendar::CalendarDate> +pub fn radroots_event::calendar::ParsedNip52CalendarDateEvent::extension_day_tags(&self) -> &[alloc::vec::Vec<alloc::string::String>] +pub fn radroots_event::calendar::ParsedNip52CalendarDateEvent::start(&self) -> &radroots_event::calendar::CalendarDate +pub fn radroots_event::calendar::ParsedNip52CalendarDateEvent::try_new(radroots_event::calendar::ParsedNip52CalendarCommon, radroots_event::calendar::CalendarDate, core::option::Option<radroots_event::calendar::CalendarDate>, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub struct radroots_event::calendar::ParsedNip52CalendarEventRsvp +impl radroots_event::calendar::ParsedNip52CalendarEventRsvp +pub fn radroots_event::calendar::ParsedNip52CalendarEventRsvp::author_hint(&self) -> core::option::Option<&radroots_event::calendar::CalendarEventAuthorReference> +pub fn radroots_event::calendar::ParsedNip52CalendarEventRsvp::d_tag(&self) -> &str +pub fn radroots_event::calendar::ParsedNip52CalendarEventRsvp::effective_free_busy(&self) -> core::option::Option<&radroots_event::calendar::CalendarEventFreeBusy> +pub fn radroots_event::calendar::ParsedNip52CalendarEventRsvp::event_reference(&self) -> &radroots_event::calendar::CalendarEventReference +pub fn radroots_event::calendar::ParsedNip52CalendarEventRsvp::note(&self) -> core::option::Option<&str> +pub fn radroots_event::calendar::ParsedNip52CalendarEventRsvp::observed_free_busy(&self) -> core::option::Option<&radroots_event::calendar::CalendarEventFreeBusy> +pub fn radroots_event::calendar::ParsedNip52CalendarEventRsvp::revision_reference(&self) -> core::option::Option<&radroots_event::calendar::CalendarEventRevisionReference> +pub fn radroots_event::calendar::ParsedNip52CalendarEventRsvp::status(&self) -> &radroots_event::calendar::CalendarEventRsvpStatus +pub fn radroots_event::calendar::ParsedNip52CalendarEventRsvp::try_new(radroots_event::calendar::ParsedNip52CalendarEventRsvpParts) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub struct radroots_event::calendar::ParsedNip52CalendarEventRsvpParts +pub radroots_event::calendar::ParsedNip52CalendarEventRsvpParts::author_hint: core::option::Option<radroots_event::calendar::CalendarEventAuthorReference> +pub radroots_event::calendar::ParsedNip52CalendarEventRsvpParts::d_tag: alloc::string::String +pub radroots_event::calendar::ParsedNip52CalendarEventRsvpParts::event_reference: radroots_event::calendar::CalendarEventReference +pub radroots_event::calendar::ParsedNip52CalendarEventRsvpParts::note: core::option::Option<alloc::string::String> +pub radroots_event::calendar::ParsedNip52CalendarEventRsvpParts::observed_free_busy: core::option::Option<radroots_event::calendar::CalendarEventFreeBusy> +pub radroots_event::calendar::ParsedNip52CalendarEventRsvpParts::revision_reference: core::option::Option<radroots_event::calendar::CalendarEventRevisionReference> +pub radroots_event::calendar::ParsedNip52CalendarEventRsvpParts::status: radroots_event::calendar::CalendarEventRsvpStatus +pub struct radroots_event::calendar::ParsedNip52CalendarParts +pub radroots_event::calendar::ParsedNip52CalendarParts::content: alloc::string::String +pub radroots_event::calendar::ParsedNip52CalendarParts::d_tag: alloc::string::String +pub radroots_event::calendar::ParsedNip52CalendarParts::event_references: alloc::vec::Vec<radroots_event::calendar::CalendarEventReference> +pub radroots_event::calendar::ParsedNip52CalendarParts::image: core::option::Option<radroots_event::calendar::CalendarUri> +pub radroots_event::calendar::ParsedNip52CalendarParts::list_description: core::option::Option<alloc::string::String> +pub radroots_event::calendar::ParsedNip52CalendarParts::title: alloc::string::String +pub struct radroots_event::calendar::ParsedNip52CalendarTimeEvent +impl radroots_event::calendar::ParsedNip52CalendarTimeEvent +pub fn radroots_event::calendar::ParsedNip52CalendarTimeEvent::common(&self) -> &radroots_event::calendar::ParsedNip52CalendarCommon +pub fn radroots_event::calendar::ParsedNip52CalendarTimeEvent::effective_end_tzid(&self) -> core::option::Option<&radroots_event::calendar::IanaTimeZoneId> +pub const fn radroots_event::calendar::ParsedNip52CalendarTimeEvent::end(&self) -> core::option::Option<u64> +pub fn radroots_event::calendar::ParsedNip52CalendarTimeEvent::end_tzid(&self) -> core::option::Option<&radroots_event::calendar::IanaTimeZoneId> +pub fn radroots_event::calendar::ParsedNip52CalendarTimeEvent::end_wire(&self) -> core::option::Option<&str> +pub fn radroots_event::calendar::ParsedNip52CalendarTimeEvent::observed_day_indices(&self) -> &[radroots_event::calendar::ObservedUtcDay] +pub const fn radroots_event::calendar::ParsedNip52CalendarTimeEvent::start(&self) -> u64 +pub fn radroots_event::calendar::ParsedNip52CalendarTimeEvent::start_tzid(&self) -> core::option::Option<&radroots_event::calendar::IanaTimeZoneId> +pub fn radroots_event::calendar::ParsedNip52CalendarTimeEvent::start_wire(&self) -> &str +pub fn radroots_event::calendar::ParsedNip52CalendarTimeEvent::try_new(radroots_event::calendar::ParsedNip52CalendarCommon, alloc::string::String, u64, core::option::Option<alloc::string::String>, core::option::Option<u64>, alloc::vec::Vec<radroots_event::calendar::ObservedUtcDay>, core::option::Option<radroots_event::calendar::IanaTimeZoneId>, core::option::Option<radroots_event::calendar::IanaTimeZoneId>) -> core::result::Result<Self, radroots_event::calendar::CalendarEventError> +pub const radroots_event::calendar::RADROOTS_CALENDAR_MAX_COVERED_UTC_DAYS: u64 +pub const radroots_event::calendar::RADROOTS_CALENDAR_MAX_PARTICIPANTS: usize +pub const radroots_event::calendar::RADROOTS_CALENDAR_SECONDS_PER_DAY: u64 +pub fn radroots_event::calendar::calendar_geohash_is_valid(&str) -> bool +pub fn radroots_event::calendar::calendar_relay_url_is_valid(&str) -> bool +pub fn radroots_event::calendar::calendar_tag_text_is_valid(&str) -> bool +pub fn radroots_event::calendar::canonical_calendar_geohash_is_valid(&str) -> bool +pub fn radroots_event::calendar::canonical_calendar_tag_text_is_valid(&str) -> bool +pub fn radroots_event::calendar::covered_utc_days(u64, core::option::Option<u64>) -> core::result::Result<core::ops::range::RangeInclusive<u64>, radroots_event::calendar::CalendarEventError> +pub mod radroots_event::contract +pub enum radroots_event::contract::ContractIdentityError +pub radroots_event::contract::ContractIdentityError::ContractIdMissing +pub radroots_event::contract::ContractIdentityError::ContractIdNamespace +pub radroots_event::contract::ContractIdentityError::ContractIdSyntax +pub radroots_event::contract::ContractIdentityError::ContractIdTooLong +pub radroots_event::contract::ContractIdentityError::ContractIdTooLong::actual: usize +pub radroots_event::contract::ContractIdentityError::ContractIdTooLong::max: usize +pub radroots_event::contract::ContractIdentityError::RegistryVersionZero +pub radroots_event::contract::ContractIdentityError::UnknownContract +pub radroots_event::contract::ContractIdentityError::UnknownContract::contract_id: alloc::string::String +pub radroots_event::contract::ContractIdentityError::UnsupportedRegistryVersion +pub radroots_event::contract::ContractIdentityError::UnsupportedRegistryVersion::actual: u32 +impl radroots_event::contract::ContractIdentityError +pub const fn radroots_event::contract::ContractIdentityError::code(&self) -> &'static str +impl core::error::Error for radroots_event::contract::ContractIdentityError +impl core::fmt::Display for radroots_event::contract::ContractIdentityError +pub fn radroots_event::contract::ContractIdentityError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_event::contract::ContractId(_) +impl radroots_event::contract::ContractId +pub fn radroots_event::contract::ContractId::as_str(&self) -> &str +pub fn radroots_event::contract::ContractId::into_string(self) -> alloc::string::String +pub fn radroots_event::contract::ContractId::parse(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_event::contract::ContractIdentityError> +impl core::fmt::Display for radroots_event::contract::ContractId +pub fn radroots_event::contract::ContractId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl serde_core::ser::Serialize for radroots_event::contract::ContractId +pub fn radroots_event::contract::ContractId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::contract::ContractId +pub fn radroots_event::contract::ContractId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::contract::ContractKey +impl radroots_event::contract::ContractKey +pub fn radroots_event::contract::ContractKey::contract(&self) -> &'static EventContract +pub const fn radroots_event::contract::ContractKey::contract_id(&self) -> &radroots_event::contract::ContractId +pub fn radroots_event::contract::ContractKey::current(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_event::contract::ContractIdentityError> +pub fn radroots_event::contract::ContractKey::new(radroots_event::contract::RegistryVersion, radroots_event::contract::ContractId) -> core::result::Result<Self, radroots_event::contract::ContractIdentityError> +pub const fn radroots_event::contract::ContractKey::registry_version(&self) -> radroots_event::contract::RegistryVersion +impl serde_core::ser::Serialize for radroots_event::contract::ContractKey +pub fn radroots_event::contract::ContractKey::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::contract::ContractKey +pub fn radroots_event::contract::ContractKey::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::contract::RegistryVersion(_) +impl radroots_event::contract::RegistryVersion +pub const radroots_event::contract::RegistryVersion::CURRENT: Self +pub const radroots_event::contract::RegistryVersion::V7: Self +pub const fn radroots_event::contract::RegistryVersion::get(self) -> u32 +pub const fn radroots_event::contract::RegistryVersion::new(u32) -> core::result::Result<Self, radroots_event::contract::ContractIdentityError> +impl core::fmt::Display for radroots_event::contract::RegistryVersion +pub fn radroots_event::contract::RegistryVersion::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl serde_core::ser::Serialize for radroots_event::contract::RegistryVersion +pub fn radroots_event::contract::RegistryVersion::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::contract::RegistryVersion +pub fn radroots_event::contract::RegistryVersion::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub const radroots_event::contract::CONTRACT_ID_MAX_BYTES: usize +pub const radroots_event::contract::VERSION: &str +pub mod radroots_event::draft +pub enum radroots_event::draft::DraftError +pub radroots_event::draft::DraftError::CanonicalEventId(crate::wire::v1::CanonicalEventIdError) +pub radroots_event::draft::DraftError::ContractKindMismatch +pub radroots_event::draft::DraftError::ContractKindMismatch::actual_kind: u32 +pub radroots_event::draft::DraftError::ContractKindMismatch::contract_id: alloc::string::String +pub radroots_event::draft::DraftError::ContractKindMismatch::expected_kind: u32 +pub radroots_event::draft::DraftError::ContractNotDraftAuthorable +pub radroots_event::draft::DraftError::ContractNotDraftAuthorable::contract_id: alloc::string::String +pub radroots_event::draft::DraftError::ContractRegistryVersionMismatch +pub radroots_event::draft::DraftError::ContractRegistryVersionMismatch::actual: u32 +pub radroots_event::draft::DraftError::ContractRegistryVersionMismatch::expected: u32 +pub radroots_event::draft::DraftError::ContractShape +pub radroots_event::draft::DraftError::ContractShape::contract_id: alloc::string::String +pub radroots_event::draft::DraftError::ContractShape::error: crate::contract::registry_v7::ContractValidationError +pub radroots_event::draft::DraftError::DraftExpectedEventIdMismatch +pub radroots_event::draft::DraftError::DraftExpectedEventIdMismatch::actual_event_id: alloc::string::String +pub radroots_event::draft::DraftError::DraftExpectedEventIdMismatch::expected_event_id: alloc::string::String +pub radroots_event::draft::DraftError::Envelope(radroots_event::envelope::EventEnvelopeError) +pub radroots_event::draft::DraftError::IdParse(radroots_event::id::ParseError) +pub radroots_event::draft::DraftError::SignedEvent(radroots_event::draft::SignedEventError) +pub radroots_event::draft::DraftError::UnknownContract(alloc::string::String) +impl core::convert::From<radroots_event::draft::SignedEventError> for radroots_event::draft::DraftError +pub fn radroots_event::draft::DraftError::from(radroots_event::draft::SignedEventError) -> Self +impl core::convert::From<radroots_event::envelope::EventEnvelopeError> for radroots_event::draft::DraftError +pub fn radroots_event::draft::DraftError::from(radroots_event::envelope::EventEnvelopeError) -> Self +impl core::convert::From<radroots_event::id::ParseError> for radroots_event::draft::DraftError +pub fn radroots_event::draft::DraftError::from(radroots_event::id::ParseError) -> Self +impl core::error::Error for radroots_event::draft::DraftError +impl core::fmt::Display for radroots_event::draft::DraftError +pub fn radroots_event::draft::DraftError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_event::draft::SignedEventError +pub radroots_event::draft::SignedEventError::Envelope(radroots_event::envelope::EventEnvelopeError) +pub radroots_event::draft::SignedEventError::RawJson(crate::wire::v1::EventWireError) +pub radroots_event::draft::SignedEventError::RawJsonMismatch +pub radroots_event::draft::SignedEventError::Wire(crate::wire::v1::EventWireError) +impl core::convert::From<radroots_event::draft::SignedEventError> for radroots_event::draft::DraftError +pub fn radroots_event::draft::DraftError::from(radroots_event::draft::SignedEventError) -> Self +impl core::convert::From<radroots_event::envelope::EventEnvelopeError> for radroots_event::draft::SignedEventError +pub fn radroots_event::draft::SignedEventError::from(radroots_event::envelope::EventEnvelopeError) -> Self +impl core::error::Error for radroots_event::draft::SignedEventError +impl core::fmt::Display for radroots_event::draft::SignedEventError +pub fn radroots_event::draft::SignedEventError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_event::draft::SignedEvent +impl radroots_event::draft::SignedEvent +pub fn radroots_event::draft::SignedEvent::content(&self) -> &str +pub fn radroots_event::draft::SignedEvent::created_at(&self) -> u64 +pub fn radroots_event::draft::SignedEvent::envelope(&self) -> &radroots_event::envelope::EventEnvelope +pub fn radroots_event::draft::SignedEvent::from_wire_verified_id(Nip01EventWire, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_event::draft::SignedEventError> +pub fn radroots_event::draft::SignedEvent::id(&self) -> &radroots_event::id::EventId +pub fn radroots_event::draft::SignedEvent::id_hex(&self) -> alloc::string::String +pub fn radroots_event::draft::SignedEvent::id_str(&self) -> &str +pub fn radroots_event::draft::SignedEvent::kind(&self) -> u32 +pub fn radroots_event::draft::SignedEvent::new(radroots_event::draft::SignedEventParts) -> core::result::Result<Self, radroots_event::draft::SignedEventError> +pub fn radroots_event::draft::SignedEvent::pubkey(&self) -> &radroots_identity::key::PublicKey +pub fn radroots_event::draft::SignedEvent::raw_json(&self) -> &str +pub fn radroots_event::draft::SignedEvent::sig(&self) -> &radroots_event::id::EventSignature +pub fn radroots_event::draft::SignedEvent::sig_str(&self) -> &str +pub fn radroots_event::draft::SignedEvent::signature_hex(&self) -> alloc::string::String +pub fn radroots_event::draft::SignedEvent::tags_as_vec(&self) -> alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>> +pub fn radroots_event::draft::SignedEvent::wire(&self) -> &Nip01EventWire +impl serde_core::ser::Serialize for radroots_event::draft::SignedEvent +pub fn radroots_event::draft::SignedEvent::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::draft::SignedEvent +pub fn radroots_event::draft::SignedEvent::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::draft::SignedEventParts +pub radroots_event::draft::SignedEventParts::content: alloc::string::String +pub radroots_event::draft::SignedEventParts::created_at: u64 +pub radroots_event::draft::SignedEventParts::id: alloc::string::String +pub radroots_event::draft::SignedEventParts::kind: u32 +pub radroots_event::draft::SignedEventParts::pubkey: alloc::string::String +pub radroots_event::draft::SignedEventParts::raw_json: alloc::string::String +pub radroots_event::draft::SignedEventParts::sig: alloc::string::String +pub radroots_event::draft::SignedEventParts::tags: alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>> +pub fn radroots_event::draft::compute_nip01_event_id(&str, u64, u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<radroots_event::id::EventId, radroots_event::draft::DraftError> +pub fn radroots_event::draft::nip01_event_id_preimage(&str, u64, u32, &[alloc::vec::Vec<alloc::string::String>], &str) -> core::result::Result<alloc::string::String, radroots_event::draft::DraftError> +pub mod radroots_event::envelope +pub mod radroots_event::envelope::event_head +pub mod radroots_event::envelope::kind +pub const radroots_event::envelope::kind::CLASSIFIED_LISTING_EVENT_KINDS: [u32; 1] +pub const radroots_event::envelope::kind::COMMERCIAL_EVENT_KINDS: [u32; 7] +pub const radroots_event::envelope::kind::EVENTS_CANDIDATE_KINDS: [u32; 4] +pub const radroots_event::envelope::kind::HOME_FEED_CANDIDATE_KINDS: [u32; 9] +pub const radroots_event::envelope::kind::KIND_ACCOUNT_CLAIM: u32 +pub const radroots_event::envelope::kind::KIND_APPLICATION_HANDLER: u32 +pub const radroots_event::envelope::kind::KIND_APP_CUSTOM_DATA: u32 +pub const radroots_event::envelope::kind::KIND_APP_DATA: u32 +pub const radroots_event::envelope::kind::KIND_ARTICLE: u32 +pub const radroots_event::envelope::kind::KIND_CALENDAR: u32 +pub const radroots_event::envelope::kind::KIND_CALENDAR_DATE_EVENT: u32 +pub const radroots_event::envelope::kind::KIND_CALENDAR_EVENT_RSVP: u32 +pub const radroots_event::envelope::kind::KIND_CALENDAR_TIME_EVENT: u32 +pub const radroots_event::envelope::kind::KIND_CLASSIFIED_LISTING: u32 +pub const radroots_event::envelope::kind::KIND_COMMENT: u32 +pub const radroots_event::envelope::kind::KIND_CONTRIBUTION_ATTESTATION: u32 +pub const radroots_event::envelope::kind::KIND_COOP: u32 +pub const radroots_event::envelope::kind::KIND_DELETION_REQUEST: u32 +pub const radroots_event::envelope::kind::KIND_DOCUMENT: u32 +pub const radroots_event::envelope::kind::KIND_EVIDENCE_BOUNTY: u32 +pub const radroots_event::envelope::kind::KIND_FARM: u32 +pub const radroots_event::envelope::kind::KIND_FARM_CRDT_CHANGE: u32 +pub const radroots_event::envelope::kind::KIND_FARM_FILE_METADATA: u32 +pub const radroots_event::envelope::kind::KIND_FARM_WORKSPACE_MANIFEST: u32 +pub const radroots_event::envelope::kind::KIND_FILE_METADATA: u32 +pub const radroots_event::envelope::kind::KIND_FOLLOW: u32 +pub const radroots_event::envelope::kind::KIND_GENERIC_REPOST: u32 +pub const radroots_event::envelope::kind::KIND_GEOCHAT: u32 +pub const radroots_event::envelope::kind::KIND_GIFT_WRAP: u32 +pub const radroots_event::envelope::kind::KIND_GROUP_ADMINS: u32 +pub const radroots_event::envelope::kind::KIND_GROUP_CREATE_GROUP: u32 +pub const radroots_event::envelope::kind::KIND_GROUP_CREATE_INVITE: u32 +pub const radroots_event::envelope::kind::KIND_GROUP_DELETE_EVENT: u32 +pub const radroots_event::envelope::kind::KIND_GROUP_DELETE_GROUP: u32 +pub const radroots_event::envelope::kind::KIND_GROUP_EDIT_METADATA: u32 +pub const radroots_event::envelope::kind::KIND_GROUP_JOIN_REQUEST: u32 +pub const radroots_event::envelope::kind::KIND_GROUP_LEAVE_REQUEST: u32 +pub const radroots_event::envelope::kind::KIND_GROUP_MEMBERS: u32 +pub const radroots_event::envelope::kind::KIND_GROUP_METADATA: u32 +pub const radroots_event::envelope::kind::KIND_GROUP_PUT_USER: u32 +pub const radroots_event::envelope::kind::KIND_GROUP_REMOVE_USER: u32 +pub const radroots_event::envelope::kind::KIND_GROUP_ROLES: u32 +pub const radroots_event::envelope::kind::KIND_HTTP_AUTH: u32 +pub const radroots_event::envelope::kind::KIND_JOB_FEEDBACK: u32 +pub const radroots_event::envelope::kind::KIND_JOB_REQUEST_MAX: u32 +pub const radroots_event::envelope::kind::KIND_JOB_REQUEST_MIN: u32 +pub const radroots_event::envelope::kind::KIND_JOB_RESULT_MAX: u32 +pub const radroots_event::envelope::kind::KIND_JOB_RESULT_MIN: u32 +pub const radroots_event::envelope::kind::KIND_KNOWLEDGE_CHANGE_PROPOSAL: u32 +pub const radroots_event::envelope::kind::KIND_KNOWLEDGE_CLAIM: u32 +pub const radroots_event::envelope::kind::KIND_KNOWLEDGE_FIELD_REPORT: u32 +pub const radroots_event::envelope::kind::KIND_KNOWLEDGE_RELATION: u32 +pub const radroots_event::envelope::kind::KIND_KNOWLEDGE_REVIEW: u32 +pub const radroots_event::envelope::kind::KIND_KNOWLEDGE_SOURCE: u32 +pub const radroots_event::envelope::kind::KIND_LIST_BLOCKED_RELAYS: u32 +pub const radroots_event::envelope::kind::KIND_LIST_BOOKMARKS: u32 +pub const radroots_event::envelope::kind::KIND_LIST_COMMUNITIES: u32 +pub const radroots_event::envelope::kind::KIND_LIST_DM_RELAYS: u32 +pub const radroots_event::envelope::kind::KIND_LIST_EMOJIS: u32 +pub const radroots_event::envelope::kind::KIND_LIST_GOOD_WIKI_AUTHORS: u32 +pub const radroots_event::envelope::kind::KIND_LIST_GOOD_WIKI_RELAYS: u32 +pub const radroots_event::envelope::kind::KIND_LIST_INTERESTS: u32 +pub const radroots_event::envelope::kind::KIND_LIST_MEDIA_FOLLOWS: u32 +pub const radroots_event::envelope::kind::KIND_LIST_MUTE: u32 +pub const radroots_event::envelope::kind::KIND_LIST_PINNED_NOTES: u32 +pub const radroots_event::envelope::kind::KIND_LIST_PUBLIC_CHATS: u32 +pub const radroots_event::envelope::kind::KIND_LIST_READ_WRITE_RELAYS: u32 +pub const radroots_event::envelope::kind::KIND_LIST_RELAY_FEEDS: u32 +pub const radroots_event::envelope::kind::KIND_LIST_SEARCH_RELAYS: u32 +pub const radroots_event::envelope::kind::KIND_LIST_SET_APP_CURATION: u32 +pub const radroots_event::envelope::kind::KIND_LIST_SET_BOOKMARK: u32 +pub const radroots_event::envelope::kind::KIND_LIST_SET_CALENDAR: u32 +pub const radroots_event::envelope::kind::KIND_LIST_SET_CURATION: u32 +pub const radroots_event::envelope::kind::KIND_LIST_SET_EMOJI: u32 +pub const radroots_event::envelope::kind::KIND_LIST_SET_FOLLOW: u32 +pub const radroots_event::envelope::kind::KIND_LIST_SET_GENERIC: u32 +pub const radroots_event::envelope::kind::KIND_LIST_SET_INTEREST: u32 +pub const radroots_event::envelope::kind::KIND_LIST_SET_KIND_MUTE: u32 +pub const radroots_event::envelope::kind::KIND_LIST_SET_MEDIA_STARTER_PACK: u32 +pub const radroots_event::envelope::kind::KIND_LIST_SET_PICTURE: u32 +pub const radroots_event::envelope::kind::KIND_LIST_SET_RELAY: u32 +pub const radroots_event::envelope::kind::KIND_LIST_SET_RELEASE_ARTIFACT: u32 +pub const radroots_event::envelope::kind::KIND_LIST_SET_STARTER_PACK: u32 +pub const radroots_event::envelope::kind::KIND_LIST_SET_VIDEO: u32 +pub const radroots_event::envelope::kind::KIND_LIST_SIMPLE_GROUPS: u32 +pub const radroots_event::envelope::kind::KIND_MESSAGE: u32 +pub const radroots_event::envelope::kind::KIND_MESSAGE_FILE: u32 +pub const radroots_event::envelope::kind::KIND_ORDER_CANCELLATION: u32 +pub const radroots_event::envelope::kind::KIND_ORDER_DECISION: u32 +pub const radroots_event::envelope::kind::KIND_ORDER_REQUEST: u32 +pub const radroots_event::envelope::kind::KIND_PLOT: u32 +pub const radroots_event::envelope::kind::KIND_POST: u32 +pub const radroots_event::envelope::kind::KIND_PROFILE: u32 +pub const radroots_event::envelope::kind::KIND_PUBLIC_FILE_METADATA: u32 +pub const radroots_event::envelope::kind::KIND_REACTION: u32 +pub const radroots_event::envelope::kind::KIND_RELAY_AUTH: u32 +pub const radroots_event::envelope::kind::KIND_REPORT: u32 +pub const radroots_event::envelope::kind::KIND_REPOST: u32 +pub const radroots_event::envelope::kind::KIND_RESOURCE_AREA: u32 +pub const radroots_event::envelope::kind::KIND_RESOURCE_HARVEST_CAP: u32 +pub const radroots_event::envelope::kind::KIND_SEAL: u32 +pub const radroots_event::envelope::kind::KIND_TRADE_CANCELLATION: u32 +pub const radroots_event::envelope::kind::KIND_TRADE_DECISION: u32 +pub const radroots_event::envelope::kind::KIND_TRADE_FORBIDDEN_3431: u32 +pub const radroots_event::envelope::kind::KIND_TRADE_PROPOSAL: u32 +pub const radroots_event::envelope::kind::KIND_TRADE_REVISION_DECISION: u32 +pub const radroots_event::envelope::kind::KIND_TRADE_REVISION_PROPOSAL: u32 +pub const radroots_event::envelope::kind::KIND_TRADE_SELLER_RESERVATION_ASSERTION: u32 +pub const radroots_event::envelope::kind::KIND_TRADE_VALIDATION_RECEIPT: u32 +pub const radroots_event::envelope::kind::KIND_VALIDATOR_SET: u32 +pub const radroots_event::envelope::kind::KIND_WIKI_ARTICLE: u32 +pub const radroots_event::envelope::kind::KIND_WIKI_MERGE_REQUEST: u32 +pub const radroots_event::envelope::kind::KIND_WIKI_REDIRECT: u32 +pub const radroots_event::envelope::kind::KNOWLEDGE_ADDRESSABLE_EVENT_KINDS: [u32; 4] +pub const radroots_event::envelope::kind::KNOWLEDGE_BETA_EVENT_KINDS: [u32; 3] +pub const radroots_event::envelope::kind::KNOWLEDGE_EVENT_KINDS: [u32; 11] +pub const radroots_event::envelope::kind::KNOWLEDGE_MVP_EVENT_KINDS: [u32; 8] +pub const radroots_event::envelope::kind::KNOWLEDGE_REGULAR_EVENT_KINDS: [u32; 7] +pub const radroots_event::envelope::kind::MAP_CANDIDATE_KINDS: [u32; 7] +pub const radroots_event::envelope::kind::MARKET_CANDIDATE_KINDS: [u32; 3] +pub const radroots_event::envelope::kind::MODERATION_ADMIN_CANDIDATE_KINDS: [u32; 1] +pub const radroots_event::envelope::kind::MVP_SOCIAL_KINDS: [u32; 7] +pub const radroots_event::envelope::kind::NIP29_GROUP_KINDS: [u32; 13] +pub const radroots_event::envelope::kind::ORDER_EVENT_KINDS: [u32; 3] +pub const radroots_event::envelope::kind::PRIVATE_FARM_OPS_KINDS: [u32; 16] +pub const radroots_event::envelope::kind::PRODUCTION_SOCIAL_KINDS: [u32; 4] +pub const radroots_event::envelope::kind::PROFILE_PUBLIC_CONTENT_KINDS: [u32; 8] +pub const radroots_event::envelope::kind::PUBLIC_SOCIAL_KINDS: [u32; 12] +pub const radroots_event::envelope::kind::TRADE_MUTATION_EVENT_KINDS: [u32; 5] +pub const radroots_event::envelope::kind::TRADE_VALIDATION_EVENT_KINDS: [u32; 1] +pub const radroots_event::envelope::kind::UNAMBIGUOUS_PUBLIC_SOCIAL_KINDS: [u32; 11] +pub const radroots_event::envelope::kind::WIKI_EVENT_KINDS: [u32; 3] +pub const fn radroots_event::envelope::kind::is_ambiguous_public_social_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_classified_listing_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_commercial_event_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_events_candidate_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_home_feed_candidate_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_knowledge_addressable_event_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_knowledge_beta_event_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_knowledge_event_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_knowledge_mvp_event_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_knowledge_regular_event_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_map_candidate_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_market_candidate_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_moderation_admin_candidate_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_mvp_social_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_nip29_group_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_nip51_list_set_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_nip51_standard_list_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_order_event_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_private_farm_ops_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_production_social_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_profile_public_content_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_public_file_metadata_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_public_social_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_request_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_result_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_trade_mutation_event_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_trade_validation_event_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_trade_validation_receipt_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_trade_validation_service_event_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_trade_validation_service_request_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_trade_validation_service_result_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_unambiguous_public_social_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::is_wiki_event_kind(u32) -> bool +pub const fn radroots_event::envelope::kind::request_kind_for_result_kind(u32) -> core::option::Option<u32> +pub const fn radroots_event::envelope::kind::result_kind_for_request_kind(u32) -> core::option::Option<u32> +pub const fn radroots_event::envelope::kind::trade_validation_service_request_kind_for_result(u32) -> core::option::Option<u32> +pub const fn radroots_event::envelope::kind::trade_validation_service_result_kind_for_request(u32) -> core::option::Option<u32> +pub enum radroots_event::envelope::EventEnvelopeError +pub radroots_event::envelope::EventEnvelopeError::ContentTooLarge +pub radroots_event::envelope::EventEnvelopeError::ContentTooLarge::actual: usize +pub radroots_event::envelope::EventEnvelopeError::ContentTooLarge::max: usize +pub radroots_event::envelope::EventEnvelopeError::ControlCharacterTagKey +pub radroots_event::envelope::EventEnvelopeError::ControlCharacterTagKey::index: usize +pub radroots_event::envelope::EventEnvelopeError::EmptyTag +pub radroots_event::envelope::EventEnvelopeError::EmptyTag::index: usize +pub radroots_event::envelope::EventEnvelopeError::EmptyTagKey +pub radroots_event::envelope::EventEnvelopeError::EmptyTagKey::index: usize +pub radroots_event::envelope::EventEnvelopeError::InvalidAuthor(radroots_event::id::ParseError) +pub radroots_event::envelope::EventEnvelopeError::InvalidId(radroots_event::id::ParseError) +pub radroots_event::envelope::EventEnvelopeError::InvalidSignature(radroots_event::id::ParseError) +pub radroots_event::envelope::EventEnvelopeError::NonCanonicalAuthor +pub radroots_event::envelope::EventEnvelopeError::NonCanonicalId +pub radroots_event::envelope::EventEnvelopeError::NonCanonicalSignature +pub radroots_event::envelope::EventEnvelopeError::TagElementTooLarge +pub radroots_event::envelope::EventEnvelopeError::TagElementTooLarge::actual: usize +pub radroots_event::envelope::EventEnvelopeError::TagElementTooLarge::element_index: usize +pub radroots_event::envelope::EventEnvelopeError::TagElementTooLarge::max: usize +pub radroots_event::envelope::EventEnvelopeError::TagElementTooLarge::tag_index: usize +pub radroots_event::envelope::EventEnvelopeError::TagsTooLarge +pub radroots_event::envelope::EventEnvelopeError::TagsTooLarge::actual: usize +pub radroots_event::envelope::EventEnvelopeError::TagsTooLarge::max: usize +pub radroots_event::envelope::EventEnvelopeError::TooManyTagElements +pub radroots_event::envelope::EventEnvelopeError::TooManyTagElements::actual: usize +pub radroots_event::envelope::EventEnvelopeError::TooManyTagElements::max: usize +pub radroots_event::envelope::EventEnvelopeError::TooManyTags +pub radroots_event::envelope::EventEnvelopeError::TooManyTags::actual: usize +pub radroots_event::envelope::EventEnvelopeError::TooManyTags::max: usize +impl core::convert::From<radroots_event::envelope::EventEnvelopeError> for radroots_event::draft::DraftError +pub fn radroots_event::draft::DraftError::from(radroots_event::envelope::EventEnvelopeError) -> Self +impl core::convert::From<radroots_event::envelope::EventEnvelopeError> for radroots_event::draft::SignedEventError +pub fn radroots_event::draft::SignedEventError::from(radroots_event::envelope::EventEnvelopeError) -> Self +impl core::error::Error for radroots_event::envelope::EventEnvelopeError +impl core::fmt::Display for radroots_event::envelope::EventEnvelopeError +pub fn radroots_event::envelope::EventEnvelopeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_event::envelope::EventKindClass +pub radroots_event::envelope::EventKindClass::Addressable +pub radroots_event::envelope::EventKindClass::Ephemeral +pub radroots_event::envelope::EventKindClass::Regular +pub radroots_event::envelope::EventKindClass::Replaceable +pub struct radroots_event::envelope::EventEnvelope +impl radroots_event::envelope::EventEnvelope +pub fn radroots_event::envelope::EventEnvelope::author(&self) -> &radroots_identity::key::PublicKey +pub fn radroots_event::envelope::EventEnvelope::content(&self) -> &str +pub fn radroots_event::envelope::EventEnvelope::created_at(&self) -> radroots_event::envelope::EventTimestamp +pub fn radroots_event::envelope::EventEnvelope::created_at_u64(&self) -> u64 +pub fn radroots_event::envelope::EventEnvelope::id(&self) -> &radroots_event::id::EventId +pub fn radroots_event::envelope::EventEnvelope::id_hex(&self) -> alloc::string::String +pub fn radroots_event::envelope::EventEnvelope::kind(&self) -> radroots_event::envelope::EventKind +pub fn radroots_event::envelope::EventEnvelope::kind_class(&self) -> radroots_event::envelope::EventKindClass +pub fn radroots_event::envelope::EventEnvelope::kind_u32(&self) -> u32 +pub fn radroots_event::envelope::EventEnvelope::new(radroots_event::envelope::EventEnvelopeParts) -> core::result::Result<Self, radroots_event::envelope::EventEnvelopeError> +pub fn radroots_event::envelope::EventEnvelope::new_with_limits(radroots_event::envelope::EventEnvelopeParts, radroots_event::envelope::EventEnvelopeLimits) -> core::result::Result<Self, radroots_event::envelope::EventEnvelopeError> +pub fn radroots_event::envelope::EventEnvelope::sig(&self) -> &radroots_event::id::EventSignature +pub fn radroots_event::envelope::EventEnvelope::signature_hex(&self) -> alloc::string::String +pub fn radroots_event::envelope::EventEnvelope::tag_slices(&self) -> &[radroots_event::envelope::EventTag] +pub fn radroots_event::envelope::EventEnvelope::tags(&self) -> &radroots_event::envelope::EventTags +pub fn radroots_event::envelope::EventEnvelope::tags_as_vec(&self) -> alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>> +pub fn radroots_event::envelope::EventEnvelope::to_nip01_wire(&self) -> Nip01EventWire +pub struct radroots_event::envelope::EventEnvelopeLimits +pub radroots_event::envelope::EventEnvelopeLimits::max_content_bytes: usize +pub radroots_event::envelope::EventEnvelopeLimits::max_tag_count: usize +pub radroots_event::envelope::EventEnvelopeLimits::max_tag_element_bytes: usize +pub radroots_event::envelope::EventEnvelopeLimits::max_total_tag_bytes: usize +pub radroots_event::envelope::EventEnvelopeLimits::max_total_tag_elements: usize +impl core::default::Default for radroots_event::envelope::EventEnvelopeLimits +pub fn radroots_event::envelope::EventEnvelopeLimits::default() -> Self +pub struct radroots_event::envelope::EventEnvelopeParts +pub radroots_event::envelope::EventEnvelopeParts::author: alloc::string::String +pub radroots_event::envelope::EventEnvelopeParts::content: alloc::string::String +pub radroots_event::envelope::EventEnvelopeParts::created_at: u64 +pub radroots_event::envelope::EventEnvelopeParts::id: alloc::string::String +pub radroots_event::envelope::EventEnvelopeParts::kind: u32 +pub radroots_event::envelope::EventEnvelopeParts::sig: alloc::string::String +pub radroots_event::envelope::EventEnvelopeParts::tags: alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>> +pub struct radroots_event::envelope::EventKind(_) +impl radroots_event::envelope::EventKind +pub const fn radroots_event::envelope::EventKind::as_u32(self) -> u32 +pub const fn radroots_event::envelope::EventKind::class(self) -> radroots_event::envelope::EventKindClass +pub const fn radroots_event::envelope::EventKind::new(u32) -> Self +impl core::convert::From<u32> for radroots_event::envelope::EventKind +pub fn radroots_event::envelope::EventKind::from(u32) -> Self +impl serde_core::ser::Serialize for radroots_event::envelope::EventKind +pub fn radroots_event::envelope::EventKind::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::envelope::EventKind +pub fn radroots_event::envelope::EventKind::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::envelope::EventTag(_) +impl radroots_event::envelope::EventTag +pub fn radroots_event::envelope::EventTag::as_slice(&self) -> &[alloc::string::String] +pub fn radroots_event::envelope::EventTag::into_vec(self) -> alloc::vec::Vec<alloc::string::String> +pub fn radroots_event::envelope::EventTag::new(usize, alloc::vec::Vec<alloc::string::String>) -> core::result::Result<Self, radroots_event::envelope::EventEnvelopeError> +pub fn radroots_event::envelope::EventTag::new_with_limits(usize, alloc::vec::Vec<alloc::string::String>, radroots_event::envelope::EventEnvelopeLimits) -> core::result::Result<Self, radroots_event::envelope::EventEnvelopeError> +impl serde_core::ser::Serialize for radroots_event::envelope::EventTag +pub fn radroots_event::envelope::EventTag::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::envelope::EventTag +pub fn radroots_event::envelope::EventTag::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::envelope::EventTags(_) +impl radroots_event::envelope::EventTags +pub fn radroots_event::envelope::EventTags::as_slice(&self) -> &[radroots_event::envelope::EventTag] +pub fn radroots_event::envelope::EventTags::into_vec(self) -> alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>> +pub fn radroots_event::envelope::EventTags::is_empty(&self) -> bool +pub fn radroots_event::envelope::EventTags::len(&self) -> usize +pub fn radroots_event::envelope::EventTags::new(alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> core::result::Result<Self, radroots_event::envelope::EventEnvelopeError> +pub fn radroots_event::envelope::EventTags::new_with_limits(alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_event::envelope::EventEnvelopeLimits) -> core::result::Result<Self, radroots_event::envelope::EventEnvelopeError> +pub fn radroots_event::envelope::EventTags::to_vec(&self) -> alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>> +impl serde_core::ser::Serialize for radroots_event::envelope::EventTags +pub fn radroots_event::envelope::EventTags::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::envelope::EventTags +pub fn radroots_event::envelope::EventTags::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::envelope::EventTimestamp(_) +impl radroots_event::envelope::EventTimestamp +pub const fn radroots_event::envelope::EventTimestamp::as_u64(self) -> u64 +pub const fn radroots_event::envelope::EventTimestamp::new(u64) -> Self +impl core::convert::From<u64> for radroots_event::envelope::EventTimestamp +pub fn radroots_event::envelope::EventTimestamp::from(u64) -> Self +impl serde_core::ser::Serialize for radroots_event::envelope::EventTimestamp +pub fn radroots_event::envelope::EventTimestamp::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::envelope::EventTimestamp +pub fn radroots_event::envelope::EventTimestamp::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub mod radroots_event::farm +pub mod radroots_event::farm::change_set +pub struct radroots_event::farm::change_set::GcsLocation +pub radroots_event::farm::change_set::GcsLocation::accuracy: core::option::Option<f64> +pub radroots_event::farm::change_set::GcsLocation::altitude: core::option::Option<f64> +pub radroots_event::farm::change_set::GcsLocation::area: core::option::Option<f64> +pub radroots_event::farm::change_set::GcsLocation::climate: core::option::Option<alloc::string::String> +pub radroots_event::farm::change_set::GcsLocation::elevation: core::option::Option<u32> +pub radroots_event::farm::change_set::GcsLocation::gc_admin1_id: core::option::Option<alloc::string::String> +pub radroots_event::farm::change_set::GcsLocation::gc_admin1_name: core::option::Option<alloc::string::String> +pub radroots_event::farm::change_set::GcsLocation::gc_country_id: core::option::Option<alloc::string::String> +pub radroots_event::farm::change_set::GcsLocation::gc_country_name: core::option::Option<alloc::string::String> +pub radroots_event::farm::change_set::GcsLocation::gc_id: core::option::Option<alloc::string::String> +pub radroots_event::farm::change_set::GcsLocation::gc_name: core::option::Option<alloc::string::String> +pub radroots_event::farm::change_set::GcsLocation::geohash: alloc::string::String +pub radroots_event::farm::change_set::GcsLocation::label: core::option::Option<alloc::string::String> +pub radroots_event::farm::change_set::GcsLocation::lat: f64 +pub radroots_event::farm::change_set::GcsLocation::lng: f64 +pub radroots_event::farm::change_set::GcsLocation::point: radroots_event::farm::change_set::GeoJsonPoint +pub radroots_event::farm::change_set::GcsLocation::polygon: radroots_event::farm::change_set::GeoJsonPolygon +pub radroots_event::farm::change_set::GcsLocation::soil: core::option::Option<alloc::string::String> +pub radroots_event::farm::change_set::GcsLocation::tag_0: core::option::Option<alloc::string::String> +pub struct radroots_event::farm::change_set::GeoJsonPoint +pub radroots_event::farm::change_set::GeoJsonPoint::coordinates: [f64; 2] +pub radroots_event::farm::change_set::GeoJsonPoint::type: alloc::string::String +pub struct radroots_event::farm::change_set::GeoJsonPolygon +pub radroots_event::farm::change_set::GeoJsonPolygon::coordinates: alloc::vec::Vec<alloc::vec::Vec<[f64; 2]>> +pub radroots_event::farm::change_set::GeoJsonPolygon::type: alloc::string::String +pub mod radroots_event::farm::coop +pub struct radroots_event::farm::coop::Coop +pub radroots_event::farm::coop::Coop::about: core::option::Option<alloc::string::String> +pub radroots_event::farm::coop::Coop::banner: core::option::Option<alloc::string::String> +pub radroots_event::farm::coop::Coop::d_tag: alloc::string::String +pub radroots_event::farm::coop::Coop::location: core::option::Option<radroots_event::farm::coop::CoopLocation> +pub radroots_event::farm::coop::Coop::name: alloc::string::String +pub radroots_event::farm::coop::Coop::picture: core::option::Option<alloc::string::String> +pub radroots_event::farm::coop::Coop::tags: core::option::Option<alloc::vec::Vec<alloc::string::String>> +pub radroots_event::farm::coop::Coop::website: core::option::Option<alloc::string::String> +pub struct radroots_event::farm::coop::CoopLocation +pub radroots_event::farm::coop::CoopLocation::city: core::option::Option<alloc::string::String> +pub radroots_event::farm::coop::CoopLocation::country: core::option::Option<alloc::string::String> +pub radroots_event::farm::coop::CoopLocation::gcs: radroots_event::farm::change_set::GcsLocation +pub radroots_event::farm::coop::CoopLocation::primary: core::option::Option<alloc::string::String> +pub radroots_event::farm::coop::CoopLocation::region: core::option::Option<alloc::string::String> +pub struct radroots_event::farm::coop::CoopRef +pub radroots_event::farm::coop::CoopRef::d_tag: alloc::string::String +pub radroots_event::farm::coop::CoopRef::pubkey: alloc::string::String +pub mod radroots_event::farm::crdt +pub enum radroots_event::farm::crdt::CrdtBackend +pub radroots_event::farm::crdt::CrdtBackend::Automerge +pub radroots_event::farm::crdt::CrdtBackend::Loro +pub radroots_event::farm::crdt::CrdtBackend::Yjs +pub enum radroots_event::farm::crdt::FarmCrdtDocumentKind +pub radroots_event::farm::crdt::FarmCrdtDocumentKind::FarmActivity +pub radroots_event::farm::crdt::FarmCrdtDocumentKind::FarmAttachment +pub radroots_event::farm::crdt::FarmCrdtDocumentKind::FarmCrop +pub radroots_event::farm::crdt::FarmCrdtDocumentKind::FarmCropCycle +pub radroots_event::farm::crdt::FarmCrdtDocumentKind::FarmCropVariety +pub radroots_event::farm::crdt::FarmCrdtDocumentKind::FarmHarvestRecord +pub radroots_event::farm::crdt::FarmCrdtDocumentKind::FarmInventoryItem +pub radroots_event::farm::crdt::FarmCrdtDocumentKind::FarmLocation +pub radroots_event::farm::crdt::FarmCrdtDocumentKind::FarmMediaAsset +pub radroots_event::farm::crdt::FarmCrdtDocumentKind::FarmMembership +pub radroots_event::farm::crdt::FarmCrdtDocumentKind::FarmObservation +pub radroots_event::farm::crdt::FarmCrdtDocumentKind::FarmPayPeriod +pub radroots_event::farm::crdt::FarmCrdtDocumentKind::FarmRolePolicy +pub radroots_event::farm::crdt::FarmCrdtDocumentKind::FarmTask +pub radroots_event::farm::crdt::FarmCrdtDocumentKind::FarmWorkSession +pub radroots_event::farm::crdt::FarmCrdtDocumentKind::Other +pub radroots_event::farm::crdt::FarmCrdtDocumentKind::Other::value: alloc::string::String +impl radroots_event::farm::crdt::FarmCrdtDocumentKind +pub fn radroots_event::farm::crdt::FarmCrdtDocumentKind::as_str(&self) -> &str +impl core::convert::From<alloc::string::String> for radroots_event::farm::crdt::FarmCrdtDocumentKind +pub fn radroots_event::farm::crdt::FarmCrdtDocumentKind::from(alloc::string::String) -> Self +impl core::convert::From<radroots_event::farm::crdt::FarmCrdtDocumentKind> for alloc::string::String +pub fn alloc::string::String::from(radroots_event::farm::crdt::FarmCrdtDocumentKind) -> Self +pub enum radroots_event::farm::crdt::FarmSemanticKind +pub radroots_event::farm::crdt::FarmSemanticKind::FarmActivityCreate +pub radroots_event::farm::crdt::FarmSemanticKind::FarmCropCreate +pub radroots_event::farm::crdt::FarmSemanticKind::FarmCropCycleCreate +pub radroots_event::farm::crdt::FarmSemanticKind::FarmCropVarietyCreate +pub radroots_event::farm::crdt::FarmSemanticKind::FarmHarvestAttachmentAttach +pub radroots_event::farm::crdt::FarmSemanticKind::FarmHarvestLineAdd +pub radroots_event::farm::crdt::FarmSemanticKind::FarmHarvestLineCorrect +pub radroots_event::farm::crdt::FarmSemanticKind::FarmHarvestLineVoid +pub radroots_event::farm::crdt::FarmSemanticKind::FarmHarvestRecordCreate +pub radroots_event::farm::crdt::FarmSemanticKind::FarmHarvestRecordUpdate +pub radroots_event::farm::crdt::FarmSemanticKind::FarmInventoryItemUpdate +pub radroots_event::farm::crdt::FarmSemanticKind::FarmLocationCreate +pub radroots_event::farm::crdt::FarmSemanticKind::FarmMediaAssetAttach +pub radroots_event::farm::crdt::FarmSemanticKind::FarmMemberApprove +pub radroots_event::farm::crdt::FarmSemanticKind::FarmMemberDeactivate +pub radroots_event::farm::crdt::FarmSemanticKind::FarmMemberInviteCreate +pub radroots_event::farm::crdt::FarmSemanticKind::FarmMemberRoleSet +pub radroots_event::farm::crdt::FarmSemanticKind::FarmNoteCreate +pub radroots_event::farm::crdt::FarmSemanticKind::FarmObservationCreate +pub radroots_event::farm::crdt::FarmSemanticKind::FarmPayPeriodClose +pub radroots_event::farm::crdt::FarmSemanticKind::FarmPayPeriodOpen +pub radroots_event::farm::crdt::FarmSemanticKind::FarmReportExportMark +pub radroots_event::farm::crdt::FarmSemanticKind::FarmTaskAssign +pub radroots_event::farm::crdt::FarmSemanticKind::FarmTaskAttachmentAttach +pub radroots_event::farm::crdt::FarmSemanticKind::FarmTaskChecklistItemAdd +pub radroots_event::farm::crdt::FarmSemanticKind::FarmTaskCommentAdd +pub radroots_event::farm::crdt::FarmSemanticKind::FarmTaskComplete +pub radroots_event::farm::crdt::FarmSemanticKind::FarmTaskCreate +pub radroots_event::farm::crdt::FarmSemanticKind::FarmTaskFollowUpCreate +pub radroots_event::farm::crdt::FarmSemanticKind::FarmTaskJoin +pub radroots_event::farm::crdt::FarmSemanticKind::FarmTaskStatusSet +pub radroots_event::farm::crdt::FarmSemanticKind::FarmTaskUpdate +pub radroots_event::farm::crdt::FarmSemanticKind::FarmWorkSessionApprove +pub radroots_event::farm::crdt::FarmSemanticKind::FarmWorkSessionCorrect +pub radroots_event::farm::crdt::FarmSemanticKind::FarmWorkSessionEnd +pub radroots_event::farm::crdt::FarmSemanticKind::FarmWorkSessionManualEntryCreate +pub radroots_event::farm::crdt::FarmSemanticKind::FarmWorkSessionReject +pub radroots_event::farm::crdt::FarmSemanticKind::FarmWorkSessionStart +pub radroots_event::farm::crdt::FarmSemanticKind::FarmWorkSessionStop +pub radroots_event::farm::crdt::FarmSemanticKind::FarmWorkSessionSubmit +pub radroots_event::farm::crdt::FarmSemanticKind::FarmWorkSessionUpdate +pub radroots_event::farm::crdt::FarmSemanticKind::FarmWorkspaceUpdate +pub radroots_event::farm::crdt::FarmSemanticKind::Other +pub radroots_event::farm::crdt::FarmSemanticKind::Other::value: alloc::string::String +impl radroots_event::farm::crdt::FarmSemanticKind +pub fn radroots_event::farm::crdt::FarmSemanticKind::as_str(&self) -> &str +impl core::convert::From<alloc::string::String> for radroots_event::farm::crdt::FarmSemanticKind +pub fn radroots_event::farm::crdt::FarmSemanticKind::from(alloc::string::String) -> Self +impl core::convert::From<radroots_event::farm::crdt::FarmSemanticKind> for alloc::string::String +pub fn alloc::string::String::from(radroots_event::farm::crdt::FarmSemanticKind) -> Self +pub struct radroots_event::farm::crdt::FarmCrdtChange +pub radroots_event::farm::crdt::FarmCrdtChange::actor_id: alloc::string::String +pub radroots_event::farm::crdt::FarmCrdtChange::app_version: core::option::Option<alloc::string::String> +pub radroots_event::farm::crdt::FarmCrdtChange::author_member_id: core::option::Option<alloc::string::String> +pub radroots_event::farm::crdt::FarmCrdtChange::business_time_ms: u64 +pub radroots_event::farm::crdt::FarmCrdtChange::change_hash: alloc::string::String +pub radroots_event::farm::crdt::FarmCrdtChange::crdt_backend: radroots_event::farm::crdt::CrdtBackend +pub radroots_event::farm::crdt::FarmCrdtChange::crdt_backend_version: core::option::Option<alloc::string::String> +pub radroots_event::farm::crdt::FarmCrdtChange::dependencies: alloc::vec::Vec<alloc::string::String> +pub radroots_event::farm::crdt::FarmCrdtChange::document_id: alloc::string::String +pub radroots_event::farm::crdt::FarmCrdtChange::document_kind: radroots_event::farm::crdt::FarmCrdtDocumentKind +pub radroots_event::farm::crdt::FarmCrdtChange::encoded_change: alloc::string::String +pub radroots_event::farm::crdt::FarmCrdtChange::farm_group_id: alloc::string::String +pub radroots_event::farm::crdt::FarmCrdtChange::schema: alloc::string::String +pub radroots_event::farm::crdt::FarmCrdtChange::semantic_kind: radroots_event::farm::crdt::FarmSemanticKind +pub radroots_event::farm::crdt::FarmCrdtChange::workspace: radroots_event::farm::workspace::FarmWorkspaceRef +pub const radroots_event::farm::crdt::KIND_FARM_CRDT_CHANGE: u32 +pub const radroots_event::farm::crdt::RADROOTS_FARM_CRDT_CHANGE_SCHEMA: &str +pub const radroots_event::farm::crdt::RADROOTS_FARM_CRDT_TAG: &str +pub mod radroots_event::farm::file +pub struct radroots_event::farm::file::FarmFileDimensions +pub radroots_event::farm::file::FarmFileDimensions::h: u32 +pub radroots_event::farm::file::FarmFileDimensions::w: u32 +pub struct radroots_event::farm::file::FarmFileMetadata +pub radroots_event::farm::file::FarmFileMetadata::alt: core::option::Option<alloc::string::String> +pub radroots_event::farm::file::FarmFileMetadata::blurhash: core::option::Option<alloc::string::String> +pub radroots_event::farm::file::FarmFileMetadata::caption: core::option::Option<alloc::string::String> +pub radroots_event::farm::file::FarmFileMetadata::d_tag: alloc::string::String +pub radroots_event::farm::file::FarmFileMetadata::dimensions: core::option::Option<radroots_event::farm::file::FarmFileDimensions> +pub radroots_event::farm::file::FarmFileMetadata::fallbacks: alloc::vec::Vec<alloc::string::String> +pub radroots_event::farm::file::FarmFileMetadata::farm_group_id: alloc::string::String +pub radroots_event::farm::file::FarmFileMetadata::image: core::option::Option<radroots_event::farm::file::FarmFileSource> +pub radroots_event::farm::file::FarmFileMetadata::mime_type: alloc::string::String +pub radroots_event::farm::file::FarmFileMetadata::original_sha256: core::option::Option<alloc::string::String> +pub radroots_event::farm::file::FarmFileMetadata::owner_document_id: alloc::string::String +pub radroots_event::farm::file::FarmFileMetadata::owner_document_kind: radroots_event::farm::crdt::FarmCrdtDocumentKind +pub radroots_event::farm::file::FarmFileMetadata::sha256: alloc::string::String +pub radroots_event::farm::file::FarmFileMetadata::size_bytes: core::option::Option<u64> +pub radroots_event::farm::file::FarmFileMetadata::thumb: core::option::Option<radroots_event::farm::file::FarmFileSource> +pub radroots_event::farm::file::FarmFileMetadata::url: alloc::string::String +pub radroots_event::farm::file::FarmFileMetadata::workspace: radroots_event::farm::workspace::FarmWorkspaceRef +pub struct radroots_event::farm::file::FarmFileSource +pub radroots_event::farm::file::FarmFileSource::dimensions: core::option::Option<radroots_event::farm::file::FarmFileDimensions> +pub radroots_event::farm::file::FarmFileSource::mime_type: core::option::Option<alloc::string::String> +pub radroots_event::farm::file::FarmFileSource::url: alloc::string::String +pub const radroots_event::farm::file::KIND_FARM_FILE_METADATA: u32 +pub mod radroots_event::farm::location +pub const radroots_event::farm::location::RADROOTS_PUBLIC_GEOHASH_BASE32: &str +pub const radroots_event::farm::location::RADROOTS_PUBLIC_GEOHASH_PRECISION: usize +pub fn radroots_event::farm::location::has_textual_locality(&str, core::option::Option<&str>, core::option::Option<&str>, core::option::Option<&str>) -> bool +pub fn radroots_event::farm::location::is_public_geohash5(&str) -> bool +pub mod radroots_event::farm::plot +pub struct radroots_event::farm::plot::Plot +pub radroots_event::farm::plot::Plot::about: core::option::Option<alloc::string::String> +pub radroots_event::farm::plot::Plot::d_tag: alloc::string::String +pub radroots_event::farm::plot::Plot::farm: radroots_event::farm::FarmRef +pub radroots_event::farm::plot::Plot::location: core::option::Option<radroots_event::farm::plot::PlotLocation> +pub radroots_event::farm::plot::Plot::name: alloc::string::String +pub radroots_event::farm::plot::Plot::tags: core::option::Option<alloc::vec::Vec<alloc::string::String>> +pub struct radroots_event::farm::plot::PlotLocation +pub radroots_event::farm::plot::PlotLocation::city: core::option::Option<alloc::string::String> +pub radroots_event::farm::plot::PlotLocation::country: core::option::Option<alloc::string::String> +pub radroots_event::farm::plot::PlotLocation::gcs: radroots_event::farm::change_set::GcsLocation +pub radroots_event::farm::plot::PlotLocation::primary: core::option::Option<alloc::string::String> +pub radroots_event::farm::plot::PlotLocation::region: core::option::Option<alloc::string::String> +pub struct radroots_event::farm::plot::PlotRef +pub radroots_event::farm::plot::PlotRef::d_tag: alloc::string::String +pub radroots_event::farm::plot::PlotRef::pubkey: alloc::string::String +pub mod radroots_event::farm::resource_area +pub struct radroots_event::farm::resource_area::ResourceArea +pub radroots_event::farm::resource_area::ResourceArea::about: core::option::Option<alloc::string::String> +pub radroots_event::farm::resource_area::ResourceArea::d_tag: alloc::string::String +pub radroots_event::farm::resource_area::ResourceArea::location: radroots_event::farm::resource_area::ResourceAreaLocation +pub radroots_event::farm::resource_area::ResourceArea::name: alloc::string::String +pub radroots_event::farm::resource_area::ResourceArea::tags: core::option::Option<alloc::vec::Vec<alloc::string::String>> +pub struct radroots_event::farm::resource_area::ResourceAreaLocation +pub radroots_event::farm::resource_area::ResourceAreaLocation::city: core::option::Option<alloc::string::String> +pub radroots_event::farm::resource_area::ResourceAreaLocation::country: core::option::Option<alloc::string::String> +pub radroots_event::farm::resource_area::ResourceAreaLocation::gcs: radroots_event::farm::change_set::GcsLocation +pub radroots_event::farm::resource_area::ResourceAreaLocation::primary: core::option::Option<alloc::string::String> +pub radroots_event::farm::resource_area::ResourceAreaLocation::region: core::option::Option<alloc::string::String> +pub struct radroots_event::farm::resource_area::ResourceAreaRef +pub radroots_event::farm::resource_area::ResourceAreaRef::d_tag: alloc::string::String +pub radroots_event::farm::resource_area::ResourceAreaRef::pubkey: alloc::string::String +pub mod radroots_event::farm::resource_cap +pub struct radroots_event::farm::resource_cap::ResourceHarvestCap +pub radroots_event::farm::resource_cap::ResourceHarvestCap::cap_quantity: radroots_core::quantity::Quantity +pub radroots_event::farm::resource_cap::ResourceHarvestCap::d_tag: alloc::string::String +pub radroots_event::farm::resource_cap::ResourceHarvestCap::display_amount: core::option::Option<radroots_core::decimal::Decimal> +pub radroots_event::farm::resource_cap::ResourceHarvestCap::display_label: core::option::Option<alloc::string::String> +pub radroots_event::farm::resource_cap::ResourceHarvestCap::display_unit: core::option::Option<radroots_core::unit::Unit> +pub radroots_event::farm::resource_cap::ResourceHarvestCap::end: u64 +pub radroots_event::farm::resource_cap::ResourceHarvestCap::product: radroots_event::farm::resource_cap::ResourceHarvestProduct +pub radroots_event::farm::resource_cap::ResourceHarvestCap::resource_area: radroots_event::farm::resource_area::ResourceAreaRef +pub radroots_event::farm::resource_cap::ResourceHarvestCap::start: u64 +pub radroots_event::farm::resource_cap::ResourceHarvestCap::tags: core::option::Option<alloc::vec::Vec<alloc::string::String>> +pub struct radroots_event::farm::resource_cap::ResourceHarvestProduct +pub radroots_event::farm::resource_cap::ResourceHarvestProduct::category: core::option::Option<alloc::string::String> +pub radroots_event::farm::resource_cap::ResourceHarvestProduct::key: alloc::string::String +pub mod radroots_event::farm::workspace +pub enum radroots_event::farm::workspace::FarmWorkspaceRelayMode +pub radroots_event::farm::workspace::FarmWorkspaceRelayMode::Read +pub radroots_event::farm::workspace::FarmWorkspaceRelayMode::ReadWrite +pub radroots_event::farm::workspace::FarmWorkspaceRelayMode::Write +pub struct radroots_event::farm::workspace::FarmWorkspaceManifest +pub radroots_event::farm::workspace::FarmWorkspaceManifest::created_at_ms: u64 +pub radroots_event::farm::workspace::FarmWorkspaceManifest::d_tag: alloc::string::String +pub radroots_event::farm::workspace::FarmWorkspaceManifest::farm: core::option::Option<radroots_event::farm::FarmRef> +pub radroots_event::farm::workspace::FarmWorkspaceManifest::farm_group_id: alloc::string::String +pub radroots_event::farm::workspace::FarmWorkspaceManifest::media_servers: alloc::vec::Vec<radroots_event::farm::workspace::FarmWorkspaceMediaServer> +pub radroots_event::farm::workspace::FarmWorkspaceManifest::name: alloc::string::String +pub radroots_event::farm::workspace::FarmWorkspaceManifest::owner_pubkey: alloc::string::String +pub radroots_event::farm::workspace::FarmWorkspaceManifest::protocol_version: alloc::string::String +pub radroots_event::farm::workspace::FarmWorkspaceManifest::relays: alloc::vec::Vec<radroots_event::farm::workspace::FarmWorkspaceRelay> +pub radroots_event::farm::workspace::FarmWorkspaceManifest::schema: alloc::string::String +pub radroots_event::farm::workspace::FarmWorkspaceManifest::supported_kinds: alloc::vec::Vec<u32> +pub radroots_event::farm::workspace::FarmWorkspaceManifest::updated_at_ms: core::option::Option<u64> +pub struct radroots_event::farm::workspace::FarmWorkspaceMediaServer +pub radroots_event::farm::workspace::FarmWorkspaceMediaServer::service: alloc::string::String +pub radroots_event::farm::workspace::FarmWorkspaceMediaServer::url: alloc::string::String +pub struct radroots_event::farm::workspace::FarmWorkspaceRef +pub radroots_event::farm::workspace::FarmWorkspaceRef::d_tag: alloc::string::String +pub radroots_event::farm::workspace::FarmWorkspaceRef::pubkey: alloc::string::String +pub struct radroots_event::farm::workspace::FarmWorkspaceRelay +pub radroots_event::farm::workspace::FarmWorkspaceRelay::mode: radroots_event::farm::workspace::FarmWorkspaceRelayMode +pub radroots_event::farm::workspace::FarmWorkspaceRelay::url: alloc::string::String +pub const radroots_event::farm::workspace::KIND_FARM_WORKSPACE_MANIFEST: u32 +pub const radroots_event::farm::workspace::RADROOTS_FARM_WORKSPACE_PROTOCOL_VERSION: &str +pub const radroots_event::farm::workspace::RADROOTS_FARM_WORKSPACE_SCHEMA: &str +pub const radroots_event::farm::workspace::RADROOTS_FARM_WORKSPACE_TAG: &str +pub struct radroots_event::farm::Farm +pub radroots_event::farm::Farm::about: core::option::Option<alloc::string::String> +pub radroots_event::farm::Farm::banner: core::option::Option<alloc::string::String> +pub radroots_event::farm::Farm::d_tag: alloc::string::String +pub radroots_event::farm::Farm::location: core::option::Option<radroots_event::farm::FarmPublicLocation> +pub radroots_event::farm::Farm::name: alloc::string::String +pub radroots_event::farm::Farm::picture: core::option::Option<alloc::string::String> +pub radroots_event::farm::Farm::tags: core::option::Option<alloc::vec::Vec<alloc::string::String>> +pub radroots_event::farm::Farm::website: core::option::Option<alloc::string::String> +pub struct radroots_event::farm::FarmPublicLocation +pub radroots_event::farm::FarmPublicLocation::city: core::option::Option<alloc::string::String> +pub radroots_event::farm::FarmPublicLocation::country: core::option::Option<alloc::string::String> +pub radroots_event::farm::FarmPublicLocation::geohash: alloc::string::String +pub radroots_event::farm::FarmPublicLocation::primary: alloc::string::String +pub radroots_event::farm::FarmPublicLocation::region: core::option::Option<alloc::string::String> +pub struct radroots_event::farm::FarmRef +pub radroots_event::farm::FarmRef::d_tag: alloc::string::String +pub radroots_event::farm::FarmRef::pubkey: alloc::string::String +pub mod radroots_event::food +pub mod radroots_event::food::availability +#[non_exhaustive] pub enum radroots_event::food::availability::FoodAvailabilityError +pub radroots_event::food::availability::FoodAvailabilityError::ContentMissing +pub radroots_event::food::availability::FoodAvailabilityError::ContentTooLarge +pub radroots_event::food::availability::FoodAvailabilityError::ContentTooLarge::actual: usize +pub radroots_event::food::availability::FoodAvailabilityError::ContentTooLarge::max: usize +pub radroots_event::food::availability::FoodAvailabilityError::IdentifierInvalid +pub radroots_event::food::availability::FoodAvailabilityError::IdentifierTooLarge +pub radroots_event::food::availability::FoodAvailabilityError::IdentifierTooLarge::actual: usize +pub radroots_event::food::availability::FoodAvailabilityError::IdentifierTooLarge::max: usize +pub radroots_event::food::availability::FoodAvailabilityError::ImageCountExceeded +pub radroots_event::food::availability::FoodAvailabilityError::ImageCountExceeded::actual: usize +pub radroots_event::food::availability::FoodAvailabilityError::ImageCountExceeded::max: usize +pub radroots_event::food::availability::FoodAvailabilityError::ImageDimensionsInvalid +pub radroots_event::food::availability::FoodAvailabilityError::ImageDuplicateDigest +pub radroots_event::food::availability::FoodAvailabilityError::ImageDuplicateUrl +pub radroots_event::food::availability::FoodAvailabilityError::PriceCurrencyInvalid +pub radroots_event::food::availability::FoodAvailabilityError::PriceInvalid +pub radroots_event::food::availability::FoodAvailabilityError::PriceUnitInvalid +pub radroots_event::food::availability::FoodAvailabilityError::PublishedAtFuture +pub radroots_event::food::availability::FoodAvailabilityError::PublishedAtFuture::created_at: u64 +pub radroots_event::food::availability::FoodAvailabilityError::PublishedAtFuture::published_at: u64 +pub radroots_event::food::availability::FoodAvailabilityError::PublishedAtInvalid +pub radroots_event::food::availability::FoodAvailabilityError::QuantityInvalid +pub radroots_event::food::availability::FoodAvailabilityError::QuantityZero +pub radroots_event::food::availability::FoodAvailabilityError::StatusInvalid +pub radroots_event::food::availability::FoodAvailabilityError::TextInvalid +pub radroots_event::food::availability::FoodAvailabilityError::TextTooLarge +pub radroots_event::food::availability::FoodAvailabilityError::TextTooLarge::actual: usize +pub radroots_event::food::availability::FoodAvailabilityError::TextTooLarge::max: usize +impl radroots_event::food::availability::FoodAvailabilityError +pub const fn radroots_event::food::availability::FoodAvailabilityError::code(&self) -> &'static str +impl core::error::Error for radroots_event::food::availability::FoodAvailabilityError +impl core::fmt::Display for radroots_event::food::availability::FoodAvailabilityError +pub fn radroots_event::food::availability::FoodAvailabilityError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_event::food::availability::FoodAvailabilityStatus +pub radroots_event::food::availability::FoodAvailabilityStatus::Active +pub radroots_event::food::availability::FoodAvailabilityStatus::Sold +impl radroots_event::food::availability::FoodAvailabilityStatus +pub const fn radroots_event::food::availability::FoodAvailabilityStatus::as_str(self) -> &'static str +pub fn radroots_event::food::availability::FoodAvailabilityStatus::parse(&str) -> core::result::Result<Self, radroots_event::food::availability::FoodAvailabilityError> +impl core::fmt::Display for radroots_event::food::availability::FoodAvailabilityStatus +pub fn radroots_event::food::availability::FoodAvailabilityStatus::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::food::availability::FoodAvailabilityStatus +pub type radroots_event::food::availability::FoodAvailabilityStatus::Err = radroots_event::food::availability::FoodAvailabilityError +pub fn radroots_event::food::availability::FoodAvailabilityStatus::from_str(&str) -> core::result::Result<Self, Self::Err> +pub enum radroots_event::food::availability::FoodUnit +pub radroots_event::food::availability::FoodUnit::Bag +pub radroots_event::food::availability::FoodUnit::Basket +pub radroots_event::food::availability::FoodUnit::Bunch +pub radroots_event::food::availability::FoodUnit::Dozen +pub radroots_event::food::availability::FoodUnit::Each +pub radroots_event::food::availability::FoodUnit::Gram +pub radroots_event::food::availability::FoodUnit::Kilogram +pub radroots_event::food::availability::FoodUnit::Ounce +pub radroots_event::food::availability::FoodUnit::Pound +pub radroots_event::food::availability::FoodUnit::Punnet +impl radroots_event::food::availability::FoodUnit +pub const fn radroots_event::food::availability::FoodUnit::as_str(self) -> &'static str +pub fn radroots_event::food::availability::FoodUnit::parse(&str) -> core::result::Result<Self, radroots_event::food::availability::FoodAvailabilityError> +impl core::fmt::Display for radroots_event::food::availability::FoodUnit +pub fn radroots_event::food::availability::FoodUnit::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::food::availability::FoodUnit +pub type radroots_event::food::availability::FoodUnit::Err = radroots_event::food::availability::FoodAvailabilityError +pub fn radroots_event::food::availability::FoodUnit::from_str(&str) -> core::result::Result<Self, Self::Err> +pub struct radroots_event::food::availability::FoodAvailabilityDetails +impl radroots_event::food::availability::FoodAvailabilityDetails +pub fn radroots_event::food::availability::FoodAvailabilityDetails::content(&self) -> &radroots_event::food::availability::FoodContent +pub fn radroots_event::food::availability::FoodAvailabilityDetails::identifier(&self) -> &radroots_event::food::availability::FoodIdentifier +pub fn radroots_event::food::availability::FoodAvailabilityDetails::images(&self) -> &[radroots_event::food::availability::FoodAvailabilityImage] +pub fn radroots_event::food::availability::FoodAvailabilityDetails::location(&self) -> &radroots_event::food::availability::FoodText +pub fn radroots_event::food::availability::FoodAvailabilityDetails::new(radroots_event::food::availability::FoodAvailabilityDetailsParts) -> core::result::Result<Self, radroots_event::food::availability::FoodAvailabilityError> +pub fn radroots_event::food::availability::FoodAvailabilityDetails::price(&self) -> &radroots_event::food::availability::FoodPrice +pub const fn radroots_event::food::availability::FoodAvailabilityDetails::published_at(&self) -> radroots_event::food::availability::FoodPublishedAt +pub fn radroots_event::food::availability::FoodAvailabilityDetails::quantity(&self) -> core::option::Option<&radroots_event::food::availability::FoodQuantity> +pub const fn radroots_event::food::availability::FoodAvailabilityDetails::status(&self) -> radroots_event::food::availability::FoodAvailabilityStatus +pub fn radroots_event::food::availability::FoodAvailabilityDetails::summary(&self) -> &radroots_event::food::availability::FoodText +pub fn radroots_event::food::availability::FoodAvailabilityDetails::title(&self) -> &radroots_event::food::availability::FoodText +pub fn radroots_event::food::availability::FoodAvailabilityDetails::validate_created_at(&self, u64) -> core::result::Result<(), radroots_event::food::availability::FoodAvailabilityError> +pub struct radroots_event::food::availability::FoodAvailabilityDetailsParts +pub radroots_event::food::availability::FoodAvailabilityDetailsParts::content: radroots_event::food::availability::FoodContent +pub radroots_event::food::availability::FoodAvailabilityDetailsParts::identifier: radroots_event::food::availability::FoodIdentifier +pub radroots_event::food::availability::FoodAvailabilityDetailsParts::images: alloc::vec::Vec<radroots_event::food::availability::FoodAvailabilityImage> +pub radroots_event::food::availability::FoodAvailabilityDetailsParts::location: radroots_event::food::availability::FoodText +pub radroots_event::food::availability::FoodAvailabilityDetailsParts::price: radroots_event::food::availability::FoodPrice +pub radroots_event::food::availability::FoodAvailabilityDetailsParts::published_at: radroots_event::food::availability::FoodPublishedAt +pub radroots_event::food::availability::FoodAvailabilityDetailsParts::quantity: core::option::Option<radroots_event::food::availability::FoodQuantity> +pub radroots_event::food::availability::FoodAvailabilityDetailsParts::status: radroots_event::food::availability::FoodAvailabilityStatus +pub radroots_event::food::availability::FoodAvailabilityDetailsParts::summary: radroots_event::food::availability::FoodText +pub radroots_event::food::availability::FoodAvailabilityDetailsParts::title: radroots_event::food::availability::FoodText +pub struct radroots_event::food::availability::FoodAvailabilityImage +impl radroots_event::food::availability::FoodAvailabilityImage +pub const fn radroots_event::food::availability::FoodAvailabilityImage::dimensions(&self) -> radroots_event::food::availability::FoodImageDimensions +pub fn radroots_event::food::availability::FoodAvailabilityImage::image(&self) -> &radroots_event::media::AuthoredImage +pub const fn radroots_event::food::availability::FoodAvailabilityImage::new(radroots_event::media::AuthoredImage, radroots_event::food::availability::FoodImageDimensions) -> Self +pub fn radroots_event::food::availability::FoodAvailabilityImage::url(&self) -> &str +pub struct radroots_event::food::availability::FoodContent(_) +impl radroots_event::food::availability::FoodContent +pub fn radroots_event::food::availability::FoodContent::as_str(&self) -> &str +pub fn radroots_event::food::availability::FoodContent::into_string(self) -> alloc::string::String +pub fn radroots_event::food::availability::FoodContent::new(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_event::food::availability::FoodAvailabilityError> +impl core::convert::AsRef<str> for radroots_event::food::availability::FoodContent +pub fn radroots_event::food::availability::FoodContent::as_ref(&self) -> &str +impl core::fmt::Display for radroots_event::food::availability::FoodContent +pub fn radroots_event::food::availability::FoodContent::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_event::food::availability::FoodCurrency(_) +impl radroots_event::food::availability::FoodCurrency +pub fn radroots_event::food::availability::FoodCurrency::as_str(&self) -> &str +pub fn radroots_event::food::availability::FoodCurrency::into_string(self) -> alloc::string::String +pub fn radroots_event::food::availability::FoodCurrency::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::food::availability::FoodAvailabilityError> +impl core::convert::AsRef<str> for radroots_event::food::availability::FoodCurrency +pub fn radroots_event::food::availability::FoodCurrency::as_ref(&self) -> &str +impl core::fmt::Display for radroots_event::food::availability::FoodCurrency +pub fn radroots_event::food::availability::FoodCurrency::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::food::availability::FoodCurrency +pub type radroots_event::food::availability::FoodCurrency::Err = radroots_event::food::availability::FoodAvailabilityError +pub fn radroots_event::food::availability::FoodCurrency::from_str(&str) -> core::result::Result<Self, Self::Err> +pub struct radroots_event::food::availability::FoodIdentifier(_) +impl radroots_event::food::availability::FoodIdentifier +pub fn radroots_event::food::availability::FoodIdentifier::as_str(&self) -> &str +pub fn radroots_event::food::availability::FoodIdentifier::into_string(self) -> alloc::string::String +pub fn radroots_event::food::availability::FoodIdentifier::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::food::availability::FoodAvailabilityError> +impl core::convert::AsRef<str> for radroots_event::food::availability::FoodIdentifier +pub fn radroots_event::food::availability::FoodIdentifier::as_ref(&self) -> &str +impl core::fmt::Display for radroots_event::food::availability::FoodIdentifier +pub fn radroots_event::food::availability::FoodIdentifier::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::food::availability::FoodIdentifier +pub type radroots_event::food::availability::FoodIdentifier::Err = radroots_event::food::availability::FoodAvailabilityError +pub fn radroots_event::food::availability::FoodIdentifier::from_str(&str) -> core::result::Result<Self, Self::Err> +pub struct radroots_event::food::availability::FoodImageDimensions +impl radroots_event::food::availability::FoodImageDimensions +pub const fn radroots_event::food::availability::FoodImageDimensions::height(self) -> u32 +pub const fn radroots_event::food::availability::FoodImageDimensions::new(u32, u32) -> core::result::Result<Self, radroots_event::food::availability::FoodAvailabilityError> +pub fn radroots_event::food::availability::FoodImageDimensions::parse(&str) -> core::result::Result<Self, radroots_event::food::availability::FoodAvailabilityError> +pub const fn radroots_event::food::availability::FoodImageDimensions::width(self) -> u32 +impl core::fmt::Display for radroots_event::food::availability::FoodImageDimensions +pub fn radroots_event::food::availability::FoodImageDimensions::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::food::availability::FoodImageDimensions +pub type radroots_event::food::availability::FoodImageDimensions::Err = radroots_event::food::availability::FoodAvailabilityError +pub fn radroots_event::food::availability::FoodImageDimensions::from_str(&str) -> core::result::Result<Self, Self::Err> +pub struct radroots_event::food::availability::FoodPrice +impl radroots_event::food::availability::FoodPrice +pub fn radroots_event::food::availability::FoodPrice::amount(&self) -> &str +pub fn radroots_event::food::availability::FoodPrice::currency(&self) -> &radroots_event::food::availability::FoodCurrency +pub fn radroots_event::food::availability::FoodPrice::new(impl core::convert::Into<alloc::string::String>, radroots_event::food::availability::FoodCurrency, radroots_event::food::availability::FoodUnit) -> core::result::Result<Self, radroots_event::food::availability::FoodAvailabilityError> +pub const fn radroots_event::food::availability::FoodPrice::unit(&self) -> radroots_event::food::availability::FoodUnit +pub struct radroots_event::food::availability::FoodPublishedAt(_) +impl radroots_event::food::availability::FoodPublishedAt +pub const fn radroots_event::food::availability::FoodPublishedAt::as_u64(self) -> u64 +pub const fn radroots_event::food::availability::FoodPublishedAt::new(u64) -> core::result::Result<Self, radroots_event::food::availability::FoodAvailabilityError> +pub fn radroots_event::food::availability::FoodPublishedAt::parse(&str) -> core::result::Result<Self, radroots_event::food::availability::FoodAvailabilityError> +pub const fn radroots_event::food::availability::FoodPublishedAt::validate_created_at(self, u64) -> core::result::Result<(), radroots_event::food::availability::FoodAvailabilityError> +impl core::fmt::Display for radroots_event::food::availability::FoodPublishedAt +pub fn radroots_event::food::availability::FoodPublishedAt::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::food::availability::FoodPublishedAt +pub type radroots_event::food::availability::FoodPublishedAt::Err = radroots_event::food::availability::FoodAvailabilityError +pub fn radroots_event::food::availability::FoodPublishedAt::from_str(&str) -> core::result::Result<Self, Self::Err> +pub struct radroots_event::food::availability::FoodQuantity +impl radroots_event::food::availability::FoodQuantity +pub fn radroots_event::food::availability::FoodQuantity::amount(&self) -> &str +pub fn radroots_event::food::availability::FoodQuantity::new(impl core::convert::Into<alloc::string::String>, radroots_event::food::availability::FoodUnit) -> core::result::Result<Self, radroots_event::food::availability::FoodAvailabilityError> +pub const fn radroots_event::food::availability::FoodQuantity::unit(&self) -> radroots_event::food::availability::FoodUnit +pub struct radroots_event::food::availability::FoodText(_) +impl radroots_event::food::availability::FoodText +pub fn radroots_event::food::availability::FoodText::as_str(&self) -> &str +pub fn radroots_event::food::availability::FoodText::into_string(self) -> alloc::string::String +pub fn radroots_event::food::availability::FoodText::new(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_event::food::availability::FoodAvailabilityError> +impl core::convert::AsRef<str> for radroots_event::food::availability::FoodText +pub fn radroots_event::food::availability::FoodText::as_ref(&self) -> &str +impl core::fmt::Display for radroots_event::food::availability::FoodText +pub fn radroots_event::food::availability::FoodText::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub const radroots_event::food::availability::RADROOTS_FOOD_AVAILABILITY_CONTRACT_ID: &str +pub const radroots_event::food::availability::RADROOTS_FOOD_CONTENT_MAX_BYTES: usize +pub const radroots_event::food::availability::RADROOTS_FOOD_DECIMAL_MAX_DIGITS: usize +pub const radroots_event::food::availability::RADROOTS_FOOD_IDENTIFIER_MAX_BYTES: usize +pub const radroots_event::food::availability::RADROOTS_FOOD_IMAGE_MAX_COUNT: usize +pub const radroots_event::food::availability::RADROOTS_FOOD_TEXT_MAX_BYTES: usize +pub fn radroots_event::food::availability::food_media_blossom_digest(&str) -> core::option::Option<radroots_blossom::hash::Sha256> +pub fn radroots_event::food::availability::food_media_http_url_is_valid(&str) -> bool +pub mod radroots_event::generic_draft +pub struct radroots_event::generic_draft::GenericEventDraft +impl radroots_event::generic_draft::GenericEventDraft +pub fn radroots_event::generic_draft::GenericEventDraft::content(&self) -> &str +pub const fn radroots_event::generic_draft::GenericEventDraft::contract(&self) -> &radroots_event::contract::ContractKey +pub fn radroots_event::generic_draft::GenericEventDraft::contract_id(&self) -> &str +pub const fn radroots_event::generic_draft::GenericEventDraft::created_at(&self) -> radroots_event::envelope::EventTimestamp +pub const fn radroots_event::generic_draft::GenericEventDraft::created_at_u64(&self) -> u64 +pub const fn radroots_event::generic_draft::GenericEventDraft::expected_event_id(&self) -> &radroots_event::id::EventId +pub fn radroots_event::generic_draft::GenericEventDraft::expected_event_id_hex(&self) -> alloc::string::String +pub const fn radroots_event::generic_draft::GenericEventDraft::expected_pubkey(&self) -> &radroots_identity::key::PublicKey +pub const fn radroots_event::generic_draft::GenericEventDraft::kind(&self) -> radroots_event::envelope::EventKind +pub const fn radroots_event::generic_draft::GenericEventDraft::kind_u32(&self) -> u32 +pub fn radroots_event::generic_draft::GenericEventDraft::new(impl core::convert::Into<alloc::string::String>, u32, u64, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, impl core::convert::Into<alloc::string::String>, impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::draft::DraftError> +pub fn radroots_event::generic_draft::GenericEventDraft::nip01_preimage(&self) -> core::result::Result<alloc::string::String, radroots_event::draft::DraftError> +pub const fn radroots_event::generic_draft::GenericEventDraft::tags(&self) -> &radroots_event::envelope::EventTags +pub fn radroots_event::generic_draft::GenericEventDraft::tags_as_vec(&self) -> alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>> +pub fn radroots_event::generic_draft::GenericEventDraft::validate_for_authoring(&self) -> core::result::Result<(), radroots_event::draft::DraftError> +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::generic_draft::GenericEventDraft +pub fn radroots_event::generic_draft::GenericEventDraft::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub mod radroots_event::id +#[non_exhaustive] pub enum radroots_event::id::Nip01CoordinateParseError +pub radroots_event::id::Nip01CoordinateParseError::Empty +pub radroots_event::id::Nip01CoordinateParseError::IdentifierMustBeEmpty +pub radroots_event::id::Nip01CoordinateParseError::IdentifierMustBeEmpty::kind: u32 +pub radroots_event::id::Nip01CoordinateParseError::InvalidFormat +pub radroots_event::id::Nip01CoordinateParseError::Pubkey(radroots_event::id::ParseError) +pub radroots_event::id::Nip01CoordinateParseError::TooLong +pub radroots_event::id::Nip01CoordinateParseError::TooLong::actual: usize +pub radroots_event::id::Nip01CoordinateParseError::TooLong::max: usize +pub radroots_event::id::Nip01CoordinateParseError::UnsupportedKind +pub radroots_event::id::Nip01CoordinateParseError::UnsupportedKind::actual: u32 +impl core::error::Error for radroots_event::id::Nip01CoordinateParseError +pub fn radroots_event::id::Nip01CoordinateParseError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +impl core::fmt::Display for radroots_event::id::Nip01CoordinateParseError +pub fn radroots_event::id::Nip01CoordinateParseError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_event::id::ParseError +pub radroots_event::id::ParseError::Empty +pub radroots_event::id::ParseError::InvalidCharacter +pub radroots_event::id::ParseError::InvalidFormat +pub radroots_event::id::ParseError::InvalidLength +pub radroots_event::id::ParseError::InvalidLength::actual: usize +pub radroots_event::id::ParseError::InvalidLength::expected: usize +pub radroots_event::id::ParseError::InvalidPublicKey +pub radroots_event::id::ParseError::TooLong +pub radroots_event::id::ParseError::TooLong::actual: usize +pub radroots_event::id::ParseError::TooLong::max: usize +pub radroots_event::id::ParseError::UnexpectedKind +pub radroots_event::id::ParseError::UnexpectedKind::actual: u32 +pub radroots_event::id::ParseError::UnexpectedKind::expected: u32 +impl core::convert::From<radroots_event::id::ParseError> for radroots_event::draft::DraftError +pub fn radroots_event::draft::DraftError::from(radroots_event::id::ParseError) -> Self +impl core::error::Error for radroots_event::id::ParseError +impl core::fmt::Display for radroots_event::id::ParseError +pub fn radroots_event::id::ParseError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_event::id::AddressableCoordinate(_) +impl radroots_event::id::AddressableCoordinate +pub fn radroots_event::id::AddressableCoordinate::as_str(&self) -> &str +pub fn radroots_event::id::AddressableCoordinate::into_string(self) -> alloc::string::String +pub fn radroots_event::id::AddressableCoordinate::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError> +impl core::convert::AsRef<str> for radroots_event::id::AddressableCoordinate +pub fn radroots_event::id::AddressableCoordinate::as_ref(&self) -> &str +impl core::convert::From<radroots_event::id::AddressableCoordinate> for alloc::string::String +pub fn alloc::string::String::from(radroots_event::id::AddressableCoordinate) -> Self +impl core::convert::TryFrom<&str> for radroots_event::id::AddressableCoordinate +pub type radroots_event::id::AddressableCoordinate::Error = radroots_event::id::ParseError +pub fn radroots_event::id::AddressableCoordinate::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_event::id::AddressableCoordinate +pub type radroots_event::id::AddressableCoordinate::Error = radroots_event::id::ParseError +pub fn radroots_event::id::AddressableCoordinate::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_event::id::AddressableCoordinate +pub fn radroots_event::id::AddressableCoordinate::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::id::AddressableCoordinate +pub type radroots_event::id::AddressableCoordinate::Err = radroots_event::id::ParseError +pub fn radroots_event::id::AddressableCoordinate::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::id::AddressableCoordinate +pub fn radroots_event::id::AddressableCoordinate::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::id::AddressableCoordinate +pub fn radroots_event::id::AddressableCoordinate::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::id::AddressableCoordinateParts +pub radroots_event::id::AddressableCoordinateParts::d_tag: radroots_event::id::DTag +pub radroots_event::id::AddressableCoordinateParts::kind: u32 +pub radroots_event::id::AddressableCoordinateParts::pubkey: radroots_identity::key::PublicKey +impl radroots_event::id::AddressableCoordinateParts +pub fn radroots_event::id::AddressableCoordinateParts::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError> +pub struct radroots_event::id::CandidateId(_) +impl radroots_event::id::CandidateId +pub const fn radroots_event::id::CandidateId::as_bytes(&self) -> &[u8; 32] +pub const fn radroots_event::id::CandidateId::from_bytes([u8; 32]) -> Self +pub const fn radroots_event::id::CandidateId::into_bytes(self) -> [u8; 32] +pub fn radroots_event::id::CandidateId::into_string(self) -> alloc::string::String +pub fn radroots_event::id::CandidateId::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError> +pub fn radroots_event::id::CandidateId::to_hex(&self) -> alloc::string::String +impl core::convert::AsRef<[u8]> for radroots_event::id::CandidateId +pub fn radroots_event::id::CandidateId::as_ref(&self) -> &[u8] +impl core::convert::From<[u8; 32]> for radroots_event::id::CandidateId +pub fn radroots_event::id::CandidateId::from([u8; 32]) -> Self +impl core::convert::From<radroots_event::id::CandidateId> for [u8; 32] +pub fn [u8; 32]::from(radroots_event::id::CandidateId) -> Self +impl core::convert::TryFrom<&str> for radroots_event::id::CandidateId +pub type radroots_event::id::CandidateId::Error = radroots_event::id::ParseError +pub fn radroots_event::id::CandidateId::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_event::id::CandidateId +pub type radroots_event::id::CandidateId::Error = radroots_event::id::ParseError +pub fn radroots_event::id::CandidateId::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_event::id::CandidateId +pub fn radroots_event::id::CandidateId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::id::CandidateId +pub type radroots_event::id::CandidateId::Err = radroots_event::id::ParseError +pub fn radroots_event::id::CandidateId::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::id::CandidateId +pub fn radroots_event::id::CandidateId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::id::CandidateId +pub fn radroots_event::id::CandidateId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::id::ClassifiedListingAddress(_) +impl radroots_event::id::ClassifiedListingAddress +pub fn radroots_event::id::ClassifiedListingAddress::as_str(&self) -> &str +pub fn radroots_event::id::ClassifiedListingAddress::into_string(self) -> alloc::string::String +pub fn radroots_event::id::ClassifiedListingAddress::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError> +impl core::convert::AsRef<str> for radroots_event::id::ClassifiedListingAddress +pub fn radroots_event::id::ClassifiedListingAddress::as_ref(&self) -> &str +impl core::convert::From<radroots_event::id::ClassifiedListingAddress> for alloc::string::String +pub fn alloc::string::String::from(radroots_event::id::ClassifiedListingAddress) -> Self +impl core::convert::TryFrom<&str> for radroots_event::id::ClassifiedListingAddress +pub type radroots_event::id::ClassifiedListingAddress::Error = radroots_event::id::ParseError +pub fn radroots_event::id::ClassifiedListingAddress::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_event::id::ClassifiedListingAddress +pub type radroots_event::id::ClassifiedListingAddress::Error = radroots_event::id::ParseError +pub fn radroots_event::id::ClassifiedListingAddress::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_event::id::ClassifiedListingAddress +pub fn radroots_event::id::ClassifiedListingAddress::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::id::ClassifiedListingAddress +pub type radroots_event::id::ClassifiedListingAddress::Err = radroots_event::id::ParseError +pub fn radroots_event::id::ClassifiedListingAddress::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::id::ClassifiedListingAddress +pub fn radroots_event::id::ClassifiedListingAddress::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::id::ClassifiedListingAddress +pub fn radroots_event::id::ClassifiedListingAddress::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::id::DTag(_) +impl radroots_event::id::DTag +pub fn radroots_event::id::DTag::as_str(&self) -> &str +pub fn radroots_event::id::DTag::into_string(self) -> alloc::string::String +pub fn radroots_event::id::DTag::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError> +impl core::convert::AsRef<str> for radroots_event::id::DTag +pub fn radroots_event::id::DTag::as_ref(&self) -> &str +impl core::convert::From<radroots_event::id::DTag> for alloc::string::String +pub fn alloc::string::String::from(radroots_event::id::DTag) -> Self +impl core::convert::TryFrom<&str> for radroots_event::id::DTag +pub type radroots_event::id::DTag::Error = radroots_event::id::ParseError +pub fn radroots_event::id::DTag::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_event::id::DTag +pub type radroots_event::id::DTag::Error = radroots_event::id::ParseError +pub fn radroots_event::id::DTag::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_event::id::DTag +pub fn radroots_event::id::DTag::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::id::DTag +pub type radroots_event::id::DTag::Err = radroots_event::id::ParseError +pub fn radroots_event::id::DTag::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::id::DTag +pub fn radroots_event::id::DTag::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::id::DTag +pub fn radroots_event::id::DTag::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::id::EconomicsDigest(_) +impl radroots_event::id::EconomicsDigest +pub fn radroots_event::id::EconomicsDigest::as_str(&self) -> &str +pub fn radroots_event::id::EconomicsDigest::into_string(self) -> alloc::string::String +pub fn radroots_event::id::EconomicsDigest::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError> +impl core::convert::AsRef<str> for radroots_event::id::EconomicsDigest +pub fn radroots_event::id::EconomicsDigest::as_ref(&self) -> &str +impl core::convert::From<radroots_event::id::EconomicsDigest> for alloc::string::String +pub fn alloc::string::String::from(radroots_event::id::EconomicsDigest) -> Self +impl core::convert::TryFrom<&str> for radroots_event::id::EconomicsDigest +pub type radroots_event::id::EconomicsDigest::Error = radroots_event::id::ParseError +pub fn radroots_event::id::EconomicsDigest::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_event::id::EconomicsDigest +pub type radroots_event::id::EconomicsDigest::Error = radroots_event::id::ParseError +pub fn radroots_event::id::EconomicsDigest::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_event::id::EconomicsDigest +pub fn radroots_event::id::EconomicsDigest::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::id::EconomicsDigest +pub type radroots_event::id::EconomicsDigest::Err = radroots_event::id::ParseError +pub fn radroots_event::id::EconomicsDigest::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::id::EconomicsDigest +pub fn radroots_event::id::EconomicsDigest::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::id::EconomicsDigest +pub fn radroots_event::id::EconomicsDigest::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::id::EventEnvelopePointer +pub radroots_event::id::EventEnvelopePointer::event_id: radroots_event::id::EventId +pub radroots_event::id::EventEnvelopePointer::relays: alloc::vec::Vec<alloc::string::String> +impl radroots_event::id::EventEnvelopePointer +pub fn radroots_event::id::EventEnvelopePointer::new<I, S>(radroots_event::id::EventId, I) -> core::result::Result<Self, radroots_event::id::ParseError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::Into<alloc::string::String> +pub struct radroots_event::id::EventId(_) +impl radroots_event::id::EventId +pub const fn radroots_event::id::EventId::as_bytes(&self) -> &[u8; 32] +pub const fn radroots_event::id::EventId::from_bytes([u8; 32]) -> Self +pub const fn radroots_event::id::EventId::into_bytes(self) -> [u8; 32] +pub fn radroots_event::id::EventId::into_string(self) -> alloc::string::String +pub fn radroots_event::id::EventId::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError> +pub fn radroots_event::id::EventId::to_hex(&self) -> alloc::string::String +impl core::convert::AsRef<[u8]> for radroots_event::id::EventId +pub fn radroots_event::id::EventId::as_ref(&self) -> &[u8] +impl core::convert::From<[u8; 32]> for radroots_event::id::EventId +pub fn radroots_event::id::EventId::from([u8; 32]) -> Self +impl core::convert::From<radroots_event::id::EventId> for [u8; 32] +pub fn [u8; 32]::from(radroots_event::id::EventId) -> Self +impl core::convert::TryFrom<&str> for radroots_event::id::EventId +pub type radroots_event::id::EventId::Error = radroots_event::id::ParseError +pub fn radroots_event::id::EventId::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_event::id::EventId +pub type radroots_event::id::EventId::Error = radroots_event::id::ParseError +pub fn radroots_event::id::EventId::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_event::id::EventId +pub fn radroots_event::id::EventId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::id::EventId +pub type radroots_event::id::EventId::Err = radroots_event::id::ParseError +pub fn radroots_event::id::EventId::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::id::EventId +pub fn radroots_event::id::EventId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::id::EventId +pub fn radroots_event::id::EventId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::id::EventPointer(_) +impl radroots_event::id::EventPointer +pub const fn radroots_event::id::EventPointer::as_bytes(&self) -> &[u8; 32] +pub const fn radroots_event::id::EventPointer::from_bytes([u8; 32]) -> Self +pub const fn radroots_event::id::EventPointer::into_bytes(self) -> [u8; 32] +pub fn radroots_event::id::EventPointer::into_string(self) -> alloc::string::String +pub fn radroots_event::id::EventPointer::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError> +pub fn radroots_event::id::EventPointer::to_hex(&self) -> alloc::string::String +impl core::convert::AsRef<[u8]> for radroots_event::id::EventPointer +pub fn radroots_event::id::EventPointer::as_ref(&self) -> &[u8] +impl core::convert::From<[u8; 32]> for radroots_event::id::EventPointer +pub fn radroots_event::id::EventPointer::from([u8; 32]) -> Self +impl core::convert::From<radroots_event::id::EventPointer> for [u8; 32] +pub fn [u8; 32]::from(radroots_event::id::EventPointer) -> Self +impl core::convert::TryFrom<&str> for radroots_event::id::EventPointer +pub type radroots_event::id::EventPointer::Error = radroots_event::id::ParseError +pub fn radroots_event::id::EventPointer::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_event::id::EventPointer +pub type radroots_event::id::EventPointer::Error = radroots_event::id::ParseError +pub fn radroots_event::id::EventPointer::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_event::id::EventPointer +pub fn radroots_event::id::EventPointer::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::id::EventPointer +pub type radroots_event::id::EventPointer::Err = radroots_event::id::ParseError +pub fn radroots_event::id::EventPointer::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::id::EventPointer +pub fn radroots_event::id::EventPointer::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::id::EventPointer +pub fn radroots_event::id::EventPointer::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::id::EventSignature(_) +impl radroots_event::id::EventSignature +pub const fn radroots_event::id::EventSignature::as_bytes(&self) -> &[u8; 64] +pub const fn radroots_event::id::EventSignature::from_bytes([u8; 64]) -> Self +pub const fn radroots_event::id::EventSignature::into_bytes(self) -> [u8; 64] +pub fn radroots_event::id::EventSignature::into_string(self) -> alloc::string::String +pub fn radroots_event::id::EventSignature::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError> +pub fn radroots_event::id::EventSignature::to_hex(&self) -> alloc::string::String +impl core::convert::AsRef<[u8]> for radroots_event::id::EventSignature +pub fn radroots_event::id::EventSignature::as_ref(&self) -> &[u8] +impl core::convert::From<[u8; 64]> for radroots_event::id::EventSignature +pub fn radroots_event::id::EventSignature::from([u8; 64]) -> Self +impl core::convert::From<radroots_event::id::EventSignature> for [u8; 64] +pub fn [u8; 64]::from(radroots_event::id::EventSignature) -> Self +impl core::convert::TryFrom<&str> for radroots_event::id::EventSignature +pub type radroots_event::id::EventSignature::Error = radroots_event::id::ParseError +pub fn radroots_event::id::EventSignature::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_event::id::EventSignature +pub type radroots_event::id::EventSignature::Error = radroots_event::id::ParseError +pub fn radroots_event::id::EventSignature::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_event::id::EventSignature +pub fn radroots_event::id::EventSignature::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::id::EventSignature +pub type radroots_event::id::EventSignature::Err = radroots_event::id::ParseError +pub fn radroots_event::id::EventSignature::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::id::EventSignature +pub fn radroots_event::id::EventSignature::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::id::EventSignature +pub fn radroots_event::id::EventSignature::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::id::InventoryBinId(_) +impl radroots_event::id::InventoryBinId +pub fn radroots_event::id::InventoryBinId::as_str(&self) -> &str +pub fn radroots_event::id::InventoryBinId::into_string(self) -> alloc::string::String +pub fn radroots_event::id::InventoryBinId::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError> +impl core::convert::AsRef<str> for radroots_event::id::InventoryBinId +pub fn radroots_event::id::InventoryBinId::as_ref(&self) -> &str +impl core::convert::From<radroots_event::id::InventoryBinId> for alloc::string::String +pub fn alloc::string::String::from(radroots_event::id::InventoryBinId) -> Self +impl core::convert::TryFrom<&str> for radroots_event::id::InventoryBinId +pub type radroots_event::id::InventoryBinId::Error = radroots_event::id::ParseError +pub fn radroots_event::id::InventoryBinId::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_event::id::InventoryBinId +pub type radroots_event::id::InventoryBinId::Error = radroots_event::id::ParseError +pub fn radroots_event::id::InventoryBinId::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_event::id::InventoryBinId +pub fn radroots_event::id::InventoryBinId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::id::InventoryBinId +pub type radroots_event::id::InventoryBinId::Err = radroots_event::id::ParseError +pub fn radroots_event::id::InventoryBinId::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::id::InventoryBinId +pub fn radroots_event::id::InventoryBinId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::id::InventoryBinId +pub fn radroots_event::id::InventoryBinId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::id::MutationId(_) +impl radroots_event::id::MutationId +pub const fn radroots_event::id::MutationId::as_bytes(&self) -> &[u8; 32] +pub const fn radroots_event::id::MutationId::from_bytes([u8; 32]) -> Self +pub const fn radroots_event::id::MutationId::into_bytes(self) -> [u8; 32] +pub fn radroots_event::id::MutationId::into_string(self) -> alloc::string::String +pub fn radroots_event::id::MutationId::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError> +pub fn radroots_event::id::MutationId::to_hex(&self) -> alloc::string::String +impl core::convert::AsRef<[u8]> for radroots_event::id::MutationId +pub fn radroots_event::id::MutationId::as_ref(&self) -> &[u8] +impl core::convert::From<[u8; 32]> for radroots_event::id::MutationId +pub fn radroots_event::id::MutationId::from([u8; 32]) -> Self +impl core::convert::From<radroots_event::id::MutationId> for [u8; 32] +pub fn [u8; 32]::from(radroots_event::id::MutationId) -> Self +impl core::convert::TryFrom<&str> for radroots_event::id::MutationId +pub type radroots_event::id::MutationId::Error = radroots_event::id::ParseError +pub fn radroots_event::id::MutationId::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_event::id::MutationId +pub type radroots_event::id::MutationId::Error = radroots_event::id::ParseError +pub fn radroots_event::id::MutationId::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_event::id::MutationId +pub fn radroots_event::id::MutationId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::id::MutationId +pub type radroots_event::id::MutationId::Err = radroots_event::id::ParseError +pub fn radroots_event::id::MutationId::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::id::MutationId +pub fn radroots_event::id::MutationId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::id::MutationId +pub fn radroots_event::id::MutationId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::id::Nip01Coordinate +impl radroots_event::id::Nip01Coordinate +pub fn radroots_event::id::Nip01Coordinate::as_str(&self) -> &str +pub fn radroots_event::id::Nip01Coordinate::identifier(&self) -> &str +pub fn radroots_event::id::Nip01Coordinate::into_parts(self) -> radroots_event::id::Nip01CoordinateParts +pub fn radroots_event::id::Nip01Coordinate::into_string(self) -> alloc::string::String +pub const fn radroots_event::id::Nip01Coordinate::kind(&self) -> u32 +pub fn radroots_event::id::Nip01Coordinate::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::Nip01CoordinateParseError> +pub fn radroots_event::id::Nip01Coordinate::parts(&self) -> radroots_event::id::Nip01CoordinateParts +pub const fn radroots_event::id::Nip01Coordinate::pubkey(&self) -> &radroots_identity::key::PublicKey +impl core::convert::AsRef<str> for radroots_event::id::Nip01Coordinate +pub fn radroots_event::id::Nip01Coordinate::as_ref(&self) -> &str +impl core::convert::From<radroots_event::id::Nip01Coordinate> for alloc::string::String +pub fn alloc::string::String::from(radroots_event::id::Nip01Coordinate) -> Self +impl core::convert::TryFrom<&str> for radroots_event::id::Nip01Coordinate +pub type radroots_event::id::Nip01Coordinate::Error = radroots_event::id::Nip01CoordinateParseError +pub fn radroots_event::id::Nip01Coordinate::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_event::id::Nip01Coordinate +pub type radroots_event::id::Nip01Coordinate::Error = radroots_event::id::Nip01CoordinateParseError +pub fn radroots_event::id::Nip01Coordinate::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_event::id::Nip01Coordinate +pub fn radroots_event::id::Nip01Coordinate::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::id::Nip01Coordinate +pub type radroots_event::id::Nip01Coordinate::Err = radroots_event::id::Nip01CoordinateParseError +pub fn radroots_event::id::Nip01Coordinate::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::id::Nip01Coordinate +pub fn radroots_event::id::Nip01Coordinate::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::id::Nip01Coordinate +pub fn radroots_event::id::Nip01Coordinate::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::id::Nip01CoordinateParts +pub radroots_event::id::Nip01CoordinateParts::identifier: alloc::string::String +pub radroots_event::id::Nip01CoordinateParts::kind: u32 +pub radroots_event::id::Nip01CoordinateParts::pubkey: radroots_identity::key::PublicKey +impl radroots_event::id::Nip01CoordinateParts +pub fn radroots_event::id::Nip01CoordinateParts::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::Nip01CoordinateParseError> +pub struct radroots_event::id::OrderId(_) +impl radroots_event::id::OrderId +pub fn radroots_event::id::OrderId::as_str(&self) -> &str +pub fn radroots_event::id::OrderId::into_string(self) -> alloc::string::String +pub fn radroots_event::id::OrderId::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError> +impl core::convert::AsRef<str> for radroots_event::id::OrderId +pub fn radroots_event::id::OrderId::as_ref(&self) -> &str +impl core::convert::From<radroots_event::id::OrderId> for alloc::string::String +pub fn alloc::string::String::from(radroots_event::id::OrderId) -> Self +impl core::convert::TryFrom<&str> for radroots_event::id::OrderId +pub type radroots_event::id::OrderId::Error = radroots_event::id::ParseError +pub fn radroots_event::id::OrderId::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_event::id::OrderId +pub type radroots_event::id::OrderId::Error = radroots_event::id::ParseError +pub fn radroots_event::id::OrderId::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_event::id::OrderId +pub fn radroots_event::id::OrderId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::id::OrderId +pub type radroots_event::id::OrderId::Err = radroots_event::id::ParseError +pub fn radroots_event::id::OrderId::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::id::OrderId +pub fn radroots_event::id::OrderId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::id::OrderId +pub fn radroots_event::id::OrderId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::id::OrderQuoteId(_) +impl radroots_event::id::OrderQuoteId +pub fn radroots_event::id::OrderQuoteId::as_str(&self) -> &str +pub fn radroots_event::id::OrderQuoteId::into_string(self) -> alloc::string::String +pub fn radroots_event::id::OrderQuoteId::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError> +impl core::convert::AsRef<str> for radroots_event::id::OrderQuoteId +pub fn radroots_event::id::OrderQuoteId::as_ref(&self) -> &str +impl core::convert::From<radroots_event::id::OrderQuoteId> for alloc::string::String +pub fn alloc::string::String::from(radroots_event::id::OrderQuoteId) -> Self +impl core::convert::TryFrom<&str> for radroots_event::id::OrderQuoteId +pub type radroots_event::id::OrderQuoteId::Error = radroots_event::id::ParseError +pub fn radroots_event::id::OrderQuoteId::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_event::id::OrderQuoteId +pub type radroots_event::id::OrderQuoteId::Error = radroots_event::id::ParseError +pub fn radroots_event::id::OrderQuoteId::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_event::id::OrderQuoteId +pub fn radroots_event::id::OrderQuoteId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::id::OrderQuoteId +pub type radroots_event::id::OrderQuoteId::Err = radroots_event::id::ParseError +pub fn radroots_event::id::OrderQuoteId::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::id::OrderQuoteId +pub fn radroots_event::id::OrderQuoteId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::id::OrderQuoteId +pub fn radroots_event::id::OrderQuoteId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::id::RelayUrl(_) +impl radroots_event::id::RelayUrl +pub fn radroots_event::id::RelayUrl::as_str(&self) -> &str +pub fn radroots_event::id::RelayUrl::into_string(self) -> alloc::string::String +pub fn radroots_event::id::RelayUrl::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError> +impl core::convert::AsRef<str> for radroots_event::id::RelayUrl +pub fn radroots_event::id::RelayUrl::as_ref(&self) -> &str +impl core::convert::From<radroots_event::id::RelayUrl> for alloc::string::String +pub fn alloc::string::String::from(radroots_event::id::RelayUrl) -> Self +impl core::convert::TryFrom<&str> for radroots_event::id::RelayUrl +pub type radroots_event::id::RelayUrl::Error = radroots_event::id::ParseError +pub fn radroots_event::id::RelayUrl::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_event::id::RelayUrl +pub type radroots_event::id::RelayUrl::Error = radroots_event::id::ParseError +pub fn radroots_event::id::RelayUrl::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_event::id::RelayUrl +pub fn radroots_event::id::RelayUrl::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::id::RelayUrl +pub type radroots_event::id::RelayUrl::Err = radroots_event::id::ParseError +pub fn radroots_event::id::RelayUrl::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::id::RelayUrl +pub fn radroots_event::id::RelayUrl::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::id::RelayUrl +pub fn radroots_event::id::RelayUrl::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::id::TradeId(_) +impl radroots_event::id::TradeId +pub const fn radroots_event::id::TradeId::as_bytes(&self) -> &[u8; 16] +pub const fn radroots_event::id::TradeId::from_bytes([u8; 16]) -> Self +pub const fn radroots_event::id::TradeId::into_bytes(self) -> [u8; 16] +pub fn radroots_event::id::TradeId::into_string(self) -> alloc::string::String +pub fn radroots_event::id::TradeId::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError> +pub fn radroots_event::id::TradeId::to_hex(&self) -> alloc::string::String +impl core::convert::AsRef<[u8]> for radroots_event::id::TradeId +pub fn radroots_event::id::TradeId::as_ref(&self) -> &[u8] +impl core::convert::From<[u8; 16]> for radroots_event::id::TradeId +pub fn radroots_event::id::TradeId::from([u8; 16]) -> Self +impl core::convert::From<radroots_event::id::TradeId> for [u8; 16] +pub fn [u8; 16]::from(radroots_event::id::TradeId) -> Self +impl core::convert::TryFrom<&str> for radroots_event::id::TradeId +pub type radroots_event::id::TradeId::Error = radroots_event::id::ParseError +pub fn radroots_event::id::TradeId::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_event::id::TradeId +pub type radroots_event::id::TradeId::Error = radroots_event::id::ParseError +pub fn radroots_event::id::TradeId::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_event::id::TradeId +pub fn radroots_event::id::TradeId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::id::TradeId +pub type radroots_event::id::TradeId::Err = radroots_event::id::ParseError +pub fn radroots_event::id::TradeId::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::id::TradeId +pub fn radroots_event::id::TradeId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::id::TradeId +pub fn radroots_event::id::TradeId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub const radroots_event::id::RADROOTS_NIP01_COORDINATE_MAX_BYTES: usize +pub fn radroots_event::id::relay_url_is_valid(&str) -> bool +pub mod radroots_event::knowledge +pub enum radroots_event::knowledge::KnowledgeLocationPrecision +pub radroots_event::knowledge::KnowledgeLocationPrecision::CoarseGeohash +pub radroots_event::knowledge::KnowledgeLocationPrecision::ExactPrivateReference +pub radroots_event::knowledge::KnowledgeLocationPrecision::ExactPublic +pub radroots_event::knowledge::KnowledgeLocationPrecision::Locality +pub radroots_event::knowledge::KnowledgeLocationPrecision::None +pub radroots_event::knowledge::KnowledgeLocationPrecision::Region +pub enum radroots_event::knowledge::KnowledgeReviewScope +pub radroots_event::knowledge::KnowledgeReviewScope::AddressableCoordinateAtPublishedAt +pub radroots_event::knowledge::KnowledgeReviewScope::PolicyLatest +pub radroots_event::knowledge::KnowledgeReviewScope::SpecificVersion +pub enum radroots_event::knowledge::KnowledgeValidationError +pub radroots_event::knowledge::KnowledgeValidationError::EmptyField(&'static str) +pub radroots_event::knowledge::KnowledgeValidationError::InvalidField(&'static str) +impl radroots_event::knowledge::KnowledgeValidationError +pub const fn radroots_event::knowledge::KnowledgeValidationError::code(self) -> &'static str +pub const fn radroots_event::knowledge::KnowledgeValidationError::field(self) -> &'static str +impl core::error::Error for radroots_event::knowledge::KnowledgeValidationError +impl core::fmt::Display for radroots_event::knowledge::KnowledgeValidationError +pub fn radroots_event::knowledge::KnowledgeValidationError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_event::knowledge::WikiDTagError +pub radroots_event::knowledge::WikiDTagError::Empty +pub radroots_event::knowledge::WikiDTagError::NotNormalized +pub radroots_event::knowledge::WikiDTagError::NotNormalized::normalized: alloc::string::String +pub radroots_event::knowledge::WikiDTagError::TooLong +pub radroots_event::knowledge::WikiDTagError::TooLong::actual: usize +pub radroots_event::knowledge::WikiDTagError::TooLong::max: usize +impl radroots_event::knowledge::WikiDTagError +pub const fn radroots_event::knowledge::WikiDTagError::code(&self) -> &'static str +impl core::error::Error for radroots_event::knowledge::WikiDTagError +impl core::fmt::Display for radroots_event::knowledge::WikiDTagError +pub fn radroots_event::knowledge::WikiDTagError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_event::knowledge::AddressableRef +pub radroots_event::knowledge::AddressableRef::d_tag: alloc::string::String +pub radroots_event::knowledge::AddressableRef::kind: u32 +pub radroots_event::knowledge::AddressableRef::pubkey: alloc::string::String +pub radroots_event::knowledge::AddressableRef::relays: alloc::vec::Vec<alloc::string::String> +pub struct radroots_event::knowledge::ContributionAttestation +pub radroots_event::knowledge::ContributionAttestation::contribution_type: alloc::string::String +pub radroots_event::knowledge::ContributionAttestation::contributor_pubkey: alloc::string::String +pub radroots_event::knowledge::ContributionAttestation::evidence_refs: alloc::vec::Vec<radroots_event::tag::EventRef> +pub radroots_event::knowledge::ContributionAttestation::schema: alloc::string::String +pub radroots_event::knowledge::ContributionAttestation::schema_version: u16 +pub radroots_event::knowledge::ContributionAttestation::subject_refs: alloc::vec::Vec<radroots_event::tag::EventRef> +pub radroots_event::knowledge::ContributionAttestation::summary: alloc::string::String +pub struct radroots_event::knowledge::EvidenceBounty +pub radroots_event::knowledge::EvidenceBounty::closes_at: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::EvidenceBounty::d_tag: alloc::string::String +pub radroots_event::knowledge::EvidenceBounty::reward_note: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::EvidenceBounty::schema: alloc::string::String +pub radroots_event::knowledge::EvidenceBounty::schema_version: u16 +pub radroots_event::knowledge::EvidenceBounty::summary: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::EvidenceBounty::target_refs: alloc::vec::Vec<radroots_event::tag::EventRef> +pub radroots_event::knowledge::EvidenceBounty::title: alloc::string::String +pub radroots_event::knowledge::EvidenceBounty::topics: alloc::vec::Vec<alloc::string::String> +pub struct radroots_event::knowledge::KnowledgeChangeProposal +pub radroots_event::knowledge::KnowledgeChangeProposal::evidence_refs: alloc::vec::Vec<radroots_event::tag::EventRef> +pub radroots_event::knowledge::KnowledgeChangeProposal::proposal_type: alloc::string::String +pub radroots_event::knowledge::KnowledgeChangeProposal::rationale: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::KnowledgeChangeProposal::schema: alloc::string::String +pub radroots_event::knowledge::KnowledgeChangeProposal::schema_version: u16 +pub radroots_event::knowledge::KnowledgeChangeProposal::summary: alloc::string::String +pub radroots_event::knowledge::KnowledgeChangeProposal::supersedes: alloc::vec::Vec<radroots_event::tag::EventRef> +pub radroots_event::knowledge::KnowledgeChangeProposal::target: radroots_event::tag::EventRef +pub struct radroots_event::knowledge::KnowledgeCitationSpan +pub radroots_event::knowledge::KnowledgeCitationSpan::artifact_ref: core::option::Option<radroots_event::tag::EventRef> +pub radroots_event::knowledge::KnowledgeCitationSpan::chunk_id: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::KnowledgeCitationSpan::page_end: core::option::Option<u32> +pub radroots_event::knowledge::KnowledgeCitationSpan::page_start: core::option::Option<u32> +pub radroots_event::knowledge::KnowledgeCitationSpan::quote_hash: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::KnowledgeCitationSpan::section_path: alloc::vec::Vec<alloc::string::String> +pub radroots_event::knowledge::KnowledgeCitationSpan::source_ref: radroots_event::tag::EventRef +pub struct radroots_event::knowledge::KnowledgeClaim +pub radroots_event::knowledge::KnowledgeClaim::applies_to: alloc::vec::Vec<alloc::string::String> +pub radroots_event::knowledge::KnowledgeClaim::author_asserted_confidence: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::KnowledgeClaim::citation_spans: alloc::vec::Vec<radroots_event::knowledge::KnowledgeCitationSpan> +pub radroots_event::knowledge::KnowledgeClaim::claim_type: alloc::string::String +pub radroots_event::knowledge::KnowledgeClaim::schema: alloc::string::String +pub radroots_event::knowledge::KnowledgeClaim::schema_version: u16 +pub radroots_event::knowledge::KnowledgeClaim::supersedes: alloc::vec::Vec<radroots_event::tag::EventRef> +pub radroots_event::knowledge::KnowledgeClaim::text: alloc::string::String +pub radroots_event::knowledge::KnowledgeClaim::topics: alloc::vec::Vec<alloc::string::String> +pub struct radroots_event::knowledge::KnowledgeFieldContext +pub radroots_event::knowledge::KnowledgeFieldContext::context_tags: alloc::vec::Vec<alloc::string::String> +pub radroots_event::knowledge::KnowledgeFieldContext::location_precision: radroots_event::knowledge::KnowledgeLocationPrecision +pub radroots_event::knowledge::KnowledgeFieldContext::private_location_ref: core::option::Option<radroots_event::tag::EventRef> +pub radroots_event::knowledge::KnowledgeFieldContext::public_location: core::option::Option<radroots_event::knowledge::KnowledgeLocation> +pub radroots_event::knowledge::KnowledgeFieldContext::topics: alloc::vec::Vec<alloc::string::String> +pub struct radroots_event::knowledge::KnowledgeFieldReport +pub radroots_event::knowledge::KnowledgeFieldReport::artifact_refs: alloc::vec::Vec<radroots_event::tag::EventRef> +pub radroots_event::knowledge::KnowledgeFieldReport::context: radroots_event::knowledge::KnowledgeFieldContext +pub radroots_event::knowledge::KnowledgeFieldReport::limitations: alloc::vec::Vec<alloc::string::String> +pub radroots_event::knowledge::KnowledgeFieldReport::observations: alloc::vec::Vec<radroots_event::knowledge::KnowledgeObservation> +pub radroots_event::knowledge::KnowledgeFieldReport::related_refs: alloc::vec::Vec<radroots_event::tag::EventRef> +pub radroots_event::knowledge::KnowledgeFieldReport::report_type: alloc::string::String +pub radroots_event::knowledge::KnowledgeFieldReport::schema: alloc::string::String +pub radroots_event::knowledge::KnowledgeFieldReport::schema_version: u16 +pub radroots_event::knowledge::KnowledgeFieldReport::summary: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::KnowledgeFieldReport::title: alloc::string::String +pub struct radroots_event::knowledge::KnowledgeLocation +pub radroots_event::knowledge::KnowledgeLocation::geohash: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::KnowledgeLocation::label: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::KnowledgeLocation::locality: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::KnowledgeLocation::region: core::option::Option<alloc::string::String> +pub struct radroots_event::knowledge::KnowledgeNodeRef +pub radroots_event::knowledge::KnowledgeNodeRef::address_ref: core::option::Option<radroots_event::knowledge::AddressableRef> +pub radroots_event::knowledge::KnowledgeNodeRef::event_ref: core::option::Option<radroots_event::tag::EventRef> +pub radroots_event::knowledge::KnowledgeNodeRef::external_id: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::KnowledgeNodeRef::label: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::KnowledgeNodeRef::node_type: alloc::string::String +pub struct radroots_event::knowledge::KnowledgeObservation +pub radroots_event::knowledge::KnowledgeObservation::observation_type: alloc::string::String +pub radroots_event::knowledge::KnowledgeObservation::observed_at: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::KnowledgeObservation::text: alloc::string::String +pub radroots_event::knowledge::KnowledgeObservation::values: alloc::vec::Vec<radroots_event::knowledge::KnowledgeObservationValue> +pub struct radroots_event::knowledge::KnowledgeObservationValue +pub radroots_event::knowledge::KnowledgeObservationValue::key: alloc::string::String +pub radroots_event::knowledge::KnowledgeObservationValue::unit: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::KnowledgeObservationValue::value: alloc::string::String +pub struct radroots_event::knowledge::KnowledgeRelation +pub radroots_event::knowledge::KnowledgeRelation::author_asserted_confidence: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::KnowledgeRelation::object: radroots_event::knowledge::KnowledgeNodeRef +pub radroots_event::knowledge::KnowledgeRelation::predicate: alloc::string::String +pub radroots_event::knowledge::KnowledgeRelation::schema: alloc::string::String +pub radroots_event::knowledge::KnowledgeRelation::schema_version: u16 +pub radroots_event::knowledge::KnowledgeRelation::subject: radroots_event::knowledge::KnowledgeNodeRef +pub radroots_event::knowledge::KnowledgeRelation::supersedes: alloc::vec::Vec<radroots_event::tag::EventRef> +pub radroots_event::knowledge::KnowledgeRelation::support_refs: alloc::vec::Vec<radroots_event::tag::EventRef> +pub struct radroots_event::knowledge::KnowledgeReview +pub radroots_event::knowledge::KnowledgeReview::evidence_refs: alloc::vec::Vec<radroots_event::tag::EventRef> +pub radroots_event::knowledge::KnowledgeReview::notes: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::KnowledgeReview::reviewer_role: alloc::string::String +pub radroots_event::knowledge::KnowledgeReview::schema: alloc::string::String +pub radroots_event::knowledge::KnowledgeReview::schema_version: u16 +pub radroots_event::knowledge::KnowledgeReview::scores: alloc::vec::Vec<radroots_event::knowledge::KnowledgeReviewScore> +pub radroots_event::knowledge::KnowledgeReview::target: radroots_event::knowledge::KnowledgeReviewTarget +pub radroots_event::knowledge::KnowledgeReview::verdict: alloc::string::String +pub struct radroots_event::knowledge::KnowledgeReviewScore +pub radroots_event::knowledge::KnowledgeReviewScore::dimension: alloc::string::String +pub radroots_event::knowledge::KnowledgeReviewScore::note: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::KnowledgeReviewScore::value: alloc::string::String +pub struct radroots_event::knowledge::KnowledgeReviewTarget +pub radroots_event::knowledge::KnowledgeReviewTarget::address: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::KnowledgeReviewTarget::author_pubkey: alloc::string::String +pub radroots_event::knowledge::KnowledgeReviewTarget::event_id: alloc::string::String +pub radroots_event::knowledge::KnowledgeReviewTarget::kind: u32 +pub radroots_event::knowledge::KnowledgeReviewTarget::relays: alloc::vec::Vec<alloc::string::String> +pub radroots_event::knowledge::KnowledgeReviewTarget::review_scope: radroots_event::knowledge::KnowledgeReviewScope +pub struct radroots_event::knowledge::KnowledgeSource +pub radroots_event::knowledge::KnowledgeSource::artifact_refs: alloc::vec::Vec<radroots_event::tag::EventRef> +pub radroots_event::knowledge::KnowledgeSource::author_asserted_rights: core::option::Option<radroots_event::knowledge::RightsAssertion> +pub radroots_event::knowledge::KnowledgeSource::authors: alloc::vec::Vec<alloc::string::String> +pub radroots_event::knowledge::KnowledgeSource::canonical_url: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::KnowledgeSource::d_tag: alloc::string::String +pub radroots_event::knowledge::KnowledgeSource::edition: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::KnowledgeSource::publication_year: core::option::Option<u16> +pub radroots_event::knowledge::KnowledgeSource::publisher: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::KnowledgeSource::schema: alloc::string::String +pub radroots_event::knowledge::KnowledgeSource::schema_version: u16 +pub radroots_event::knowledge::KnowledgeSource::source_type: alloc::string::String +pub radroots_event::knowledge::KnowledgeSource::summary: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::KnowledgeSource::title: alloc::string::String +pub radroots_event::knowledge::KnowledgeSource::topics: alloc::vec::Vec<alloc::string::String> +pub struct radroots_event::knowledge::RightsAssertion +pub radroots_event::knowledge::RightsAssertion::assertion: alloc::string::String +pub radroots_event::knowledge::RightsAssertion::holder: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::RightsAssertion::license: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::RightsAssertion::url: core::option::Option<alloc::string::String> +pub struct radroots_event::knowledge::WikiArticle +pub radroots_event::knowledge::WikiArticle::content_djot: alloc::string::String +pub radroots_event::knowledge::WikiArticle::d_tag: alloc::string::String +pub radroots_event::knowledge::WikiArticle::deferred_to: core::option::Option<radroots_event::knowledge::WikiArticleVersionRef> +pub radroots_event::knowledge::WikiArticle::forked_from: alloc::vec::Vec<radroots_event::knowledge::WikiArticleVersionRef> +pub radroots_event::knowledge::WikiArticle::references: alloc::vec::Vec<radroots_event::tag::EventRef> +pub radroots_event::knowledge::WikiArticle::summary: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::WikiArticle::title: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::WikiArticle::topics: alloc::vec::Vec<alloc::string::String> +pub struct radroots_event::knowledge::WikiArticleVersionRef +pub radroots_event::knowledge::WikiArticleVersionRef::address_ref: radroots_event::knowledge::AddressableRef +pub radroots_event::knowledge::WikiArticleVersionRef::event_id: alloc::string::String +pub struct radroots_event::knowledge::WikiMergeRequest +pub radroots_event::knowledge::WikiMergeRequest::base_version_event_id: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::WikiMergeRequest::destination_pubkey: alloc::string::String +pub radroots_event::knowledge::WikiMergeRequest::explanation: core::option::Option<alloc::string::String> +pub radroots_event::knowledge::WikiMergeRequest::source_version_event_id: alloc::string::String +pub radroots_event::knowledge::WikiMergeRequest::target_article: radroots_event::knowledge::AddressableRef +pub struct radroots_event::knowledge::WikiRedirect +pub radroots_event::knowledge::WikiRedirect::d_tag: alloc::string::String +pub radroots_event::knowledge::WikiRedirect::target: radroots_event::knowledge::AddressableRef +pub const radroots_event::knowledge::RADROOTS_CONTRIBUTION_ATTESTATION_SCHEMA: &str +pub const radroots_event::knowledge::RADROOTS_EVIDENCE_BOUNTY_SCHEMA: &str +pub const radroots_event::knowledge::RADROOTS_KNOWLEDGE_CHANGE_PROPOSAL_SCHEMA: &str +pub const radroots_event::knowledge::RADROOTS_KNOWLEDGE_CLAIM_SCHEMA: &str +pub const radroots_event::knowledge::RADROOTS_KNOWLEDGE_FIELD_REPORT_SCHEMA: &str +pub const radroots_event::knowledge::RADROOTS_KNOWLEDGE_RELATION_SCHEMA: &str +pub const radroots_event::knowledge::RADROOTS_KNOWLEDGE_REVIEW_SCHEMA: &str +pub const radroots_event::knowledge::RADROOTS_KNOWLEDGE_SCHEMA_VERSION: u16 +pub const radroots_event::knowledge::RADROOTS_KNOWLEDGE_SOURCE_SCHEMA: &str +pub const radroots_event::knowledge::RADROOTS_WIKI_D_TAG_MAX_LEN: usize +pub fn radroots_event::knowledge::is_uncited_knowledge_claim_type(&str) -> bool +pub fn radroots_event::knowledge::normalize_wiki_d_tag(&str) -> alloc::string::String +pub fn radroots_event::knowledge::validate_contribution_attestation(&radroots_event::knowledge::ContributionAttestation) -> core::result::Result<(), radroots_event::knowledge::KnowledgeValidationError> +pub fn radroots_event::knowledge::validate_evidence_bounty(&radroots_event::knowledge::EvidenceBounty) -> core::result::Result<(), radroots_event::knowledge::KnowledgeValidationError> +pub fn radroots_event::knowledge::validate_knowledge_change_proposal(&radroots_event::knowledge::KnowledgeChangeProposal) -> core::result::Result<(), radroots_event::knowledge::KnowledgeValidationError> +pub fn radroots_event::knowledge::validate_knowledge_claim(&radroots_event::knowledge::KnowledgeClaim) -> core::result::Result<(), radroots_event::knowledge::KnowledgeValidationError> +pub fn radroots_event::knowledge::validate_knowledge_field_report(&radroots_event::knowledge::KnowledgeFieldReport) -> core::result::Result<(), radroots_event::knowledge::KnowledgeValidationError> +pub fn radroots_event::knowledge::validate_knowledge_relation(&radroots_event::knowledge::KnowledgeRelation) -> core::result::Result<(), radroots_event::knowledge::KnowledgeValidationError> +pub fn radroots_event::knowledge::validate_knowledge_review(&radroots_event::knowledge::KnowledgeReview) -> core::result::Result<(), radroots_event::knowledge::KnowledgeValidationError> +pub fn radroots_event::knowledge::validate_knowledge_source(&radroots_event::knowledge::KnowledgeSource) -> core::result::Result<(), radroots_event::knowledge::KnowledgeValidationError> +pub fn radroots_event::knowledge::validate_wiki_article(&radroots_event::knowledge::WikiArticle) -> core::result::Result<(), radroots_event::knowledge::KnowledgeValidationError> +pub fn radroots_event::knowledge::validate_wiki_d_tag(&str) -> core::result::Result<(), radroots_event::knowledge::WikiDTagError> +pub fn radroots_event::knowledge::validate_wiki_merge_request(&radroots_event::knowledge::WikiMergeRequest) -> core::result::Result<(), radroots_event::knowledge::KnowledgeValidationError> +pub fn radroots_event::knowledge::validate_wiki_redirect(&radroots_event::knowledge::WikiRedirect) -> core::result::Result<(), radroots_event::knowledge::KnowledgeValidationError> +pub mod radroots_event::listing +pub mod radroots_event::listing::classified +pub enum radroots_event::listing::classified::ClassifiedListingPartition +pub radroots_event::listing::classified::ClassifiedListingPartition::Ambiguous +pub radroots_event::listing::classified::ClassifiedListingPartition::FocusedFoodAvailability +pub radroots_event::listing::classified::ClassifiedListingPartition::GenericNip99 +pub radroots_event::listing::classified::ClassifiedListingPartition::OperationalListing +pub const radroots_event::listing::classified::TAG_RADROOTS_BIN: &str +pub const radroots_event::listing::classified::TAG_RADROOTS_PRICE: &str +pub const radroots_event::listing::classified::TAG_RADROOTS_PRICE_UNIT: &str +pub const radroots_event::listing::classified::TAG_RADROOTS_PRIMARY_BIN: &str +pub const radroots_event::listing::classified::TAG_RADROOTS_QUANTITY: &str +pub fn radroots_event::listing::classified::classify_classified_listing_marker_names<'a>(impl core::iter::traits::collect::IntoIterator<Item = core::option::Option<&'a str>>) -> radroots_event::listing::classified::ClassifiedListingPartition +pub fn radroots_event::listing::classified::classify_classified_listing_tag_slice(&[radroots_event::envelope::EventTag]) -> radroots_event::listing::classified::ClassifiedListingPartition +pub fn radroots_event::listing::classified::classify_classified_listing_tags(&radroots_event::envelope::EventTags) -> radroots_event::listing::classified::ClassifiedListingPartition +pub mod radroots_event::listing::operational +pub enum radroots_event::listing::operational::OperationalListingAvailability +pub radroots_event::listing::operational::OperationalListingAvailability::Status +pub radroots_event::listing::operational::OperationalListingAvailability::Status::status: radroots_event::listing::operational::OperationalListingStatus +pub radroots_event::listing::operational::OperationalListingAvailability::Window +pub radroots_event::listing::operational::OperationalListingAvailability::Window::end: core::option::Option<u64> +pub radroots_event::listing::operational::OperationalListingAvailability::Window::start: core::option::Option<u64> +pub enum radroots_event::listing::operational::OperationalListingDeliveryMethod +pub radroots_event::listing::operational::OperationalListingDeliveryMethod::LocalDelivery +pub radroots_event::listing::operational::OperationalListingDeliveryMethod::Other +pub radroots_event::listing::operational::OperationalListingDeliveryMethod::Other::method: alloc::string::String +pub radroots_event::listing::operational::OperationalListingDeliveryMethod::Pickup +pub radroots_event::listing::operational::OperationalListingDeliveryMethod::Shipping +pub enum radroots_event::listing::operational::OperationalListingParseError +pub radroots_event::listing::operational::OperationalListingParseError::InvalidCurrency +pub radroots_event::listing::operational::OperationalListingParseError::InvalidDiscount(alloc::string::String) +pub radroots_event::listing::operational::OperationalListingParseError::InvalidJson(alloc::string::String) +pub radroots_event::listing::operational::OperationalListingParseError::InvalidKind(u32) +pub radroots_event::listing::operational::OperationalListingParseError::InvalidNumber(alloc::string::String) +pub radroots_event::listing::operational::OperationalListingParseError::InvalidTag(alloc::string::String) +pub radroots_event::listing::operational::OperationalListingParseError::InvalidUnit +pub radroots_event::listing::operational::OperationalListingParseError::MissingTag(alloc::string::String) +impl core::error::Error for radroots_event::listing::operational::OperationalListingParseError +impl core::fmt::Display for radroots_event::listing::operational::OperationalListingParseError +pub fn radroots_event::listing::operational::OperationalListingParseError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_event::listing::operational::OperationalListingStatus +pub radroots_event::listing::operational::OperationalListingStatus::Active +pub radroots_event::listing::operational::OperationalListingStatus::Other +pub radroots_event::listing::operational::OperationalListingStatus::Other::value: alloc::string::String +pub radroots_event::listing::operational::OperationalListingStatus::Sold +pub struct radroots_event::listing::operational::OperationalListing +pub radroots_event::listing::operational::OperationalListing::availability: core::option::Option<radroots_event::listing::operational::OperationalListingAvailability> +pub radroots_event::listing::operational::OperationalListing::bins: alloc::vec::Vec<radroots_event::listing::operational::OperationalListingBin> +pub radroots_event::listing::operational::OperationalListing::d_tag: radroots_event::id::DTag +pub radroots_event::listing::operational::OperationalListing::delivery_method: core::option::Option<radroots_event::listing::operational::OperationalListingDeliveryMethod> +pub radroots_event::listing::operational::OperationalListing::discounts: core::option::Option<alloc::vec::Vec<radroots_core::discount::Discount>> +pub radroots_event::listing::operational::OperationalListing::farm: radroots_event::farm::FarmRef +pub radroots_event::listing::operational::OperationalListing::images: core::option::Option<alloc::vec::Vec<radroots_event::listing::operational::OperationalListingImage>> +pub radroots_event::listing::operational::OperationalListing::inventory_available: core::option::Option<radroots_core::decimal::Decimal> +pub radroots_event::listing::operational::OperationalListing::location: core::option::Option<radroots_event::listing::operational::OperationalListingPublicLocation> +pub radroots_event::listing::operational::OperationalListing::plot: core::option::Option<radroots_event::farm::plot::PlotRef> +pub radroots_event::listing::operational::OperationalListing::primary_bin_id: radroots_event::id::InventoryBinId +pub radroots_event::listing::operational::OperationalListing::product: radroots_event::listing::operational::OperationalListingProduct +pub radroots_event::listing::operational::OperationalListing::published_at: core::option::Option<u64> +pub radroots_event::listing::operational::OperationalListing::resource_area: core::option::Option<radroots_event::farm::resource_area::ResourceAreaRef> +pub struct radroots_event::listing::operational::OperationalListingBin +pub radroots_event::listing::operational::OperationalListingBin::bin_id: radroots_event::id::InventoryBinId +pub radroots_event::listing::operational::OperationalListingBin::display_amount: core::option::Option<radroots_core::decimal::Decimal> +pub radroots_event::listing::operational::OperationalListingBin::display_label: core::option::Option<alloc::string::String> +pub radroots_event::listing::operational::OperationalListingBin::display_price: core::option::Option<radroots_core::money::Money> +pub radroots_event::listing::operational::OperationalListingBin::display_price_unit: core::option::Option<radroots_core::unit::Unit> +pub radroots_event::listing::operational::OperationalListingBin::display_unit: core::option::Option<radroots_core::unit::Unit> +pub radroots_event::listing::operational::OperationalListingBin::price_per_canonical_unit: radroots_core::quantity_price::QuantityPrice +pub radroots_event::listing::operational::OperationalListingBin::quantity: radroots_core::quantity::Quantity +pub struct radroots_event::listing::operational::OperationalListingImage +pub radroots_event::listing::operational::OperationalListingImage::size: core::option::Option<radroots_event::listing::operational::OperationalListingImageSize> +pub radroots_event::listing::operational::OperationalListingImage::url: alloc::string::String +pub struct radroots_event::listing::operational::OperationalListingImageSize +pub radroots_event::listing::operational::OperationalListingImageSize::h: u32 +pub radroots_event::listing::operational::OperationalListingImageSize::w: u32 +pub struct radroots_event::listing::operational::OperationalListingProduct +pub radroots_event::listing::operational::OperationalListingProduct::category: alloc::string::String +pub radroots_event::listing::operational::OperationalListingProduct::key: alloc::string::String +pub radroots_event::listing::operational::OperationalListingProduct::location: core::option::Option<alloc::string::String> +pub radroots_event::listing::operational::OperationalListingProduct::lot: core::option::Option<alloc::string::String> +pub radroots_event::listing::operational::OperationalListingProduct::process: core::option::Option<alloc::string::String> +pub radroots_event::listing::operational::OperationalListingProduct::profile: core::option::Option<alloc::string::String> +pub radroots_event::listing::operational::OperationalListingProduct::summary: core::option::Option<alloc::string::String> +pub radroots_event::listing::operational::OperationalListingProduct::title: alloc::string::String +pub radroots_event::listing::operational::OperationalListingProduct::year: core::option::Option<alloc::string::String> +pub struct radroots_event::listing::operational::OperationalListingProductTagKeys +pub struct radroots_event::listing::operational::OperationalListingPublicLocation +pub radroots_event::listing::operational::OperationalListingPublicLocation::city: core::option::Option<alloc::string::String> +pub radroots_event::listing::operational::OperationalListingPublicLocation::country: core::option::Option<alloc::string::String> +pub radroots_event::listing::operational::OperationalListingPublicLocation::geohash: alloc::string::String +pub radroots_event::listing::operational::OperationalListingPublicLocation::primary: alloc::string::String +pub radroots_event::listing::operational::OperationalListingPublicLocation::region: core::option::Option<alloc::string::String> +pub const radroots_event::listing::operational::RADROOTS_OPERATIONAL_LISTING_PRODUCT_TAG_KEYS: [&str; 9] +pub mod radroots_event::media +pub mod radroots_event::media::file_metadata +pub struct radroots_event::media::file_metadata::FileMetadata +pub radroots_event::media::file_metadata::FileMetadata::alt: core::option::Option<alloc::string::String> +pub radroots_event::media::file_metadata::FileMetadata::blurhash: core::option::Option<alloc::string::String> +pub radroots_event::media::file_metadata::FileMetadata::content: core::option::Option<alloc::string::String> +pub radroots_event::media::file_metadata::FileMetadata::content_hashes: core::option::Option<alloc::vec::Vec<alloc::string::String>> +pub radroots_event::media::file_metadata::FileMetadata::dimensions: core::option::Option<radroots_event::social::SocialMediaDimensions> +pub radroots_event::media::file_metadata::FileMetadata::fallback: core::option::Option<alloc::string::String> +pub radroots_event::media::file_metadata::FileMetadata::magnet: core::option::Option<alloc::string::String> +pub radroots_event::media::file_metadata::FileMetadata::mime_type: alloc::string::String +pub radroots_event::media::file_metadata::FileMetadata::original_sha256: core::option::Option<alloc::string::String> +pub radroots_event::media::file_metadata::FileMetadata::services: core::option::Option<alloc::vec::Vec<alloc::string::String>> +pub radroots_event::media::file_metadata::FileMetadata::sha256: alloc::string::String +pub radroots_event::media::file_metadata::FileMetadata::size: core::option::Option<u64> +pub radroots_event::media::file_metadata::FileMetadata::summary: core::option::Option<alloc::string::String> +pub radroots_event::media::file_metadata::FileMetadata::thumbnails: core::option::Option<alloc::vec::Vec<radroots_event::social::SocialMediaThumbnail>> +pub radroots_event::media::file_metadata::FileMetadata::url: alloc::string::String +#[non_exhaustive] pub enum radroots_event::media::AuthoredImageError +pub radroots_event::media::AuthoredImageError::MediaTypeNotImage +impl radroots_event::media::AuthoredImageError +pub const fn radroots_event::media::AuthoredImageError::code(&self) -> &'static str +impl core::error::Error for radroots_event::media::AuthoredImageError +impl core::fmt::Display for radroots_event::media::AuthoredImageError +pub fn radroots_event::media::AuthoredImageError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_event::media::AuthoredImage(_) +impl radroots_event::media::AuthoredImage +pub fn radroots_event::media::AuthoredImage::descriptor(&self) -> &radroots_blossom::descriptor::ByteVerifiedDescriptor +pub fn radroots_event::media::AuthoredImage::try_from_verified_descriptor(radroots_blossom::descriptor::ByteVerifiedDescriptor) -> core::result::Result<Self, radroots_event::media::AuthoredImageError> +impl core::convert::TryFrom<radroots_blossom::descriptor::ByteVerifiedDescriptor> for radroots_event::media::AuthoredImage +pub type radroots_event::media::AuthoredImage::Error = radroots_event::media::AuthoredImageError +pub fn radroots_event::media::AuthoredImage::try_from(radroots_blossom::descriptor::ByteVerifiedDescriptor) -> core::result::Result<Self, Self::Error> +pub mod radroots_event::post +pub mod radroots_event::post::article +pub struct radroots_event::post::article::Article +pub radroots_event::post::article::Article::content: alloc::string::String +pub radroots_event::post::article::Article::d_tag: alloc::string::String +pub radroots_event::post::article::Article::farm: core::option::Option<radroots_event::social::SocialFarmAnchor> +pub radroots_event::post::article::Article::image: core::option::Option<alloc::string::String> +pub radroots_event::post::article::Article::location: core::option::Option<radroots_event::social::SocialLocation> +pub radroots_event::post::article::Article::published_at: core::option::Option<u64> +pub radroots_event::post::article::Article::summary: core::option::Option<alloc::string::String> +pub radroots_event::post::article::Article::title: alloc::string::String +pub radroots_event::post::article::Article::topics: core::option::Option<alloc::vec::Vec<alloc::string::String>> +pub mod radroots_event::post::comment +#[non_exhaustive] pub enum radroots_event::post::comment::Nip22CommentError +pub radroots_event::post::comment::Nip22CommentError::ContentMissing +pub radroots_event::post::comment::Nip22CommentError::ContentTooLarge +pub radroots_event::post::comment::Nip22CommentError::ContentTooLarge::actual: usize +pub radroots_event::post::comment::Nip22CommentError::ContentTooLarge::max: usize +pub radroots_event::post::comment::Nip22CommentError::EventWireTooLarge +pub radroots_event::post::comment::Nip22CommentError::EventWireTooLarge::actual: usize +pub radroots_event::post::comment::Nip22CommentError::EventWireTooLarge::max: usize +pub radroots_event::post::comment::Nip22CommentError::ParentAuthorInvalid(radroots_event::id::ParseError) +pub radroots_event::post::comment::Nip22CommentError::ParentEventIdInvalid(radroots_event::id::ParseError) +pub radroots_event::post::comment::Nip22CommentError::ParentReferenceMismatch +pub radroots_event::post::comment::Nip22CommentError::RelayInvalid(radroots_event::id::ParseError) +pub radroots_event::post::comment::Nip22CommentError::RevisionEventIdInvalid(radroots_event::id::ParseError) +pub radroots_event::post::comment::Nip22CommentError::RootAuthorInvalid(radroots_event::id::ParseError) +pub radroots_event::post::comment::Nip22CommentError::RootCoordinateInvalid(radroots_event::id::ParseError) +pub radroots_event::post::comment::Nip22CommentError::RootEventIdInvalid(radroots_event::id::ParseError) +pub radroots_event::post::comment::Nip22CommentError::RootKindUnsupported +pub radroots_event::post::comment::Nip22CommentError::RootKindUnsupported::actual: u32 +pub radroots_event::post::comment::Nip22CommentError::TagBytesExceeded +pub radroots_event::post::comment::Nip22CommentError::TagBytesExceeded::actual: usize +pub radroots_event::post::comment::Nip22CommentError::TagBytesExceeded::max: usize +pub radroots_event::post::comment::Nip22CommentError::TagCountExceeded +pub radroots_event::post::comment::Nip22CommentError::TagCountExceeded::actual: usize +pub radroots_event::post::comment::Nip22CommentError::TagCountExceeded::max: usize +pub radroots_event::post::comment::Nip22CommentError::TagElementCountExceeded +pub radroots_event::post::comment::Nip22CommentError::TagElementCountExceeded::actual: usize +pub radroots_event::post::comment::Nip22CommentError::TagElementCountExceeded::max: usize +pub radroots_event::post::comment::Nip22CommentError::TagElementTooLarge +pub radroots_event::post::comment::Nip22CommentError::TagElementTooLarge::actual: usize +pub radroots_event::post::comment::Nip22CommentError::TagElementTooLarge::max: usize +impl radroots_event::post::comment::Nip22CommentError +pub const fn radroots_event::post::comment::Nip22CommentError::code(&self) -> &'static str +impl core::error::Error for radroots_event::post::comment::Nip22CommentError +pub fn radroots_event::post::comment::Nip22CommentError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +impl core::fmt::Display for radroots_event::post::comment::Nip22CommentError +pub fn radroots_event::post::comment::Nip22CommentError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_event::post::comment::Nip22CommentPosition +pub radroots_event::post::comment::Nip22CommentPosition::Nested +pub radroots_event::post::comment::Nip22CommentPosition::Nested::parent: radroots_event::post::comment::Nip22CommentParentReference +pub radroots_event::post::comment::Nip22CommentPosition::TopLevelAddress +pub radroots_event::post::comment::Nip22CommentPosition::TopLevelAddress::current_revision: radroots_event::id::EventId +pub radroots_event::post::comment::Nip22CommentPosition::TopLevelEvent +pub enum radroots_event::post::comment::Nip22CommentRoot +pub radroots_event::post::comment::Nip22CommentRoot::Address(radroots_event::post::comment::Nip22AddressRootReference) +pub radroots_event::post::comment::Nip22CommentRoot::Event(radroots_event::post::comment::Nip22EventRootReference) +impl radroots_event::post::comment::Nip22CommentRoot +pub const fn radroots_event::post::comment::Nip22CommentRoot::author(&self) -> &radroots_identity::key::PublicKey +pub const fn radroots_event::post::comment::Nip22CommentRoot::kind(&self) -> radroots_event::post::comment::Nip22CommentRootKind +pub const fn radroots_event::post::comment::Nip22CommentRoot::relay(&self) -> core::option::Option<&radroots_event::tag::relay_hint::NostrRelayHint> +impl core::convert::From<radroots_event::post::comment::Nip22AddressRootReference> for radroots_event::post::comment::Nip22CommentRoot +pub fn radroots_event::post::comment::Nip22CommentRoot::from(radroots_event::post::comment::Nip22AddressRootReference) -> Self +impl core::convert::From<radroots_event::post::comment::Nip22EventRootReference> for radroots_event::post::comment::Nip22CommentRoot +pub fn radroots_event::post::comment::Nip22CommentRoot::from(radroots_event::post::comment::Nip22EventRootReference) -> Self +pub enum radroots_event::post::comment::Nip22CommentRootKind +pub radroots_event::post::comment::Nip22CommentRootKind::Article +pub radroots_event::post::comment::Nip22CommentRootKind::CalendarDateEvent +pub radroots_event::post::comment::Nip22CommentRootKind::CalendarTimeEvent +pub radroots_event::post::comment::Nip22CommentRootKind::ClassifiedListing +impl radroots_event::post::comment::Nip22CommentRootKind +pub const fn radroots_event::post::comment::Nip22CommentRootKind::as_u32(self) -> u32 +pub const fn radroots_event::post::comment::Nip22CommentRootKind::parse(u32) -> core::result::Result<Self, radroots_event::post::comment::Nip22CommentError> +impl core::convert::From<radroots_event::post::comment::Nip22CommentRootKind> for u32 +pub fn u32::from(radroots_event::post::comment::Nip22CommentRootKind) -> Self +impl core::convert::TryFrom<u32> for radroots_event::post::comment::Nip22CommentRootKind +pub type radroots_event::post::comment::Nip22CommentRootKind::Error = radroots_event::post::comment::Nip22CommentError +pub fn radroots_event::post::comment::Nip22CommentRootKind::try_from(u32) -> core::result::Result<Self, Self::Error> +pub struct radroots_event::post::comment::AuthoredNip22Comment +impl radroots_event::post::comment::AuthoredNip22Comment +pub fn radroots_event::post::comment::AuthoredNip22Comment::content(&self) -> &str +pub fn radroots_event::post::comment::AuthoredNip22Comment::nested(impl core::convert::Into<alloc::string::String>, impl core::convert::Into<radroots_event::post::comment::Nip22CommentRoot>, radroots_event::post::comment::Nip22CommentParentReference) -> core::result::Result<Self, radroots_event::post::comment::Nip22CommentError> +pub fn radroots_event::post::comment::AuthoredNip22Comment::parse_top_level_address(impl core::convert::Into<alloc::string::String>, radroots_event::post::comment::Nip22AddressRootReference, impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::post::comment::Nip22CommentError> +pub const fn radroots_event::post::comment::AuthoredNip22Comment::position(&self) -> &radroots_event::post::comment::Nip22CommentPosition +pub const fn radroots_event::post::comment::AuthoredNip22Comment::root(&self) -> &radroots_event::post::comment::Nip22CommentRoot +pub fn radroots_event::post::comment::AuthoredNip22Comment::top_level_address(impl core::convert::Into<alloc::string::String>, radroots_event::post::comment::Nip22AddressRootReference, radroots_event::id::EventId) -> core::result::Result<Self, radroots_event::post::comment::Nip22CommentError> +pub fn radroots_event::post::comment::AuthoredNip22Comment::top_level_event(impl core::convert::Into<alloc::string::String>, radroots_event::post::comment::Nip22EventRootReference) -> core::result::Result<Self, radroots_event::post::comment::Nip22CommentError> +pub struct radroots_event::post::comment::Nip22AddressRootReference +impl radroots_event::post::comment::Nip22AddressRootReference +pub const fn radroots_event::post::comment::Nip22AddressRootReference::author(&self) -> &radroots_identity::key::PublicKey +pub const fn radroots_event::post::comment::Nip22AddressRootReference::coordinate(&self) -> &radroots_event::id::AddressableCoordinate +pub const fn radroots_event::post::comment::Nip22AddressRootReference::kind(&self) -> radroots_event::post::comment::Nip22CommentRootKind +pub fn radroots_event::post::comment::Nip22AddressRootReference::new(radroots_event::id::AddressableCoordinate, core::option::Option<radroots_event::tag::relay_hint::NostrRelayHint>) -> core::result::Result<Self, radroots_event::post::comment::Nip22CommentError> +pub fn radroots_event::post::comment::Nip22AddressRootReference::parse(impl core::convert::AsRef<str>, core::option::Option<&str>) -> core::result::Result<Self, radroots_event::post::comment::Nip22CommentError> +pub const fn radroots_event::post::comment::Nip22AddressRootReference::relay(&self) -> core::option::Option<&radroots_event::tag::relay_hint::NostrRelayHint> +pub fn radroots_event::post::comment::Nip22AddressRootReference::relay_or_empty(&self) -> &str +impl core::convert::From<radroots_event::post::comment::Nip22AddressRootReference> for radroots_event::post::comment::Nip22CommentRoot +pub fn radroots_event::post::comment::Nip22CommentRoot::from(radroots_event::post::comment::Nip22AddressRootReference) -> Self +pub struct radroots_event::post::comment::Nip22CommentParentReference +impl radroots_event::post::comment::Nip22CommentParentReference +pub const fn radroots_event::post::comment::Nip22CommentParentReference::author(&self) -> &radroots_identity::key::PublicKey +pub const fn radroots_event::post::comment::Nip22CommentParentReference::event_id(&self) -> &radroots_event::id::EventId +pub fn radroots_event::post::comment::Nip22CommentParentReference::new(radroots_event::id::EventId, radroots_identity::key::PublicKey, core::option::Option<radroots_event::tag::relay_hint::NostrRelayHint>) -> core::result::Result<Self, radroots_event::post::comment::Nip22CommentError> +pub fn radroots_event::post::comment::Nip22CommentParentReference::parse(impl core::convert::AsRef<str>, impl core::convert::AsRef<str>, core::option::Option<&str>) -> core::result::Result<Self, radroots_event::post::comment::Nip22CommentError> +pub const fn radroots_event::post::comment::Nip22CommentParentReference::relay(&self) -> core::option::Option<&radroots_event::tag::relay_hint::NostrRelayHint> +pub fn radroots_event::post::comment::Nip22CommentParentReference::relay_or_empty(&self) -> &str +pub struct radroots_event::post::comment::Nip22EventRootReference +impl radroots_event::post::comment::Nip22EventRootReference +pub const fn radroots_event::post::comment::Nip22EventRootReference::author(&self) -> &radroots_identity::key::PublicKey +pub const fn radroots_event::post::comment::Nip22EventRootReference::event_id(&self) -> &radroots_event::id::EventId +pub const fn radroots_event::post::comment::Nip22EventRootReference::kind(&self) -> radroots_event::post::comment::Nip22CommentRootKind +pub fn radroots_event::post::comment::Nip22EventRootReference::new(radroots_event::id::EventId, radroots_identity::key::PublicKey, radroots_event::post::comment::Nip22CommentRootKind, core::option::Option<radroots_event::tag::relay_hint::NostrRelayHint>) -> core::result::Result<Self, radroots_event::post::comment::Nip22CommentError> +pub fn radroots_event::post::comment::Nip22EventRootReference::parse(impl core::convert::AsRef<str>, impl core::convert::AsRef<str>, u32, core::option::Option<&str>) -> core::result::Result<Self, radroots_event::post::comment::Nip22CommentError> +pub const fn radroots_event::post::comment::Nip22EventRootReference::relay(&self) -> core::option::Option<&radroots_event::tag::relay_hint::NostrRelayHint> +pub fn radroots_event::post::comment::Nip22EventRootReference::relay_or_empty(&self) -> &str +impl core::convert::From<radroots_event::post::comment::Nip22EventRootReference> for radroots_event::post::comment::Nip22CommentRoot +pub fn radroots_event::post::comment::Nip22CommentRoot::from(radroots_event::post::comment::Nip22EventRootReference) -> Self +pub const radroots_event::post::comment::RADROOTS_NIP22_COMMENT_CONTENT_MAX_BYTES: usize +pub const radroots_event::post::comment::RADROOTS_NIP22_COMMENT_EVENT_WIRE_MAX_BYTES: usize +pub const radroots_event::post::comment::RADROOTS_NIP22_COMMENT_TAG_ELEMENT_MAX_BYTES: usize +pub const radroots_event::post::comment::RADROOTS_NIP22_COMMENT_TAG_MAX_COUNT: usize +pub const radroots_event::post::comment::RADROOTS_NIP22_COMMENT_TAG_TOTAL_ELEMENT_MAX_COUNT: usize +pub const radroots_event::post::comment::RADROOTS_NIP22_COMMENT_TAG_TOTAL_MAX_BYTES: usize +pub mod radroots_event::post::deletion +#[non_exhaustive] pub enum radroots_event::post::deletion::Nip09DeletionError +pub radroots_event::post::deletion::Nip09DeletionError::ContentTooLarge +pub radroots_event::post::deletion::Nip09DeletionError::ContentTooLarge::actual: usize +pub radroots_event::post::deletion::Nip09DeletionError::ContentTooLarge::max: usize +pub radroots_event::post::deletion::Nip09DeletionError::CoordinateInvalid(radroots_event::id::Nip01CoordinateParseError) +pub radroots_event::post::deletion::Nip09DeletionError::DuplicateAddressTarget +pub radroots_event::post::deletion::Nip09DeletionError::DuplicateAddressTarget::coordinate: alloc::string::String +pub radroots_event::post::deletion::Nip09DeletionError::DuplicateEventTarget +pub radroots_event::post::deletion::Nip09DeletionError::DuplicateEventTarget::event_id: alloc::string::String +pub radroots_event::post::deletion::Nip09DeletionError::EventIdInvalid(radroots_event::id::ParseError) +pub radroots_event::post::deletion::Nip09DeletionError::EventWireTooLarge +pub radroots_event::post::deletion::Nip09DeletionError::EventWireTooLarge::actual: usize +pub radroots_event::post::deletion::Nip09DeletionError::EventWireTooLarge::max: usize +pub radroots_event::post::deletion::Nip09DeletionError::TagBytesExceeded +pub radroots_event::post::deletion::Nip09DeletionError::TagBytesExceeded::actual: usize +pub radroots_event::post::deletion::Nip09DeletionError::TagBytesExceeded::max: usize +pub radroots_event::post::deletion::Nip09DeletionError::TagCountExceeded +pub radroots_event::post::deletion::Nip09DeletionError::TagCountExceeded::actual: usize +pub radroots_event::post::deletion::Nip09DeletionError::TagCountExceeded::max: usize +pub radroots_event::post::deletion::Nip09DeletionError::TagElementTooLarge +pub radroots_event::post::deletion::Nip09DeletionError::TagElementTooLarge::actual: usize +pub radroots_event::post::deletion::Nip09DeletionError::TagElementTooLarge::max: usize +pub radroots_event::post::deletion::Nip09DeletionError::TargetKindOutOfRange +pub radroots_event::post::deletion::Nip09DeletionError::TargetKindOutOfRange::actual: u32 +pub radroots_event::post::deletion::Nip09DeletionError::TargetKindOutOfRange::max: u32 +pub radroots_event::post::deletion::Nip09DeletionError::TargetMissing +impl radroots_event::post::deletion::Nip09DeletionError +pub const fn radroots_event::post::deletion::Nip09DeletionError::code(&self) -> &'static str +impl core::error::Error for radroots_event::post::deletion::Nip09DeletionError +pub fn radroots_event::post::deletion::Nip09DeletionError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +impl core::fmt::Display for radroots_event::post::deletion::Nip09DeletionError +pub fn radroots_event::post::deletion::Nip09DeletionError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_event::post::deletion::AuthoredNip09DeletionRequest +impl radroots_event::post::deletion::AuthoredNip09DeletionRequest +pub fn radroots_event::post::deletion::AuthoredNip09DeletionRequest::address_targets(&self) -> &[radroots_event::post::deletion::Nip09DeletionAddressTarget] +pub fn radroots_event::post::deletion::AuthoredNip09DeletionRequest::content(&self) -> &str +pub fn radroots_event::post::deletion::AuthoredNip09DeletionRequest::event_targets(&self) -> &[radroots_event::post::deletion::Nip09DeletionEventTarget] +pub fn radroots_event::post::deletion::AuthoredNip09DeletionRequest::kind_hints(&self) -> &[u32] +pub const fn radroots_event::post::deletion::AuthoredNip09DeletionRequest::maximum_signed_event_wire_bytes(&self) -> usize +pub fn radroots_event::post::deletion::AuthoredNip09DeletionRequest::new(impl core::convert::Into<alloc::string::String>, alloc::vec::Vec<radroots_event::post::deletion::Nip09DeletionEventTarget>, alloc::vec::Vec<radroots_event::post::deletion::Nip09DeletionAddressTarget>) -> core::result::Result<Self, radroots_event::post::deletion::Nip09DeletionError> +pub fn radroots_event::post::deletion::AuthoredNip09DeletionRequest::target_count(&self) -> usize +pub struct radroots_event::post::deletion::Nip09DeletionAddressTarget +impl radroots_event::post::deletion::Nip09DeletionAddressTarget +pub const fn radroots_event::post::deletion::Nip09DeletionAddressTarget::coordinate(&self) -> &radroots_event::id::Nip01Coordinate +pub const fn radroots_event::post::deletion::Nip09DeletionAddressTarget::kind_hint(&self) -> u32 +pub const fn radroots_event::post::deletion::Nip09DeletionAddressTarget::new(radroots_event::id::Nip01Coordinate) -> Self +pub fn radroots_event::post::deletion::Nip09DeletionAddressTarget::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::post::deletion::Nip09DeletionError> +pub struct radroots_event::post::deletion::Nip09DeletionEventTarget +impl radroots_event::post::deletion::Nip09DeletionEventTarget +pub const fn radroots_event::post::deletion::Nip09DeletionEventTarget::event_id(&self) -> &radroots_event::id::EventId +pub const fn radroots_event::post::deletion::Nip09DeletionEventTarget::kind_hint(&self) -> u32 +pub fn radroots_event::post::deletion::Nip09DeletionEventTarget::new(radroots_event::id::EventId, u32) -> core::result::Result<Self, radroots_event::post::deletion::Nip09DeletionError> +pub fn radroots_event::post::deletion::Nip09DeletionEventTarget::parse(impl core::convert::AsRef<str>, u32) -> core::result::Result<Self, radroots_event::post::deletion::Nip09DeletionError> +pub const radroots_event::post::deletion::RADROOTS_NIP09_DELETION_CONTENT_MAX_BYTES: usize +pub const radroots_event::post::deletion::RADROOTS_NIP09_DELETION_EVENT_WIRE_MAX_BYTES: usize +pub const radroots_event::post::deletion::RADROOTS_NIP09_DELETION_TAG_ELEMENT_MAX_BYTES: usize +pub const radroots_event::post::deletion::RADROOTS_NIP09_DELETION_TAG_MAX_COUNT: usize +pub const radroots_event::post::deletion::RADROOTS_NIP09_DELETION_TAG_TOTAL_ELEMENT_MAX_COUNT: usize +pub const radroots_event::post::deletion::RADROOTS_NIP09_DELETION_TAG_TOTAL_MAX_BYTES: usize +pub const radroots_event::post::deletion::RADROOTS_NIP09_DELETION_TARGET_KIND_MAX: u32 +pub mod radroots_event::post::document +pub struct radroots_event::post::document::Document +pub radroots_event::post::document::Document::body_markdown: core::option::Option<alloc::string::String> +pub radroots_event::post::document::Document::d_tag: alloc::string::String +pub radroots_event::post::document::Document::doc_type: alloc::string::String +pub radroots_event::post::document::Document::effective_at: core::option::Option<u32> +pub radroots_event::post::document::Document::subject: radroots_event::post::document::DocumentSubject +pub radroots_event::post::document::Document::summary: core::option::Option<alloc::string::String> +pub radroots_event::post::document::Document::tags: core::option::Option<alloc::vec::Vec<alloc::string::String>> +pub radroots_event::post::document::Document::title: alloc::string::String +pub radroots_event::post::document::Document::version: alloc::string::String +pub struct radroots_event::post::document::DocumentSubject +pub radroots_event::post::document::DocumentSubject::address: core::option::Option<alloc::string::String> +pub radroots_event::post::document::DocumentSubject::pubkey: alloc::string::String +pub mod radroots_event::post::reaction +pub struct radroots_event::post::reaction::Reaction +pub radroots_event::post::reaction::Reaction::content: alloc::string::String +pub radroots_event::post::reaction::Reaction::target: radroots_event::social::SocialTarget +pub mod radroots_event::post::reply +#[non_exhaustive] pub enum radroots_event::post::reply::Nip10ReplyError +pub radroots_event::post::reply::Nip10ReplyError::AuthorInvalid(radroots_event::id::ParseError) +pub radroots_event::post::reply::Nip10ReplyError::ContentMissing +pub radroots_event::post::reply::Nip10ReplyError::ContentTooLarge +pub radroots_event::post::reply::Nip10ReplyError::ContentTooLarge::actual: usize +pub radroots_event::post::reply::Nip10ReplyError::ContentTooLarge::max: usize +pub radroots_event::post::reply::Nip10ReplyError::EventIdInvalid(radroots_event::id::ParseError) +pub radroots_event::post::reply::Nip10ReplyError::EventWireTooLarge +pub radroots_event::post::reply::Nip10ReplyError::EventWireTooLarge::actual: usize +pub radroots_event::post::reply::Nip10ReplyError::EventWireTooLarge::max: usize +pub radroots_event::post::reply::Nip10ReplyError::NestedParentMatchesRoot +pub radroots_event::post::reply::Nip10ReplyError::RelayInvalid(radroots_event::id::ParseError) +pub radroots_event::post::reply::Nip10ReplyError::TagBytesExceeded +pub radroots_event::post::reply::Nip10ReplyError::TagBytesExceeded::actual: usize +pub radroots_event::post::reply::Nip10ReplyError::TagBytesExceeded::max: usize +pub radroots_event::post::reply::Nip10ReplyError::TagElementTooLarge +pub radroots_event::post::reply::Nip10ReplyError::TagElementTooLarge::actual: usize +pub radroots_event::post::reply::Nip10ReplyError::TagElementTooLarge::max: usize +impl radroots_event::post::reply::Nip10ReplyError +pub const fn radroots_event::post::reply::Nip10ReplyError::code(&self) -> &'static str +impl core::error::Error for radroots_event::post::reply::Nip10ReplyError +pub fn radroots_event::post::reply::Nip10ReplyError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +impl core::fmt::Display for radroots_event::post::reply::Nip10ReplyError +pub fn radroots_event::post::reply::Nip10ReplyError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_event::post::reply::AuthoredNip10Reply +impl radroots_event::post::reply::AuthoredNip10Reply +pub fn radroots_event::post::reply::AuthoredNip10Reply::content(&self) -> &str +pub fn radroots_event::post::reply::AuthoredNip10Reply::direct(impl core::convert::Into<alloc::string::String>, radroots_event::post::reply::Nip10ReplyReference) -> core::result::Result<Self, radroots_event::post::reply::Nip10ReplyError> +pub const fn radroots_event::post::reply::AuthoredNip10Reply::is_direct(&self) -> bool +pub fn radroots_event::post::reply::AuthoredNip10Reply::nested(impl core::convert::Into<alloc::string::String>, radroots_event::post::reply::Nip10ReplyReference, radroots_event::post::reply::Nip10ReplyReference) -> core::result::Result<Self, radroots_event::post::reply::Nip10ReplyError> +pub const fn radroots_event::post::reply::AuthoredNip10Reply::parent(&self) -> core::option::Option<&radroots_event::post::reply::Nip10ReplyReference> +pub const fn radroots_event::post::reply::AuthoredNip10Reply::root(&self) -> &radroots_event::post::reply::Nip10ReplyReference +pub struct radroots_event::post::reply::Nip10ReplyReference +impl radroots_event::post::reply::Nip10ReplyReference +pub const fn radroots_event::post::reply::Nip10ReplyReference::author(&self) -> &radroots_identity::key::PublicKey +pub const fn radroots_event::post::reply::Nip10ReplyReference::event_id(&self) -> &radroots_event::id::EventId +pub fn radroots_event::post::reply::Nip10ReplyReference::new(radroots_event::id::EventId, radroots_identity::key::PublicKey, core::option::Option<radroots_event::tag::relay_hint::NostrRelayHint>) -> core::result::Result<Self, radroots_event::post::reply::Nip10ReplyError> +pub fn radroots_event::post::reply::Nip10ReplyReference::parse(impl core::convert::AsRef<str>, impl core::convert::AsRef<str>, core::option::Option<&str>) -> core::result::Result<Self, radroots_event::post::reply::Nip10ReplyError> +pub const fn radroots_event::post::reply::Nip10ReplyReference::relay(&self) -> core::option::Option<&radroots_event::tag::relay_hint::NostrRelayHint> +pub fn radroots_event::post::reply::Nip10ReplyReference::relay_or_empty(&self) -> &str +pub mod radroots_event::post::report +pub struct radroots_event::post::report::Report +pub radroots_event::post::report::Report::content: core::option::Option<alloc::string::String> +pub radroots_event::post::report::Report::event: core::option::Option<radroots_event::social::SocialTarget> +pub radroots_event::post::report::Report::file: core::option::Option<radroots_event::social::ReportFileTarget> +pub radroots_event::post::report::Report::report_type: radroots_event::social::ReportType +pub radroots_event::post::report::Report::reported_pubkey: alloc::string::String +pub mod radroots_event::post::repost +pub struct radroots_event::post::repost::GenericRepost +pub radroots_event::post::repost::GenericRepost::content: core::option::Option<alloc::string::String> +pub radroots_event::post::repost::GenericRepost::target: radroots_event::social::SocialTarget +pub radroots_event::post::repost::GenericRepost::target_kind: u32 +pub struct radroots_event::post::repost::Repost +pub radroots_event::post::repost::Repost::content: core::option::Option<alloc::string::String> +pub radroots_event::post::repost::Repost::target: radroots_event::social::SocialTarget +#[non_exhaustive] pub enum radroots_event::post::AuthoredPostError +pub radroots_event::post::AuthoredPostError::ContentMissing +pub radroots_event::post::AuthoredPostError::ContentTooLarge +pub radroots_event::post::AuthoredPostError::ContentTooLarge::actual: usize +pub radroots_event::post::AuthoredPostError::ContentTooLarge::max: usize +pub radroots_event::post::AuthoredPostError::DuplicateImageUrl +pub radroots_event::post::AuthoredPostError::EventWireTooLarge +pub radroots_event::post::AuthoredPostError::EventWireTooLarge::actual: usize +pub radroots_event::post::AuthoredPostError::EventWireTooLarge::max: usize +pub radroots_event::post::AuthoredPostError::ImageAltInvalid +pub radroots_event::post::AuthoredPostError::ImageAltTooLarge +pub radroots_event::post::AuthoredPostError::ImageAltTooLarge::actual: usize +pub radroots_event::post::AuthoredPostError::ImageAltTooLarge::max: usize +pub radroots_event::post::AuthoredPostError::ImageCountExceeded +pub radroots_event::post::AuthoredPostError::ImageCountExceeded::actual: usize +pub radroots_event::post::AuthoredPostError::ImageCountExceeded::max: usize +pub radroots_event::post::AuthoredPostError::ImageDimensionsInvalid +pub radroots_event::post::AuthoredPostError::ImageFallbackHashMismatch +pub radroots_event::post::AuthoredPostError::ImageMediaTypeInvalid +pub radroots_event::post::AuthoredPostError::ImageMissing +pub radroots_event::post::AuthoredPostError::ImageSizeInvalid +pub radroots_event::post::AuthoredPostError::ImageUrlOccurrenceCount +pub radroots_event::post::AuthoredPostError::ImageUrlOccurrenceCount::actual: usize +pub radroots_event::post::AuthoredPostError::ImageUrlOccurrenceCount::expected: usize +pub radroots_event::post::AuthoredPostError::ImageUrlOverlap +pub radroots_event::post::AuthoredPostError::TagBytesExceeded +pub radroots_event::post::AuthoredPostError::TagBytesExceeded::actual: usize +pub radroots_event::post::AuthoredPostError::TagBytesExceeded::max: usize +pub radroots_event::post::AuthoredPostError::TagElementTooLarge +pub radroots_event::post::AuthoredPostError::TagElementTooLarge::actual: usize +pub radroots_event::post::AuthoredPostError::TagElementTooLarge::max: usize +impl radroots_event::post::AuthoredPostError +pub const fn radroots_event::post::AuthoredPostError::code(&self) -> &'static str +impl core::error::Error for radroots_event::post::AuthoredPostError +impl core::fmt::Display for radroots_event::post::AuthoredPostError +pub fn radroots_event::post::AuthoredPostError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_event::post::AuthoredAsk +impl radroots_event::post::AuthoredAsk +pub fn radroots_event::post::AuthoredAsk::content(&self) -> &str +pub fn radroots_event::post::AuthoredAsk::images(&self) -> &[radroots_event::post::AuthoredPostImage] +pub fn radroots_event::post::AuthoredAsk::new(impl core::convert::Into<alloc::string::String>, alloc::vec::Vec<radroots_event::post::AuthoredPostImage>) -> core::result::Result<Self, radroots_event::post::AuthoredPostError> +pub struct radroots_event::post::AuthoredPhotoUpdate +impl radroots_event::post::AuthoredPhotoUpdate +pub fn radroots_event::post::AuthoredPhotoUpdate::content(&self) -> &str +pub fn radroots_event::post::AuthoredPhotoUpdate::images(&self) -> &[radroots_event::post::AuthoredPostImage] +pub fn radroots_event::post::AuthoredPhotoUpdate::new(impl core::convert::Into<alloc::string::String>, alloc::vec::Vec<radroots_event::post::AuthoredPostImage>) -> core::result::Result<Self, radroots_event::post::AuthoredPostError> +pub struct radroots_event::post::AuthoredPostImage +impl radroots_event::post::AuthoredPostImage +pub fn radroots_event::post::AuthoredPostImage::alt(&self) -> &str +pub const fn radroots_event::post::AuthoredPostImage::dimensions(&self) -> radroots_event::post::PostImageDimensions +pub fn radroots_event::post::AuthoredPostImage::fallbacks(&self) -> &[radroots_blossom::url::ApprovedBlobUrl] +pub fn radroots_event::post::AuthoredPostImage::image(&self) -> &radroots_event::media::AuthoredImage +pub fn radroots_event::post::AuthoredPostImage::imeta_tag(&self) -> &[alloc::string::String] +pub fn radroots_event::post::AuthoredPostImage::new(radroots_event::media::AuthoredImage, radroots_event::post::PostImageDimensions, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_event::post::AuthoredPostError> +pub fn radroots_event::post::AuthoredPostImage::try_with_fallback(self, radroots_blossom::url::ApprovedBlobUrl) -> core::result::Result<Self, radroots_event::post::AuthoredPostError> +pub fn radroots_event::post::AuthoredPostImage::url(&self) -> &str +pub struct radroots_event::post::AuthoredUpdate +impl radroots_event::post::AuthoredUpdate +pub fn radroots_event::post::AuthoredUpdate::content(&self) -> &str +pub fn radroots_event::post::AuthoredUpdate::new(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_event::post::AuthoredPostError> +pub struct radroots_event::post::PostImageDimensions +impl radroots_event::post::PostImageDimensions +pub const fn radroots_event::post::PostImageDimensions::height(self) -> u32 +pub const fn radroots_event::post::PostImageDimensions::new(u32, u32) -> core::result::Result<Self, radroots_event::post::AuthoredPostError> +pub const fn radroots_event::post::PostImageDimensions::width(self) -> u32 +pub const radroots_event::post::RADROOTS_ASK_MARKER_TAG_KEY: &str +pub const radroots_event::post::RADROOTS_ASK_MARKER_TAG_VALUE: &str +pub const radroots_event::post::RADROOTS_POST_ALT_MAX_BYTES: usize +pub const radroots_event::post::RADROOTS_POST_CONTENT_MAX_BYTES: usize +pub const radroots_event::post::RADROOTS_POST_EVENT_WIRE_MAX_BYTES: usize +pub const radroots_event::post::RADROOTS_POST_IMETA_MAX_COUNT: usize +pub const radroots_event::post::RADROOTS_POST_TAG_ELEMENT_MAX_BYTES: usize +pub const radroots_event::post::RADROOTS_POST_TAG_TOTAL_MAX_BYTES: usize +pub fn radroots_event::post::post_image_media_type_is_valid(&str) -> bool +pub fn radroots_event::post::post_media_http_url_is_valid(&str) -> bool +pub mod radroots_event::profile +pub mod radroots_event::profile::account +pub struct radroots_event::profile::account::AccountClaim +pub radroots_event::profile::account::AccountClaim::nip05: core::option::Option<alloc::string::String> +pub radroots_event::profile::account::AccountClaim::pubkey: alloc::string::String +pub radroots_event::profile::account::AccountClaim::username: alloc::string::String +pub const radroots_event::profile::account::KIND_ACCOUNT_CLAIM: u32 +#[non_exhaustive] pub enum radroots_event::profile::AuthoredProfileError +pub radroots_event::profile::AuthoredProfileError::InvalidName +impl radroots_event::profile::AuthoredProfileError +pub const fn radroots_event::profile::AuthoredProfileError::code(&self) -> &'static str +impl core::error::Error for radroots_event::profile::AuthoredProfileError +impl core::fmt::Display for radroots_event::profile::AuthoredProfileError +pub fn radroots_event::profile::AuthoredProfileError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +#[non_exhaustive] pub enum radroots_event::profile::Nip05IdentifierError +pub radroots_event::profile::Nip05IdentifierError::InvalidDomain +pub radroots_event::profile::Nip05IdentifierError::InvalidLocalPart +pub radroots_event::profile::Nip05IdentifierError::MissingSeparator +pub radroots_event::profile::Nip05IdentifierError::MultipleSeparators +impl radroots_event::profile::Nip05IdentifierError +pub const fn radroots_event::profile::Nip05IdentifierError::code(&self) -> &'static str +impl core::error::Error for radroots_event::profile::Nip05IdentifierError +impl core::fmt::Display for radroots_event::profile::Nip05IdentifierError +pub fn radroots_event::profile::Nip05IdentifierError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_event::profile::ProfileType +pub radroots_event::profile::ProfileType::Any +pub radroots_event::profile::ProfileType::Coop +pub radroots_event::profile::ProfileType::Farm +pub radroots_event::profile::ProfileType::Individual +pub radroots_event::profile::ProfileType::Radrootsd +pub struct radroots_event::profile::AuthoredProfile +impl radroots_event::profile::AuthoredProfile +pub fn radroots_event::profile::AuthoredProfile::about(&self) -> core::option::Option<&str> +pub fn radroots_event::profile::AuthoredProfile::banner(&self) -> core::option::Option<&radroots_event::media::AuthoredImage> +pub const fn radroots_event::profile::AuthoredProfile::bot(&self) -> core::option::Option<bool> +pub fn radroots_event::profile::AuthoredProfile::display_name(&self) -> core::option::Option<&str> +pub fn radroots_event::profile::AuthoredProfile::name(&self) -> &str +pub fn radroots_event::profile::AuthoredProfile::new(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_event::profile::AuthoredProfileError> +pub fn radroots_event::profile::AuthoredProfile::nip05(&self) -> core::option::Option<&radroots_event::profile::Nip05Identifier> +pub fn radroots_event::profile::AuthoredProfile::picture(&self) -> core::option::Option<&radroots_event::media::AuthoredImage> +pub fn radroots_event::profile::AuthoredProfile::with_about(self, impl core::convert::Into<alloc::string::String>) -> Self +pub fn radroots_event::profile::AuthoredProfile::with_banner(self, radroots_event::media::AuthoredImage) -> Self +pub const fn radroots_event::profile::AuthoredProfile::with_bot(self, bool) -> Self +pub fn radroots_event::profile::AuthoredProfile::with_display_name(self, impl core::convert::Into<alloc::string::String>) -> Self +pub fn radroots_event::profile::AuthoredProfile::with_nip05(self, radroots_event::profile::Nip05Identifier) -> Self +pub fn radroots_event::profile::AuthoredProfile::with_picture(self, radroots_event::media::AuthoredImage) -> Self +pub struct radroots_event::profile::Nip05Identifier(_) +impl radroots_event::profile::Nip05Identifier +pub fn radroots_event::profile::Nip05Identifier::as_str(&self) -> &str +pub fn radroots_event::profile::Nip05Identifier::domain(&self) -> &str +pub fn radroots_event::profile::Nip05Identifier::local_part(&self) -> &str +pub fn radroots_event::profile::Nip05Identifier::parse(&str) -> core::result::Result<Self, radroots_event::profile::Nip05IdentifierError> +impl core::fmt::Display for radroots_event::profile::Nip05Identifier +pub fn radroots_event::profile::Nip05Identifier::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::profile::Nip05Identifier +pub type radroots_event::profile::Nip05Identifier::Err = radroots_event::profile::Nip05IdentifierError +pub fn radroots_event::profile::Nip05Identifier::from_str(&str) -> core::result::Result<Self, Self::Err> +pub const radroots_event::profile::RADROOTS_PROFILE_METADATA_MAX_CONTENT_BYTES: usize +pub const radroots_event::profile::RADROOTS_PROFILE_TYPE_TAG_ANY: &str +pub const radroots_event::profile::RADROOTS_PROFILE_TYPE_TAG_COOP: &str +pub const radroots_event::profile::RADROOTS_PROFILE_TYPE_TAG_FARM: &str +pub const radroots_event::profile::RADROOTS_PROFILE_TYPE_TAG_INDIVIDUAL: &str +pub const radroots_event::profile::RADROOTS_PROFILE_TYPE_TAG_KEY: &str +pub const radroots_event::profile::RADROOTS_PROFILE_TYPE_TAG_RADROOTSD: &str +pub fn radroots_event::profile::radroots_profile_type_from_tag_value(&str) -> core::option::Option<radroots_event::profile::ProfileType> +pub fn radroots_event::profile::radroots_profile_type_tag_value(radroots_event::profile::ProfileType) -> &'static str +pub mod radroots_event::social +pub mod radroots_event::social::app_data +pub struct radroots_event::social::app_data::AppData +pub radroots_event::social::app_data::AppData::content: alloc::string::String +pub radroots_event::social::app_data::AppData::d_tag: alloc::string::String +pub const radroots_event::social::app_data::KIND_APP_DATA: u32 +pub mod radroots_event::social::follow +pub struct radroots_event::social::follow::Follow +pub radroots_event::social::follow::Follow::list: alloc::vec::Vec<radroots_event::social::follow::FollowProfile> +pub struct radroots_event::social::follow::FollowProfile +pub radroots_event::social::follow::FollowProfile::contact_name: core::option::Option<alloc::string::String> +pub radroots_event::social::follow::FollowProfile::public_key: alloc::string::String +pub radroots_event::social::follow::FollowProfile::published_at: u64 +pub radroots_event::social::follow::FollowProfile::relay_url: core::option::Option<alloc::string::String> +pub mod radroots_event::social::geochat +pub struct radroots_event::social::geochat::GeoChat +pub radroots_event::social::geochat::GeoChat::content: alloc::string::String +pub radroots_event::social::geochat::GeoChat::geohash: alloc::string::String +pub radroots_event::social::geochat::GeoChat::nickname: core::option::Option<alloc::string::String> +pub radroots_event::social::geochat::GeoChat::teleported: bool +pub mod radroots_event::social::gift_wrap +pub struct radroots_event::social::gift_wrap::GiftWrap +pub radroots_event::social::gift_wrap::GiftWrap::content: alloc::string::String +pub radroots_event::social::gift_wrap::GiftWrap::expiration: core::option::Option<u32> +pub radroots_event::social::gift_wrap::GiftWrap::recipient: radroots_event::social::gift_wrap::GiftWrapRecipient +pub struct radroots_event::social::gift_wrap::GiftWrapRecipient +pub radroots_event::social::gift_wrap::GiftWrapRecipient::public_key: alloc::string::String +pub radroots_event::social::gift_wrap::GiftWrapRecipient::relay_url: core::option::Option<alloc::string::String> +pub mod radroots_event::social::group +pub struct radroots_event::social::group::GroupAdmins +pub radroots_event::social::group::GroupAdmins::admins: alloc::vec::Vec<radroots_event::social::group::GroupUserRef> +pub radroots_event::social::group::GroupAdmins::d_tag: alloc::string::String +pub radroots_event::social::group::GroupAdmins::description: core::option::Option<alloc::string::String> +pub struct radroots_event::social::group::GroupCreateGroup +pub radroots_event::social::group::GroupCreateGroup::group_id: alloc::string::String +pub radroots_event::social::group::GroupCreateGroup::message: core::option::Option<alloc::string::String> +pub radroots_event::social::group::GroupCreateGroup::metadata: radroots_event::social::group::GroupEditableMetadata +pub struct radroots_event::social::group::GroupCreateInvite +pub radroots_event::social::group::GroupCreateInvite::code: alloc::string::String +pub radroots_event::social::group::GroupCreateInvite::group_id: alloc::string::String +pub radroots_event::social::group::GroupCreateInvite::message: core::option::Option<alloc::string::String> +pub struct radroots_event::social::group::GroupDeleteEvent +pub radroots_event::social::group::GroupDeleteEvent::event_id: alloc::string::String +pub radroots_event::social::group::GroupDeleteEvent::group_id: alloc::string::String +pub radroots_event::social::group::GroupDeleteEvent::message: core::option::Option<alloc::string::String> +pub struct radroots_event::social::group::GroupDeleteGroup +pub radroots_event::social::group::GroupDeleteGroup::group_id: alloc::string::String +pub radroots_event::social::group::GroupDeleteGroup::message: core::option::Option<alloc::string::String> +pub struct radroots_event::social::group::GroupEditMetadata +pub radroots_event::social::group::GroupEditMetadata::group_id: alloc::string::String +pub radroots_event::social::group::GroupEditMetadata::message: core::option::Option<alloc::string::String> +pub radroots_event::social::group::GroupEditMetadata::metadata: radroots_event::social::group::GroupEditableMetadata +pub struct radroots_event::social::group::GroupEditableMetadata +pub radroots_event::social::group::GroupEditableMetadata::about: core::option::Option<alloc::string::String> +pub radroots_event::social::group::GroupEditableMetadata::is_closed: bool +pub radroots_event::social::group::GroupEditableMetadata::is_hidden: bool +pub radroots_event::social::group::GroupEditableMetadata::is_private: bool +pub radroots_event::social::group::GroupEditableMetadata::is_restricted: bool +pub radroots_event::social::group::GroupEditableMetadata::name: core::option::Option<alloc::string::String> +pub radroots_event::social::group::GroupEditableMetadata::picture: core::option::Option<alloc::string::String> +pub radroots_event::social::group::GroupEditableMetadata::supported_kinds: core::option::Option<alloc::vec::Vec<u32>> +pub struct radroots_event::social::group::GroupJoinRequest +pub radroots_event::social::group::GroupJoinRequest::code: core::option::Option<alloc::string::String> +pub radroots_event::social::group::GroupJoinRequest::group_id: alloc::string::String +pub radroots_event::social::group::GroupJoinRequest::message: core::option::Option<alloc::string::String> +pub struct radroots_event::social::group::GroupLeaveRequest +pub radroots_event::social::group::GroupLeaveRequest::group_id: alloc::string::String +pub radroots_event::social::group::GroupLeaveRequest::message: core::option::Option<alloc::string::String> +pub struct radroots_event::social::group::GroupMembers +pub radroots_event::social::group::GroupMembers::d_tag: alloc::string::String +pub radroots_event::social::group::GroupMembers::description: core::option::Option<alloc::string::String> +pub radroots_event::social::group::GroupMembers::members: alloc::vec::Vec<radroots_event::social::group::GroupUserRef> +pub struct radroots_event::social::group::GroupMetadata +pub radroots_event::social::group::GroupMetadata::d_tag: alloc::string::String +pub radroots_event::social::group::GroupMetadata::metadata: radroots_event::social::group::GroupEditableMetadata +pub struct radroots_event::social::group::GroupPutUser +pub radroots_event::social::group::GroupPutUser::group_id: alloc::string::String +pub radroots_event::social::group::GroupPutUser::message: core::option::Option<alloc::string::String> +pub radroots_event::social::group::GroupPutUser::pubkey: alloc::string::String +pub radroots_event::social::group::GroupPutUser::roles: alloc::vec::Vec<alloc::string::String> +pub struct radroots_event::social::group::GroupRemoveUser +pub radroots_event::social::group::GroupRemoveUser::group_id: alloc::string::String +pub radroots_event::social::group::GroupRemoveUser::message: core::option::Option<alloc::string::String> +pub radroots_event::social::group::GroupRemoveUser::pubkey: alloc::string::String +pub struct radroots_event::social::group::GroupRole +pub radroots_event::social::group::GroupRole::description: core::option::Option<alloc::string::String> +pub radroots_event::social::group::GroupRole::name: alloc::string::String +pub radroots_event::social::group::GroupRole::permissions: alloc::vec::Vec<alloc::string::String> +pub struct radroots_event::social::group::GroupRoles +pub radroots_event::social::group::GroupRoles::d_tag: alloc::string::String +pub radroots_event::social::group::GroupRoles::description: core::option::Option<alloc::string::String> +pub radroots_event::social::group::GroupRoles::roles: alloc::vec::Vec<radroots_event::social::group::GroupRole> +pub struct radroots_event::social::group::GroupUserRef +pub radroots_event::social::group::GroupUserRef::pubkey: alloc::string::String +pub radroots_event::social::group::GroupUserRef::roles: alloc::vec::Vec<alloc::string::String> +pub const radroots_event::social::group::KIND_GROUP_ADMINS: u32 +pub const radroots_event::social::group::KIND_GROUP_CREATE_GROUP: u32 +pub const radroots_event::social::group::KIND_GROUP_CREATE_INVITE: u32 +pub const radroots_event::social::group::KIND_GROUP_DELETE_EVENT: u32 +pub const radroots_event::social::group::KIND_GROUP_DELETE_GROUP: u32 +pub const radroots_event::social::group::KIND_GROUP_EDIT_METADATA: u32 +pub const radroots_event::social::group::KIND_GROUP_JOIN_REQUEST: u32 +pub const radroots_event::social::group::KIND_GROUP_LEAVE_REQUEST: u32 +pub const radroots_event::social::group::KIND_GROUP_MEMBERS: u32 +pub const radroots_event::social::group::KIND_GROUP_METADATA: u32 +pub const radroots_event::social::group::KIND_GROUP_PUT_USER: u32 +pub const radroots_event::social::group::KIND_GROUP_REMOVE_USER: u32 +pub const radroots_event::social::group::KIND_GROUP_ROLES: u32 +pub mod radroots_event::social::http_auth +pub struct radroots_event::social::http_auth::HttpAuth +pub radroots_event::social::http_auth::HttpAuth::method: alloc::string::String +pub radroots_event::social::http_auth::HttpAuth::payload_sha256: core::option::Option<alloc::string::String> +pub radroots_event::social::http_auth::HttpAuth::url: alloc::string::String +pub const radroots_event::social::http_auth::KIND_HTTP_AUTH: u32 +pub mod radroots_event::social::job +pub enum radroots_event::social::job::JobFeedbackStatus +pub radroots_event::social::job::JobFeedbackStatus::Error +pub radroots_event::social::job::JobFeedbackStatus::Partial +pub radroots_event::social::job::JobFeedbackStatus::PaymentRequired +pub radroots_event::social::job::JobFeedbackStatus::Processing +pub radroots_event::social::job::JobFeedbackStatus::Success +pub enum radroots_event::social::job::JobInputType +pub radroots_event::social::job::JobInputType::Event +pub radroots_event::social::job::JobInputType::Job +pub radroots_event::social::job::JobInputType::Text +pub radroots_event::social::job::JobInputType::Url +pub struct radroots_event::social::job::JobPaymentRequest +pub radroots_event::social::job::JobPaymentRequest::amount_sat: u32 +pub radroots_event::social::job::JobPaymentRequest::bolt11: core::option::Option<alloc::string::String> +pub mod radroots_event::social::job_feedback +pub struct radroots_event::social::job_feedback::JobFeedback +pub radroots_event::social::job_feedback::JobFeedback::content: core::option::Option<alloc::string::String> +pub radroots_event::social::job_feedback::JobFeedback::customer_pubkey: core::option::Option<alloc::string::String> +pub radroots_event::social::job_feedback::JobFeedback::encrypted: bool +pub radroots_event::social::job_feedback::JobFeedback::extra_info: core::option::Option<alloc::string::String> +pub radroots_event::social::job_feedback::JobFeedback::kind: u16 +pub radroots_event::social::job_feedback::JobFeedback::payment: core::option::Option<radroots_event::social::job::JobPaymentRequest> +pub radroots_event::social::job_feedback::JobFeedback::request_event: radroots_event::tag::EventPtr +pub radroots_event::social::job_feedback::JobFeedback::status: radroots_event::social::job::JobFeedbackStatus +pub mod radroots_event::social::job_request +pub struct radroots_event::social::job_request::JobInput +pub radroots_event::social::job_request::JobInput::data: alloc::string::String +pub radroots_event::social::job_request::JobInput::input_type: radroots_event::social::job::JobInputType +pub radroots_event::social::job_request::JobInput::marker: core::option::Option<alloc::string::String> +pub radroots_event::social::job_request::JobInput::relay: core::option::Option<alloc::string::String> +pub struct radroots_event::social::job_request::JobParam +pub radroots_event::social::job_request::JobParam::key: alloc::string::String +pub radroots_event::social::job_request::JobParam::value: alloc::string::String +pub struct radroots_event::social::job_request::JobRequest +pub radroots_event::social::job_request::JobRequest::bid_sat: core::option::Option<u32> +pub radroots_event::social::job_request::JobRequest::encrypted: bool +pub radroots_event::social::job_request::JobRequest::inputs: alloc::vec::Vec<radroots_event::social::job_request::JobInput> +pub radroots_event::social::job_request::JobRequest::kind: u16 +pub radroots_event::social::job_request::JobRequest::output: core::option::Option<alloc::string::String> +pub radroots_event::social::job_request::JobRequest::params: alloc::vec::Vec<radroots_event::social::job_request::JobParam> +pub radroots_event::social::job_request::JobRequest::providers: alloc::vec::Vec<alloc::string::String> +pub radroots_event::social::job_request::JobRequest::relays: alloc::vec::Vec<alloc::string::String> +pub radroots_event::social::job_request::JobRequest::topics: alloc::vec::Vec<alloc::string::String> +pub mod radroots_event::social::job_result +pub struct radroots_event::social::job_result::JobResult +pub radroots_event::social::job_result::JobResult::content: core::option::Option<alloc::string::String> +pub radroots_event::social::job_result::JobResult::customer_pubkey: core::option::Option<alloc::string::String> +pub radroots_event::social::job_result::JobResult::encrypted: bool +pub radroots_event::social::job_result::JobResult::inputs: alloc::vec::Vec<radroots_event::social::job_request::JobInput> +pub radroots_event::social::job_result::JobResult::kind: u16 +pub radroots_event::social::job_result::JobResult::payment: core::option::Option<radroots_event::social::job::JobPaymentRequest> +pub radroots_event::social::job_result::JobResult::request_event: radroots_event::tag::EventPtr +pub radroots_event::social::job_result::JobResult::request_json: core::option::Option<alloc::string::String> +pub mod radroots_event::social::list +pub struct radroots_event::social::list::List +pub radroots_event::social::list::List::content: alloc::string::String +pub radroots_event::social::list::List::entries: alloc::vec::Vec<radroots_event::social::list::ListEntry> +pub struct radroots_event::social::list::ListEntry +pub radroots_event::social::list::ListEntry::tag: alloc::string::String +pub radroots_event::social::list::ListEntry::values: alloc::vec::Vec<alloc::string::String> +pub mod radroots_event::social::list_set +pub struct radroots_event::social::list_set::ListSet +pub radroots_event::social::list_set::ListSet::content: alloc::string::String +pub radroots_event::social::list_set::ListSet::d_tag: alloc::string::String +pub radroots_event::social::list_set::ListSet::description: core::option::Option<alloc::string::String> +pub radroots_event::social::list_set::ListSet::entries: alloc::vec::Vec<radroots_event::social::list::ListEntry> +pub radroots_event::social::list_set::ListSet::image: core::option::Option<alloc::string::String> +pub radroots_event::social::list_set::ListSet::title: core::option::Option<alloc::string::String> +pub mod radroots_event::social::message +pub struct radroots_event::social::message::Message +pub radroots_event::social::message::Message::content: alloc::string::String +pub radroots_event::social::message::Message::recipients: alloc::vec::Vec<radroots_event::social::message::MessageRecipient> +pub radroots_event::social::message::Message::reply_to: core::option::Option<radroots_event::tag::EventPtr> +pub radroots_event::social::message::Message::subject: core::option::Option<alloc::string::String> +pub struct radroots_event::social::message::MessageRecipient +pub radroots_event::social::message::MessageRecipient::public_key: alloc::string::String +pub radroots_event::social::message::MessageRecipient::relay_url: core::option::Option<alloc::string::String> +pub mod radroots_event::social::message_file +pub struct radroots_event::social::message_file::MessageFile +pub radroots_event::social::message_file::MessageFile::blurhash: core::option::Option<alloc::string::String> +pub radroots_event::social::message_file::MessageFile::decryption_key: alloc::string::String +pub radroots_event::social::message_file::MessageFile::decryption_nonce: alloc::string::String +pub radroots_event::social::message_file::MessageFile::dimensions: core::option::Option<radroots_event::social::message_file::MessageFileDimensions> +pub radroots_event::social::message_file::MessageFile::encrypted_hash: alloc::string::String +pub radroots_event::social::message_file::MessageFile::encryption_algorithm: alloc::string::String +pub radroots_event::social::message_file::MessageFile::fallbacks: alloc::vec::Vec<alloc::string::String> +pub radroots_event::social::message_file::MessageFile::file_type: alloc::string::String +pub radroots_event::social::message_file::MessageFile::file_url: alloc::string::String +pub radroots_event::social::message_file::MessageFile::original_hash: core::option::Option<alloc::string::String> +pub radroots_event::social::message_file::MessageFile::recipients: alloc::vec::Vec<radroots_event::social::message::MessageRecipient> +pub radroots_event::social::message_file::MessageFile::reply_to: core::option::Option<radroots_event::tag::EventPtr> +pub radroots_event::social::message_file::MessageFile::size: core::option::Option<u64> +pub radroots_event::social::message_file::MessageFile::subject: core::option::Option<alloc::string::String> +pub radroots_event::social::message_file::MessageFile::thumb: core::option::Option<alloc::string::String> +pub struct radroots_event::social::message_file::MessageFileDimensions +pub radroots_event::social::message_file::MessageFileDimensions::h: u32 +pub radroots_event::social::message_file::MessageFileDimensions::w: u32 +pub mod radroots_event::social::relay_auth +pub struct radroots_event::social::relay_auth::RelayAuth +pub radroots_event::social::relay_auth::RelayAuth::challenge: alloc::string::String +pub radroots_event::social::relay_auth::RelayAuth::relay: alloc::string::String +pub const radroots_event::social::relay_auth::KIND_RELAY_AUTH: u32 +pub mod radroots_event::social::relay_document +pub struct radroots_event::social::relay_document::RelayDocument +pub radroots_event::social::relay_document::RelayDocument::contact: core::option::Option<alloc::string::String> +pub radroots_event::social::relay_document::RelayDocument::description: core::option::Option<alloc::string::String> +pub radroots_event::social::relay_document::RelayDocument::name: core::option::Option<alloc::string::String> +pub radroots_event::social::relay_document::RelayDocument::pubkey: core::option::Option<alloc::string::String> +pub radroots_event::social::relay_document::RelayDocument::software: core::option::Option<alloc::string::String> +pub radroots_event::social::relay_document::RelayDocument::supported_nips: core::option::Option<alloc::vec::Vec<u16>> +pub radroots_event::social::relay_document::RelayDocument::version: core::option::Option<alloc::string::String> +pub mod radroots_event::social::seal +pub struct radroots_event::social::seal::Seal +pub radroots_event::social::seal::Seal::content: alloc::string::String +pub enum radroots_event::social::ReportType +pub radroots_event::social::ReportType::Illegal +pub radroots_event::social::ReportType::Impersonation +pub radroots_event::social::ReportType::Malware +pub radroots_event::social::ReportType::Nudity +pub radroots_event::social::ReportType::Other +pub radroots_event::social::ReportType::Profanity +pub radroots_event::social::ReportType::Spam +pub enum radroots_event::social::SocialTarget +pub radroots_event::social::SocialTarget::Address +pub radroots_event::social::SocialTarget::Address::address: alloc::string::String +pub radroots_event::social::SocialTarget::Address::author: core::option::Option<alloc::string::String> +pub radroots_event::social::SocialTarget::Address::event_kind: core::option::Option<u32> +pub radroots_event::social::SocialTarget::Address::relays: core::option::Option<alloc::vec::Vec<alloc::string::String>> +pub radroots_event::social::SocialTarget::Event +pub radroots_event::social::SocialTarget::Event::author: core::option::Option<alloc::string::String> +pub radroots_event::social::SocialTarget::Event::event_kind: core::option::Option<u32> +pub radroots_event::social::SocialTarget::Event::id: alloc::string::String +pub radroots_event::social::SocialTarget::Event::relays: core::option::Option<alloc::vec::Vec<alloc::string::String>> +pub radroots_event::social::SocialTarget::External +pub radroots_event::social::SocialTarget::External::external_kind: alloc::string::String +pub radroots_event::social::SocialTarget::External::hint: core::option::Option<alloc::string::String> +pub radroots_event::social::SocialTarget::External::id: alloc::string::String +pub struct radroots_event::social::ReportFileTarget +pub radroots_event::social::ReportFileTarget::magnet: core::option::Option<alloc::string::String> +pub radroots_event::social::ReportFileTarget::sha256: core::option::Option<alloc::string::String> +pub radroots_event::social::ReportFileTarget::url: core::option::Option<alloc::string::String> +pub struct radroots_event::social::ReportTarget +pub radroots_event::social::ReportTarget::event: core::option::Option<radroots_event::social::SocialTarget> +pub radroots_event::social::ReportTarget::file: core::option::Option<radroots_event::social::ReportFileTarget> +pub radroots_event::social::ReportTarget::reported_pubkey: alloc::string::String +pub struct radroots_event::social::SocialFarmAnchor +pub radroots_event::social::SocialFarmAnchor::farm: radroots_event::farm::FarmRef +pub radroots_event::social::SocialFarmAnchor::relays: core::option::Option<alloc::vec::Vec<alloc::string::String>> +pub struct radroots_event::social::SocialLocation +pub radroots_event::social::SocialLocation::geohash: core::option::Option<alloc::string::String> +pub radroots_event::social::SocialLocation::name: core::option::Option<alloc::string::String> +pub struct radroots_event::social::SocialMediaDimensions +pub radroots_event::social::SocialMediaDimensions::height: u32 +pub radroots_event::social::SocialMediaDimensions::width: u32 +pub struct radroots_event::social::SocialMediaMetadata +pub radroots_event::social::SocialMediaMetadata::alt: core::option::Option<alloc::string::String> +pub radroots_event::social::SocialMediaMetadata::blurhash: core::option::Option<alloc::string::String> +pub radroots_event::social::SocialMediaMetadata::content_hashes: core::option::Option<alloc::vec::Vec<alloc::string::String>> +pub radroots_event::social::SocialMediaMetadata::dimensions: core::option::Option<radroots_event::social::SocialMediaDimensions> +pub radroots_event::social::SocialMediaMetadata::fallback: core::option::Option<alloc::string::String> +pub radroots_event::social::SocialMediaMetadata::image: core::option::Option<alloc::string::String> +pub radroots_event::social::SocialMediaMetadata::imeta: core::option::Option<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>> +pub radroots_event::social::SocialMediaMetadata::magnet: core::option::Option<alloc::string::String> +pub radroots_event::social::SocialMediaMetadata::mime_type: core::option::Option<alloc::string::String> +pub radroots_event::social::SocialMediaMetadata::original_sha256: core::option::Option<alloc::string::String> +pub radroots_event::social::SocialMediaMetadata::services: core::option::Option<alloc::vec::Vec<alloc::string::String>> +pub radroots_event::social::SocialMediaMetadata::sha256: core::option::Option<alloc::string::String> +pub radroots_event::social::SocialMediaMetadata::size: core::option::Option<u64> +pub radroots_event::social::SocialMediaMetadata::summary: core::option::Option<alloc::string::String> +pub radroots_event::social::SocialMediaMetadata::thumbnails: core::option::Option<alloc::vec::Vec<radroots_event::social::SocialMediaThumbnail>> +pub radroots_event::social::SocialMediaMetadata::url: core::option::Option<alloc::string::String> +pub struct radroots_event::social::SocialMediaThumbnail +pub radroots_event::social::SocialMediaThumbnail::dimensions: core::option::Option<radroots_event::social::SocialMediaDimensions> +pub radroots_event::social::SocialMediaThumbnail::url: alloc::string::String +pub mod radroots_event::tag +pub mod radroots_event::tag::name +pub const radroots_event::tag::name::TAG_A: &str +pub const radroots_event::tag::name::TAG_ALT: &str +pub const radroots_event::tag::name::TAG_AMOUNT: &str +pub const radroots_event::tag::name::TAG_A_ROOT: &str +pub const radroots_event::tag::name::TAG_BLURHASH: &str +pub const radroots_event::tag::name::TAG_CHALLENGE: &str +pub const radroots_event::tag::name::TAG_CONTRACT: &str +pub const radroots_event::tag::name::TAG_CURRENCY: &str +pub const radroots_event::tag::name::TAG_D: &str +pub const radroots_event::tag::name::TAG_DESCRIPTION: &str +pub const radroots_event::tag::name::TAG_DIMENSIONS: &str +pub const radroots_event::tag::name::TAG_D_DAY: &str +pub const radroots_event::tag::name::TAG_E: &str +pub const radroots_event::tag::name::TAG_END: &str +pub const radroots_event::tag::name::TAG_END_TZID: &str +pub const radroots_event::tag::name::TAG_E_PREV: &str +pub const radroots_event::tag::name::TAG_E_ROOT: &str +pub const radroots_event::tag::name::TAG_E_ROOT_NIP22: &str +pub const radroots_event::tag::name::TAG_FALLBACK: &str +pub const radroots_event::tag::name::TAG_FREE_BUSY: &str +pub const radroots_event::tag::name::TAG_G: &str +pub const radroots_event::tag::name::TAG_H: &str +pub const radroots_event::tag::name::TAG_I: &str +pub const radroots_event::tag::name::TAG_IMAGE: &str +pub const radroots_event::tag::name::TAG_IMETA: &str +pub const radroots_event::tag::name::TAG_I_ROOT: &str +pub const radroots_event::tag::name::TAG_K: &str +pub const radroots_event::tag::name::TAG_K_ROOT: &str +pub const radroots_event::tag::name::TAG_LOCATION: &str +pub const radroots_event::tag::name::TAG_MAGNET: &str +pub const radroots_event::tag::name::TAG_METHOD: &str +pub const radroots_event::tag::name::TAG_MIME: &str +pub const radroots_event::tag::name::TAG_ORIGINAL_SHA256: &str +pub const radroots_event::tag::name::TAG_P: &str +pub const radroots_event::tag::name::TAG_PAYLOAD: &str +pub const radroots_event::tag::name::TAG_PRICE: &str +pub const radroots_event::tag::name::TAG_PUBLISHED_AT: &str +pub const radroots_event::tag::name::TAG_P_ROOT: &str +pub const radroots_event::tag::name::TAG_Q: &str +pub const radroots_event::tag::name::TAG_R: &str +pub const radroots_event::tag::name::TAG_RELAY: &str +pub const radroots_event::tag::name::TAG_SERVER: &str +pub const radroots_event::tag::name::TAG_SERVICE: &str +pub const radroots_event::tag::name::TAG_SHA256: &str +pub const radroots_event::tag::name::TAG_SIZE: &str +pub const radroots_event::tag::name::TAG_START: &str +pub const radroots_event::tag::name::TAG_START_TZID: &str +pub const radroots_event::tag::name::TAG_STATUS: &str +pub const radroots_event::tag::name::TAG_SUBJECT: &str +pub const radroots_event::tag::name::TAG_SUMMARY: &str +pub const radroots_event::tag::name::TAG_T: &str +pub const radroots_event::tag::name::TAG_THUMB: &str +pub const radroots_event::tag::name::TAG_THUMBNAIL: &str +pub const radroots_event::tag::name::TAG_TITLE: &str +pub const radroots_event::tag::name::TAG_U: &str +pub const radroots_event::tag::name::TAG_URL: &str +pub const radroots_event::tag::name::TAG_URL_AUTH: &str +pub mod radroots_event::tag::relay_hint +pub struct radroots_event::tag::relay_hint::NostrRelayHint(_) +impl radroots_event::tag::relay_hint::NostrRelayHint +pub fn radroots_event::tag::relay_hint::NostrRelayHint::as_str(&self) -> &str +pub fn radroots_event::tag::relay_hint::NostrRelayHint::into_string(self) -> alloc::string::String +pub fn radroots_event::tag::relay_hint::NostrRelayHint::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError> +impl core::convert::AsRef<str> for radroots_event::tag::relay_hint::NostrRelayHint +pub fn radroots_event::tag::relay_hint::NostrRelayHint::as_ref(&self) -> &str +impl core::convert::From<radroots_event::tag::relay_hint::NostrRelayHint> for alloc::string::String +pub fn alloc::string::String::from(radroots_event::tag::relay_hint::NostrRelayHint) -> Self +impl core::convert::TryFrom<&str> for radroots_event::tag::relay_hint::NostrRelayHint +pub type radroots_event::tag::relay_hint::NostrRelayHint::Error = radroots_event::id::ParseError +pub fn radroots_event::tag::relay_hint::NostrRelayHint::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_event::tag::relay_hint::NostrRelayHint +pub type radroots_event::tag::relay_hint::NostrRelayHint::Error = radroots_event::id::ParseError +pub fn radroots_event::tag::relay_hint::NostrRelayHint::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_event::tag::relay_hint::NostrRelayHint +pub fn radroots_event::tag::relay_hint::NostrRelayHint::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::tag::relay_hint::NostrRelayHint +pub type radroots_event::tag::relay_hint::NostrRelayHint::Err = radroots_event::id::ParseError +pub fn radroots_event::tag::relay_hint::NostrRelayHint::from_str(&str) -> core::result::Result<Self, Self::Err> +pub struct radroots_event::tag::EventPtr +pub radroots_event::tag::EventPtr::id: alloc::string::String +pub radroots_event::tag::EventPtr::relays: core::option::Option<alloc::string::String> +pub struct radroots_event::tag::EventRef +pub radroots_event::tag::EventRef::author: radroots_identity::key::PublicKey +pub radroots_event::tag::EventRef::d_tag: core::option::Option<alloc::string::String> +pub radroots_event::tag::EventRef::id: alloc::string::String +pub radroots_event::tag::EventRef::kind: u32 +pub radroots_event::tag::EventRef::relays: core::option::Option<alloc::vec::Vec<alloc::string::String>> +pub mod radroots_event::trade +pub mod radroots_event::trade::order +pub enum radroots_event::trade::order::CommercialDomain +pub radroots_event::trade::order::CommercialDomain::Listing +pub enum radroots_event::trade::order::OrderDecisionOutcome +pub radroots_event::trade::order::OrderDecisionOutcome::Accepted +pub radroots_event::trade::order::OrderDecisionOutcome::Accepted::inventory_commitments: alloc::vec::Vec<radroots_event::trade::order::OrderInventoryCommitment> +pub radroots_event::trade::order::OrderDecisionOutcome::Declined +pub radroots_event::trade::order::OrderDecisionOutcome::Declined::reason: alloc::string::String +impl radroots_event::trade::order::OrderDecisionOutcome +pub fn radroots_event::trade::order::OrderDecisionOutcome::validate(&self) -> core::result::Result<(), radroots_event::trade::order::OrderPayloadError> +pub enum radroots_event::trade::order::OrderEconomicActor +pub radroots_event::trade::order::OrderEconomicActor::Buyer +pub radroots_event::trade::order::OrderEconomicActor::Seller +pub enum radroots_event::trade::order::OrderEconomicEffect +pub radroots_event::trade::order::OrderEconomicEffect::Decrease +pub radroots_event::trade::order::OrderEconomicEffect::Increase +pub enum radroots_event::trade::order::OrderEconomicLineKind +pub radroots_event::trade::order::OrderEconomicLineKind::BasketAdjustment +pub radroots_event::trade::order::OrderEconomicLineKind::ListingDiscount +pub radroots_event::trade::order::OrderEconomicLineKind::RevisionAdjustment +pub enum radroots_event::trade::order::OrderEnvelopeError +pub radroots_event::trade::order::OrderEnvelopeError::InvalidVersion +pub radroots_event::trade::order::OrderEnvelopeError::InvalidVersion::expected: u16 +pub radroots_event::trade::order::OrderEnvelopeError::InvalidVersion::got: u16 +pub radroots_event::trade::order::OrderEnvelopeError::MissingListingAddr +pub radroots_event::trade::order::OrderEnvelopeError::MissingOrderId +impl core::error::Error for radroots_event::trade::order::OrderEnvelopeError +impl core::fmt::Display for radroots_event::trade::order::OrderEnvelopeError +pub fn radroots_event::trade::order::OrderEnvelopeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_event::trade::order::OrderEventType +pub radroots_event::trade::order::OrderEventType::OrderCancelled +pub radroots_event::trade::order::OrderEventType::OrderDecision +pub radroots_event::trade::order::OrderEventType::OrderRequested +impl radroots_event::trade::order::OrderEventType +pub const fn radroots_event::trade::order::OrderEventType::from_kind(u32) -> core::option::Option<Self> +pub const fn radroots_event::trade::order::OrderEventType::kind(self) -> u32 +pub const fn radroots_event::trade::order::OrderEventType::name(self) -> &'static str +pub const fn radroots_event::trade::order::OrderEventType::requires_listing_snapshot(self) -> bool +pub const fn radroots_event::trade::order::OrderEventType::requires_order_chain(self) -> bool +pub enum radroots_event::trade::order::OrderPayloadError +pub radroots_event::trade::order::OrderPayloadError::EmptyField(&'static str) +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicCurrency +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicCurrency::field: &'static str +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicItemBinCount +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicItemBinCount::index: usize +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicItemPrice +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicItemPrice::index: usize +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicItemQuantity +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicItemQuantity::index: usize +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicItemSubtotal +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicItemSubtotal::index: usize +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicLineAmount +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicLineAmount::field: &'static str +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicLineAmount::index: usize +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicLineEffect +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicLineEffect::field: &'static str +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicLineEffect::index: usize +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicLineKind +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicLineKind::field: &'static str +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicLineKind::index: usize +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicOrdering +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicOrdering::field: &'static str +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicTotal +pub radroots_event::trade::order::OrderPayloadError::InvalidEconomicTotal::field: &'static str +pub radroots_event::trade::order::OrderPayloadError::InvalidInventoryCommitmentCount +pub radroots_event::trade::order::OrderPayloadError::InvalidInventoryCommitmentCount::index: usize +pub radroots_event::trade::order::OrderPayloadError::InvalidItemBinCount +pub radroots_event::trade::order::OrderPayloadError::InvalidItemBinCount::index: usize +pub radroots_event::trade::order::OrderPayloadError::InvalidOrderEconomicsBinding +pub radroots_event::trade::order::OrderPayloadError::InvalidOrderEconomicsBinding::field: &'static str +pub radroots_event::trade::order::OrderPayloadError::InvalidQuoteVersion +pub radroots_event::trade::order::OrderPayloadError::MissingEconomicItems +pub radroots_event::trade::order::OrderPayloadError::MissingInventoryCommitments +pub radroots_event::trade::order::OrderPayloadError::MissingItems +impl core::error::Error for radroots_event::trade::order::OrderPayloadError +impl core::fmt::Display for radroots_event::trade::order::OrderPayloadError +pub fn radroots_event::trade::order::OrderPayloadError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_event::trade::order::OrderPricingBasis +pub radroots_event::trade::order::OrderPricingBasis::ListingEvent +pub struct radroots_event::trade::order::OrderCancellation +pub radroots_event::trade::order::OrderCancellation::buyer_pubkey: radroots_identity::key::PublicKey +pub radroots_event::trade::order::OrderCancellation::listing_addr: radroots_event::id::ClassifiedListingAddress +pub radroots_event::trade::order::OrderCancellation::order_id: radroots_event::id::OrderId +pub radroots_event::trade::order::OrderCancellation::reason: alloc::string::String +pub radroots_event::trade::order::OrderCancellation::seller_pubkey: radroots_identity::key::PublicKey +impl radroots_event::trade::order::OrderCancellation +pub fn radroots_event::trade::order::OrderCancellation::validate(&self) -> core::result::Result<(), radroots_event::trade::order::OrderPayloadError> +pub struct radroots_event::trade::order::OrderDecision +pub radroots_event::trade::order::OrderDecision::buyer_pubkey: radroots_identity::key::PublicKey +pub radroots_event::trade::order::OrderDecision::decision: radroots_event::trade::order::OrderDecisionOutcome +pub radroots_event::trade::order::OrderDecision::listing_addr: radroots_event::id::ClassifiedListingAddress +pub radroots_event::trade::order::OrderDecision::order_id: radroots_event::id::OrderId +pub radroots_event::trade::order::OrderDecision::seller_pubkey: radroots_identity::key::PublicKey +impl radroots_event::trade::order::OrderDecision +pub fn radroots_event::trade::order::OrderDecision::validate(&self) -> core::result::Result<(), radroots_event::trade::order::OrderPayloadError> +pub struct radroots_event::trade::order::OrderEconomicItem +pub radroots_event::trade::order::OrderEconomicItem::bin_count: u32 +pub radroots_event::trade::order::OrderEconomicItem::bin_id: radroots_event::id::InventoryBinId +pub radroots_event::trade::order::OrderEconomicItem::line_subtotal: radroots_core::money::Money +pub radroots_event::trade::order::OrderEconomicItem::quantity_amount: radroots_core::decimal::Decimal +pub radroots_event::trade::order::OrderEconomicItem::quantity_unit: radroots_core::unit::Unit +pub radroots_event::trade::order::OrderEconomicItem::unit_price_amount: radroots_core::decimal::Decimal +pub radroots_event::trade::order::OrderEconomicItem::unit_price_currency: radroots_core::currency::Currency +pub struct radroots_event::trade::order::OrderEconomicLine +pub radroots_event::trade::order::OrderEconomicLine::actor: radroots_event::trade::order::OrderEconomicActor +pub radroots_event::trade::order::OrderEconomicLine::amount: radroots_core::money::Money +pub radroots_event::trade::order::OrderEconomicLine::effect: radroots_event::trade::order::OrderEconomicEffect +pub radroots_event::trade::order::OrderEconomicLine::id: alloc::string::String +pub radroots_event::trade::order::OrderEconomicLine::kind: radroots_event::trade::order::OrderEconomicLineKind +pub radroots_event::trade::order::OrderEconomicLine::reason: alloc::string::String +pub struct radroots_event::trade::order::OrderEconomicTotals +pub radroots_event::trade::order::OrderEconomicTotals::adjustment_total: radroots_core::money::Money +pub radroots_event::trade::order::OrderEconomicTotals::discount_total: radroots_core::money::Money +pub radroots_event::trade::order::OrderEconomicTotals::subtotal: radroots_core::money::Money +pub radroots_event::trade::order::OrderEconomicTotals::total: radroots_core::money::Money +pub struct radroots_event::trade::order::OrderEconomics +pub radroots_event::trade::order::OrderEconomics::adjustment_total: radroots_core::money::Money +pub radroots_event::trade::order::OrderEconomics::adjustments: alloc::vec::Vec<radroots_event::trade::order::OrderEconomicLine> +pub radroots_event::trade::order::OrderEconomics::currency: radroots_core::currency::Currency +pub radroots_event::trade::order::OrderEconomics::discount_total: radroots_core::money::Money +pub radroots_event::trade::order::OrderEconomics::discounts: alloc::vec::Vec<radroots_event::trade::order::OrderEconomicLine> +pub radroots_event::trade::order::OrderEconomics::items: alloc::vec::Vec<radroots_event::trade::order::OrderEconomicItem> +pub radroots_event::trade::order::OrderEconomics::pricing_basis: radroots_event::trade::order::OrderPricingBasis +pub radroots_event::trade::order::OrderEconomics::quote_id: radroots_event::id::OrderQuoteId +pub radroots_event::trade::order::OrderEconomics::quote_version: u32 +pub radroots_event::trade::order::OrderEconomics::subtotal: radroots_core::money::Money +pub radroots_event::trade::order::OrderEconomics::total: radroots_core::money::Money +impl radroots_event::trade::order::OrderEconomics +pub fn radroots_event::trade::order::OrderEconomics::canonicalize(&mut self) +pub fn radroots_event::trade::order::OrderEconomics::canonicalized(&self) -> Self +pub fn radroots_event::trade::order::OrderEconomics::derived_totals(&self) -> core::result::Result<radroots_event::trade::order::OrderEconomicTotals, radroots_event::trade::order::OrderPayloadError> +pub fn radroots_event::trade::order::OrderEconomics::validate(&self) -> core::result::Result<(), radroots_event::trade::order::OrderPayloadError> +pub struct radroots_event::trade::order::OrderEnvelope<T> +pub radroots_event::trade::order::OrderEnvelope::domain: radroots_event::trade::order::CommercialDomain +pub radroots_event::trade::order::OrderEnvelope::listing_addr: alloc::string::String +pub radroots_event::trade::order::OrderEnvelope::message_type: radroots_event::trade::order::OrderEventType +pub radroots_event::trade::order::OrderEnvelope::order_id: alloc::string::String +pub radroots_event::trade::order::OrderEnvelope::payload: T +pub radroots_event::trade::order::OrderEnvelope::version: u16 +impl<T> radroots_event::trade::order::OrderEnvelope<T> +pub fn radroots_event::trade::order::OrderEnvelope<T>::new(radroots_event::trade::order::OrderEventType, impl core::convert::Into<alloc::string::String>, impl core::convert::Into<alloc::string::String>, T) -> Self +pub fn radroots_event::trade::order::OrderEnvelope<T>::validate(&self) -> core::result::Result<(), radroots_event::trade::order::OrderEnvelopeError> +pub struct radroots_event::trade::order::OrderInventoryCommitment +pub radroots_event::trade::order::OrderInventoryCommitment::bin_count: u32 +pub radroots_event::trade::order::OrderInventoryCommitment::bin_id: radroots_event::id::InventoryBinId +pub struct radroots_event::trade::order::OrderItem +pub radroots_event::trade::order::OrderItem::bin_count: u32 +pub radroots_event::trade::order::OrderItem::bin_id: radroots_event::id::InventoryBinId +pub struct radroots_event::trade::order::OrderRequest +pub radroots_event::trade::order::OrderRequest::buyer_pubkey: radroots_identity::key::PublicKey +pub radroots_event::trade::order::OrderRequest::economics: radroots_event::trade::order::OrderEconomics +pub radroots_event::trade::order::OrderRequest::items: alloc::vec::Vec<radroots_event::trade::order::OrderItem> +pub radroots_event::trade::order::OrderRequest::listing_addr: radroots_event::id::ClassifiedListingAddress +pub radroots_event::trade::order::OrderRequest::order_id: radroots_event::id::OrderId +pub radroots_event::trade::order::OrderRequest::seller_pubkey: radroots_identity::key::PublicKey +impl radroots_event::trade::order::OrderRequest +pub fn radroots_event::trade::order::OrderRequest::validate(&self) -> core::result::Result<(), radroots_event::trade::order::OrderPayloadError> +pub const radroots_event::trade::order::RADROOTS_COMMERCIAL_LISTING_DOMAIN: &str +pub const radroots_event::trade::order::RADROOTS_ORDER_ENVELOPE_VERSION: u16 +pub mod radroots_event::trade::order_economics +pub enum radroots_event::trade::order_economics::OrderEconomicActor +pub radroots_event::trade::order_economics::OrderEconomicActor::Buyer +pub radroots_event::trade::order_economics::OrderEconomicActor::Seller +pub enum radroots_event::trade::order_economics::OrderEconomicEffect +pub radroots_event::trade::order_economics::OrderEconomicEffect::Decrease +pub radroots_event::trade::order_economics::OrderEconomicEffect::Increase +pub enum radroots_event::trade::order_economics::OrderEconomicLineKind +pub radroots_event::trade::order_economics::OrderEconomicLineKind::BasketAdjustment +pub radroots_event::trade::order_economics::OrderEconomicLineKind::ListingDiscount +pub radroots_event::trade::order_economics::OrderEconomicLineKind::RevisionAdjustment +pub enum radroots_event::trade::order_economics::OrderPricingBasis +pub radroots_event::trade::order_economics::OrderPricingBasis::ListingEvent +pub struct radroots_event::trade::order_economics::OrderEconomicItem +pub radroots_event::trade::order_economics::OrderEconomicItem::bin_count: u32 +pub radroots_event::trade::order_economics::OrderEconomicItem::bin_id: radroots_event::id::InventoryBinId +pub radroots_event::trade::order_economics::OrderEconomicItem::line_subtotal: radroots_core::money::Money +pub radroots_event::trade::order_economics::OrderEconomicItem::quantity_amount: radroots_core::decimal::Decimal +pub radroots_event::trade::order_economics::OrderEconomicItem::quantity_unit: radroots_core::unit::Unit +pub radroots_event::trade::order_economics::OrderEconomicItem::unit_price_amount: radroots_core::decimal::Decimal +pub radroots_event::trade::order_economics::OrderEconomicItem::unit_price_currency: radroots_core::currency::Currency +pub struct radroots_event::trade::order_economics::OrderEconomicLine +pub radroots_event::trade::order_economics::OrderEconomicLine::actor: radroots_event::trade::order::OrderEconomicActor +pub radroots_event::trade::order_economics::OrderEconomicLine::amount: radroots_core::money::Money +pub radroots_event::trade::order_economics::OrderEconomicLine::effect: radroots_event::trade::order::OrderEconomicEffect +pub radroots_event::trade::order_economics::OrderEconomicLine::id: alloc::string::String +pub radroots_event::trade::order_economics::OrderEconomicLine::kind: radroots_event::trade::order::OrderEconomicLineKind +pub radroots_event::trade::order_economics::OrderEconomicLine::reason: alloc::string::String +pub struct radroots_event::trade::order_economics::OrderEconomicTotals +pub radroots_event::trade::order_economics::OrderEconomicTotals::adjustment_total: radroots_core::money::Money +pub radroots_event::trade::order_economics::OrderEconomicTotals::discount_total: radroots_core::money::Money +pub radroots_event::trade::order_economics::OrderEconomicTotals::subtotal: radroots_core::money::Money +pub radroots_event::trade::order_economics::OrderEconomicTotals::total: radroots_core::money::Money +pub struct radroots_event::trade::order_economics::OrderEconomics +pub radroots_event::trade::order_economics::OrderEconomics::adjustment_total: radroots_core::money::Money +pub radroots_event::trade::order_economics::OrderEconomics::adjustments: alloc::vec::Vec<radroots_event::trade::order::OrderEconomicLine> +pub radroots_event::trade::order_economics::OrderEconomics::currency: radroots_core::currency::Currency +pub radroots_event::trade::order_economics::OrderEconomics::discount_total: radroots_core::money::Money +pub radroots_event::trade::order_economics::OrderEconomics::discounts: alloc::vec::Vec<radroots_event::trade::order::OrderEconomicLine> +pub radroots_event::trade::order_economics::OrderEconomics::items: alloc::vec::Vec<radroots_event::trade::order::OrderEconomicItem> +pub radroots_event::trade::order_economics::OrderEconomics::pricing_basis: radroots_event::trade::order::OrderPricingBasis +pub radroots_event::trade::order_economics::OrderEconomics::quote_id: radroots_event::id::OrderQuoteId +pub radroots_event::trade::order_economics::OrderEconomics::quote_version: u32 +pub radroots_event::trade::order_economics::OrderEconomics::subtotal: radroots_core::money::Money +pub radroots_event::trade::order_economics::OrderEconomics::total: radroots_core::money::Money +impl radroots_event::trade::order::OrderEconomics +pub fn radroots_event::trade::order::OrderEconomics::canonicalize(&mut self) +pub fn radroots_event::trade::order::OrderEconomics::canonicalized(&self) -> Self +pub fn radroots_event::trade::order::OrderEconomics::derived_totals(&self) -> core::result::Result<radroots_event::trade::order::OrderEconomicTotals, radroots_event::trade::order::OrderPayloadError> +pub fn radroots_event::trade::order::OrderEconomics::validate(&self) -> core::result::Result<(), radroots_event::trade::order::OrderPayloadError> +pub struct radroots_event::trade::order_economics::OrderItem +pub radroots_event::trade::order_economics::OrderItem::bin_count: u32 +pub radroots_event::trade::order_economics::OrderItem::bin_id: radroots_event::id::InventoryBinId +pub mod radroots_event::trade::validation +pub enum radroots_event::trade::validation::OperationalListingValidationError +pub radroots_event::trade::validation::OperationalListingValidationError::InvalidBin +pub radroots_event::trade::validation::OperationalListingValidationError::InvalidInventory +pub radroots_event::trade::validation::OperationalListingValidationError::InvalidKind +pub radroots_event::trade::validation::OperationalListingValidationError::InvalidKind::kind: u32 +pub radroots_event::trade::validation::OperationalListingValidationError::InvalidLocationGeohash +pub radroots_event::trade::validation::OperationalListingValidationError::InvalidPrice +pub radroots_event::trade::validation::OperationalListingValidationError::InvalidProfile +pub radroots_event::trade::validation::OperationalListingValidationError::InvalidSeller +pub radroots_event::trade::validation::OperationalListingValidationError::ListingEventFetchFailed +pub radroots_event::trade::validation::OperationalListingValidationError::ListingEventFetchFailed::listing_addr: alloc::string::String +pub radroots_event::trade::validation::OperationalListingValidationError::ListingEventNotFound +pub radroots_event::trade::validation::OperationalListingValidationError::ListingEventNotFound::listing_addr: alloc::string::String +pub radroots_event::trade::validation::OperationalListingValidationError::MissingAvailability +pub radroots_event::trade::validation::OperationalListingValidationError::MissingBins +pub radroots_event::trade::validation::OperationalListingValidationError::MissingDeliveryMethod +pub radroots_event::trade::validation::OperationalListingValidationError::MissingDescription +pub radroots_event::trade::validation::OperationalListingValidationError::MissingFarmProfile +pub radroots_event::trade::validation::OperationalListingValidationError::MissingFarmRecord +pub radroots_event::trade::validation::OperationalListingValidationError::MissingInventory +pub radroots_event::trade::validation::OperationalListingValidationError::MissingListingId +pub radroots_event::trade::validation::OperationalListingValidationError::MissingLocation +pub radroots_event::trade::validation::OperationalListingValidationError::MissingLocationGeohash +pub radroots_event::trade::validation::OperationalListingValidationError::MissingLocationLocality +pub radroots_event::trade::validation::OperationalListingValidationError::MissingPrice +pub radroots_event::trade::validation::OperationalListingValidationError::MissingPrimaryBin +pub radroots_event::trade::validation::OperationalListingValidationError::MissingProductType +pub radroots_event::trade::validation::OperationalListingValidationError::MissingTitle +pub radroots_event::trade::validation::OperationalListingValidationError::ParseError +pub radroots_event::trade::validation::OperationalListingValidationError::ParseError::error: radroots_event::listing::operational::OperationalListingParseError +impl core::error::Error for radroots_event::trade::validation::OperationalListingValidationError +impl core::fmt::Display for radroots_event::trade::validation::OperationalListingValidationError +pub fn radroots_event::trade::validation::OperationalListingValidationError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_event::trade::TradeDecisionV1 +pub radroots_event::trade::TradeDecisionV1::Accepted +pub radroots_event::trade::TradeDecisionV1::Accepted::reservation_assertion: core::option::Option<radroots_event::trade::SellerReservationAssertionV1> +pub radroots_event::trade::TradeDecisionV1::Declined +pub radroots_event::trade::TradeDecisionV1::Declined::reason: alloc::string::String +impl radroots_event::trade::TradeDecisionV1 +pub fn radroots_event::trade::TradeDecisionV1::validate(&self) -> core::result::Result<(), radroots_event::trade::TradeProtocolError> +pub enum radroots_event::trade::TradeMutationBodyV1 +pub radroots_event::trade::TradeMutationBodyV1::Cancellation +pub radroots_event::trade::TradeMutationBodyV1::Cancellation::reason: alloc::string::String +pub radroots_event::trade::TradeMutationBodyV1::Cancellation::target_candidate_id: core::option::Option<radroots_event::id::CandidateId> +pub radroots_event::trade::TradeMutationBodyV1::Cancellation::target_claim_mutation_id: core::option::Option<radroots_event::id::MutationId> +pub radroots_event::trade::TradeMutationBodyV1::Decision +pub radroots_event::trade::TradeMutationBodyV1::Decision::candidate_id: radroots_event::id::CandidateId +pub radroots_event::trade::TradeMutationBodyV1::Decision::decision: radroots_event::trade::TradeDecisionV1 +pub radroots_event::trade::TradeMutationBodyV1::Decision::proposal_mutation_id: radroots_event::id::MutationId +pub radroots_event::trade::TradeMutationBodyV1::Proposal +pub radroots_event::trade::TradeMutationBodyV1::Proposal::candidate: radroots_event::trade::TradeCandidateTermsV1 +pub radroots_event::trade::TradeMutationBodyV1::RevisionDecision +pub radroots_event::trade::TradeMutationBodyV1::RevisionDecision::candidate_id: radroots_event::id::CandidateId +pub radroots_event::trade::TradeMutationBodyV1::RevisionDecision::decision: radroots_event::trade::TradeDecisionV1 +pub radroots_event::trade::TradeMutationBodyV1::RevisionDecision::proposal_mutation_id: radroots_event::id::MutationId +pub radroots_event::trade::TradeMutationBodyV1::RevisionProposal +pub radroots_event::trade::TradeMutationBodyV1::RevisionProposal::candidate: radroots_event::trade::TradeCandidateTermsV1 +impl radroots_event::trade::TradeMutationBodyV1 +pub const fn radroots_event::trade::TradeMutationBodyV1::mutation_kind(&self) -> radroots_event::trade::TradeMutationKindV1 +pub fn radroots_event::trade::TradeMutationBodyV1::validate(&self) -> core::result::Result<(), radroots_event::trade::TradeProtocolError> +pub enum radroots_event::trade::TradeMutationKindV1 +pub radroots_event::trade::TradeMutationKindV1::Cancellation +pub radroots_event::trade::TradeMutationKindV1::Decision +pub radroots_event::trade::TradeMutationKindV1::Proposal +pub radroots_event::trade::TradeMutationKindV1::RevisionDecision +pub radroots_event::trade::TradeMutationKindV1::RevisionProposal +impl radroots_event::trade::TradeMutationKindV1 +pub const fn radroots_event::trade::TradeMutationKindV1::contract_id(self) -> &'static str +pub const fn radroots_event::trade::TradeMutationKindV1::nostr_kind(self) -> u32 +pub enum radroots_event::trade::TradeProtocolError +pub radroots_event::trade::TradeProtocolError::CandidateIdMismatch +pub radroots_event::trade::TradeProtocolError::CandidateIdMismatch::computed: alloc::string::String +pub radroots_event::trade::TradeProtocolError::CandidateIdMismatch::declared: alloc::string::String +pub radroots_event::trade::TradeProtocolError::ContentTooLarge +pub radroots_event::trade::TradeProtocolError::ContentTooLarge::actual: usize +pub radroots_event::trade::TradeProtocolError::ContentTooLarge::max: usize +pub radroots_event::trade::TradeProtocolError::ContractMismatch +pub radroots_event::trade::TradeProtocolError::ContractMismatch::actual: alloc::string::String +pub radroots_event::trade::TradeProtocolError::ContractMismatch::expected: &'static str +pub radroots_event::trade::TradeProtocolError::DuplicateKey(alloc::string::String) +pub radroots_event::trade::TradeProtocolError::DuplicateParent +pub radroots_event::trade::TradeProtocolError::EmptyField(&'static str) +pub radroots_event::trade::TradeProtocolError::InvalidField(&'static str) +pub radroots_event::trade::TradeProtocolError::InvalidIdentifier +pub radroots_event::trade::TradeProtocolError::InvalidIdentifier::error: radroots_event::id::ParseError +pub radroots_event::trade::TradeProtocolError::InvalidIdentifier::field: &'static str +pub radroots_event::trade::TradeProtocolError::InvalidInitialParents +pub radroots_event::trade::TradeProtocolError::InvalidJson(alloc::string::String) +pub radroots_event::trade::TradeProtocolError::InvalidSchemaVersion +pub radroots_event::trade::TradeProtocolError::InvalidSchemaVersion::actual: u16 +pub radroots_event::trade::TradeProtocolError::InvalidSchemaVersion::expected: u16 +pub radroots_event::trade::TradeProtocolError::InvalidTimeRange +pub radroots_event::trade::TradeProtocolError::MissingCancellationTarget +pub radroots_event::trade::TradeProtocolError::MissingLines +pub radroots_event::trade::TradeProtocolError::MissingParentMutation +pub radroots_event::trade::TradeProtocolError::MissingReservationCommitments +pub radroots_event::trade::TradeProtocolError::MutationIdMismatch +pub radroots_event::trade::TradeProtocolError::MutationIdMismatch::computed: alloc::string::String +pub radroots_event::trade::TradeProtocolError::MutationIdMismatch::declared: alloc::string::String +pub radroots_event::trade::TradeProtocolError::NonCanonicalJson +pub radroots_event::trade::TradeProtocolError::SelfParent +pub radroots_event::trade::TradeProtocolError::TooManyAdjustments +pub radroots_event::trade::TradeProtocolError::TooManyAdjustments::actual: usize +pub radroots_event::trade::TradeProtocolError::TooManyAdjustments::max: usize +pub radroots_event::trade::TradeProtocolError::TooManyLines +pub radroots_event::trade::TradeProtocolError::TooManyLines::actual: usize +pub radroots_event::trade::TradeProtocolError::TooManyLines::max: usize +pub radroots_event::trade::TradeProtocolError::TooManyParents +pub radroots_event::trade::TradeProtocolError::TooManyParents::actual: usize +pub radroots_event::trade::TradeProtocolError::TooManyParents::max: usize +pub radroots_event::trade::TradeProtocolError::UnsortedParents +pub radroots_event::trade::TradeProtocolError::UnsupportedNumber +impl core::error::Error for radroots_event::trade::TradeProtocolError +impl core::fmt::Display for radroots_event::trade::TradeProtocolError +pub fn radroots_event::trade::TradeProtocolError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_event::trade::CandidateId(_) +impl radroots_event::id::CandidateId +pub const fn radroots_event::id::CandidateId::as_bytes(&self) -> &[u8; 32] +pub const fn radroots_event::id::CandidateId::from_bytes([u8; 32]) -> Self +pub const fn radroots_event::id::CandidateId::into_bytes(self) -> [u8; 32] +pub fn radroots_event::id::CandidateId::into_string(self) -> alloc::string::String +pub fn radroots_event::id::CandidateId::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError> +pub fn radroots_event::id::CandidateId::to_hex(&self) -> alloc::string::String +impl core::convert::AsRef<[u8]> for radroots_event::id::CandidateId +pub fn radroots_event::id::CandidateId::as_ref(&self) -> &[u8] +impl core::convert::From<[u8; 32]> for radroots_event::id::CandidateId +pub fn radroots_event::id::CandidateId::from([u8; 32]) -> Self +impl core::convert::From<radroots_event::id::CandidateId> for [u8; 32] +pub fn [u8; 32]::from(radroots_event::id::CandidateId) -> Self +impl core::convert::TryFrom<&str> for radroots_event::id::CandidateId +pub type radroots_event::id::CandidateId::Error = radroots_event::id::ParseError +pub fn radroots_event::id::CandidateId::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_event::id::CandidateId +pub type radroots_event::id::CandidateId::Error = radroots_event::id::ParseError +pub fn radroots_event::id::CandidateId::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_event::id::CandidateId +pub fn radroots_event::id::CandidateId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::id::CandidateId +pub type radroots_event::id::CandidateId::Err = radroots_event::id::ParseError +pub fn radroots_event::id::CandidateId::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::id::CandidateId +pub fn radroots_event::id::CandidateId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::id::CandidateId +pub fn radroots_event::id::CandidateId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::trade::FulfillmentProfileV1 +pub radroots_event::trade::FulfillmentProfileV1::ends_at_unix_s: u64 +pub radroots_event::trade::FulfillmentProfileV1::fold: u8 +pub radroots_event::trade::FulfillmentProfileV1::location_class: alloc::string::String +pub radroots_event::trade::FulfillmentProfileV1::method: alloc::string::String +pub radroots_event::trade::FulfillmentProfileV1::profile_id: alloc::string::String +pub radroots_event::trade::FulfillmentProfileV1::requires_private_terms: bool +pub radroots_event::trade::FulfillmentProfileV1::starts_at_unix_s: u64 +pub radroots_event::trade::FulfillmentProfileV1::timezone: alloc::string::String +pub radroots_event::trade::FulfillmentProfileV1::utc_offset_seconds: i32 +impl radroots_event::trade::FulfillmentProfileV1 +pub fn radroots_event::trade::FulfillmentProfileV1::validate(&self) -> core::result::Result<(), radroots_event::trade::TradeProtocolError> +pub struct radroots_event::trade::MutationId(_) +impl radroots_event::id::MutationId +pub const fn radroots_event::id::MutationId::as_bytes(&self) -> &[u8; 32] +pub const fn radroots_event::id::MutationId::from_bytes([u8; 32]) -> Self +pub const fn radroots_event::id::MutationId::into_bytes(self) -> [u8; 32] +pub fn radroots_event::id::MutationId::into_string(self) -> alloc::string::String +pub fn radroots_event::id::MutationId::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError> +pub fn radroots_event::id::MutationId::to_hex(&self) -> alloc::string::String +impl core::convert::AsRef<[u8]> for radroots_event::id::MutationId +pub fn radroots_event::id::MutationId::as_ref(&self) -> &[u8] +impl core::convert::From<[u8; 32]> for radroots_event::id::MutationId +pub fn radroots_event::id::MutationId::from([u8; 32]) -> Self +impl core::convert::From<radroots_event::id::MutationId> for [u8; 32] +pub fn [u8; 32]::from(radroots_event::id::MutationId) -> Self +impl core::convert::TryFrom<&str> for radroots_event::id::MutationId +pub type radroots_event::id::MutationId::Error = radroots_event::id::ParseError +pub fn radroots_event::id::MutationId::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_event::id::MutationId +pub type radroots_event::id::MutationId::Error = radroots_event::id::ParseError +pub fn radroots_event::id::MutationId::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_event::id::MutationId +pub fn radroots_event::id::MutationId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::id::MutationId +pub type radroots_event::id::MutationId::Err = radroots_event::id::ParseError +pub fn radroots_event::id::MutationId::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::id::MutationId +pub fn radroots_event::id::MutationId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::id::MutationId +pub fn radroots_event::id::MutationId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::trade::SellerReservationAssertionV1 +pub radroots_event::trade::SellerReservationAssertionV1::assertion_commitment: alloc::string::String +pub radroots_event::trade::SellerReservationAssertionV1::candidate_id: radroots_event::id::CandidateId +pub radroots_event::trade::SellerReservationAssertionV1::commitments: alloc::vec::Vec<radroots_event::trade::SellerReservationLineV1> +pub radroots_event::trade::SellerReservationAssertionV1::inventory_authority_id: radroots_identity::key::PublicKey +pub radroots_event::trade::SellerReservationAssertionV1::inventory_epoch: u64 +pub radroots_event::trade::SellerReservationAssertionV1::reservation_expires_at_unix_s: u64 +pub radroots_event::trade::SellerReservationAssertionV1::reservation_id: radroots_event::id::DTag +impl radroots_event::trade::SellerReservationAssertionV1 +pub fn radroots_event::trade::SellerReservationAssertionV1::validate(&self) -> core::result::Result<(), radroots_event::trade::TradeProtocolError> +pub struct radroots_event::trade::SellerReservationLineV1 +pub radroots_event::trade::SellerReservationLineV1::bin_id: radroots_event::id::InventoryBinId +pub radroots_event::trade::SellerReservationLineV1::line_id: radroots_event::id::DTag +pub radroots_event::trade::SellerReservationLineV1::quantity_mantissa: alloc::string::String +pub radroots_event::trade::SellerReservationLineV1::quantity_scale: u8 +pub radroots_event::trade::SellerReservationLineV1::unit_code: alloc::string::String +impl radroots_event::trade::SellerReservationLineV1 +pub fn radroots_event::trade::SellerReservationLineV1::validate(&self) -> core::result::Result<(), radroots_event::trade::TradeProtocolError> +pub struct radroots_event::trade::TradeCancellationProfileV1 +pub radroots_event::trade::TradeCancellationProfileV1::buyer_pre_agreement: bool +pub radroots_event::trade::TradeCancellationProfileV1::post_agreement_cutoff_unix_s: core::option::Option<u64> +pub radroots_event::trade::TradeCancellationProfileV1::profile_id: alloc::string::String +impl radroots_event::trade::TradeCancellationProfileV1 +pub fn radroots_event::trade::TradeCancellationProfileV1::validate(&self) -> core::result::Result<(), radroots_event::trade::TradeProtocolError> +pub struct radroots_event::trade::TradeCandidateLineV1 +pub radroots_event::trade::TradeCandidateLineV1::bin_id: radroots_event::id::InventoryBinId +pub radroots_event::trade::TradeCandidateLineV1::currency_code: alloc::string::String +pub radroots_event::trade::TradeCandidateLineV1::line_id: radroots_event::id::DTag +pub radroots_event::trade::TradeCandidateLineV1::line_subtotal_mantissa: alloc::string::String +pub radroots_event::trade::TradeCandidateLineV1::listing_addr: radroots_event::id::ClassifiedListingAddress +pub radroots_event::trade::TradeCandidateLineV1::listing_event_id: radroots_event::id::EventId +pub radroots_event::trade::TradeCandidateLineV1::listing_snapshot_sha256: alloc::string::String +pub radroots_event::trade::TradeCandidateLineV1::option_id: core::option::Option<alloc::string::String> +pub radroots_event::trade::TradeCandidateLineV1::product_id: alloc::string::String +pub radroots_event::trade::TradeCandidateLineV1::quantity_mantissa: alloc::string::String +pub radroots_event::trade::TradeCandidateLineV1::quantity_scale: u8 +pub radroots_event::trade::TradeCandidateLineV1::replaces_line_id: core::option::Option<radroots_event::id::DTag> +pub radroots_event::trade::TradeCandidateLineV1::unit_code: alloc::string::String +pub radroots_event::trade::TradeCandidateLineV1::unit_price_mantissa: alloc::string::String +pub radroots_event::trade::TradeCandidateLineV1::unit_profile: alloc::string::String +impl radroots_event::trade::TradeCandidateLineV1 +pub fn radroots_event::trade::TradeCandidateLineV1::validate(&self) -> core::result::Result<(), radroots_event::trade::TradeProtocolError> +pub struct radroots_event::trade::TradeCandidateTermsV1 +pub radroots_event::trade::TradeCandidateTermsV1::base_candidate_id: core::option::Option<radroots_event::id::CandidateId> +pub radroots_event::trade::TradeCandidateTermsV1::buyer_pubkey: radroots_identity::key::PublicKey +pub radroots_event::trade::TradeCandidateTermsV1::cancellation: radroots_event::trade::TradeCancellationProfileV1 +pub radroots_event::trade::TradeCandidateTermsV1::candidate_id: core::option::Option<radroots_event::id::CandidateId> +pub radroots_event::trade::TradeCandidateTermsV1::economics: radroots_event::trade::TradeEconomicsProfileV1 +pub radroots_event::trade::TradeCandidateTermsV1::farm_id: radroots_event::id::DTag +pub radroots_event::trade::TradeCandidateTermsV1::fulfillment: radroots_event::trade::FulfillmentProfileV1 +pub radroots_event::trade::TradeCandidateTermsV1::line_tombstones: alloc::vec::Vec<radroots_event::trade::TradeLineTombstoneV1> +pub radroots_event::trade::TradeCandidateTermsV1::lines: alloc::vec::Vec<radroots_event::trade::TradeCandidateLineV1> +pub radroots_event::trade::TradeCandidateTermsV1::private_terms: core::option::Option<radroots_event::trade::TradePrivateTermsRefV1> +pub radroots_event::trade::TradeCandidateTermsV1::proposal_expires_at_unix_s: u64 +pub radroots_event::trade::TradeCandidateTermsV1::schema_version: u16 +pub radroots_event::trade::TradeCandidateTermsV1::seller_pubkey: radroots_identity::key::PublicKey +pub radroots_event::trade::TradeCandidateTermsV1::supersession_intent: core::option::Option<alloc::string::String> +impl radroots_event::trade::TradeCandidateTermsV1 +pub fn radroots_event::trade::TradeCandidateTermsV1::validate(&self) -> core::result::Result<(), radroots_event::trade::TradeProtocolError> +pub struct radroots_event::trade::TradeCanonicalMutationV1 +pub radroots_event::trade::TradeCanonicalMutationV1::content: alloc::string::String +pub radroots_event::trade::TradeCanonicalMutationV1::envelope: radroots_event::trade::TradeMutationEnvelopeV1 +pub radroots_event::trade::TradeCanonicalMutationV1::mutation_id: radroots_event::id::MutationId +pub struct radroots_event::trade::TradeEconomicAdjustmentV1 +pub radroots_event::trade::TradeEconomicAdjustmentV1::actor: alloc::string::String +pub radroots_event::trade::TradeEconomicAdjustmentV1::adjustment_id: radroots_event::id::DTag +pub radroots_event::trade::TradeEconomicAdjustmentV1::amount_mantissa: alloc::string::String +pub radroots_event::trade::TradeEconomicAdjustmentV1::effect: alloc::string::String +pub radroots_event::trade::TradeEconomicAdjustmentV1::reason: alloc::string::String +impl radroots_event::trade::TradeEconomicAdjustmentV1 +pub fn radroots_event::trade::TradeEconomicAdjustmentV1::validate(&self) -> core::result::Result<(), radroots_event::trade::TradeProtocolError> +pub struct radroots_event::trade::TradeEconomicsProfileV1 +pub radroots_event::trade::TradeEconomicsProfileV1::adjustment_total_mantissa: alloc::string::String +pub radroots_event::trade::TradeEconomicsProfileV1::adjustments: alloc::vec::Vec<radroots_event::trade::TradeEconomicAdjustmentV1> +pub radroots_event::trade::TradeEconomicsProfileV1::currency_code: alloc::string::String +pub radroots_event::trade::TradeEconomicsProfileV1::currency_exponent: u8 +pub radroots_event::trade::TradeEconomicsProfileV1::discount_total_mantissa: alloc::string::String +pub radroots_event::trade::TradeEconomicsProfileV1::profile_id: alloc::string::String +pub radroots_event::trade::TradeEconomicsProfileV1::rounding_profile: alloc::string::String +pub radroots_event::trade::TradeEconomicsProfileV1::subtotal_mantissa: alloc::string::String +pub radroots_event::trade::TradeEconomicsProfileV1::total_mantissa: alloc::string::String +impl radroots_event::trade::TradeEconomicsProfileV1 +pub fn radroots_event::trade::TradeEconomicsProfileV1::validate(&self) -> core::result::Result<(), radroots_event::trade::TradeProtocolError> +pub struct radroots_event::trade::TradeId(_) +impl radroots_event::id::TradeId +pub const fn radroots_event::id::TradeId::as_bytes(&self) -> &[u8; 16] +pub const fn radroots_event::id::TradeId::from_bytes([u8; 16]) -> Self +pub const fn radroots_event::id::TradeId::into_bytes(self) -> [u8; 16] +pub fn radroots_event::id::TradeId::into_string(self) -> alloc::string::String +pub fn radroots_event::id::TradeId::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError> +pub fn radroots_event::id::TradeId::to_hex(&self) -> alloc::string::String +impl core::convert::AsRef<[u8]> for radroots_event::id::TradeId +pub fn radroots_event::id::TradeId::as_ref(&self) -> &[u8] +impl core::convert::From<[u8; 16]> for radroots_event::id::TradeId +pub fn radroots_event::id::TradeId::from([u8; 16]) -> Self +impl core::convert::From<radroots_event::id::TradeId> for [u8; 16] +pub fn [u8; 16]::from(radroots_event::id::TradeId) -> Self +impl core::convert::TryFrom<&str> for radroots_event::id::TradeId +pub type radroots_event::id::TradeId::Error = radroots_event::id::ParseError +pub fn radroots_event::id::TradeId::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_event::id::TradeId +pub type radroots_event::id::TradeId::Error = radroots_event::id::ParseError +pub fn radroots_event::id::TradeId::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_event::id::TradeId +pub fn radroots_event::id::TradeId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::id::TradeId +pub type radroots_event::id::TradeId::Err = radroots_event::id::ParseError +pub fn radroots_event::id::TradeId::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::id::TradeId +pub fn radroots_event::id::TradeId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::id::TradeId +pub fn radroots_event::id::TradeId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::trade::TradeLineTombstoneV1 +pub radroots_event::trade::TradeLineTombstoneV1::line_id: radroots_event::id::DTag +pub radroots_event::trade::TradeLineTombstoneV1::reason: alloc::string::String +impl radroots_event::trade::TradeLineTombstoneV1 +pub fn radroots_event::trade::TradeLineTombstoneV1::validate(&self) -> core::result::Result<(), radroots_event::trade::TradeProtocolError> +pub struct radroots_event::trade::TradeMutationEnvelopeV1 +pub radroots_event::trade::TradeMutationEnvelopeV1::author_pubkey: radroots_identity::key::PublicKey +pub radroots_event::trade::TradeMutationEnvelopeV1::authored_at_unix_s: u64 +pub radroots_event::trade::TradeMutationEnvelopeV1::body: radroots_event::trade::TradeMutationBodyV1 +pub radroots_event::trade::TradeMutationEnvelopeV1::buyer_pubkey: radroots_identity::key::PublicKey +pub radroots_event::trade::TradeMutationEnvelopeV1::contract_id: alloc::string::String +pub radroots_event::trade::TradeMutationEnvelopeV1::counterparty_pubkey: radroots_identity::key::PublicKey +pub radroots_event::trade::TradeMutationEnvelopeV1::farm_id: radroots_event::id::DTag +pub radroots_event::trade::TradeMutationEnvelopeV1::mutation_id: core::option::Option<radroots_event::id::MutationId> +pub radroots_event::trade::TradeMutationEnvelopeV1::parent_mutation_ids: alloc::vec::Vec<radroots_event::id::MutationId> +pub radroots_event::trade::TradeMutationEnvelopeV1::root_mutation_id: core::option::Option<radroots_event::id::MutationId> +pub radroots_event::trade::TradeMutationEnvelopeV1::schema_version: u16 +pub radroots_event::trade::TradeMutationEnvelopeV1::seller_pubkey: radroots_identity::key::PublicKey +pub radroots_event::trade::TradeMutationEnvelopeV1::trade_id: radroots_event::id::TradeId +impl radroots_event::trade::TradeMutationEnvelopeV1 +pub fn radroots_event::trade::TradeMutationEnvelopeV1::mutation_kind(&self) -> radroots_event::trade::TradeMutationKindV1 +pub fn radroots_event::trade::TradeMutationEnvelopeV1::validate(&self) -> core::result::Result<(), radroots_event::trade::TradeProtocolError> +pub struct radroots_event::trade::TradePrivateTermsRefV1 +pub radroots_event::trade::TradePrivateTermsRefV1::artifact_id: alloc::string::String +pub radroots_event::trade::TradePrivateTermsRefV1::ciphertext_commitment: alloc::string::String +pub radroots_event::trade::TradePrivateTermsRefV1::required_acknowledgement: bool +pub radroots_event::trade::TradePrivateTermsRefV1::schema_id: alloc::string::String +impl radroots_event::trade::TradePrivateTermsRefV1 +pub fn radroots_event::trade::TradePrivateTermsRefV1::validate(&self) -> core::result::Result<(), radroots_event::trade::TradeProtocolError> +pub const radroots_event::trade::RADROOTS_TRADE_CANCELLATION_CONTRACT_ID: &str +pub const radroots_event::trade::RADROOTS_TRADE_CANDIDATE_DOMAIN: &[u8] +pub const radroots_event::trade::RADROOTS_TRADE_DECISION_CONTRACT_ID: &str +pub const radroots_event::trade::RADROOTS_TRADE_MAX_ACTIVE_LINES: usize +pub const radroots_event::trade::RADROOTS_TRADE_MAX_ADJUSTMENTS: usize +pub const radroots_event::trade::RADROOTS_TRADE_MAX_PARENT_MUTATIONS: usize +pub const radroots_event::trade::RADROOTS_TRADE_MAX_PRIVATE_ARTIFACT_BYTES: usize +pub const radroots_event::trade::RADROOTS_TRADE_MAX_PUBLIC_CONTENT_BYTES: usize +pub const radroots_event::trade::RADROOTS_TRADE_MUTATION_CONTRACT_IDS: [&str; 5] +pub const radroots_event::trade::RADROOTS_TRADE_MUTATION_DOMAIN: &[u8] +pub const radroots_event::trade::RADROOTS_TRADE_PROPOSAL_CONTRACT_ID: &str +pub const radroots_event::trade::RADROOTS_TRADE_REVISION_DECISION_CONTRACT_ID: &str +pub const radroots_event::trade::RADROOTS_TRADE_REVISION_PROPOSAL_CONTRACT_ID: &str +pub const radroots_event::trade::RADROOTS_TRADE_SCHEMA_VERSION: u16 +pub const radroots_event::trade::RADROOTS_TRADE_SELLER_RESERVATION_ASSERTION_CONTRACT_ID: &str +pub fn radroots_event::trade::canonical_jcs_from_str(&str) -> core::result::Result<alloc::string::String, radroots_event::trade::TradeProtocolError> +pub fn radroots_event::trade::canonical_jcs_value(&serde_json::value::Value) -> core::result::Result<alloc::string::String, radroots_event::trade::TradeProtocolError> +pub fn radroots_event::trade::canonical_trade_candidate_id(&radroots_event::trade::TradeCandidateTermsV1) -> core::result::Result<radroots_event::id::CandidateId, radroots_event::trade::TradeProtocolError> +pub fn radroots_event::trade::canonical_trade_mutation_content(radroots_event::trade::TradeMutationEnvelopeV1) -> core::result::Result<radroots_event::trade::TradeCanonicalMutationV1, radroots_event::trade::TradeProtocolError> +pub fn radroots_event::trade::canonical_trade_mutation_id(&radroots_event::trade::TradeMutationEnvelopeV1) -> core::result::Result<radroots_event::id::MutationId, radroots_event::trade::TradeProtocolError> +pub fn radroots_event::trade::trade_mutation_from_canonical_content(&str) -> core::result::Result<radroots_event::trade::TradeMutationEnvelopeV1, radroots_event::trade::TradeProtocolError> +pub mod radroots_event::wire +#[non_exhaustive] pub enum radroots_event::Error +pub radroots_event::Error::ContractValidation(crate::contract::registry_v7::ContractValidationError) +pub radroots_event::Error::IdMismatch +pub radroots_event::Error::IdMismatch::actual: radroots_event::id::EventId +pub radroots_event::Error::IdMismatch::expected: radroots_event::id::EventId +pub radroots_event::Error::MalformedEnvelope +pub radroots_event::Error::SignatureInvalid +impl radroots_event::Error +pub const fn radroots_event::Error::code(&self) -> &'static str +impl core::error::Error for radroots_event::Error +impl core::fmt::Display for radroots_event::Error +pub fn radroots_event::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_event::Event +impl radroots_event::envelope::EventEnvelope +pub fn radroots_event::envelope::EventEnvelope::author(&self) -> &radroots_identity::key::PublicKey +pub fn radroots_event::envelope::EventEnvelope::content(&self) -> &str +pub fn radroots_event::envelope::EventEnvelope::created_at(&self) -> radroots_event::envelope::EventTimestamp +pub fn radroots_event::envelope::EventEnvelope::created_at_u64(&self) -> u64 +pub fn radroots_event::envelope::EventEnvelope::id(&self) -> &radroots_event::id::EventId +pub fn radroots_event::envelope::EventEnvelope::id_hex(&self) -> alloc::string::String +pub fn radroots_event::envelope::EventEnvelope::kind(&self) -> radroots_event::envelope::EventKind +pub fn radroots_event::envelope::EventEnvelope::kind_class(&self) -> radroots_event::envelope::EventKindClass +pub fn radroots_event::envelope::EventEnvelope::kind_u32(&self) -> u32 +pub fn radroots_event::envelope::EventEnvelope::new(radroots_event::envelope::EventEnvelopeParts) -> core::result::Result<Self, radroots_event::envelope::EventEnvelopeError> +pub fn radroots_event::envelope::EventEnvelope::new_with_limits(radroots_event::envelope::EventEnvelopeParts, radroots_event::envelope::EventEnvelopeLimits) -> core::result::Result<Self, radroots_event::envelope::EventEnvelopeError> +pub fn radroots_event::envelope::EventEnvelope::sig(&self) -> &radroots_event::id::EventSignature +pub fn radroots_event::envelope::EventEnvelope::signature_hex(&self) -> alloc::string::String +pub fn radroots_event::envelope::EventEnvelope::tag_slices(&self) -> &[radroots_event::envelope::EventTag] +pub fn radroots_event::envelope::EventEnvelope::tags(&self) -> &radroots_event::envelope::EventTags +pub fn radroots_event::envelope::EventEnvelope::tags_as_vec(&self) -> alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>> +pub fn radroots_event::envelope::EventEnvelope::to_nip01_wire(&self) -> Nip01EventWire +pub struct radroots_event::EventId(_) +impl radroots_event::id::EventId +pub const fn radroots_event::id::EventId::as_bytes(&self) -> &[u8; 32] +pub const fn radroots_event::id::EventId::from_bytes([u8; 32]) -> Self +pub const fn radroots_event::id::EventId::into_bytes(self) -> [u8; 32] +pub fn radroots_event::id::EventId::into_string(self) -> alloc::string::String +pub fn radroots_event::id::EventId::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError> +pub fn radroots_event::id::EventId::to_hex(&self) -> alloc::string::String +impl core::convert::AsRef<[u8]> for radroots_event::id::EventId +pub fn radroots_event::id::EventId::as_ref(&self) -> &[u8] +impl core::convert::From<[u8; 32]> for radroots_event::id::EventId +pub fn radroots_event::id::EventId::from([u8; 32]) -> Self +impl core::convert::From<radroots_event::id::EventId> for [u8; 32] +pub fn [u8; 32]::from(radroots_event::id::EventId) -> Self +impl core::convert::TryFrom<&str> for radroots_event::id::EventId +pub type radroots_event::id::EventId::Error = radroots_event::id::ParseError +pub fn radroots_event::id::EventId::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_event::id::EventId +pub type radroots_event::id::EventId::Error = radroots_event::id::ParseError +pub fn radroots_event::id::EventId::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_event::id::EventId +pub fn radroots_event::id::EventId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_event::id::EventId +pub type radroots_event::id::EventId::Err = radroots_event::id::ParseError +pub fn radroots_event::id::EventId::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_event::id::EventId +pub fn radroots_event::id::EventId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::id::EventId +pub fn radroots_event::id::EventId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::EventKind(_) +impl radroots_event::envelope::EventKind +pub const fn radroots_event::envelope::EventKind::as_u32(self) -> u32 +pub const fn radroots_event::envelope::EventKind::class(self) -> radroots_event::envelope::EventKindClass +pub const fn radroots_event::envelope::EventKind::new(u32) -> Self +impl core::convert::From<u32> for radroots_event::envelope::EventKind +pub fn radroots_event::envelope::EventKind::from(u32) -> Self +impl serde_core::ser::Serialize for radroots_event::envelope::EventKind +pub fn radroots_event::envelope::EventKind::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::envelope::EventKind +pub fn radroots_event::envelope::EventKind::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::EventTag(_) +impl radroots_event::envelope::EventTag +pub fn radroots_event::envelope::EventTag::as_slice(&self) -> &[alloc::string::String] +pub fn radroots_event::envelope::EventTag::into_vec(self) -> alloc::vec::Vec<alloc::string::String> +pub fn radroots_event::envelope::EventTag::new(usize, alloc::vec::Vec<alloc::string::String>) -> core::result::Result<Self, radroots_event::envelope::EventEnvelopeError> +pub fn radroots_event::envelope::EventTag::new_with_limits(usize, alloc::vec::Vec<alloc::string::String>, radroots_event::envelope::EventEnvelopeLimits) -> core::result::Result<Self, radroots_event::envelope::EventEnvelopeError> +impl serde_core::ser::Serialize for radroots_event::envelope::EventTag +pub fn radroots_event::envelope::EventTag::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::envelope::EventTag +pub fn radroots_event::envelope::EventTag::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::GenericEventDraft +impl radroots_event::generic_draft::GenericEventDraft +pub fn radroots_event::generic_draft::GenericEventDraft::content(&self) -> &str +pub const fn radroots_event::generic_draft::GenericEventDraft::contract(&self) -> &radroots_event::contract::ContractKey +pub fn radroots_event::generic_draft::GenericEventDraft::contract_id(&self) -> &str +pub const fn radroots_event::generic_draft::GenericEventDraft::created_at(&self) -> radroots_event::envelope::EventTimestamp +pub const fn radroots_event::generic_draft::GenericEventDraft::created_at_u64(&self) -> u64 +pub const fn radroots_event::generic_draft::GenericEventDraft::expected_event_id(&self) -> &radroots_event::id::EventId +pub fn radroots_event::generic_draft::GenericEventDraft::expected_event_id_hex(&self) -> alloc::string::String +pub const fn radroots_event::generic_draft::GenericEventDraft::expected_pubkey(&self) -> &radroots_identity::key::PublicKey +pub const fn radroots_event::generic_draft::GenericEventDraft::kind(&self) -> radroots_event::envelope::EventKind +pub const fn radroots_event::generic_draft::GenericEventDraft::kind_u32(&self) -> u32 +pub fn radroots_event::generic_draft::GenericEventDraft::new(impl core::convert::Into<alloc::string::String>, u32, u64, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, impl core::convert::Into<alloc::string::String>, impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::draft::DraftError> +pub fn radroots_event::generic_draft::GenericEventDraft::nip01_preimage(&self) -> core::result::Result<alloc::string::String, radroots_event::draft::DraftError> +pub const fn radroots_event::generic_draft::GenericEventDraft::tags(&self) -> &radroots_event::envelope::EventTags +pub fn radroots_event::generic_draft::GenericEventDraft::tags_as_vec(&self) -> alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>> +pub fn radroots_event::generic_draft::GenericEventDraft::validate_for_authoring(&self) -> core::result::Result<(), radroots_event::draft::DraftError> +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::generic_draft::GenericEventDraft +pub fn radroots_event::generic_draft::GenericEventDraft::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::SignedEvent +impl radroots_event::draft::SignedEvent +pub fn radroots_event::draft::SignedEvent::content(&self) -> &str +pub fn radroots_event::draft::SignedEvent::created_at(&self) -> u64 +pub fn radroots_event::draft::SignedEvent::envelope(&self) -> &radroots_event::envelope::EventEnvelope +pub fn radroots_event::draft::SignedEvent::from_wire_verified_id(Nip01EventWire, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_event::draft::SignedEventError> +pub fn radroots_event::draft::SignedEvent::id(&self) -> &radroots_event::id::EventId +pub fn radroots_event::draft::SignedEvent::id_hex(&self) -> alloc::string::String +pub fn radroots_event::draft::SignedEvent::id_str(&self) -> &str +pub fn radroots_event::draft::SignedEvent::kind(&self) -> u32 +pub fn radroots_event::draft::SignedEvent::new(radroots_event::draft::SignedEventParts) -> core::result::Result<Self, radroots_event::draft::SignedEventError> +pub fn radroots_event::draft::SignedEvent::pubkey(&self) -> &radroots_identity::key::PublicKey +pub fn radroots_event::draft::SignedEvent::raw_json(&self) -> &str +pub fn radroots_event::draft::SignedEvent::sig(&self) -> &radroots_event::id::EventSignature +pub fn radroots_event::draft::SignedEvent::sig_str(&self) -> &str +pub fn radroots_event::draft::SignedEvent::signature_hex(&self) -> alloc::string::String +pub fn radroots_event::draft::SignedEvent::tags_as_vec(&self) -> alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>> +pub fn radroots_event::draft::SignedEvent::wire(&self) -> &Nip01EventWire +impl serde_core::ser::Serialize for radroots_event::draft::SignedEvent +pub fn radroots_event::draft::SignedEvent::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_event::draft::SignedEvent +pub fn radroots_event::draft::SignedEvent::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_event::VerifiedEvent(_) +impl radroots_event::VerifiedEvent +pub const fn radroots_event::VerifiedEvent::event(&self) -> &radroots_event::envelope::EventEnvelope +pub fn radroots_event::VerifiedEvent::into_event(self) -> radroots_event::envelope::EventEnvelope +pub fn radroots_event::VerifiedEvent::validate_contract(self) -> core::result::Result<radroots_event::admission::ContractValidatedEvent, radroots_event::Error> diff --git a/contracts/api_baselines/radroots_event_codec.txt b/contracts/api_baselines/radroots_event_codec.txt @@ -0,0 +1,1459 @@ +pub mod radroots_event_codec +pub use radroots_event_codec::VerificationError +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::admission::profile::RadrootsProfileAdmissionError +pub const fn radroots_event_codec::admission::profile::RadrootsProfileAdmissionError::code(&self) -> &'static str +impl core::error::Error for radroots_event_codec::admission::profile::RadrootsProfileAdmissionError +pub fn radroots_event_codec::admission::profile::RadrootsProfileAdmissionError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +impl core::fmt::Display for radroots_event_codec::admission::profile::RadrootsProfileAdmissionError +pub fn radroots_event_codec::admission::profile::RadrootsProfileAdmissionError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_event_codec::admission::profile::RadrootsAdmittedProfileEvent +impl radroots_event_codec::admission::profile::RadrootsAdmittedProfileEvent +pub fn radroots_event_codec::admission::profile::RadrootsAdmittedProfileEvent::contract(&self) -> &'static radroots_event::contract::registry_v7::EventContract +pub fn radroots_event_codec::admission::profile::RadrootsAdmittedProfileEvent::event(&self) -> &radroots_event::envelope::EventEnvelope +pub fn radroots_event_codec::admission::profile::RadrootsAdmittedProfileEvent::into_parts(self) -> (RadrootsSignatureVerifiedEvent, RadrootsInboundProfileMetadata) +pub fn radroots_event_codec::admission::profile::RadrootsAdmittedProfileEvent::metadata(&self) -> &RadrootsInboundProfileMetadata +pub fn radroots_event_codec::admission::profile::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::admission::profile::RadrootsAdmittedProfileEvent, radroots_event_codec::admission::profile::RadrootsProfileAdmissionError> +pub fn radroots_event_codec::admission::profile::verify_and_admit_profile_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::admission::profile::RadrootsAdmittedProfileEvent, radroots_event_codec::admission::profile::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::admission::reply::RadrootsNip10ReplyAdmissionError +pub const fn radroots_event_codec::admission::reply::RadrootsNip10ReplyAdmissionError::code(&self) -> &'static str +impl core::error::Error for radroots_event_codec::admission::reply::RadrootsNip10ReplyAdmissionError +pub fn radroots_event_codec::admission::reply::RadrootsNip10ReplyAdmissionError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +impl core::fmt::Display for radroots_event_codec::admission::reply::RadrootsNip10ReplyAdmissionError +pub fn radroots_event_codec::admission::reply::RadrootsNip10ReplyAdmissionError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_event_codec::admission::reply::RadrootsAdmittedNip10ReplyEvent +impl radroots_event_codec::admission::reply::RadrootsAdmittedNip10ReplyEvent +pub fn radroots_event_codec::admission::reply::RadrootsAdmittedNip10ReplyEvent::contract(&self) -> &'static radroots_event::contract::registry_v7::EventContract +pub fn radroots_event_codec::admission::reply::RadrootsAdmittedNip10ReplyEvent::event(&self) -> &radroots_event::envelope::EventEnvelope +pub fn radroots_event_codec::admission::reply::RadrootsAdmittedNip10ReplyEvent::into_parts(self) -> (RadrootsSignatureVerifiedEvent, RadrootsInboundNip10ReplyProjection) +pub fn radroots_event_codec::admission::reply::RadrootsAdmittedNip10ReplyEvent::projection(&self) -> &RadrootsInboundNip10ReplyProjection +pub fn radroots_event_codec::admission::reply::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::admission::reply::RadrootsAdmittedNip10ReplyEvent, radroots_event_codec::admission::reply::RadrootsNip10ReplyAdmissionError> +pub fn radroots_event_codec::admission::reply::admit_verified_nip10_reply_event(crate::verification::RadrootsSignatureVerifiedEvent) -> core::result::Result<radroots_event_codec::admission::reply::RadrootsAdmittedNip10ReplyEvent, radroots_event_codec::admission::reply::RadrootsNip10ReplyAdmissionError> +pub fn radroots_event_codec::admission::reply::verify_and_admit_nip10_reply_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::admission::reply::RadrootsAdmittedNip10ReplyEvent, radroots_event_codec::admission::reply::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::admission::profile::RadrootsAdmittedProfileEvent) +pub radroots_event_codec::admission::RadrootsAdmittedEvent::Reply(radroots_event_codec::admission::reply::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::admission::profile::RadrootsProfileAdmissionError) +pub radroots_event_codec::admission::RadrootsEventAdmissionError::Reply(radroots_event_codec::admission::reply::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::authoring +#[non_exhaustive] pub enum radroots_event_codec::authoring::AuthoredPlanError +pub radroots_event_codec::authoring::AuthoredPlanError::Calendar(radroots_event_codec::encode::EventEncodeError) +pub radroots_event_codec::authoring::AuthoredPlanError::CanonicalEventId(radroots_event::wire::v1::CanonicalEventIdError) +pub radroots_event_codec::authoring::AuthoredPlanError::ContentTooLarge +pub radroots_event_codec::authoring::AuthoredPlanError::ContentTooLarge::actual: usize +pub radroots_event_codec::authoring::AuthoredPlanError::ContentTooLarge::max: usize +pub radroots_event_codec::authoring::AuthoredPlanError::ContractIdentity(radroots_event::contract::ContractIdentityError) +pub radroots_event_codec::authoring::AuthoredPlanError::ContractKindMismatch +pub radroots_event_codec::authoring::AuthoredPlanError::ContractKindMismatch::actual: u32 +pub radroots_event_codec::authoring::AuthoredPlanError::ContractKindMismatch::expected: u32 +pub radroots_event_codec::authoring::AuthoredPlanError::ContractNotTyped +pub radroots_event_codec::authoring::AuthoredPlanError::ContractNotTyped::contract_id: alloc::string::String +pub radroots_event_codec::authoring::AuthoredPlanError::Envelope(radroots_event::envelope::EventEnvelopeError) +pub radroots_event_codec::authoring::AuthoredPlanError::FoodAvailability(radroots_event_codec::encode::food_availability::RadrootsFoodAvailabilityEncodeError) +pub radroots_event_codec::authoring::AuthoredPlanError::InvalidAuthor(radroots_identity::error::Error) +pub radroots_event_codec::authoring::AuthoredPlanError::Profile(radroots_event_codec::encode::profile::RadrootsAuthoredProfileEncodeError) +impl radroots_event_codec::authoring::AuthoredPlanError +pub const fn radroots_event_codec::authoring::AuthoredPlanError::code(&self) -> &'static str +impl core::error::Error for radroots_event_codec::authoring::AuthoredPlanError +impl core::fmt::Display for radroots_event_codec::authoring::AuthoredPlanError +pub fn radroots_event_codec::authoring::AuthoredPlanError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_event_codec::authoring::PlanDecodeError +pub radroots_event_codec::authoring::PlanDecodeError::ContractIdentity(radroots_event::contract::ContractIdentityError) +pub radroots_event_codec::authoring::PlanDecodeError::ContractKindMismatch +pub radroots_event_codec::authoring::PlanDecodeError::ContractKindMismatch::actual: u32 +pub radroots_event_codec::authoring::PlanDecodeError::ContractKindMismatch::expected: u32 +pub radroots_event_codec::authoring::PlanDecodeError::EventIdMismatch +pub radroots_event_codec::authoring::PlanDecodeError::EventIdMismatch::computed: alloc::string::String +pub radroots_event_codec::authoring::PlanDecodeError::EventIdMismatch::declared: alloc::string::String +pub radroots_event_codec::authoring::PlanDecodeError::ExpectedAuthor(alloc::string::String) +pub radroots_event_codec::authoring::PlanDecodeError::ExpectedEventId(alloc::string::String) +pub radroots_event_codec::authoring::PlanDecodeError::HistoricalProfileUnavailable +pub radroots_event_codec::authoring::PlanDecodeError::HistoricalProfileUnavailable::contract_id: alloc::string::String +pub radroots_event_codec::authoring::PlanDecodeError::HistoricalShape(alloc::string::String) +pub radroots_event_codec::authoring::PlanDecodeError::Json(alloc::string::String) +pub radroots_event_codec::authoring::PlanDecodeError::NonCanonicalExpectedAuthor +pub radroots_event_codec::authoring::PlanDecodeError::NonCanonicalExpectedEventId +pub radroots_event_codec::authoring::PlanDecodeError::PlanDigest(radroots_event_codec::authoring::PlanDigestError) +pub radroots_event_codec::authoring::PlanDecodeError::PlanDigestMismatch +pub radroots_event_codec::authoring::PlanDecodeError::PlanDigestMismatch::computed: alloc::string::String +pub radroots_event_codec::authoring::PlanDecodeError::PlanDigestMismatch::declared: alloc::string::String +pub radroots_event_codec::authoring::PlanDecodeError::RawJsonTooLarge +pub radroots_event_codec::authoring::PlanDecodeError::RawJsonTooLarge::actual: usize +pub radroots_event_codec::authoring::PlanDecodeError::RawJsonTooLarge::max: usize +pub radroots_event_codec::authoring::PlanDecodeError::UnsupportedSchemaVersion +pub radroots_event_codec::authoring::PlanDecodeError::UnsupportedSchemaVersion::actual: u32 +impl core::error::Error for radroots_event_codec::authoring::PlanDecodeError +impl core::fmt::Display for radroots_event_codec::authoring::PlanDecodeError +pub fn radroots_event_codec::authoring::PlanDecodeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_event_codec::authoring::PlanRegistryRelation +pub radroots_event_codec::authoring::PlanRegistryRelation::Current +pub radroots_event_codec::authoring::PlanRegistryRelation::Historical +pub struct radroots_event_codec::authoring::AuthoredEventBody +impl radroots_event_codec::authoring::AuthoredEventBody +pub fn radroots_event_codec::authoring::AuthoredEventBody::content(&self) -> &str +pub const fn radroots_event_codec::authoring::AuthoredEventBody::contract(&self) -> &radroots_event::contract::ContractKey +pub const fn radroots_event_codec::authoring::AuthoredEventBody::kind(&self) -> u32 +pub fn radroots_event_codec::authoring::AuthoredEventBody::tags(&self) -> &[alloc::vec::Vec<alloc::string::String>] +impl radroots_event_codec::authoring::AuthoredEventBody +pub fn radroots_event_codec::authoring::AuthoredEventBody::from_ask(&radroots_event::post::AuthoredAsk) -> core::result::Result<Self, radroots_event_codec::authoring::AuthoredPlanError> +pub fn radroots_event_codec::authoring::AuthoredEventBody::from_calendar_date_event(&radroots_event::calendar::AuthoredCalendarDateEvent) -> core::result::Result<Self, radroots_event_codec::authoring::AuthoredPlanError> +pub fn radroots_event_codec::authoring::AuthoredEventBody::from_calendar_time_event(&radroots_event::calendar::AuthoredCalendarTimeEvent) -> core::result::Result<Self, radroots_event_codec::authoring::AuthoredPlanError> +pub fn radroots_event_codec::authoring::AuthoredEventBody::from_food_availability(&radroots_event::food::availability::FoodAvailabilityDetails, u64) -> core::result::Result<Self, radroots_event_codec::authoring::AuthoredPlanError> +pub fn radroots_event_codec::authoring::AuthoredEventBody::from_nip09_deletion_request(&radroots_event::post::deletion::AuthoredNip09DeletionRequest) -> core::result::Result<Self, radroots_event_codec::authoring::AuthoredPlanError> +pub fn radroots_event_codec::authoring::AuthoredEventBody::from_nip10_reply(&radroots_event::post::reply::AuthoredNip10Reply) -> core::result::Result<Self, radroots_event_codec::authoring::AuthoredPlanError> +pub fn radroots_event_codec::authoring::AuthoredEventBody::from_nip22_comment(&radroots_event::post::comment::AuthoredNip22Comment) -> core::result::Result<Self, radroots_event_codec::authoring::AuthoredPlanError> +pub fn radroots_event_codec::authoring::AuthoredEventBody::from_photo_update(&radroots_event::post::AuthoredPhotoUpdate) -> core::result::Result<Self, radroots_event_codec::authoring::AuthoredPlanError> +pub fn radroots_event_codec::authoring::AuthoredEventBody::from_profile(&radroots_event::profile::AuthoredProfile) -> core::result::Result<Self, radroots_event_codec::authoring::AuthoredPlanError> +pub fn radroots_event_codec::authoring::AuthoredEventBody::from_update(&radroots_event::post::AuthoredUpdate) -> core::result::Result<Self, radroots_event_codec::authoring::AuthoredPlanError> +pub struct radroots_event_codec::authoring::AuthoredEventPlan +impl radroots_event_codec::authoring::AuthoredEventPlan +pub const fn radroots_event_codec::authoring::AuthoredEventPlan::author(&self) -> &radroots_identity::key::PublicKey +pub const fn radroots_event_codec::authoring::AuthoredEventPlan::body(&self) -> &radroots_event_codec::authoring::AuthoredEventBody +pub const fn radroots_event_codec::authoring::AuthoredEventPlan::created_at(&self) -> u64 +pub const fn radroots_event_codec::authoring::AuthoredEventPlan::digest(&self) -> radroots_event_codec::authoring::PlanDigest +pub const fn radroots_event_codec::authoring::AuthoredEventPlan::expected_event_id(&self) -> &radroots_event::id::EventId +pub fn radroots_event_codec::authoring::AuthoredEventPlan::from_generic(radroots_event::generic_draft::GenericEventDraft) -> core::result::Result<Self, radroots_event::draft::DraftError> +impl radroots_event_codec::authoring::AuthoredEventPlan +pub fn radroots_event_codec::authoring::AuthoredEventPlan::bind(radroots_event_codec::authoring::AuthoredEventBody, u64, impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event_codec::authoring::AuthoredPlanError> +pub fn radroots_event_codec::authoring::AuthoredEventPlan::from_ask(&radroots_event::post::AuthoredAsk, u64, impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event_codec::authoring::AuthoredPlanError> +pub fn radroots_event_codec::authoring::AuthoredEventPlan::from_calendar_date_event(&radroots_event::calendar::AuthoredCalendarDateEvent, u64, impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event_codec::authoring::AuthoredPlanError> +pub fn radroots_event_codec::authoring::AuthoredEventPlan::from_calendar_time_event(&radroots_event::calendar::AuthoredCalendarTimeEvent, u64, impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event_codec::authoring::AuthoredPlanError> +pub fn radroots_event_codec::authoring::AuthoredEventPlan::from_food_availability(&radroots_event::food::availability::FoodAvailabilityDetails, u64, impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event_codec::authoring::AuthoredPlanError> +pub fn radroots_event_codec::authoring::AuthoredEventPlan::from_nip09_deletion_request(&radroots_event::post::deletion::AuthoredNip09DeletionRequest, u64, impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event_codec::authoring::AuthoredPlanError> +pub fn radroots_event_codec::authoring::AuthoredEventPlan::from_nip10_reply(&radroots_event::post::reply::AuthoredNip10Reply, u64, impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event_codec::authoring::AuthoredPlanError> +pub fn radroots_event_codec::authoring::AuthoredEventPlan::from_nip22_comment(&radroots_event::post::comment::AuthoredNip22Comment, u64, impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event_codec::authoring::AuthoredPlanError> +pub fn radroots_event_codec::authoring::AuthoredEventPlan::from_photo_update(&radroots_event::post::AuthoredPhotoUpdate, u64, impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event_codec::authoring::AuthoredPlanError> +pub fn radroots_event_codec::authoring::AuthoredEventPlan::from_profile(&radroots_event::profile::AuthoredProfile, u64, impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event_codec::authoring::AuthoredPlanError> +pub fn radroots_event_codec::authoring::AuthoredEventPlan::from_update(&radroots_event::post::AuthoredUpdate, u64, impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event_codec::authoring::AuthoredPlanError> +pub struct radroots_event_codec::authoring::BlossomAuthorizationPlan +impl radroots_event_codec::authoring::BlossomAuthorizationPlan +pub const fn radroots_event_codec::authoring::BlossomAuthorizationPlan::author(&self) -> &radroots_identity::key::PublicKey +pub fn radroots_event_codec::authoring::BlossomAuthorizationPlan::content(&self) -> &str +pub const fn radroots_event_codec::authoring::BlossomAuthorizationPlan::created_at(&self) -> u64 +pub const fn radroots_event_codec::authoring::BlossomAuthorizationPlan::digest(&self) -> radroots_event_codec::authoring::PlanDigest +pub const fn radroots_event_codec::authoring::BlossomAuthorizationPlan::expected_event_id(&self) -> &radroots_event::id::EventId +pub fn radroots_event_codec::authoring::BlossomAuthorizationPlan::for_upload(&radroots_blossom::authorization::AuthoredUploadClaim, radroots_identity::key::PublicKey) -> core::result::Result<Self, radroots_event::wire::v1::CanonicalEventIdError> +pub const fn radroots_event_codec::authoring::BlossomAuthorizationPlan::kind(&self) -> u32 +pub fn radroots_event_codec::authoring::BlossomAuthorizationPlan::tags(&self) -> &[alloc::vec::Vec<alloc::string::String>] +pub struct radroots_event_codec::authoring::HistoricalPlanIntegrity +impl radroots_event_codec::authoring::HistoricalPlanIntegrity +pub fn radroots_event_codec::authoring::HistoricalPlanIntegrity::into_plan(self) -> radroots_event_codec::authoring::AuthoredEventPlan +pub const fn radroots_event_codec::authoring::HistoricalPlanIntegrity::plan(&self) -> &radroots_event_codec::authoring::AuthoredEventPlan +pub fn radroots_event_codec::authoring::HistoricalPlanIntegrity::registry_relation(&self, radroots_event::contract::RegistryVersion) -> radroots_event_codec::authoring::PlanRegistryRelation +pub struct radroots_event_codec::authoring::PlanDigest(_) +impl radroots_event_codec::authoring::PlanDigest +pub const radroots_event_codec::authoring::PlanDigest::BYTE_LENGTH: usize +pub const fn radroots_event_codec::authoring::PlanDigest::as_bytes(&self) -> &[u8; 32] +pub const fn radroots_event_codec::authoring::PlanDigest::from_bytes([u8; 32]) -> Self +pub fn radroots_event_codec::authoring::PlanDigest::parse_hex(&str) -> core::result::Result<Self, radroots_event_codec::authoring::PlanDigestError> +pub fn radroots_event_codec::authoring::PlanDigest::to_hex(self) -> alloc::string::String +pub struct radroots_event_codec::authoring::PlanDigestError +impl core::error::Error for radroots_event_codec::authoring::PlanDigestError +impl core::fmt::Display for radroots_event_codec::authoring::PlanDigestError +pub fn radroots_event_codec::authoring::PlanDigestError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_event_codec::authoring::PlanWireV1 +impl radroots_event_codec::authoring::PlanWireV1 +pub fn radroots_event_codec::authoring::PlanWireV1::content(&self) -> &str +pub const fn radroots_event_codec::authoring::PlanWireV1::contract(&self) -> &radroots_event::contract::ContractKey +pub const fn radroots_event_codec::authoring::PlanWireV1::created_at(&self) -> u64 +pub const fn radroots_event_codec::authoring::PlanWireV1::expected_author(&self) -> &radroots_identity::key::PublicKey +pub const fn radroots_event_codec::authoring::PlanWireV1::expected_event_id(&self) -> &radroots_event::id::EventId +pub fn radroots_event_codec::authoring::PlanWireV1::from_json(&[u8]) -> core::result::Result<radroots_event_codec::authoring::HistoricalPlanIntegrity, radroots_event_codec::authoring::PlanDecodeError> +pub fn radroots_event_codec::authoring::PlanWireV1::from_plan(&radroots_event_codec::authoring::AuthoredEventPlan) -> Self +pub const fn radroots_event_codec::authoring::PlanWireV1::kind(&self) -> u32 +pub const fn radroots_event_codec::authoring::PlanWireV1::plan_digest(&self) -> radroots_event_codec::authoring::PlanDigest +pub const fn radroots_event_codec::authoring::PlanWireV1::schema_version(&self) -> u32 +pub fn radroots_event_codec::authoring::PlanWireV1::tags(&self) -> &[alloc::vec::Vec<alloc::string::String>] +pub fn radroots_event_codec::authoring::PlanWireV1::to_json(&self) -> core::result::Result<alloc::vec::Vec<u8>, radroots_event_codec::authoring::PlanDecodeError> +impl serde_core::ser::Serialize for radroots_event_codec::authoring::PlanWireV1 +pub fn radroots_event_codec::authoring::PlanWireV1::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +pub const radroots_event_codec::authoring::PLAN_WIRE_MAX_BYTES: usize +pub const radroots_event_codec::authoring::PLAN_WIRE_VERSION_V1: u32 +pub const radroots_event_codec::authoring::REGISTRY_V7_TYPED_AUTHORING_CONTRACT_IDS: [&str; 10] +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::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::decode::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::decode::parsed::RadrootsParsedData<radroots_event::social::app_data::AppData>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::social::app_data::AppData>, radroots_event_codec::decode::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::decode::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::decode::parsed::RadrootsParsedData<radroots_event::post::article::Article>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::post::article::Article>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<radroots_event::calendar::ParsedNip52Calendar>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<radroots_event::calendar::ParsedNip52CalendarEventRsvp>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::calendar::ParsedNip52CalendarEventRsvp>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::calendar::ParsedNip52Calendar>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<radroots_event::calendar::ParsedNip52CalendarDateEvent>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::calendar::ParsedNip52CalendarDateEvent>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<radroots_event::calendar::ParsedNip52CalendarTimeEvent>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::calendar::ParsedNip52CalendarTimeEvent>, radroots_event_codec::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::parsed::RadrootsParsedData<radroots_event::farm::coop::Coop>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::farm::coop::Coop>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<radroots_event::post::document::Document>, radroots_event_codec::decode::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::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::post::document::Document>, radroots_event_codec::decode::EventParseError> +pub mod radroots_event_codec::decode::event_ref +pub fn radroots_event_codec::decode::event_ref::build_event_ref_tag(&str, &radroots_event::tag::EventRef) -> alloc::vec::Vec<alloc::string::String> +pub fn radroots_event_codec::decode::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::decode::event_ref::parse_event_ref_tag(&[alloc::string::String], &'static str) -> core::result::Result<radroots_event::tag::EventRef, radroots_event_codec::decode::EventParseError> +pub fn radroots_event_codec::decode::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::decode::EventParseError> +pub fn radroots_event_codec::decode::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::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::decode::parsed::RadrootsParsedData<radroots_event::farm::Farm>, radroots_event_codec::decode::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::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::farm::Farm>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<radroots_event::farm::crdt::FarmCrdtChange>, radroots_event_codec::decode::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::decode::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::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::farm::crdt::FarmCrdtChange>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<radroots_event::farm::file::FarmFileMetadata>, radroots_event_codec::decode::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::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::farm::file::FarmFileMetadata>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<radroots_event::farm::workspace::FarmWorkspaceManifest>, radroots_event_codec::decode::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::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::farm::workspace::FarmWorkspaceManifest>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<radroots_event::media::file_metadata::FileMetadata>, radroots_event_codec::decode::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::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::media::file_metadata::FileMetadata>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<radroots_event::social::follow::Follow>, radroots_event_codec::decode::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::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::social::follow::Follow>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<radroots_event::social::geochat::GeoChat>, radroots_event_codec::decode::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::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::social::geochat::GeoChat>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<radroots_event::social::gift_wrap::GiftWrap>, radroots_event_codec::decode::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::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::social::gift_wrap::GiftWrap>, radroots_event_codec::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::parsed::RadrootsParsedData<radroots_event::social::http_auth::HttpAuth>, radroots_event_codec::decode::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::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::social::http_auth::HttpAuth>, radroots_event_codec::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::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::decode::parsed::RadrootsParsedData<radroots_event::social::job_result::JobResult>, radroots_event_codec::decode::job::JobParseError> +pub fn radroots_event_codec::decode::job::feedback_status_from_tag(&str) -> core::option::Option<radroots_event::social::job::JobFeedbackStatus> +pub fn radroots_event_codec::decode::job::feedback_status_tag(radroots_event::social::job::JobFeedbackStatus) -> &'static str +pub fn radroots_event_codec::decode::job::job_input_type_from_tag(&str) -> core::option::Option<radroots_event::social::job::JobInputType> +pub fn radroots_event_codec::decode::job::job_input_type_tag(radroots_event::social::job::JobInputType) -> &'static str +pub fn radroots_event_codec::decode::job::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::decode::job::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::decode::job::parse_bool_encrypted(&[alloc::vec::Vec<alloc::string::String>]) -> bool +pub fn radroots_event_codec::decode::job::parse_i_tags(&[alloc::vec::Vec<alloc::string::String>]) -> alloc::vec::Vec<radroots_event::social::job_request::JobInput> +pub fn radroots_event_codec::decode::job::parse_params(&[alloc::vec::Vec<alloc::string::String>]) -> alloc::vec::Vec<radroots_event::social::job_request::JobParam> +pub fn radroots_event_codec::decode::job::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::decode::job::push_bid_tag_sat(&mut alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, u32) +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::decode::parsed::RadrootsParsedEvent<radroots_event::knowledge::ContributionAttestation>, radroots_event_codec::decode::EventParseError> +pub fn radroots_event_codec::decode::knowledge::evidence_bounty_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::decode::parsed::RadrootsParsedEvent<radroots_event::knowledge::EvidenceBounty>, radroots_event_codec::decode::EventParseError> +pub fn radroots_event_codec::decode::knowledge::knowledge_change_proposal_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::decode::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeChangeProposal>, radroots_event_codec::decode::EventParseError> +pub fn radroots_event_codec::decode::knowledge::knowledge_claim_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::decode::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeClaim>, radroots_event_codec::decode::EventParseError> +pub fn radroots_event_codec::decode::knowledge::knowledge_field_report_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::decode::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeFieldReport>, radroots_event_codec::decode::EventParseError> +pub fn radroots_event_codec::decode::knowledge::knowledge_relation_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::decode::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeRelation>, radroots_event_codec::decode::EventParseError> +pub fn radroots_event_codec::decode::knowledge::knowledge_review_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::decode::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeReview>, radroots_event_codec::decode::EventParseError> +pub fn radroots_event_codec::decode::knowledge::knowledge_source_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::decode::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeSource>, radroots_event_codec::decode::EventParseError> +pub fn radroots_event_codec::decode::knowledge::wiki_article_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::decode::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiArticle>, radroots_event_codec::decode::EventParseError> +pub fn radroots_event_codec::decode::knowledge::wiki_merge_request_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::decode::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiMergeRequest>, radroots_event_codec::decode::EventParseError> +pub fn radroots_event_codec::decode::knowledge::wiki_redirect_from_event(radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::decode::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiRedirect>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<radroots_event::social::list::List>, radroots_event_codec::decode::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::decode::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::decode::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::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::social::list::List>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<radroots_event::social::list_set::ListSet>, radroots_event_codec::decode::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::decode::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::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::social::list_set::ListSet>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<radroots_event::social::message::Message>, radroots_event_codec::decode::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::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::social::message::Message>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<radroots_event::social::message_file::MessageFile>, radroots_event_codec::decode::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::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::social::message_file::MessageFile>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<radroots_event::listing::operational::OperationalListing>, radroots_event_codec::decode::EventParseError> +pub fn radroots_event_codec::decode::operational_listing::data_from_nostr_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::decode::parsed::RadrootsParsedData<radroots_event::listing::operational::OperationalListing>, radroots_event_codec::decode::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::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::listing::operational::OperationalListing>, radroots_event_codec::decode::EventParseError> +pub fn radroots_event_codec::decode::operational_listing::parsed_from_nostr_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event_codec::decode::parsed::RadrootsParsedEvent<radroots_event::listing::operational::OperationalListing>, radroots_event_codec::decode::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::parsed +pub struct radroots_event_codec::decode::parsed::RadrootsParsedData<T> +pub radroots_event_codec::decode::parsed::RadrootsParsedData::author: alloc::string::String +pub radroots_event_codec::decode::parsed::RadrootsParsedData::data: T +pub radroots_event_codec::decode::parsed::RadrootsParsedData::id: alloc::string::String +pub radroots_event_codec::decode::parsed::RadrootsParsedData::kind: u32 +pub radroots_event_codec::decode::parsed::RadrootsParsedData::published_at: u64 +impl<T> radroots_event_codec::decode::parsed::RadrootsParsedData<T> +pub fn radroots_event_codec::decode::parsed::RadrootsParsedData<T>::new(alloc::string::String, alloc::string::String, u64, u32, T) -> Self +pub struct radroots_event_codec::decode::parsed::RadrootsParsedEvent<T> +pub radroots_event_codec::decode::parsed::RadrootsParsedEvent::data: radroots_event_codec::decode::parsed::RadrootsParsedData<T> +pub radroots_event_codec::decode::parsed::RadrootsParsedEvent::event: radroots_event::envelope::EventEnvelope +impl<T> radroots_event_codec::decode::parsed::RadrootsParsedEvent<T> +pub fn radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<T>) -> core::result::Result<Self, radroots_event_codec::decode::EventParseError> +pub fn radroots_event_codec::decode::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::decode::EventParseError> +pub fn radroots_event_codec::decode::parsed::RadrootsParsedEvent<T>::new(radroots_event::envelope::EventEnvelope, radroots_event_codec::decode::parsed::RadrootsParsedData<T>) -> Self +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::decode::parsed::RadrootsParsedData<radroots_event::farm::plot::Plot>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::farm::plot::Plot>, radroots_event_codec::decode::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::decode::EventParseError> +pub mod radroots_event_codec::decode::post +pub mod radroots_event_codec::decode::profile +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::decode::parsed::RadrootsParsedData<radroots_event::post::reaction::Reaction>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::post::reaction::Reaction>, radroots_event_codec::decode::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::decode::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::decode::parsed::RadrootsParsedData<radroots_event::social::relay_auth::RelayAuth>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::social::relay_auth::RelayAuth>, radroots_event_codec::decode::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::decode::EventParseError> +pub mod radroots_event_codec::decode::relay_document +pub fn radroots_event_codec::decode::relay_document::from_json(&str) -> core::result::Result<radroots_event::social::relay_document::RelayDocument, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<radroots_event::post::report::Report>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::post::report::Report>, radroots_event_codec::decode::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::decode::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::decode::parsed::RadrootsParsedData<radroots_event::post::repost::GenericRepost>, radroots_event_codec::decode::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::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::post::repost::GenericRepost>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<radroots_event::post::repost::Repost>, radroots_event_codec::decode::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::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::post::repost::Repost>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<radroots_event::farm::resource_area::ResourceArea>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::farm::resource_area::ResourceArea>, radroots_event_codec::decode::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::decode::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::decode::parsed::RadrootsParsedData<radroots_event::farm::resource_cap::ResourceHarvestCap>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::farm::resource_cap::ResourceHarvestCap>, radroots_event_codec::decode::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::decode::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::decode::parsed::RadrootsParsedData<radroots_event::social::seal::Seal>, radroots_event_codec::decode::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::decode::parsed::RadrootsParsedEvent<radroots_event::social::seal::Seal>, radroots_event_codec::decode::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::decode::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::decode::trade::RadrootsTradeMutationParseError +pub fn radroots_event_codec::decode::trade::RadrootsTradeMutationParseError::from(radroots_event::trade::TradeProtocolError) -> Self +impl core::error::Error for radroots_event_codec::decode::trade::RadrootsTradeMutationParseError +impl core::fmt::Display for radroots_event_codec::decode::trade::RadrootsTradeMutationParseError +pub fn radroots_event_codec::decode::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::decode::trade::RadrootsTradeMutationParseError> +pub mod radroots_event_codec::decode::wire +pub fn radroots_event_codec::decode::wire::canonicalize_tags(&mut alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) +pub fn radroots_event_codec::decode::wire::empty_content() -> alloc::string::String +#[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::decode::EventParseError +pub const fn radroots_event_codec::decode::EventParseError::code(&self) -> &'static str +impl core::convert::From<radroots_event::envelope::EventEnvelopeError> for radroots_event_codec::decode::EventParseError +pub fn radroots_event_codec::decode::EventParseError::from(radroots_event::envelope::EventEnvelopeError) -> Self +impl core::convert::From<radroots_event_codec::decode::EventParseError> for radroots_event_codec::verify::RadrootsDecodeError +pub fn radroots_event_codec::verify::RadrootsDecodeError::from(radroots_event_codec::decode::EventParseError) -> Self +impl core::error::Error for radroots_event_codec::decode::EventParseError +pub fn radroots_event_codec::decode::EventParseError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +impl core::fmt::Display for radroots_event_codec::decode::EventParseError +pub fn radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<T> +pub fn radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<T> +pub radroots_event_codec::decode::RadrootsParsedEvent::event: radroots_event::envelope::EventEnvelope +impl<T> radroots_event_codec::decode::parsed::RadrootsParsedEvent<T> +pub fn radroots_event_codec::decode::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::decode::parsed::RadrootsParsedData<T>) -> core::result::Result<Self, radroots_event_codec::decode::EventParseError> +pub fn radroots_event_codec::decode::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::decode::EventParseError> +pub fn radroots_event_codec::decode::parsed::RadrootsParsedEvent<T>::new(radroots_event::envelope::EventEnvelope, radroots_event_codec::decode::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 fn radroots_event_codec::decode::signed_event(&str) -> core::result::Result<radroots_event::draft::SignedEvent, radroots_event_codec::decode::DecodeError> +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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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_admins_list_set<I, S>(&str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::encode::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str> +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::encode::EventEncodeError> +pub fn radroots_event_codec::encode::coop::coop_items_list_set<I, S>(&str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::encode::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str> +pub fn radroots_event_codec::encode::coop::coop_members_farms_list_set<I>(&str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::encode::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = radroots_event::farm::FarmRef> +pub fn radroots_event_codec::encode::coop::coop_members_list_set<I, S>(&str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::encode::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str> +pub fn radroots_event_codec::encode::coop::coop_owners_list_set<I, S>(&str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::encode::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str> +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::encode::EventEncodeError> +pub fn radroots_event_codec::encode::coop::member_of_coops_list_set<I, S>(I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::encode::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str> +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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::job::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::encode::job::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::encode::job::JobEncodeError> +pub enum radroots_event_codec::encode::job::JobEncodeError +pub radroots_event_codec::encode::job::JobEncodeError::EmptyRequiredField(&'static str) +pub radroots_event_codec::encode::job::JobEncodeError::InvalidKind(u32) +pub radroots_event_codec::encode::job::JobEncodeError::MissingProvidersForEncrypted +impl core::error::Error for radroots_event_codec::encode::job::JobEncodeError +impl core::fmt::Display for radroots_event_codec::encode::job::JobEncodeError +pub fn radroots_event_codec::encode::job::JobEncodeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn radroots_event_codec::encode::job::assert_no_inputs_when_encrypted(&[alloc::vec::Vec<alloc::string::String>]) -> bool +pub fn radroots_event_codec::encode::job::canonicalize_tags(&mut alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) +pub fn radroots_event_codec::encode::job::empty_content() -> alloc::string::String +pub fn radroots_event_codec::encode::job::json_content<T: serde_core::ser::Serialize>(&T) -> core::result::Result<alloc::string::String, radroots_event_codec::encode::job::JobEncodeError> +pub fn radroots_event_codec::encode::job::push_provider_tag(&mut alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, &str) +pub fn radroots_event_codec::encode::job::push_relay_tag(&mut alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, &str) +pub fn radroots_event_codec::encode::job::push_status_tag(&mut alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, &str, core::option::Option<&str>) +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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::decode::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::decode::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::decode::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::decode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::EventEncodeError> +pub mod radroots_event_codec::encode::relay_document +pub fn radroots_event_codec::encode::relay_document::to_json(&radroots_event::social::relay_document::RelayDocument) -> core::result::Result<alloc::string::String, radroots_event_codec::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::EventEncodeError> +pub fn radroots_event_codec::encode::resource_area::resource_area_members_farms_list_set<I>(&str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::encode::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = radroots_event::farm::FarmRef> +pub fn radroots_event_codec::encode::resource_area::resource_area_members_plots_list_set<I>(&str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::encode::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = radroots_event::farm::plot::PlotRef> +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::encode::EventEncodeError> +pub fn radroots_event_codec::encode::resource_area::resource_area_stewards_list_set<I, S>(&str, I) -> core::result::Result<radroots_event::social::list_set::ListSet, radroots_event_codec::encode::EventEncodeError> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str> +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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::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::encode::EventEncodeError> +pub mod radroots_event_codec::encode::tag_builders +pub trait radroots_event_codec::encode::tag_builders::RadrootsEventTagBuilder +pub type radroots_event_codec::encode::tag_builders::RadrootsEventTagBuilder::Error +pub fn radroots_event_codec::encode::tag_builders::RadrootsEventTagBuilder::build_tags(&self) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, Self::Error> +impl radroots_event_codec::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::farm::Farm +pub type radroots_event::farm::Farm::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::farm::coop::Coop +pub type radroots_event::farm::coop::Coop::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::farm::plot::Plot +pub type radroots_event::farm::plot::Plot::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::farm::resource_area::ResourceArea +pub type radroots_event::farm::resource_area::ResourceArea::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::farm::resource_cap::ResourceHarvestCap +pub type radroots_event::farm::resource_cap::ResourceHarvestCap::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::ContributionAttestation +pub type radroots_event::knowledge::ContributionAttestation::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::EvidenceBounty +pub type radroots_event::knowledge::EvidenceBounty::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::KnowledgeChangeProposal +pub type radroots_event::knowledge::KnowledgeChangeProposal::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::KnowledgeClaim +pub type radroots_event::knowledge::KnowledgeClaim::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::KnowledgeFieldReport +pub type radroots_event::knowledge::KnowledgeFieldReport::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::KnowledgeRelation +pub type radroots_event::knowledge::KnowledgeRelation::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::KnowledgeReview +pub type radroots_event::knowledge::KnowledgeReview::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::KnowledgeSource +pub type radroots_event::knowledge::KnowledgeSource::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::WikiArticle +pub type radroots_event::knowledge::WikiArticle::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::WikiMergeRequest +pub type radroots_event::knowledge::WikiMergeRequest::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::knowledge::WikiRedirect +pub type radroots_event::knowledge::WikiRedirect::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::listing::operational::OperationalListing +pub type radroots_event::listing::operational::OperationalListing::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::post::document::Document +pub type radroots_event::post::document::Document::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::post::reaction::Reaction +pub type radroots_event::post::reaction::Reaction::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::social::app_data::AppData +pub type radroots_event::social::app_data::AppData::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::social::follow::Follow +pub type radroots_event::social::follow::Follow::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::social::geochat::GeoChat +pub type radroots_event::social::geochat::GeoChat::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::social::gift_wrap::GiftWrap +pub type radroots_event::social::gift_wrap::GiftWrap::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::social::job_feedback::JobFeedback +pub type radroots_event::social::job_feedback::JobFeedback::Error = radroots_event_codec::encode::job::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::social::job_request::JobRequest +pub type radroots_event::social::job_request::JobRequest::Error = radroots_event_codec::encode::job::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::social::job_result::JobResult +pub type radroots_event::social::job_result::JobResult::Error = radroots_event_codec::encode::job::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::social::list::List +pub type radroots_event::social::list::List::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::social::list_set::ListSet +pub type radroots_event::social::list_set::ListSet::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::social::message::Message +pub type radroots_event::social::message::Message::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::social::message_file::MessageFile +pub type radroots_event::social::message_file::MessageFile::Error = radroots_event_codec::encode::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::encode::tag_builders::RadrootsEventTagBuilder for radroots_event::social::seal::Seal +pub type radroots_event::social::seal::Seal::Error = radroots_event_codec::encode::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::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::encode::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::encode::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::encode::EventEncodeError +pub const fn radroots_event_codec::encode::EventEncodeError::code(&self) -> &'static str +impl core::error::Error for radroots_event_codec::encode::EventEncodeError +impl core::fmt::Display for radroots_event_codec::encode::EventEncodeError +pub fn radroots_event_codec::encode::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::encode::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::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::decode::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::verify::RadrootsDecodeError +pub const fn radroots_event_codec::verify::RadrootsDecodeError::code(&self) -> &'static str +impl core::convert::From<radroots_event::contract::registry_v7::ContractValidationError> for radroots_event_codec::verify::RadrootsDecodeError +pub fn radroots_event_codec::verify::RadrootsDecodeError::from(radroots_event::contract::registry_v7::ContractValidationError) -> Self +impl core::convert::From<radroots_event_codec::decode::EventParseError> for radroots_event_codec::verify::RadrootsDecodeError +pub fn radroots_event_codec::verify::RadrootsDecodeError::from(radroots_event_codec::decode::EventParseError) -> Self +impl core::error::Error for radroots_event_codec::verify::RadrootsDecodeError +impl core::fmt::Display for radroots_event_codec::verify::RadrootsDecodeError +pub fn radroots_event_codec::verify::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::decode::parsed::RadrootsParsedEvent<radroots_event::knowledge::ContributionAttestation>) +pub radroots_event_codec::verify::RadrootsDecodedEvent::EvidenceBounty(radroots_event_codec::decode::parsed::RadrootsParsedEvent<radroots_event::knowledge::EvidenceBounty>) +pub radroots_event_codec::verify::RadrootsDecodedEvent::KnowledgeChangeProposal(radroots_event_codec::decode::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeChangeProposal>) +pub radroots_event_codec::verify::RadrootsDecodedEvent::KnowledgeClaim(radroots_event_codec::decode::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeClaim>) +pub radroots_event_codec::verify::RadrootsDecodedEvent::KnowledgeFieldReport(radroots_event_codec::decode::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeFieldReport>) +pub radroots_event_codec::verify::RadrootsDecodedEvent::KnowledgeRelation(radroots_event_codec::decode::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeRelation>) +pub radroots_event_codec::verify::RadrootsDecodedEvent::KnowledgeReview(radroots_event_codec::decode::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeReview>) +pub radroots_event_codec::verify::RadrootsDecodedEvent::KnowledgeSource(radroots_event_codec::decode::parsed::RadrootsParsedEvent<radroots_event::knowledge::KnowledgeSource>) +pub radroots_event_codec::verify::RadrootsDecodedEvent::WikiArticle(radroots_event_codec::decode::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiArticle>) +pub radroots_event_codec::verify::RadrootsDecodedEvent::WikiMergeRequest(radroots_event_codec::decode::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiMergeRequest>) +pub radroots_event_codec::verify::RadrootsDecodedEvent::WikiRedirect(radroots_event_codec::decode::parsed::RadrootsParsedEvent<radroots_event::knowledge::WikiRedirect>) +impl radroots_event_codec::verify::RadrootsDecodedEvent +pub fn radroots_event_codec::verify::RadrootsDecodedEvent::event(&self) -> &radroots_event::envelope::EventEnvelope +pub struct radroots_event_codec::verify::Nip01SignatureVerifier +impl radroots_event::verification::SignatureVerifier for radroots_event_codec::verify::Nip01SignatureVerifier +pub fn radroots_event_codec::verify::Nip01SignatureVerifier::verify_signature(&self, &radroots_event::envelope::EventEnvelope) -> core::result::Result<(), radroots_event::verification::Error> +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::verify::RadrootsDecodedEvent, radroots_event_codec::verify::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::verify::RadrootsDecodedEvent, radroots_event_codec::verify::RadrootsDecodeError> +#[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 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::decode_signed_event(&str) -> core::result::Result<radroots_event::draft::SignedEvent, 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 diff --git a/contracts/api_baselines/radroots_geonames.txt b/contracts/api_baselines/radroots_geonames.txt @@ -0,0 +1,163 @@ +pub mod radroots_geonames +pub mod radroots_geonames::asset +#[non_exhaustive] pub enum radroots_geonames::asset::AssetStatus +pub radroots_geonames::asset::AssetStatus::Available +pub radroots_geonames::asset::AssetStatus::Invalid +pub radroots_geonames::asset::AssetStatus::Missing +pub struct radroots_geonames::asset::AssetSpec +impl radroots_geonames::asset::AssetSpec +pub fn radroots_geonames::asset::AssetSpec::allowed_host(&self) -> &str +pub const fn radroots_geonames::asset::AssetSpec::byte_size(&self) -> u64 +pub fn radroots_geonames::asset::AssetSpec::file_name(&self) -> &str +pub fn radroots_geonames::asset::AssetSpec::new(impl core::convert::Into<alloc::string::String>, impl core::convert::Into<alloc::string::String>, impl core::convert::Into<alloc::string::String>, impl core::convert::Into<alloc::string::String>, u64, [u8; 32]) -> core::result::Result<Self, radroots_geonames::Error> +pub const fn radroots_geonames::asset::AssetSpec::sha256(&self) -> &[u8; 32] +pub fn radroots_geonames::asset::AssetSpec::source(&self) -> &str +pub fn radroots_geonames::asset::AssetSpec::version(&self) -> &str +pub const radroots_geonames::asset::OFFICIAL_ASSET_BYTE_SIZE: u64 +pub const radroots_geonames::asset::OFFICIAL_ASSET_FILE_NAME: &str +pub const radroots_geonames::asset::OFFICIAL_ASSET_SHA256: [u8; 32] +pub const radroots_geonames::asset::OFFICIAL_ASSET_SOURCE: &str +pub const radroots_geonames::asset::OFFICIAL_ASSET_VERSION: &str +pub fn radroots_geonames::asset::inspect(impl core::convert::AsRef<std::path::Path>, &radroots_geonames::asset::AssetSpec) -> core::result::Result<radroots_geonames::asset::AssetStatus, radroots_geonames::Error> +pub fn radroots_geonames::asset::official_asset_spec() -> radroots_geonames::asset::AssetSpec +pub mod radroots_geonames::database +pub struct radroots_geonames::database::Geocoder +impl radroots_geonames::database::Geocoder +pub fn radroots_geonames::database::Geocoder::close(self) -> core::result::Result<(), radroots_geonames::Error> +pub fn radroots_geonames::database::Geocoder::open(impl core::convert::AsRef<std::path::Path>, &radroots_geonames::asset::AssetSpec) -> core::result::Result<Self, radroots_geonames::Error> +pub fn radroots_geonames::database::Geocoder::query(&self, &radroots_geonames::query::Query) -> core::result::Result<radroots_geonames::query::QueryResult, radroots_geonames::Error> +pub mod radroots_geonames::download +#[non_exhaustive] pub enum radroots_geonames::download::FetchFailurePhase +pub radroots_geonames::download::FetchFailurePhase::Cancelled +pub radroots_geonames::download::FetchFailurePhase::Connect +pub radroots_geonames::download::FetchFailurePhase::Read +pub radroots_geonames::download::FetchFailurePhase::Response +impl core::fmt::Display for radroots_geonames::download::FetchFailurePhase +pub fn radroots_geonames::download::FetchFailurePhase::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub trait radroots_geonames::download::Fetcher +pub fn radroots_geonames::download::Fetcher::fetch(&self, &str, &mut dyn core::io::write::Write) -> core::result::Result<(), radroots_geonames::Error> +pub fn radroots_geonames::download::acquire(impl core::convert::AsRef<std::path::Path>, &radroots_geonames::asset::AssetSpec, &dyn radroots_geonames::download::Fetcher) -> core::result::Result<radroots_geonames::asset::AssetStatus, radroots_geonames::Error> +pub mod radroots_geonames::model +pub struct radroots_geonames::model::Candidate +impl radroots_geonames::model::Candidate +pub fn radroots_geonames::model::Candidate::admin1_id(&self) -> core::option::Option<&str> +pub fn radroots_geonames::model::Candidate::admin1_name(&self) -> core::option::Option<&str> +pub fn radroots_geonames::model::Candidate::country_id(&self) -> &str +pub fn radroots_geonames::model::Candidate::country_name(&self) -> core::option::Option<&str> +pub fn radroots_geonames::model::Candidate::display_name(&self) -> &str +pub const fn radroots_geonames::model::Candidate::feature_id(&self) -> u64 +pub fn radroots_geonames::model::Candidate::name(&self) -> &str +pub const fn radroots_geonames::model::Candidate::point(&self) -> radroots_geonames::model::Point +pub struct radroots_geonames::model::Country +impl radroots_geonames::model::Country +pub const fn radroots_geonames::model::Country::center(&self) -> radroots_geonames::model::Point +pub fn radroots_geonames::model::Country::id(&self) -> &str +pub fn radroots_geonames::model::Country::name(&self) -> core::option::Option<&str> +pub struct radroots_geonames::model::Point +impl radroots_geonames::model::Point +pub const fn radroots_geonames::model::Point::latitude(self) -> f64 +pub const fn radroots_geonames::model::Point::longitude(self) -> f64 +pub fn radroots_geonames::model::Point::new(f64, f64) -> core::result::Result<Self, radroots_geonames::Error> +pub mod radroots_geonames::query +pub struct radroots_geonames::query::Query +impl radroots_geonames::query::Query +pub const fn radroots_geonames::query::Query::countries() -> Self +pub fn radroots_geonames::query::Query::exact_feature_id(&self) -> core::option::Option<u64> +pub fn radroots_geonames::query::Query::feature_id(u64) -> core::result::Result<Self, radroots_geonames::Error> +pub fn radroots_geonames::query::Query::freeform(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_geonames::Error> +pub fn radroots_geonames::query::Query::freeform_text(&self) -> core::option::Option<&str> +pub fn radroots_geonames::query::Query::is_country_list(&self) -> bool +pub const fn radroots_geonames::query::Query::limit(&self) -> usize +pub fn radroots_geonames::query::Query::locality(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_geonames::Error> +pub fn radroots_geonames::query::Query::locality_fields(&self) -> core::option::Option<(&str, core::option::Option<&str>, core::option::Option<&str>)> +pub const fn radroots_geonames::query::Query::reverse(radroots_geonames::model::Point) -> Self +pub fn radroots_geonames::query::Query::reverse_point(&self) -> core::option::Option<radroots_geonames::model::Point> +pub fn radroots_geonames::query::Query::with_country(self, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_geonames::Error> +pub fn radroots_geonames::query::Query::with_limit(self, usize) -> core::result::Result<Self, radroots_geonames::Error> +pub fn radroots_geonames::query::Query::with_radius_degrees(self, f64) -> core::result::Result<Self, radroots_geonames::Error> +pub fn radroots_geonames::query::Query::with_region(self, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_geonames::Error> +pub struct radroots_geonames::query::QueryResult +impl radroots_geonames::query::QueryResult +pub fn radroots_geonames::query::QueryResult::as_candidates(&self) -> core::option::Option<&[radroots_geonames::model::Candidate]> +pub fn radroots_geonames::query::QueryResult::as_countries(&self) -> core::option::Option<&[radroots_geonames::model::Country]> +#[non_exhaustive] pub enum radroots_geonames::AssetStatus +pub radroots_geonames::AssetStatus::Available +pub radroots_geonames::AssetStatus::Invalid +pub radroots_geonames::AssetStatus::Missing +#[non_exhaustive] pub enum radroots_geonames::Error +pub radroots_geonames::Error::AssetDestinationBusy +pub radroots_geonames::Error::AssetHashMismatch +pub radroots_geonames::Error::AssetSizeMismatch +pub radroots_geonames::Error::AssetSizeMismatch::actual: u64 +pub radroots_geonames::Error::AssetSizeMismatch::expected: u64 +pub radroots_geonames::Error::DatabaseConnectionUnavailable +pub radroots_geonames::Error::DatabaseOperationFailed +pub radroots_geonames::Error::DatabaseOperationFailed::operation: &'static str +pub radroots_geonames::Error::Fetch +pub radroots_geonames::Error::Fetch::phase: radroots_geonames::download::FetchFailurePhase +pub radroots_geonames::Error::InvalidAssetByteSize +pub radroots_geonames::Error::InvalidAssetFileName +pub radroots_geonames::Error::InvalidAssetSource +pub radroots_geonames::Error::InvalidAssetVersion +pub radroots_geonames::Error::InvalidDatabase +pub radroots_geonames::Error::InvalidDatabaseSchema +pub radroots_geonames::Error::InvalidFeatureId +pub radroots_geonames::Error::InvalidPoint +pub radroots_geonames::Error::InvalidQueryLimit +pub radroots_geonames::Error::InvalidQueryRadius +pub radroots_geonames::Error::InvalidQueryText +pub radroots_geonames::Error::Io +pub radroots_geonames::Error::Io::kind: core::io::error::ErrorKind +pub radroots_geonames::Error::Io::operation: &'static str +pub radroots_geonames::Error::QueryOptionNotApplicable +pub radroots_geonames::Error::UnsafeAssetDestination +pub radroots_geonames::Error::UntrustedAssetSource +impl core::error::Error for radroots_geonames::Error +impl core::fmt::Display for radroots_geonames::Error +pub fn radroots_geonames::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_geonames::AssetSpec +impl radroots_geonames::asset::AssetSpec +pub fn radroots_geonames::asset::AssetSpec::allowed_host(&self) -> &str +pub const fn radroots_geonames::asset::AssetSpec::byte_size(&self) -> u64 +pub fn radroots_geonames::asset::AssetSpec::file_name(&self) -> &str +pub fn radroots_geonames::asset::AssetSpec::new(impl core::convert::Into<alloc::string::String>, impl core::convert::Into<alloc::string::String>, impl core::convert::Into<alloc::string::String>, impl core::convert::Into<alloc::string::String>, u64, [u8; 32]) -> core::result::Result<Self, radroots_geonames::Error> +pub const fn radroots_geonames::asset::AssetSpec::sha256(&self) -> &[u8; 32] +pub fn radroots_geonames::asset::AssetSpec::source(&self) -> &str +pub fn radroots_geonames::asset::AssetSpec::version(&self) -> &str +pub struct radroots_geonames::Candidate +impl radroots_geonames::model::Candidate +pub fn radroots_geonames::model::Candidate::admin1_id(&self) -> core::option::Option<&str> +pub fn radroots_geonames::model::Candidate::admin1_name(&self) -> core::option::Option<&str> +pub fn radroots_geonames::model::Candidate::country_id(&self) -> &str +pub fn radroots_geonames::model::Candidate::country_name(&self) -> core::option::Option<&str> +pub fn radroots_geonames::model::Candidate::display_name(&self) -> &str +pub const fn radroots_geonames::model::Candidate::feature_id(&self) -> u64 +pub fn radroots_geonames::model::Candidate::name(&self) -> &str +pub const fn radroots_geonames::model::Candidate::point(&self) -> radroots_geonames::model::Point +pub struct radroots_geonames::Geocoder +impl radroots_geonames::database::Geocoder +pub fn radroots_geonames::database::Geocoder::close(self) -> core::result::Result<(), radroots_geonames::Error> +pub fn radroots_geonames::database::Geocoder::open(impl core::convert::AsRef<std::path::Path>, &radroots_geonames::asset::AssetSpec) -> core::result::Result<Self, radroots_geonames::Error> +pub fn radroots_geonames::database::Geocoder::query(&self, &radroots_geonames::query::Query) -> core::result::Result<radroots_geonames::query::QueryResult, radroots_geonames::Error> +pub struct radroots_geonames::Point +impl radroots_geonames::model::Point +pub const fn radroots_geonames::model::Point::latitude(self) -> f64 +pub const fn radroots_geonames::model::Point::longitude(self) -> f64 +pub fn radroots_geonames::model::Point::new(f64, f64) -> core::result::Result<Self, radroots_geonames::Error> +pub struct radroots_geonames::Query +impl radroots_geonames::query::Query +pub const fn radroots_geonames::query::Query::countries() -> Self +pub fn radroots_geonames::query::Query::exact_feature_id(&self) -> core::option::Option<u64> +pub fn radroots_geonames::query::Query::feature_id(u64) -> core::result::Result<Self, radroots_geonames::Error> +pub fn radroots_geonames::query::Query::freeform(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_geonames::Error> +pub fn radroots_geonames::query::Query::freeform_text(&self) -> core::option::Option<&str> +pub fn radroots_geonames::query::Query::is_country_list(&self) -> bool +pub const fn radroots_geonames::query::Query::limit(&self) -> usize +pub fn radroots_geonames::query::Query::locality(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_geonames::Error> +pub fn radroots_geonames::query::Query::locality_fields(&self) -> core::option::Option<(&str, core::option::Option<&str>, core::option::Option<&str>)> +pub const fn radroots_geonames::query::Query::reverse(radroots_geonames::model::Point) -> Self +pub fn radroots_geonames::query::Query::reverse_point(&self) -> core::option::Option<radroots_geonames::model::Point> +pub fn radroots_geonames::query::Query::with_country(self, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_geonames::Error> +pub fn radroots_geonames::query::Query::with_limit(self, usize) -> core::result::Result<Self, radroots_geonames::Error> +pub fn radroots_geonames::query::Query::with_radius_degrees(self, f64) -> core::result::Result<Self, radroots_geonames::Error> +pub fn radroots_geonames::query::Query::with_region(self, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_geonames::Error> diff --git a/contracts/api_baselines/radroots_identity.txt b/contracts/api_baselines/radroots_identity.txt @@ -0,0 +1,378 @@ +pub mod radroots_identity +pub mod radroots_identity::account +#[non_exhaustive] pub enum radroots_identity::account::Status +pub radroots_identity::account::Status::NotConfigured +pub radroots_identity::account::Status::PublicOnly +pub radroots_identity::account::Status::PublicOnly::account: radroots_identity::account::Record +pub radroots_identity::account::Status::Ready +pub radroots_identity::account::Status::Ready::account: radroots_identity::account::Record +impl radroots_identity::account::Status +pub const fn radroots_identity::account::Status::account(&self) -> core::option::Option<&radroots_identity::account::Record> +pub const fn radroots_identity::account::Status::is_ready(&self) -> bool +#[repr(transparent)] pub struct radroots_identity::account::AccountId(_) +impl radroots_identity::account::AccountId +pub const radroots_identity::account::AccountId::BYTE_LENGTH: usize +pub const radroots_identity::account::AccountId::HEX_LENGTH: usize +pub const fn radroots_identity::account::AccountId::as_bytes(&self) -> &[u8; 32] +pub fn radroots_identity::account::AccountId::from_bytes([u8; 32]) -> core::result::Result<Self, radroots_identity::Error> +pub fn radroots_identity::account::AccountId::from_hex(&str) -> core::result::Result<Self, radroots_identity::Error> +pub fn radroots_identity::account::AccountId::from_slice(&[u8]) -> core::result::Result<Self, radroots_identity::Error> +pub const fn radroots_identity::account::AccountId::into_bytes(self) -> [u8; 32] +pub fn radroots_identity::account::AccountId::to_hex(self) -> alloc::string::String +impl radroots_identity::account::AccountId +pub const fn radroots_identity::account::AccountId::from_identity_id(radroots_identity::key::IdentityId) -> Self +pub const fn radroots_identity::account::AccountId::from_public_identity(&radroots_identity::profile::PublicIdentity) -> Self +impl core::convert::AsRef<[u8]> for radroots_identity::account::AccountId +pub fn radroots_identity::account::AccountId::as_ref(&self) -> &[u8] +impl core::convert::From<&radroots_identity::profile::PublicIdentity> for radroots_identity::account::AccountId +pub fn radroots_identity::account::AccountId::from(&radroots_identity::profile::PublicIdentity) -> Self +impl core::convert::From<radroots_identity::key::IdentityId> for radroots_identity::account::AccountId +pub fn radroots_identity::account::AccountId::from(radroots_identity::key::IdentityId) -> Self +impl core::convert::TryFrom<&[u8]> for radroots_identity::account::AccountId +pub type radroots_identity::account::AccountId::Error = radroots_identity::Error +pub fn radroots_identity::account::AccountId::try_from(&[u8]) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<&str> for radroots_identity::account::AccountId +pub type radroots_identity::account::AccountId::Error = radroots_identity::Error +pub fn radroots_identity::account::AccountId::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<[u8; 32]> for radroots_identity::account::AccountId +pub type radroots_identity::account::AccountId::Error = radroots_identity::Error +pub fn radroots_identity::account::AccountId::try_from([u8; 32]) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_identity::account::AccountId +pub type radroots_identity::account::AccountId::Error = radroots_identity::Error +pub fn radroots_identity::account::AccountId::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Debug for radroots_identity::account::AccountId +pub fn radroots_identity::account::AccountId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_identity::account::AccountId +pub fn radroots_identity::account::AccountId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_identity::account::AccountId +pub type radroots_identity::account::AccountId::Err = radroots_identity::Error +pub fn radroots_identity::account::AccountId::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_identity::account::AccountId +pub fn radroots_identity::account::AccountId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_identity::account::AccountId +pub fn radroots_identity::account::AccountId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_identity::account::Record +impl radroots_identity::account::Record +pub const fn radroots_identity::account::Record::created_at_unix(&self) -> u64 +pub const fn radroots_identity::account::Record::id(&self) -> radroots_identity::account::AccountId +pub fn radroots_identity::account::Record::label(&self) -> core::option::Option<&str> +pub fn radroots_identity::account::Record::new(radroots_identity::profile::PublicIdentity, core::option::Option<alloc::string::String>, u64) -> Self +pub const fn radroots_identity::account::Record::public_identity(&self) -> &radroots_identity::profile::PublicIdentity +pub fn radroots_identity::account::Record::set_label(&mut self, core::option::Option<alloc::string::String>) +pub fn radroots_identity::account::Record::touch_updated(&mut self, u64) -> core::result::Result<(), radroots_identity::Error> +pub fn radroots_identity::account::Record::try_from_parts(radroots_identity::account::AccountId, radroots_identity::profile::PublicIdentity, core::option::Option<alloc::string::String>, u64, u64) -> core::result::Result<Self, radroots_identity::Error> +pub const fn radroots_identity::account::Record::updated_at_unix(&self) -> u64 +impl<'de> serde_core::de::Deserialize<'de> for radroots_identity::account::Record +pub fn radroots_identity::account::Record::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub mod radroots_identity::key +#[repr(transparent)] pub struct radroots_identity::key::IdentityId(_) +impl radroots_identity::key::IdentityId +pub const radroots_identity::key::IdentityId::BYTE_LENGTH: usize +pub const radroots_identity::key::IdentityId::HEX_LENGTH: usize +pub const fn radroots_identity::key::IdentityId::as_bytes(&self) -> &[u8; 32] +pub fn radroots_identity::key::IdentityId::from_bytes([u8; 32]) -> core::result::Result<Self, radroots_identity::Error> +pub fn radroots_identity::key::IdentityId::from_hex(&str) -> core::result::Result<Self, radroots_identity::Error> +pub fn radroots_identity::key::IdentityId::from_slice(&[u8]) -> core::result::Result<Self, radroots_identity::Error> +pub const fn radroots_identity::key::IdentityId::into_bytes(self) -> [u8; 32] +pub fn radroots_identity::key::IdentityId::to_hex(self) -> alloc::string::String +impl radroots_identity::key::IdentityId +pub const fn radroots_identity::key::IdentityId::from_public_key(radroots_identity::key::PublicKey) -> Self +impl core::convert::AsRef<[u8]> for radroots_identity::key::IdentityId +pub fn radroots_identity::key::IdentityId::as_ref(&self) -> &[u8] +impl core::convert::From<radroots_identity::key::IdentityId> for radroots_identity::account::AccountId +pub fn radroots_identity::account::AccountId::from(radroots_identity::key::IdentityId) -> Self +impl core::convert::From<radroots_identity::key::PublicKey> for radroots_identity::key::IdentityId +pub fn radroots_identity::key::IdentityId::from(radroots_identity::key::PublicKey) -> Self +impl core::convert::TryFrom<&[u8]> for radroots_identity::key::IdentityId +pub type radroots_identity::key::IdentityId::Error = radroots_identity::Error +pub fn radroots_identity::key::IdentityId::try_from(&[u8]) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<&str> for radroots_identity::key::IdentityId +pub type radroots_identity::key::IdentityId::Error = radroots_identity::Error +pub fn radroots_identity::key::IdentityId::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<[u8; 32]> for radroots_identity::key::IdentityId +pub type radroots_identity::key::IdentityId::Error = radroots_identity::Error +pub fn radroots_identity::key::IdentityId::try_from([u8; 32]) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_identity::key::IdentityId +pub type radroots_identity::key::IdentityId::Error = radroots_identity::Error +pub fn radroots_identity::key::IdentityId::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Debug for radroots_identity::key::IdentityId +pub fn radroots_identity::key::IdentityId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_identity::key::IdentityId +pub fn radroots_identity::key::IdentityId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_identity::key::IdentityId +pub type radroots_identity::key::IdentityId::Err = radroots_identity::Error +pub fn radroots_identity::key::IdentityId::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_identity::key::IdentityId +pub fn radroots_identity::key::IdentityId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_identity::key::IdentityId +pub fn radroots_identity::key::IdentityId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +#[repr(transparent)] pub struct radroots_identity::key::PublicKey(_) +impl radroots_identity::key::PublicKey +pub const radroots_identity::key::PublicKey::BYTE_LENGTH: usize +pub const radroots_identity::key::PublicKey::HEX_LENGTH: usize +pub const fn radroots_identity::key::PublicKey::as_bytes(&self) -> &[u8; 32] +pub fn radroots_identity::key::PublicKey::from_bytes([u8; 32]) -> core::result::Result<Self, radroots_identity::Error> +pub fn radroots_identity::key::PublicKey::from_hex(&str) -> core::result::Result<Self, radroots_identity::Error> +pub fn radroots_identity::key::PublicKey::from_slice(&[u8]) -> core::result::Result<Self, radroots_identity::Error> +pub const fn radroots_identity::key::PublicKey::into_bytes(self) -> [u8; 32] +pub fn radroots_identity::key::PublicKey::to_hex(self) -> alloc::string::String +impl core::convert::AsRef<[u8]> for radroots_identity::key::PublicKey +pub fn radroots_identity::key::PublicKey::as_ref(&self) -> &[u8] +impl core::convert::From<radroots_identity::key::PublicKey> for radroots_identity::key::IdentityId +pub fn radroots_identity::key::IdentityId::from(radroots_identity::key::PublicKey) -> Self +impl core::convert::TryFrom<&[u8]> for radroots_identity::key::PublicKey +pub type radroots_identity::key::PublicKey::Error = radroots_identity::Error +pub fn radroots_identity::key::PublicKey::try_from(&[u8]) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<&str> for radroots_identity::key::PublicKey +pub type radroots_identity::key::PublicKey::Error = radroots_identity::Error +pub fn radroots_identity::key::PublicKey::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<[u8; 32]> for radroots_identity::key::PublicKey +pub type radroots_identity::key::PublicKey::Error = radroots_identity::Error +pub fn radroots_identity::key::PublicKey::try_from([u8; 32]) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_identity::key::PublicKey +pub type radroots_identity::key::PublicKey::Error = radroots_identity::Error +pub fn radroots_identity::key::PublicKey::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Debug for radroots_identity::key::PublicKey +pub fn radroots_identity::key::PublicKey::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_identity::key::PublicKey +pub fn radroots_identity::key::PublicKey::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_identity::key::PublicKey +pub type radroots_identity::key::PublicKey::Err = radroots_identity::Error +pub fn radroots_identity::key::PublicKey::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_identity::key::PublicKey +pub fn radroots_identity::key::PublicKey::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_identity::key::PublicKey +pub fn radroots_identity::key::PublicKey::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub mod radroots_identity::profile +pub struct radroots_identity::profile::Profile +impl radroots_identity::profile::Profile +pub const fn radroots_identity::profile::Profile::is_empty(&self) -> bool +pub const fn radroots_identity::profile::Profile::new() -> Self +pub fn radroots_identity::profile::Profile::username(&self) -> core::option::Option<&radroots_identity::username::Username> +pub fn radroots_identity::profile::Profile::with_username(self, radroots_identity::username::Username) -> Self +pub struct radroots_identity::profile::PublicIdentity +impl radroots_identity::profile::PublicIdentity +pub const fn radroots_identity::profile::PublicIdentity::id(&self) -> radroots_identity::key::IdentityId +pub const fn radroots_identity::profile::PublicIdentity::new(radroots_identity::key::PublicKey) -> Self +pub fn radroots_identity::profile::PublicIdentity::profile(&self) -> core::option::Option<&radroots_identity::profile::Profile> +pub const fn radroots_identity::profile::PublicIdentity::public_key(&self) -> radroots_identity::key::PublicKey +pub fn radroots_identity::profile::PublicIdentity::try_from_parts(radroots_identity::key::IdentityId, radroots_identity::key::PublicKey, core::option::Option<radroots_identity::profile::Profile>) -> core::result::Result<Self, radroots_identity::Error> +pub fn radroots_identity::profile::PublicIdentity::with_profile(self, radroots_identity::profile::Profile) -> Self +impl core::convert::From<&radroots_identity::profile::PublicIdentity> for radroots_identity::account::AccountId +pub fn radroots_identity::account::AccountId::from(&radroots_identity::profile::PublicIdentity) -> Self +impl<'de> serde_core::de::Deserialize<'de> for radroots_identity::profile::PublicIdentity +pub fn radroots_identity::profile::PublicIdentity::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub mod radroots_identity::username +#[repr(transparent)] pub struct radroots_identity::username::Username(_) +impl radroots_identity::username::Username +pub fn radroots_identity::username::Username::as_str(&self) -> &str +pub fn radroots_identity::username::Username::into_string(self) -> alloc::string::String +pub fn radroots_identity::username::Username::parse(&str) -> core::result::Result<Self, radroots_identity::Error> +impl core::convert::AsRef<str> for radroots_identity::username::Username +pub fn radroots_identity::username::Username::as_ref(&self) -> &str +impl core::convert::TryFrom<&str> for radroots_identity::username::Username +pub type radroots_identity::username::Username::Error = radroots_identity::Error +pub fn radroots_identity::username::Username::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_identity::username::Username +pub type radroots_identity::username::Username::Error = radroots_identity::Error +pub fn radroots_identity::username::Username::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Debug for radroots_identity::username::Username +pub fn radroots_identity::username::Username::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_identity::username::Username +pub fn radroots_identity::username::Username::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_identity::username::Username +pub type radroots_identity::username::Username::Err = radroots_identity::Error +pub fn radroots_identity::username::Username::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_identity::username::Username +pub fn radroots_identity::username::Username::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_identity::username::Username +pub fn radroots_identity::username::Username::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub const radroots_identity::username::MAX_LENGTH: usize +pub const radroots_identity::username::MIN_LENGTH: usize +#[non_exhaustive] pub enum radroots_identity::Error +pub radroots_identity::Error::AccountIdMismatch +pub radroots_identity::Error::AccountUpdateRegressed +pub radroots_identity::Error::AccountUpdateRegressed::current_updated_at_unix: u64 +pub radroots_identity::Error::AccountUpdateRegressed::proposed_updated_at_unix: u64 +pub radroots_identity::Error::AccountUpdatedBeforeCreated +pub radroots_identity::Error::AccountUpdatedBeforeCreated::created_at_unix: u64 +pub radroots_identity::Error::AccountUpdatedBeforeCreated::updated_at_unix: u64 +pub radroots_identity::Error::IdentityIdMismatch +pub radroots_identity::Error::InvalidByteLength +pub radroots_identity::Error::InvalidByteLength::actual: usize +pub radroots_identity::Error::InvalidByteLength::expected: usize +pub radroots_identity::Error::InvalidHexCharacter +pub radroots_identity::Error::InvalidHexCharacter::index: usize +pub radroots_identity::Error::InvalidHexLength +pub radroots_identity::Error::InvalidHexLength::actual: usize +pub radroots_identity::Error::InvalidHexLength::expected: usize +pub radroots_identity::Error::InvalidPublicKeyBytes +pub radroots_identity::Error::InvalidUsernameCharacter +pub radroots_identity::Error::InvalidUsernameCharacter::index: usize +pub radroots_identity::Error::InvalidUsernameDotPlacement +pub radroots_identity::Error::InvalidUsernameLength +pub radroots_identity::Error::InvalidUsernameLength::actual: usize +pub radroots_identity::Error::InvalidUsernameLength::max: usize +pub radroots_identity::Error::InvalidUsernameLength::min: usize +#[repr(transparent)] pub struct radroots_identity::AccountId(_) +impl radroots_identity::account::AccountId +pub const radroots_identity::account::AccountId::BYTE_LENGTH: usize +pub const radroots_identity::account::AccountId::HEX_LENGTH: usize +pub const fn radroots_identity::account::AccountId::as_bytes(&self) -> &[u8; 32] +pub fn radroots_identity::account::AccountId::from_bytes([u8; 32]) -> core::result::Result<Self, radroots_identity::Error> +pub fn radroots_identity::account::AccountId::from_hex(&str) -> core::result::Result<Self, radroots_identity::Error> +pub fn radroots_identity::account::AccountId::from_slice(&[u8]) -> core::result::Result<Self, radroots_identity::Error> +pub const fn radroots_identity::account::AccountId::into_bytes(self) -> [u8; 32] +pub fn radroots_identity::account::AccountId::to_hex(self) -> alloc::string::String +impl radroots_identity::account::AccountId +pub const fn radroots_identity::account::AccountId::from_identity_id(radroots_identity::key::IdentityId) -> Self +pub const fn radroots_identity::account::AccountId::from_public_identity(&radroots_identity::profile::PublicIdentity) -> Self +impl core::convert::AsRef<[u8]> for radroots_identity::account::AccountId +pub fn radroots_identity::account::AccountId::as_ref(&self) -> &[u8] +impl core::convert::From<&radroots_identity::profile::PublicIdentity> for radroots_identity::account::AccountId +pub fn radroots_identity::account::AccountId::from(&radroots_identity::profile::PublicIdentity) -> Self +impl core::convert::From<radroots_identity::key::IdentityId> for radroots_identity::account::AccountId +pub fn radroots_identity::account::AccountId::from(radroots_identity::key::IdentityId) -> Self +impl core::convert::TryFrom<&[u8]> for radroots_identity::account::AccountId +pub type radroots_identity::account::AccountId::Error = radroots_identity::Error +pub fn radroots_identity::account::AccountId::try_from(&[u8]) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<&str> for radroots_identity::account::AccountId +pub type radroots_identity::account::AccountId::Error = radroots_identity::Error +pub fn radroots_identity::account::AccountId::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<[u8; 32]> for radroots_identity::account::AccountId +pub type radroots_identity::account::AccountId::Error = radroots_identity::Error +pub fn radroots_identity::account::AccountId::try_from([u8; 32]) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_identity::account::AccountId +pub type radroots_identity::account::AccountId::Error = radroots_identity::Error +pub fn radroots_identity::account::AccountId::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Debug for radroots_identity::account::AccountId +pub fn radroots_identity::account::AccountId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_identity::account::AccountId +pub fn radroots_identity::account::AccountId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_identity::account::AccountId +pub type radroots_identity::account::AccountId::Err = radroots_identity::Error +pub fn radroots_identity::account::AccountId::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_identity::account::AccountId +pub fn radroots_identity::account::AccountId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_identity::account::AccountId +pub fn radroots_identity::account::AccountId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +#[repr(transparent)] pub struct radroots_identity::IdentityId(_) +impl radroots_identity::key::IdentityId +pub const radroots_identity::key::IdentityId::BYTE_LENGTH: usize +pub const radroots_identity::key::IdentityId::HEX_LENGTH: usize +pub const fn radroots_identity::key::IdentityId::as_bytes(&self) -> &[u8; 32] +pub fn radroots_identity::key::IdentityId::from_bytes([u8; 32]) -> core::result::Result<Self, radroots_identity::Error> +pub fn radroots_identity::key::IdentityId::from_hex(&str) -> core::result::Result<Self, radroots_identity::Error> +pub fn radroots_identity::key::IdentityId::from_slice(&[u8]) -> core::result::Result<Self, radroots_identity::Error> +pub const fn radroots_identity::key::IdentityId::into_bytes(self) -> [u8; 32] +pub fn radroots_identity::key::IdentityId::to_hex(self) -> alloc::string::String +impl radroots_identity::key::IdentityId +pub const fn radroots_identity::key::IdentityId::from_public_key(radroots_identity::key::PublicKey) -> Self +impl core::convert::AsRef<[u8]> for radroots_identity::key::IdentityId +pub fn radroots_identity::key::IdentityId::as_ref(&self) -> &[u8] +impl core::convert::From<radroots_identity::key::IdentityId> for radroots_identity::account::AccountId +pub fn radroots_identity::account::AccountId::from(radroots_identity::key::IdentityId) -> Self +impl core::convert::From<radroots_identity::key::PublicKey> for radroots_identity::key::IdentityId +pub fn radroots_identity::key::IdentityId::from(radroots_identity::key::PublicKey) -> Self +impl core::convert::TryFrom<&[u8]> for radroots_identity::key::IdentityId +pub type radroots_identity::key::IdentityId::Error = radroots_identity::Error +pub fn radroots_identity::key::IdentityId::try_from(&[u8]) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<&str> for radroots_identity::key::IdentityId +pub type radroots_identity::key::IdentityId::Error = radroots_identity::Error +pub fn radroots_identity::key::IdentityId::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<[u8; 32]> for radroots_identity::key::IdentityId +pub type radroots_identity::key::IdentityId::Error = radroots_identity::Error +pub fn radroots_identity::key::IdentityId::try_from([u8; 32]) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_identity::key::IdentityId +pub type radroots_identity::key::IdentityId::Error = radroots_identity::Error +pub fn radroots_identity::key::IdentityId::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Debug for radroots_identity::key::IdentityId +pub fn radroots_identity::key::IdentityId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_identity::key::IdentityId +pub fn radroots_identity::key::IdentityId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_identity::key::IdentityId +pub type radroots_identity::key::IdentityId::Err = radroots_identity::Error +pub fn radroots_identity::key::IdentityId::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_identity::key::IdentityId +pub fn radroots_identity::key::IdentityId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_identity::key::IdentityId +pub fn radroots_identity::key::IdentityId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_identity::Profile +impl radroots_identity::profile::Profile +pub const fn radroots_identity::profile::Profile::is_empty(&self) -> bool +pub const fn radroots_identity::profile::Profile::new() -> Self +pub fn radroots_identity::profile::Profile::username(&self) -> core::option::Option<&radroots_identity::username::Username> +pub fn radroots_identity::profile::Profile::with_username(self, radroots_identity::username::Username) -> Self +pub struct radroots_identity::PublicIdentity +impl radroots_identity::profile::PublicIdentity +pub const fn radroots_identity::profile::PublicIdentity::id(&self) -> radroots_identity::key::IdentityId +pub const fn radroots_identity::profile::PublicIdentity::new(radroots_identity::key::PublicKey) -> Self +pub fn radroots_identity::profile::PublicIdentity::profile(&self) -> core::option::Option<&radroots_identity::profile::Profile> +pub const fn radroots_identity::profile::PublicIdentity::public_key(&self) -> radroots_identity::key::PublicKey +pub fn radroots_identity::profile::PublicIdentity::try_from_parts(radroots_identity::key::IdentityId, radroots_identity::key::PublicKey, core::option::Option<radroots_identity::profile::Profile>) -> core::result::Result<Self, radroots_identity::Error> +pub fn radroots_identity::profile::PublicIdentity::with_profile(self, radroots_identity::profile::Profile) -> Self +impl core::convert::From<&radroots_identity::profile::PublicIdentity> for radroots_identity::account::AccountId +pub fn radroots_identity::account::AccountId::from(&radroots_identity::profile::PublicIdentity) -> Self +impl<'de> serde_core::de::Deserialize<'de> for radroots_identity::profile::PublicIdentity +pub fn radroots_identity::profile::PublicIdentity::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +#[repr(transparent)] pub struct radroots_identity::PublicKey(_) +impl radroots_identity::key::PublicKey +pub const radroots_identity::key::PublicKey::BYTE_LENGTH: usize +pub const radroots_identity::key::PublicKey::HEX_LENGTH: usize +pub const fn radroots_identity::key::PublicKey::as_bytes(&self) -> &[u8; 32] +pub fn radroots_identity::key::PublicKey::from_bytes([u8; 32]) -> core::result::Result<Self, radroots_identity::Error> +pub fn radroots_identity::key::PublicKey::from_hex(&str) -> core::result::Result<Self, radroots_identity::Error> +pub fn radroots_identity::key::PublicKey::from_slice(&[u8]) -> core::result::Result<Self, radroots_identity::Error> +pub const fn radroots_identity::key::PublicKey::into_bytes(self) -> [u8; 32] +pub fn radroots_identity::key::PublicKey::to_hex(self) -> alloc::string::String +impl core::convert::AsRef<[u8]> for radroots_identity::key::PublicKey +pub fn radroots_identity::key::PublicKey::as_ref(&self) -> &[u8] +impl core::convert::From<radroots_identity::key::PublicKey> for radroots_identity::key::IdentityId +pub fn radroots_identity::key::IdentityId::from(radroots_identity::key::PublicKey) -> Self +impl core::convert::TryFrom<&[u8]> for radroots_identity::key::PublicKey +pub type radroots_identity::key::PublicKey::Error = radroots_identity::Error +pub fn radroots_identity::key::PublicKey::try_from(&[u8]) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<&str> for radroots_identity::key::PublicKey +pub type radroots_identity::key::PublicKey::Error = radroots_identity::Error +pub fn radroots_identity::key::PublicKey::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<[u8; 32]> for radroots_identity::key::PublicKey +pub type radroots_identity::key::PublicKey::Error = radroots_identity::Error +pub fn radroots_identity::key::PublicKey::try_from([u8; 32]) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_identity::key::PublicKey +pub type radroots_identity::key::PublicKey::Error = radroots_identity::Error +pub fn radroots_identity::key::PublicKey::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Debug for radroots_identity::key::PublicKey +pub fn radroots_identity::key::PublicKey::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_identity::key::PublicKey +pub fn radroots_identity::key::PublicKey::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_identity::key::PublicKey +pub type radroots_identity::key::PublicKey::Err = radroots_identity::Error +pub fn radroots_identity::key::PublicKey::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_identity::key::PublicKey +pub fn radroots_identity::key::PublicKey::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_identity::key::PublicKey +pub fn radroots_identity::key::PublicKey::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +#[repr(transparent)] pub struct radroots_identity::Username(_) +impl radroots_identity::username::Username +pub fn radroots_identity::username::Username::as_str(&self) -> &str +pub fn radroots_identity::username::Username::into_string(self) -> alloc::string::String +pub fn radroots_identity::username::Username::parse(&str) -> core::result::Result<Self, radroots_identity::Error> +impl core::convert::AsRef<str> for radroots_identity::username::Username +pub fn radroots_identity::username::Username::as_ref(&self) -> &str +impl core::convert::TryFrom<&str> for radroots_identity::username::Username +pub type radroots_identity::username::Username::Error = radroots_identity::Error +pub fn radroots_identity::username::Username::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_identity::username::Username +pub type radroots_identity::username::Username::Error = radroots_identity::Error +pub fn radroots_identity::username::Username::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Debug for radroots_identity::username::Username +pub fn radroots_identity::username::Username::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_identity::username::Username +pub fn radroots_identity::username::Username::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_identity::username::Username +pub type radroots_identity::username::Username::Err = radroots_identity::Error +pub fn radroots_identity::username::Username::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_identity::username::Username +pub fn radroots_identity::username::Username::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_identity::username::Username +pub fn radroots_identity::username::Username::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> diff --git a/contracts/api_baselines/radroots_nostr.txt b/contracts/api_baselines/radroots_nostr.txt @@ -0,0 +1,339 @@ +pub mod radroots_nostr +pub mod radroots_nostr::blossom +#[non_exhaustive] pub enum radroots_nostr::blossom::AuthorizationError +pub radroots_nostr::blossom::AuthorizationError::BlossomClaim(radroots_blossom::error::Error) +pub radroots_nostr::blossom::AuthorizationError::EmptyHeaderPayload +pub radroots_nostr::blossom::AuthorizationError::EventSigning +pub radroots_nostr::blossom::AuthorizationError::HeaderPaddingForbidden +pub radroots_nostr::blossom::AuthorizationError::InvalidEventId +pub radroots_nostr::blossom::AuthorizationError::InvalidEventJson +pub radroots_nostr::blossom::AuthorizationError::InvalidEventKind +pub radroots_nostr::blossom::AuthorizationError::InvalidEventKind::actual: u64 +pub radroots_nostr::blossom::AuthorizationError::InvalidEventSignature +pub radroots_nostr::blossom::AuthorizationError::InvalidHeaderBase64 +pub radroots_nostr::blossom::AuthorizationError::InvalidHeaderScheme +pub radroots_nostr::blossom::AuthorizationError::InvalidHeaderUtf8 +pub radroots_nostr::blossom::AuthorizationError::InvalidHeaderWhitespace +pub radroots_nostr::blossom::AuthorizationError::NonCanonicalHeaderBase64 +impl radroots_nostr::blossom::AuthorizationError +pub fn radroots_nostr::blossom::AuthorizationError::blossom_claim_error(&self) -> core::option::Option<&radroots_blossom::error::Error> +pub const fn radroots_nostr::blossom::AuthorizationError::code(&self) -> &'static str +impl core::convert::From<radroots_blossom::error::Error> for radroots_nostr::blossom::AuthorizationError +pub fn radroots_nostr::blossom::AuthorizationError::from(radroots_blossom::error::Error) -> Self +impl core::error::Error for radroots_nostr::blossom::AuthorizationError +impl core::fmt::Display for radroots_nostr::blossom::AuthorizationError +pub fn radroots_nostr::blossom::AuthorizationError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_nostr::blossom::AuthorizationHeader(_) +impl radroots_nostr::blossom::AuthorizationHeader +pub fn radroots_nostr::blossom::AuthorizationHeader::as_str(&self) -> &str +pub fn radroots_nostr::blossom::AuthorizationHeader::into_string(self) -> alloc::string::String +impl core::convert::AsRef<str> for radroots_nostr::blossom::AuthorizationHeader +pub fn radroots_nostr::blossom::AuthorizationHeader::as_ref(&self) -> &str +impl core::fmt::Debug for radroots_nostr::blossom::AuthorizationHeader +pub fn radroots_nostr::blossom::AuthorizationHeader::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_nostr::blossom::SignedAuthorization +impl radroots_nostr::blossom::SignedAuthorization +pub fn radroots_nostr::blossom::SignedAuthorization::author(&self) -> nostr::key::public_key::PublicKey +pub fn radroots_nostr::blossom::SignedAuthorization::created_at(&self) -> radroots_nostr::event::Timestamp +pub fn radroots_nostr::blossom::SignedAuthorization::event_id(&self) -> radroots_nostr::event::EventId +pub fn radroots_nostr::blossom::SignedAuthorization::from_signed_event(&radroots_event::draft::SignedEvent) -> core::result::Result<Self, radroots_nostr::blossom::AuthorizationError> +impl core::fmt::Debug for radroots_nostr::blossom::SignedAuthorization +pub fn radroots_nostr::blossom::SignedAuthorization::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_nostr::blossom::VerifiedAuthorization +impl radroots_nostr::blossom::VerifiedAuthorization +pub fn radroots_nostr::blossom::VerifiedAuthorization::author(&self) -> nostr::key::public_key::PublicKey +pub fn radroots_nostr::blossom::VerifiedAuthorization::claim(&self) -> &radroots_blossom::authorization::ValidatedAuthorizationClaim +pub fn radroots_nostr::blossom::VerifiedAuthorization::created_at(&self) -> radroots_nostr::event::Timestamp +pub fn radroots_nostr::blossom::VerifiedAuthorization::event_id(&self) -> radroots_nostr::event::EventId +impl core::fmt::Debug for radroots_nostr::blossom::VerifiedAuthorization +pub fn radroots_nostr::blossom::VerifiedAuthorization::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn radroots_nostr::blossom::decode_verify_authorization_header(&str, &radroots_blossom::authorization::AuthorizationValidation) -> core::result::Result<radroots_nostr::blossom::VerifiedAuthorization, radroots_nostr::blossom::AuthorizationError> +pub fn radroots_nostr::blossom::encode_authorization_header(&radroots_nostr::blossom::SignedAuthorization) -> radroots_nostr::blossom::AuthorizationHeader +pub fn radroots_nostr::blossom::encode_signed_event_authorization_header(&radroots_event::draft::SignedEvent) -> core::result::Result<radroots_nostr::blossom::AuthorizationHeader, radroots_nostr::blossom::AuthorizationError> +pub fn radroots_nostr::blossom::sign_authorization(&nostr::key::Keys, &radroots_blossom::authorization::AuthoredUploadClaim) -> core::result::Result<radroots_nostr::blossom::SignedAuthorization, radroots_nostr::blossom::AuthorizationError> +pub mod radroots_nostr::event +pub enum radroots_nostr::event::Verification +pub radroots_nostr::event::Verification::IdMismatch +pub radroots_nostr::event::Verification::IdVerified +pub radroots_nostr::event::Verification::MalformedEnvelope +pub radroots_nostr::event::Verification::SignatureInvalid +pub radroots_nostr::event::Verification::Verified +pub struct radroots_nostr::event::ApplicationHandlerSpec +impl radroots_nostr::event::ApplicationHandlerSpec +pub fn radroots_nostr::event::ApplicationHandlerSpec::extra_tags(&self) -> &[alloc::vec::Vec<alloc::string::String>] +pub fn radroots_nostr::event::ApplicationHandlerSpec::identifier(&self) -> core::option::Option<&str> +pub fn radroots_nostr::event::ApplicationHandlerSpec::kinds(&self) -> &[u32] +pub fn radroots_nostr::event::ApplicationHandlerSpec::metadata(&self) -> core::option::Option<&radroots_nostr::event::Metadata> +pub fn radroots_nostr::event::ApplicationHandlerSpec::new(alloc::vec::Vec<u32>) -> Self +pub fn radroots_nostr::event::ApplicationHandlerSpec::nostr_connect_url(&self) -> core::option::Option<&str> +pub fn radroots_nostr::event::ApplicationHandlerSpec::relays(&self) -> &[alloc::string::String] +pub fn radroots_nostr::event::ApplicationHandlerSpec::with_extra_tags(self, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> Self +pub fn radroots_nostr::event::ApplicationHandlerSpec::with_identifier(self, impl core::convert::Into<alloc::string::String>) -> Self +pub fn radroots_nostr::event::ApplicationHandlerSpec::with_metadata(self, radroots_nostr::event::Metadata) -> Self +pub fn radroots_nostr::event::ApplicationHandlerSpec::with_nostr_connect_url(self, impl core::convert::Into<alloc::string::String>) -> Self +pub fn radroots_nostr::event::ApplicationHandlerSpec::with_relays(self, alloc::vec::Vec<alloc::string::String>) -> Self +pub struct radroots_nostr::event::CalendarEventBuilder +impl radroots_nostr::event::CalendarEventBuilder +pub fn radroots_nostr::event::CalendarEventBuilder::custom_created_at(self, radroots_nostr::event::Timestamp) -> Self +pub fn radroots_nostr::event::CalendarEventBuilder::into_external_signing_request(self, nostr::key::public_key::PublicKey) -> core::result::Result<radroots_nostr::event::ExternalSigningRequest, radroots_nostr::Error> +pub fn radroots_nostr::event::CalendarEventBuilder::sign_with_keys(self, &nostr::key::Keys) -> core::result::Result<radroots_nostr::event::Event, radroots_nostr::Error> +pub struct radroots_nostr::event::EventAdapter<'a> +impl<'a> radroots_nostr::event::EventAdapter<'a> +pub fn radroots_nostr::event::EventAdapter<'a>::new(&'a radroots_nostr::event::Event) -> Self +impl radroots_event_codec::job::traits::JobEventLike for radroots_nostr::event::EventAdapter<'_> +pub fn radroots_nostr::event::EventAdapter<'_>::raw_author(&self) -> alloc::string::String +pub fn radroots_nostr::event::EventAdapter<'_>::raw_content(&self) -> alloc::string::String +pub fn radroots_nostr::event::EventAdapter<'_>::raw_id(&self) -> alloc::string::String +pub fn radroots_nostr::event::EventAdapter<'_>::raw_kind(&self) -> u32 +pub fn radroots_nostr::event::EventAdapter<'_>::raw_published_at(&self) -> u64 +pub fn radroots_nostr::event::EventAdapter<'_>::raw_sig(&self) -> alloc::string::String +pub fn radroots_nostr::event::EventAdapter<'_>::raw_tags(&self) -> alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>> +impl<'a> radroots_event_codec::job::traits::JobEventBorrow<'a> for radroots_nostr::event::EventAdapter<'a> +pub fn radroots_nostr::event::EventAdapter<'a>::raw_author(&'a self) -> alloc::string::String +pub fn radroots_nostr::event::EventAdapter<'a>::raw_content(&'a self) -> &'a str +pub fn radroots_nostr::event::EventAdapter<'a>::raw_id(&'a self) -> alloc::string::String +pub fn radroots_nostr::event::EventAdapter<'a>::raw_kind(&'a self) -> u32 +pub struct radroots_nostr::event::ExternalSigningRequest +impl radroots_nostr::event::ExternalSigningRequest +pub const fn radroots_nostr::event::ExternalSigningRequest::authored_plan(&self) -> core::option::Option<&radroots_event_codec::authoring::AuthoredEventPlan> +pub fn radroots_nostr::event::ExternalSigningRequest::complete(self, radroots_nostr::event::Event) -> core::result::Result<radroots_nostr::event::Event, radroots_nostr::Error> +pub fn radroots_nostr::event::ExternalSigningRequest::expected_event_id(&self) -> radroots_nostr::event::EventId +pub fn radroots_nostr::event::ExternalSigningRequest::expected_public_key(&self) -> nostr::key::public_key::PublicKey +pub fn radroots_nostr::event::ExternalSigningRequest::from_authored_plan(radroots_event_codec::authoring::AuthoredEventPlan) -> core::result::Result<Self, radroots_nostr::Error> +impl serde_core::ser::Serialize for radroots_nostr::event::ExternalSigningRequest +pub fn radroots_nostr::event::ExternalSigningRequest::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +pub struct radroots_nostr::event::FoodAvailabilityBuilder +impl radroots_nostr::event::FoodAvailabilityBuilder +pub fn radroots_nostr::event::FoodAvailabilityBuilder::into_external_signing_request(self, nostr::key::public_key::PublicKey) -> core::result::Result<radroots_nostr::event::ExternalSigningRequest, radroots_nostr::Error> +pub fn radroots_nostr::event::FoodAvailabilityBuilder::sign_with_keys(self, &nostr::key::Keys) -> core::result::Result<radroots_nostr::event::Event, radroots_nostr::Error> +pub struct radroots_nostr::event::GenericBuilder +impl radroots_nostr::event::GenericBuilder +pub fn radroots_nostr::event::GenericBuilder::allow_self_tagging(self) -> Self +pub fn radroots_nostr::event::GenericBuilder::custom_created_at(self, radroots_nostr::event::Timestamp) -> Self +pub fn radroots_nostr::event::GenericBuilder::dedup_tags(self) -> Self +pub fn radroots_nostr::event::GenericBuilder::into_external_signing_request(self, nostr::key::public_key::PublicKey) -> core::result::Result<radroots_nostr::event::ExternalSigningRequest, radroots_nostr::Error> +pub fn radroots_nostr::event::GenericBuilder::new(radroots_nostr::event::Kind, impl core::convert::Into<alloc::string::String>) -> Self +pub fn radroots_nostr::event::GenericBuilder::pow(self, u8) -> Self +pub fn radroots_nostr::event::GenericBuilder::sign_with_keys(self, &nostr::key::Keys) -> core::result::Result<radroots_nostr::event::Event, radroots_nostr::Error> +pub fn radroots_nostr::event::GenericBuilder::tag(self, radroots_nostr::tag::Tag) -> Self +pub fn radroots_nostr::event::GenericBuilder::tags<I>(self, I) -> Self where I: core::iter::traits::collect::IntoIterator<Item = radroots_nostr::tag::Tag> +pub fn radroots_nostr::event::GenericBuilder::text_note(impl core::convert::Into<alloc::string::String>) -> Self +pub struct radroots_nostr::event::Nip09DeletionRequestBuilder +impl radroots_nostr::event::Nip09DeletionRequestBuilder +pub fn radroots_nostr::event::Nip09DeletionRequestBuilder::custom_created_at(self, radroots_nostr::event::Timestamp) -> Self +pub fn radroots_nostr::event::Nip09DeletionRequestBuilder::into_external_signing_request(self, nostr::key::public_key::PublicKey) -> core::result::Result<radroots_nostr::event::ExternalSigningRequest, radroots_nostr::Error> +pub fn radroots_nostr::event::Nip09DeletionRequestBuilder::sign_with_keys(self, &nostr::key::Keys) -> core::result::Result<radroots_nostr::event::Event, radroots_nostr::Error> +pub struct radroots_nostr::event::Nip10ReplyBuilder +impl radroots_nostr::event::Nip10ReplyBuilder +pub fn radroots_nostr::event::Nip10ReplyBuilder::custom_created_at(self, radroots_nostr::event::Timestamp) -> Self +pub fn radroots_nostr::event::Nip10ReplyBuilder::into_external_signing_request(self, nostr::key::public_key::PublicKey) -> core::result::Result<radroots_nostr::event::ExternalSigningRequest, radroots_nostr::Error> +pub fn radroots_nostr::event::Nip10ReplyBuilder::sign_with_keys(self, &nostr::key::Keys) -> core::result::Result<radroots_nostr::event::Event, radroots_nostr::Error> +pub struct radroots_nostr::event::Nip22CommentBuilder +impl radroots_nostr::event::Nip22CommentBuilder +pub fn radroots_nostr::event::Nip22CommentBuilder::custom_created_at(self, radroots_nostr::event::Timestamp) -> Self +pub fn radroots_nostr::event::Nip22CommentBuilder::into_external_signing_request(self, nostr::key::public_key::PublicKey) -> core::result::Result<radroots_nostr::event::ExternalSigningRequest, radroots_nostr::Error> +pub fn radroots_nostr::event::Nip22CommentBuilder::sign_with_keys(self, &nostr::key::Keys) -> core::result::Result<radroots_nostr::event::Event, radroots_nostr::Error> +pub struct radroots_nostr::event::PostBuilder +impl radroots_nostr::event::PostBuilder +pub fn radroots_nostr::event::PostBuilder::custom_created_at(self, radroots_nostr::event::Timestamp) -> Self +pub fn radroots_nostr::event::PostBuilder::into_external_signing_request(self, nostr::key::public_key::PublicKey) -> core::result::Result<radroots_nostr::event::ExternalSigningRequest, radroots_nostr::Error> +pub fn radroots_nostr::event::PostBuilder::sign_with_keys(self, &nostr::key::Keys) -> core::result::Result<radroots_nostr::event::Event, radroots_nostr::Error> +pub struct radroots_nostr::event::ProfileBuilder +impl radroots_nostr::event::ProfileBuilder +pub fn radroots_nostr::event::ProfileBuilder::custom_created_at(self, radroots_nostr::event::Timestamp) -> Self +pub fn radroots_nostr::event::ProfileBuilder::into_external_signing_request(self, nostr::key::public_key::PublicKey) -> core::result::Result<radroots_nostr::event::ExternalSigningRequest, radroots_nostr::Error> +pub fn radroots_nostr::event::ProfileBuilder::sign_with_keys(self, &nostr::key::Keys) -> core::result::Result<radroots_nostr::event::Event, radroots_nostr::Error> +pub struct radroots_nostr::event::SignatureVerifier +impl radroots_event::verification::SignatureVerifier for radroots_nostr::event::SignatureVerifier +pub fn radroots_nostr::event::SignatureVerifier::verify_signature(&self, &radroots_event::envelope::EventEnvelope) -> core::result::Result<(), radroots_event::verification::Error> +pub fn radroots_nostr::event::build_application_handler(&radroots_nostr::event::ApplicationHandlerSpec) -> core::result::Result<radroots_nostr::event::GenericBuilder, radroots_nostr::Error> +pub fn radroots_nostr::event::build_ask(&radroots_event::post::AuthoredAsk) -> core::result::Result<radroots_nostr::event::PostBuilder, radroots_nostr::Error> +pub fn radroots_nostr::event::build_calendar_date(&radroots_event::calendar::AuthoredCalendarDateEvent) -> core::result::Result<radroots_nostr::event::CalendarEventBuilder, radroots_nostr::Error> +pub fn radroots_nostr::event::build_calendar_time(&radroots_event::calendar::AuthoredCalendarTimeEvent) -> core::result::Result<radroots_nostr::event::CalendarEventBuilder, radroots_nostr::Error> +pub fn radroots_nostr::event::build_food_availability(&radroots_event::food::availability::FoodAvailabilityDetails, radroots_nostr::event::Timestamp) -> core::result::Result<radroots_nostr::event::FoodAvailabilityBuilder, radroots_nostr::Error> +pub fn radroots_nostr::event::build_job_feedback(&radroots_nostr::event::Event, &str, core::option::Option<alloc::string::String>, core::option::Option<alloc::vec::Vec<radroots_nostr::tag::Tag>>) -> core::result::Result<radroots_nostr::event::GenericBuilder, radroots_nostr::Error> +pub fn radroots_nostr::event::build_job_result(&radroots_nostr::event::Event, impl core::convert::Into<alloc::string::String>, u64, core::option::Option<alloc::string::String>, core::option::Option<alloc::vec::Vec<radroots_nostr::tag::Tag>>) -> core::result::Result<radroots_nostr::event::GenericBuilder, radroots_nostr::Error> +pub fn radroots_nostr::event::build_nip09_deletion_request(&radroots_event::post::deletion::AuthoredNip09DeletionRequest) -> core::result::Result<radroots_nostr::event::Nip09DeletionRequestBuilder, radroots_nostr::Error> +pub fn radroots_nostr::event::build_nip10_reply(&radroots_event::post::reply::AuthoredNip10Reply) -> core::result::Result<radroots_nostr::event::Nip10ReplyBuilder, radroots_nostr::Error> +pub fn radroots_nostr::event::build_nip22_comment(&radroots_event::post::comment::AuthoredNip22Comment) -> core::result::Result<radroots_nostr::event::Nip22CommentBuilder, radroots_nostr::Error> +pub fn radroots_nostr::event::build_photo_update(&radroots_event::post::AuthoredPhotoUpdate) -> core::result::Result<radroots_nostr::event::PostBuilder, radroots_nostr::Error> +pub fn radroots_nostr::event::build_profile(&radroots_event::profile::AuthoredProfile) -> core::result::Result<radroots_nostr::event::ProfileBuilder, radroots_nostr::Error> +pub fn radroots_nostr::event::build_update(&radroots_event::post::AuthoredUpdate) -> core::result::Result<radroots_nostr::event::PostBuilder, radroots_nostr::Error> +pub fn radroots_nostr::event::coordinate_from_nostr(&radroots_nostr::event::Coordinate) -> core::result::Result<radroots_event::id::Nip01Coordinate, radroots_nostr::Error> +pub fn radroots_nostr::event::coordinate_to_nostr(&radroots_event::id::Nip01Coordinate) -> core::result::Result<radroots_nostr::event::Coordinate, radroots_nostr::Error> +pub fn radroots_nostr::event::created_at_u32_saturating(radroots_nostr::event::Timestamp) -> u32 +pub fn radroots_nostr::event::event_created_at_u32_saturating(&radroots_nostr::event::Event) -> u32 +pub fn radroots_nostr::event::from_nostr(&radroots_nostr::event::Event) -> core::result::Result<radroots_event::envelope::EventEnvelope, radroots_event::envelope::EventEnvelopeError> +pub fn radroots_nostr::event::metadata_has_fields(&radroots_nostr::event::Metadata) -> bool +pub fn radroots_nostr::event::pointer_from_nostr(&radroots_nostr::event::Event) -> radroots_event::tag::EventPtr +pub fn radroots_nostr::event::post_filter(core::option::Option<u16>, core::option::Option<u64>) -> radroots_nostr::filter::Filter +pub fn radroots_nostr::event::to_job_feedback_index(&radroots_nostr::event::Event) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_feedback::JobFeedback>, radroots_event_codec::job::error::JobParseError> +pub fn radroots_nostr::event::to_job_feedback_metadata(&radroots_nostr::event::Event) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_feedback::JobFeedback>, radroots_event_codec::job::error::JobParseError> +pub fn radroots_nostr::event::to_job_request_index(&radroots_nostr::event::Event) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_request::JobRequest>, radroots_event_codec::job::error::JobParseError> +pub fn radroots_nostr::event::to_job_request_metadata(&radroots_nostr::event::Event) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_request::JobRequest>, radroots_event_codec::job::error::JobParseError> +pub fn radroots_nostr::event::to_job_result_index(&radroots_nostr::event::Event) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedEvent<radroots_event::social::job_result::JobResult>, radroots_event_codec::job::error::JobParseError> +pub fn radroots_nostr::event::to_job_result_metadata(&radroots_nostr::event::Event) -> core::result::Result<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::job_result::JobResult>, radroots_event_codec::job::error::JobParseError> +pub fn radroots_nostr::event::to_nostr(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_nostr::event::Event, radroots_nostr::Error> +pub fn radroots_nostr::event::verify(&radroots_event::envelope::EventEnvelope) -> radroots_nostr::event::Verification +pub fn radroots_nostr::event::verify_id(&radroots_event::envelope::EventEnvelope) -> radroots_nostr::event::Verification +pub type radroots_nostr::event::Coordinate = nostr::nips::nip01::Coordinate +pub type radroots_nostr::event::Event = nostr::event::Event +pub type radroots_nostr::event::EventId = nostr::event::id::EventId +pub type radroots_nostr::event::Kind = nostr::event::kind::Kind +pub type radroots_nostr::event::Metadata = nostr::nips::nip01::Metadata +pub type radroots_nostr::event::Timestamp = nostr::types::time::Timestamp +pub mod radroots_nostr::filter +pub fn radroots_nostr::filter::for_kind(u16) -> radroots_nostr::filter::Filter +pub fn radroots_nostr::filter::kind(u16) -> radroots_nostr::event::Kind +pub fn radroots_nostr::filter::since_now(radroots_nostr::filter::Filter) -> radroots_nostr::filter::Filter +pub fn radroots_nostr::filter::with_tag(radroots_nostr::filter::Filter, &str, alloc::vec::Vec<alloc::string::String>) -> core::result::Result<radroots_nostr::filter::Filter, radroots_nostr::Error> +pub type radroots_nostr::filter::Filter = nostr::filter::Filter +pub mod radroots_nostr::key +pub enum radroots_nostr::key::Nip49KeySecurity +pub radroots_nostr::key::Nip49KeySecurity::Medium +pub radroots_nostr::key::Nip49KeySecurity::Unknown +pub radroots_nostr::key::Nip49KeySecurity::Weak +impl core::convert::From<radroots_nostr::key::Nip49KeySecurity> for nostr::nips::nip49::KeySecurity +pub fn nostr::nips::nip49::KeySecurity::from(radroots_nostr::key::Nip49KeySecurity) -> Self +pub struct radroots_nostr::key::Nip49Options +impl radroots_nostr::key::Nip49Options +pub const fn radroots_nostr::key::Nip49Options::key_security(self) -> radroots_nostr::key::Nip49KeySecurity +pub const fn radroots_nostr::key::Nip49Options::log_n(self) -> u8 +pub const fn radroots_nostr::key::Nip49Options::new(u8, radroots_nostr::key::Nip49KeySecurity) -> Self +impl core::default::Default for radroots_nostr::key::Nip49Options +pub fn radroots_nostr::key::Nip49Options::default() -> Self +pub struct radroots_nostr::key::SecretKey +impl radroots_nostr::key::SecretKey +pub fn radroots_nostr::key::SecretKey::generate() -> Self +pub fn radroots_nostr::key::SecretKey::parse(&str) -> core::result::Result<Self, radroots_nostr::Error> +pub fn radroots_nostr::key::SecretKey::public_key(&self) -> core::result::Result<radroots_identity::key::PublicKey, radroots_nostr::Error> +impl core::fmt::Debug for radroots_nostr::key::SecretKey +pub fn radroots_nostr::key::SecretKey::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn radroots_nostr::key::decrypt_secret_key_nip49(&str, &str) -> core::result::Result<radroots_nostr::key::SecretKey, radroots_nostr::Error> +pub fn radroots_nostr::key::encrypt_secret_key_nip49(&radroots_nostr::key::SecretKey, &str) -> core::result::Result<alloc::string::String, radroots_nostr::Error> +pub fn radroots_nostr::key::encrypt_secret_key_nip49_with_options(&radroots_nostr::key::SecretKey, &str, radroots_nostr::key::Nip49Options) -> core::result::Result<alloc::string::String, radroots_nostr::Error> +pub fn radroots_nostr::key::parse_public_key(&str) -> core::result::Result<radroots_identity::key::PublicKey, radroots_nostr::Error> +pub fn radroots_nostr::key::parse_secret_key(&str) -> core::result::Result<radroots_nostr::key::SecretKey, radroots_nostr::Error> +pub fn radroots_nostr::key::public_key_from_nostr(nostr::key::public_key::PublicKey) -> core::result::Result<radroots_identity::key::PublicKey, radroots_nostr::Error> +pub fn radroots_nostr::key::public_key_from_npub(&str) -> core::result::Result<radroots_identity::key::PublicKey, radroots_nostr::Error> +pub fn radroots_nostr::key::public_key_to_nostr(radroots_identity::key::PublicKey) -> core::result::Result<nostr::key::public_key::PublicKey, radroots_nostr::Error> +pub fn radroots_nostr::key::public_key_to_npub(radroots_identity::key::PublicKey) -> core::result::Result<alloc::string::String, radroots_nostr::Error> +pub fn radroots_nostr::key::secret_key_to_nsec(&radroots_nostr::key::SecretKey) -> alloc::string::String +pub mod radroots_nostr::nip17 +#[non_exhaustive] pub enum radroots_nostr::nip17::Error +pub radroots_nostr::nip17::Error::GiftWrap +pub radroots_nostr::nip17::Error::InvalidRecipient +pub radroots_nostr::nip17::Error::MessageDecode +pub radroots_nostr::nip17::Error::MessageEncode +pub radroots_nostr::nip17::Error::Signer +pub radroots_nostr::nip17::Error::UnsupportedRumorKind +pub radroots_nostr::nip17::Error::UnsupportedRumorKind::kind: u32 +impl radroots_nostr::nip17::Error +pub const fn radroots_nostr::nip17::Error::code(&self) -> &'static str +impl core::convert::From<nostr::event::builder::Error> for radroots_nostr::nip17::Error +pub fn radroots_nostr::nip17::Error::from(nostr::event::builder::Error) -> Self +impl core::convert::From<nostr::key::Error> for radroots_nostr::nip17::Error +pub fn radroots_nostr::nip17::Error::from(nostr::key::Error) -> Self +impl core::convert::From<nostr::nips::nip59::Error> for radroots_nostr::nip17::Error +pub fn radroots_nostr::nip17::Error::from(nostr::nips::nip59::Error) -> Self +impl core::convert::From<nostr::signer::SignerError> for radroots_nostr::nip17::Error +pub fn radroots_nostr::nip17::Error::from(nostr::signer::SignerError) -> Self +impl core::convert::From<radroots_event_codec::error::EventEncodeError> for radroots_nostr::nip17::Error +pub fn radroots_nostr::nip17::Error::from(radroots_event_codec::error::EventEncodeError) -> Self +impl core::convert::From<radroots_event_codec::error::EventParseError> for radroots_nostr::nip17::Error +pub fn radroots_nostr::nip17::Error::from(radroots_event_codec::error::EventParseError) -> Self +impl core::error::Error for radroots_nostr::nip17::Error +impl core::fmt::Display for radroots_nostr::nip17::Error +pub fn radroots_nostr::nip17::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_nostr::nip17::Rumor +pub radroots_nostr::nip17::Rumor::Message(radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::message::Message>) +pub radroots_nostr::nip17::Rumor::MessageFile(alloc::boxed::Box<radroots_event_codec::parsed::RadrootsParsedData<radroots_event::social::message_file::MessageFile>>) +impl core::fmt::Debug for radroots_nostr::nip17::Rumor +pub fn radroots_nostr::nip17::Rumor::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_nostr::nip17::WrapOptions +impl radroots_nostr::nip17::WrapOptions +pub fn radroots_nostr::nip17::WrapOptions::gift_wrap_tags(&self) -> &[alloc::vec::Vec<alloc::string::String>] +pub fn radroots_nostr::nip17::WrapOptions::include_sender(self, bool) -> Self +pub const fn radroots_nostr::nip17::WrapOptions::includes_sender(&self) -> bool +pub const fn radroots_nostr::nip17::WrapOptions::rumor_created_at(&self) -> core::option::Option<u64> +pub fn radroots_nostr::nip17::WrapOptions::with_gift_wrap_tags(self, alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>) -> Self +pub fn radroots_nostr::nip17::WrapOptions::with_rumor_created_at(self, u64) -> Self +impl core::default::Default for radroots_nostr::nip17::WrapOptions +pub fn radroots_nostr::nip17::WrapOptions::default() -> Self +pub async fn radroots_nostr::nip17::unwrap_gift_wrap<T>(&T, &nostr::event::Event) -> core::result::Result<radroots_nostr::nip17::Rumor, radroots_nostr::nip17::Error> where T: nostr::signer::NostrSigner +pub async fn radroots_nostr::nip17::wrap_message<T>(&T, &radroots_event::social::message::Message, radroots_nostr::nip17::WrapOptions) -> core::result::Result<alloc::vec::Vec<nostr::event::Event>, radroots_nostr::nip17::Error> where T: nostr::signer::NostrSigner +pub async fn radroots_nostr::nip17::wrap_message_file<T>(&T, &radroots_event::social::message_file::MessageFile, radroots_nostr::nip17::WrapOptions) -> core::result::Result<alloc::vec::Vec<nostr::event::Event>, radroots_nostr::nip17::Error> where T: nostr::signer::NostrSigner +pub mod radroots_nostr::signing +pub struct radroots_nostr::signing::LocalSigner +impl radroots_nostr::signing::LocalSigner +pub fn radroots_nostr::signing::LocalSigner::generate() -> core::result::Result<Self, radroots_nostr::Error> +pub fn radroots_nostr::signing::LocalSigner::new(radroots_nostr::key::SecretKey) -> core::result::Result<Self, radroots_nostr::Error> +pub const fn radroots_nostr::signing::LocalSigner::public_key(&self) -> radroots_identity::key::PublicKey +impl core::fmt::Debug for radroots_nostr::signing::LocalSigner +pub fn radroots_nostr::signing::LocalSigner::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl radroots_signing::signer::Signer for radroots_nostr::signing::LocalSigner +pub fn radroots_nostr::signing::LocalSigner::sign(&self, radroots_signing::request::SignRequest) -> radroots_signing::signer::BoxFuture<'_, core::result::Result<radroots_signing::receipt::SignReceipt, radroots_signing::error::Error>> +pub fn radroots_nostr::signing::LocalSigner::status(&self) -> radroots_signing::signer::BoxFuture<'_, core::result::Result<radroots_signing::status::SignerStatus, radroots_signing::error::Error>> +pub mod radroots_nostr::tag +pub enum radroots_nostr::tag::ResolveError +pub radroots_nostr::tag::ResolveError::DecryptionError(alloc::string::String) +pub radroots_nostr::tag::ResolveError::MissingPTag(alloc::boxed::Box<nostr::event::Event>) +pub radroots_nostr::tag::ResolveError::NotRecipient +pub radroots_nostr::tag::ResolveError::ParseError(serde_json::error::Error) +pub fn radroots_nostr::tag::first_value(&radroots_nostr::tag::Tag, &str) -> core::option::Option<alloc::string::String> +pub fn radroots_nostr::tag::from_parts(alloc::vec::Vec<alloc::string::String>) -> core::result::Result<radroots_nostr::tag::Tag, radroots_nostr::Error> +pub fn radroots_nostr::tag::match_geohash(&radroots_nostr::tag::Tag) -> core::option::Option<alloc::string::String> +pub fn radroots_nostr::tag::match_location(&radroots_nostr::tag::Tag) -> core::option::Option<(&str, &str, &str)> +pub fn radroots_nostr::tag::match_location_coordinate(&radroots_nostr::tag::Tag) -> core::option::Option<(&str, f64)> +pub fn radroots_nostr::tag::match_parts(&radroots_nostr::tag::Tag) -> core::option::Option<(&str, &[alloc::string::String])> +pub fn radroots_nostr::tag::match_summary(&radroots_nostr::tag::Tag) -> core::option::Option<alloc::string::String> +pub fn radroots_nostr::tag::match_title(&radroots_nostr::tag::Tag) -> core::option::Option<alloc::string::String> +pub fn radroots_nostr::tag::relay_urls(&radroots_nostr::tag::Tag) -> core::option::Option<&alloc::vec::Vec<nostr::types::url::RelayUrl>> +pub fn radroots_nostr::tag::resolve(&radroots_nostr::event::Event, &nostr::key::Keys) -> core::result::Result<alloc::vec::Vec<radroots_nostr::tag::Tag>, radroots_nostr::tag::ResolveError> +pub fn radroots_nostr::tag::to_parts(&radroots_nostr::tag::Tag) -> alloc::vec::Vec<alloc::string::String> +pub fn radroots_nostr::tag::value_at(&radroots_nostr::tag::Tag, usize) -> core::option::Option<alloc::string::String> +pub fn radroots_nostr::tag::values_from(&radroots_nostr::tag::Tag, usize) -> core::option::Option<alloc::vec::Vec<alloc::string::String>> +pub type radroots_nostr::tag::Tag = nostr::event::tag::Tag +pub type radroots_nostr::tag::TagKind<'a> = nostr::event::tag::kind::TagKind<'a> +pub type radroots_nostr::tag::TagStandard = nostr::event::tag::standard::TagStandard +pub enum radroots_nostr::Error +pub radroots_nostr::Error::AuthoredPlan(radroots_event_codec::authoring::typed::AuthoredPlanError) +pub radroots_nostr::Error::CoordinateConversion +pub radroots_nostr::Error::DraftError(radroots_event::draft::DraftError) +pub radroots_nostr::Error::EventBuildError(nostr::event::builder::Error) +pub radroots_nostr::Error::EventConversion +pub radroots_nostr::Error::EventConversion::field: &'static str +pub radroots_nostr::Error::EventError(nostr::event::error::Error) +pub radroots_nostr::Error::EventWire(radroots_event::wire::v1::EventWireError) +pub radroots_nostr::Error::ExternalSigningAuthorMismatch +pub radroots_nostr::Error::ExternalSigningAuthorMismatch::actual: nostr::key::public_key::PublicKey +pub radroots_nostr::Error::ExternalSigningAuthorMismatch::expected: nostr::key::public_key::PublicKey +pub radroots_nostr::Error::ExternalSigningEventIdMismatch +pub radroots_nostr::Error::ExternalSigningEventIdMismatch::actual: nostr::event::id::EventId +pub radroots_nostr::Error::ExternalSigningEventIdMismatch::expected: nostr::event::id::EventId +pub radroots_nostr::Error::ExternalSigningEventInvalid(nostr::event::error::Error) +pub radroots_nostr::Error::ExternalSigningPlanMismatch +pub radroots_nostr::Error::ExternalSigningPlanMismatch::field: &'static str +pub radroots_nostr::Error::FilterTagError(alloc::string::String) +pub radroots_nostr::Error::FoodAvailabilityEncode(radroots_event_codec::food_availability::authored::RadrootsFoodAvailabilityEncodeError) +pub radroots_nostr::Error::InvalidEncryptedSecretKey +pub radroots_nostr::Error::InvalidNpub +pub radroots_nostr::Error::InvalidPublicKey +pub radroots_nostr::Error::InvalidSecretKey +pub radroots_nostr::Error::KeyError(nostr::key::Error) +pub radroots_nostr::Error::KindOutOfRange +pub radroots_nostr::Error::KindOutOfRange::kind: u32 +pub radroots_nostr::Error::KindOutOfRange::max: u16 +pub radroots_nostr::Error::ProfileEncode(radroots_event_codec::profile::authored::RadrootsAuthoredProfileEncodeError) +pub radroots_nostr::Error::SecretKeyDecryption +pub radroots_nostr::Error::SecretKeyEncryption +pub radroots_nostr::Error::SignedEvent(radroots_event::draft::SignedEventError) +pub radroots_nostr::Error::TagConversion +pub radroots_nostr::Error::TypedAuthoringRequired +pub radroots_nostr::Error::TypedAuthoringRequired::kind: u16 +impl core::convert::From<nostr::event::builder::Error> for radroots_nostr::Error +pub fn radroots_nostr::Error::from(nostr::event::builder::Error) -> Self +impl core::convert::From<nostr::event::error::Error> for radroots_nostr::Error +pub fn radroots_nostr::Error::from(nostr::event::error::Error) -> Self +impl core::convert::From<nostr::key::Error> for radroots_nostr::Error +pub fn radroots_nostr::Error::from(nostr::key::Error) -> Self diff --git a/contracts/api_baselines/radroots_nostr_connect.txt b/contracts/api_baselines/radroots_nostr_connect.txt @@ -0,0 +1,658 @@ +pub mod radroots_nostr_connect +pub mod radroots_nostr_connect::client +pub enum radroots_nostr_connect::client::CancellationPhase +pub radroots_nostr_connect::client::CancellationPhase::AfterPublication +pub radroots_nostr_connect::client::CancellationPhase::BeforePublication +pub enum radroots_nostr_connect::client::Completion +pub radroots_nostr_connect::client::Completion::Cancelled(radroots_nostr_connect::client::CancellationPhase) +pub radroots_nostr_connect::client::Completion::Response(alloc::boxed::Box<radroots_nostr_connect::message::Response>) +impl radroots_nostr_connect::client::Completion +pub fn radroots_nostr_connect::client::Completion::response(radroots_nostr_connect::message::Response) -> Self +pub enum radroots_nostr_connect::client::EventOutcome +pub radroots_nostr_connect::client::EventOutcome::Complete(alloc::boxed::Box<radroots_nostr_connect::message::Response>) +pub radroots_nostr_connect::client::EventOutcome::Ignore +pub radroots_nostr_connect::client::EventOutcome::Progress(radroots_nostr_connect::client::Progress) +pub enum radroots_nostr_connect::client::Progress +pub radroots_nostr_connect::client::Progress::AuthChallenge +pub radroots_nostr_connect::client::Progress::AuthChallenge::url: alloc::string::String +impl core::fmt::Debug for radroots_nostr_connect::client::Progress +pub fn radroots_nostr_connect::client::Progress::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_nostr_connect::client::Receive +pub radroots_nostr_connect::client::Receive::Cancelled +pub radroots_nostr_connect::client::Receive::Event(alloc::boxed::Box<radroots_nostr_connect::client::ClientEvent>) +pub radroots_nostr_connect::client::Receive::TimedOut +impl radroots_nostr_connect::client::Receive +pub fn radroots_nostr_connect::client::Receive::event(radroots_nostr_connect::client::ClientEvent) -> Self +pub struct radroots_nostr_connect::client::CancellationToken(_) +impl radroots_nostr_connect::client::CancellationToken +pub fn radroots_nostr_connect::client::CancellationToken::cancel(&self) +pub fn radroots_nostr_connect::client::CancellationToken::is_cancelled(&self) -> bool +pub fn radroots_nostr_connect::client::CancellationToken::new() -> Self +pub struct radroots_nostr_connect::client::Client +impl radroots_nostr_connect::client::Client +pub async fn radroots_nostr_connect::client::Client::execute<T, F>(&self, radroots_nostr_connect::message::RequestId, radroots_nostr_connect::message::Request, &mut T, &radroots_nostr_connect::client::CancellationToken, F) -> core::result::Result<radroots_nostr_connect::client::Completion, radroots_nostr_connect::error::RadrootsNostrConnectError> where T: radroots_nostr_connect::client::Transport + ?core::marker::Sized, F: core::ops::function::FnMut(radroots_nostr_connect::client::Progress) -> core::result::Result<(), radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::client::Client::from_secret(&str, radroots_nostr_connect::client::Target) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::client::Client::generate(radroots_nostr_connect::client::Target) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::client::Client::prepare(&self, radroots_nostr_connect::message::RequestId, radroots_nostr_connect::message::Request) -> core::result::Result<radroots_nostr_connect::client::Operation<'_>, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::client::Client::public_key(&self) -> core::result::Result<radroots_identity::key::PublicKey, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::client::Client::target(&self) -> &radroots_nostr_connect::client::Target +impl core::fmt::Debug for radroots_nostr_connect::client::Client +pub fn radroots_nostr_connect::client::Client::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_nostr_connect::client::ClientEvent(_) +impl radroots_nostr_connect::client::ClientEvent +pub fn radroots_nostr_connect::client::ClientEvent::as_json(&self) -> alloc::string::String +pub fn radroots_nostr_connect::client::ClientEvent::from_json(&str) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +impl core::fmt::Debug for radroots_nostr_connect::client::ClientEvent +pub fn radroots_nostr_connect::client::ClientEvent::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_nostr_connect::client::Operation<'a> +impl radroots_nostr_connect::client::Operation<'_> +pub fn radroots_nostr_connect::client::Operation<'_>::cancel(&mut self) -> core::result::Result<radroots_nostr_connect::client::CancellationPhase, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::client::Operation<'_>::mark_published(&mut self) -> core::result::Result<(), radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::client::Operation<'_>::publication(&self) -> core::result::Result<&radroots_nostr_connect::client::ClientEvent, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::client::Operation<'_>::select(&mut self, &radroots_nostr_connect::client::ClientEvent) -> core::result::Result<radroots_nostr_connect::client::EventOutcome, radroots_nostr_connect::error::RadrootsNostrConnectError> +impl core::fmt::Debug for radroots_nostr_connect::client::Operation<'_> +pub fn radroots_nostr_connect::client::Operation<'_>::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_nostr_connect::client::Target +impl radroots_nostr_connect::client::Target +pub fn radroots_nostr_connect::client::Target::relays(&self) -> &[radroots_nostr_connect::uri::RelayUrl] +pub const fn radroots_nostr_connect::client::Target::remote_signer_public_key(&self) -> radroots_identity::key::PublicKey +pub fn radroots_nostr_connect::client::Target::try_new(radroots_identity::key::PublicKey, alloc::vec::Vec<radroots_nostr_connect::uri::RelayUrl>) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub const radroots_nostr_connect::client::CLIENT_EVENT_MAX_BYTES: usize +pub trait radroots_nostr_connect::client::Transport: core::marker::Send +pub fn radroots_nostr_connect::client::Transport::publish<'a>(&'a mut self, radroots_nostr_connect::client::ClientEvent) -> radroots_nostr_connect::client::TransportFuture<'a, ()> +pub fn radroots_nostr_connect::client::Transport::receive<'a>(&'a mut self, &'a radroots_nostr_connect::client::CancellationToken) -> radroots_nostr_connect::client::TransportFuture<'a, radroots_nostr_connect::client::Receive> +pub type radroots_nostr_connect::client::TransportFuture<'a, T> = core::pin::Pin<alloc::boxed::Box<(dyn core::future::future::Future<Output = core::result::Result<T, radroots_nostr_connect::error::RadrootsNostrConnectError>> + core::marker::Send + 'a)>> +pub mod radroots_nostr_connect::error +pub enum radroots_nostr_connect::error::RadrootsNostrConnectError +pub radroots_nostr_connect::error::RadrootsNostrConnectError::ClientMetadataTooLarge +pub radroots_nostr_connect::error::RadrootsNostrConnectError::ClientMetadataTooLarge::max: usize +pub radroots_nostr_connect::error::RadrootsNostrConnectError::ClientMetadataTooLarge::received: usize +pub radroots_nostr_connect::error::RadrootsNostrConnectError::Decrypt +pub radroots_nostr_connect::error::RadrootsNostrConnectError::Decrypt::reason: alloc::string::String +pub radroots_nostr_connect::error::RadrootsNostrConnectError::Encrypt +pub radroots_nostr_connect::error::RadrootsNostrConnectError::Encrypt::reason: alloc::string::String +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidClientEvent +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidClientKey +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidClientMetadata +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidClientMetadata::field: &'static str +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidClientMetadata::reason: alloc::string::String +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidClientState +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidClientState::reason: &'static str +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidClientTarget +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidClientTarget::reason: &'static str +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidMethod(alloc::string::String) +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidParams +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidParams::expected: &'static str +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidParams::method: alloc::string::String +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidParams::received: usize +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidPermission(alloc::string::String) +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidPublicKey +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidPublicKey::reason: alloc::string::String +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidPublicKey::value: alloc::string::String +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidRelayUrl +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidRelayUrl::reason: alloc::string::String +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidRelayUrl::value: alloc::string::String +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidRequestId +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidRequestId::reason: &'static str +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidRequestPayload +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidRequestPayload::method: alloc::string::String +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidRequestPayload::reason: alloc::string::String +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidResponseEnvelope +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidResponseEnvelope::reason: &'static str +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidResponsePayload +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidResponsePayload::method: alloc::string::String +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidResponsePayload::reason: alloc::string::String +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidServerRequest +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidServerRequest::reason: &'static str +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidServerState +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidServerState::reason: &'static str +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidUri +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidUriScheme(alloc::string::String) +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidUrl +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidUrl::reason: alloc::string::String +pub radroots_nostr_connect::error::RadrootsNostrConnectError::InvalidUrl::value: alloc::string::String +pub radroots_nostr_connect::error::RadrootsNostrConnectError::Json(alloc::string::String) +pub radroots_nostr_connect::error::RadrootsNostrConnectError::MissingPublicKey +pub radroots_nostr_connect::error::RadrootsNostrConnectError::MissingRelay +pub radroots_nostr_connect::error::RadrootsNostrConnectError::MissingResult +pub radroots_nostr_connect::error::RadrootsNostrConnectError::MissingSecret +pub radroots_nostr_connect::error::RadrootsNostrConnectError::ReplayedRequest +pub radroots_nostr_connect::error::RadrootsNostrConnectError::ReplayedResponse +pub radroots_nostr_connect::error::RadrootsNostrConnectError::RequestTimedOut +pub radroots_nostr_connect::error::RadrootsNostrConnectError::Sign +pub radroots_nostr_connect::error::RadrootsNostrConnectError::Sign::reason: alloc::string::String +pub radroots_nostr_connect::error::RadrootsNostrConnectError::Transport +pub radroots_nostr_connect::error::RadrootsNostrConnectError::Transport::reason: alloc::string::String +pub radroots_nostr_connect::error::RadrootsNostrConnectError::UnsupportedMethod(radroots_nostr_connect::method::Method) +pub radroots_nostr_connect::error::RadrootsNostrConnectError::WrongRequestId +pub radroots_nostr_connect::error::RadrootsNostrConnectError::WrongResponseSigner +impl core::convert::From<serde_json::error::Error> for radroots_nostr_connect::error::RadrootsNostrConnectError +pub fn radroots_nostr_connect::error::RadrootsNostrConnectError::from(serde_json::error::Error) -> Self +pub mod radroots_nostr_connect::message +pub enum radroots_nostr_connect::message::PendingConnectionOutcome +pub radroots_nostr_connect::message::PendingConnectionOutcome::Approved(radroots_identity::key::PublicKey) +pub radroots_nostr_connect::message::PendingConnectionOutcome::ApprovedCapability(radroots_nostr_connect::message::RemoteSessionCapability) +pub radroots_nostr_connect::message::PendingConnectionOutcome::AuthChallenge +pub radroots_nostr_connect::message::PendingConnectionOutcome::AuthChallenge::url: alloc::string::String +pub radroots_nostr_connect::message::PendingConnectionOutcome::PendingApproval +pub radroots_nostr_connect::message::PendingConnectionOutcome::Rejected +pub radroots_nostr_connect::message::PendingConnectionOutcome::Rejected::message: alloc::string::String +pub radroots_nostr_connect::message::PendingConnectionOutcome::UnexpectedResponse +pub radroots_nostr_connect::message::PendingConnectionOutcome::UnexpectedResponse::response: alloc::string::String +pub enum radroots_nostr_connect::message::Request +pub radroots_nostr_connect::message::Request::Connect +pub radroots_nostr_connect::message::Request::Connect::client_metadata: core::option::Option<radroots_nostr_connect::uri::ClientMetadata> +pub radroots_nostr_connect::message::Request::Connect::remote_signer_public_key: radroots_identity::key::PublicKey +pub radroots_nostr_connect::message::Request::Connect::requested_permissions: radroots_nostr_connect::permission::Permissions +pub radroots_nostr_connect::message::Request::Connect::secret: core::option::Option<alloc::string::String> +pub radroots_nostr_connect::message::Request::Custom +pub radroots_nostr_connect::message::Request::Custom::method: radroots_nostr_connect::method::Method +pub radroots_nostr_connect::message::Request::Custom::params: alloc::vec::Vec<alloc::string::String> +pub radroots_nostr_connect::message::Request::GetPublicKey +pub radroots_nostr_connect::message::Request::GetSessionCapability +pub radroots_nostr_connect::message::Request::Logout +pub radroots_nostr_connect::message::Request::Nip04Decrypt +pub radroots_nostr_connect::message::Request::Nip04Decrypt::ciphertext: alloc::string::String +pub radroots_nostr_connect::message::Request::Nip04Decrypt::public_key: radroots_identity::key::PublicKey +pub radroots_nostr_connect::message::Request::Nip04Encrypt +pub radroots_nostr_connect::message::Request::Nip04Encrypt::plaintext: alloc::string::String +pub radroots_nostr_connect::message::Request::Nip04Encrypt::public_key: radroots_identity::key::PublicKey +pub radroots_nostr_connect::message::Request::Nip44Decrypt +pub radroots_nostr_connect::message::Request::Nip44Decrypt::ciphertext: alloc::string::String +pub radroots_nostr_connect::message::Request::Nip44Decrypt::public_key: radroots_identity::key::PublicKey +pub radroots_nostr_connect::message::Request::Nip44Encrypt +pub radroots_nostr_connect::message::Request::Nip44Encrypt::plaintext: alloc::string::String +pub radroots_nostr_connect::message::Request::Nip44Encrypt::public_key: radroots_identity::key::PublicKey +pub radroots_nostr_connect::message::Request::Ping +pub radroots_nostr_connect::message::Request::SignEvent(radroots_nostr_connect::message::UnsignedEvent) +pub radroots_nostr_connect::message::Request::SwitchRelays +impl radroots_nostr_connect::message::Request +pub fn radroots_nostr_connect::message::Request::from_parts(radroots_nostr_connect::method::Method, alloc::vec::Vec<alloc::string::String>) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::message::Request::method(&self) -> radroots_nostr_connect::method::Method +pub fn radroots_nostr_connect::message::Request::to_params(&self) -> core::result::Result<alloc::vec::Vec<alloc::string::String>, radroots_nostr_connect::error::RadrootsNostrConnectError> +impl core::fmt::Debug for radroots_nostr_connect::message::Request +pub fn radroots_nostr_connect::message::Request::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_nostr_connect::message::Response +pub radroots_nostr_connect::message::Response::AuthUrl(alloc::string::String) +pub radroots_nostr_connect::message::Response::ConnectAcknowledged +pub radroots_nostr_connect::message::Response::ConnectSecretEcho(alloc::string::String) +pub radroots_nostr_connect::message::Response::Custom +pub radroots_nostr_connect::message::Response::Custom::error: core::option::Option<alloc::string::String> +pub radroots_nostr_connect::message::Response::Custom::result: core::option::Option<serde_json::value::Value> +pub radroots_nostr_connect::message::Response::Error +pub radroots_nostr_connect::message::Response::Error::error: alloc::string::String +pub radroots_nostr_connect::message::Response::Error::result: core::option::Option<serde_json::value::Value> +pub radroots_nostr_connect::message::Response::LogoutAcknowledged +pub radroots_nostr_connect::message::Response::Nip04Decrypt(alloc::string::String) +pub radroots_nostr_connect::message::Response::Nip04Encrypt(alloc::string::String) +pub radroots_nostr_connect::message::Response::Nip44Decrypt(alloc::string::String) +pub radroots_nostr_connect::message::Response::Nip44Encrypt(alloc::string::String) +pub radroots_nostr_connect::message::Response::PendingConnection +pub radroots_nostr_connect::message::Response::Pong +pub radroots_nostr_connect::message::Response::RelayList(alloc::vec::Vec<radroots_nostr_connect::uri::RelayUrl>) +pub radroots_nostr_connect::message::Response::RelayListUnchanged +pub radroots_nostr_connect::message::Response::RemoteSessionCapability(radroots_nostr_connect::message::RemoteSessionCapability) +pub radroots_nostr_connect::message::Response::SignedEvent(radroots_nostr_connect::message::SignedEvent) +pub radroots_nostr_connect::message::Response::UserPublicKey(radroots_identity::key::PublicKey) +impl radroots_nostr_connect::message::Response +pub fn radroots_nostr_connect::message::Response::from_envelope(&radroots_nostr_connect::method::Method, radroots_nostr_connect::message::ResponseEnvelope) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::message::Response::into_envelope(self, impl core::convert::Into<alloc::string::String>) -> core::result::Result<radroots_nostr_connect::message::ResponseEnvelope, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::message::Response::into_pending_connection_poll_outcome(self) -> radroots_nostr_connect::message::PendingConnectionOutcome +impl core::fmt::Debug for radroots_nostr_connect::message::Response +pub fn radroots_nostr_connect::message::Response::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_nostr_connect::message::RemoteSessionCapability +impl radroots_nostr_connect::message::RemoteSessionCapability +pub fn radroots_nostr_connect::message::RemoteSessionCapability::permissions(&self) -> &radroots_nostr_connect::permission::Permissions +pub fn radroots_nostr_connect::message::RemoteSessionCapability::relays(&self) -> &[radroots_nostr_connect::uri::RelayUrl] +pub fn radroots_nostr_connect::message::RemoteSessionCapability::try_new(radroots_identity::key::PublicKey, alloc::vec::Vec<radroots_nostr_connect::uri::RelayUrl>, radroots_nostr_connect::permission::Permissions) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub const fn radroots_nostr_connect::message::RemoteSessionCapability::user_public_key(&self) -> radroots_identity::key::PublicKey +impl serde_core::ser::Serialize for radroots_nostr_connect::message::RemoteSessionCapability +pub fn radroots_nostr_connect::message::RemoteSessionCapability::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_nostr_connect::message::RemoteSessionCapability +pub fn radroots_nostr_connect::message::RemoteSessionCapability::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_nostr_connect::message::RequestId(_) +impl radroots_nostr_connect::message::RequestId +pub fn radroots_nostr_connect::message::RequestId::as_str(&self) -> &str +pub fn radroots_nostr_connect::message::RequestId::parse(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +impl core::fmt::Display for radroots_nostr_connect::message::RequestId +pub fn radroots_nostr_connect::message::RequestId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_nostr_connect::message::RequestId +pub type radroots_nostr_connect::message::RequestId::Err = radroots_nostr_connect::error::RadrootsNostrConnectError +pub fn radroots_nostr_connect::message::RequestId::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_nostr_connect::message::RequestId +pub fn radroots_nostr_connect::message::RequestId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_nostr_connect::message::RequestId +pub fn radroots_nostr_connect::message::RequestId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_nostr_connect::message::RequestMessage +impl radroots_nostr_connect::message::RequestMessage +pub fn radroots_nostr_connect::message::RequestMessage::correlate(&self, radroots_nostr_connect::message::ResponseEnvelope) -> core::result::Result<radroots_nostr_connect::message::Response, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::message::RequestMessage::payload(&self) -> &radroots_nostr_connect::message::Request +pub fn radroots_nostr_connect::message::RequestMessage::request_id(&self) -> core::result::Result<radroots_nostr_connect::message::RequestId, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::message::RequestMessage::try_new(impl core::convert::Into<alloc::string::String>, radroots_nostr_connect::message::Request) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +impl serde_core::ser::Serialize for radroots_nostr_connect::message::RequestMessage +pub fn radroots_nostr_connect::message::RequestMessage::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_nostr_connect::message::RequestMessage +pub fn radroots_nostr_connect::message::RequestMessage::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_nostr_connect::message::ResponseEnvelope +impl radroots_nostr_connect::message::ResponseEnvelope +pub fn radroots_nostr_connect::message::ResponseEnvelope::error(&self) -> core::option::Option<&str> +pub fn radroots_nostr_connect::message::ResponseEnvelope::request_id(&self) -> core::result::Result<radroots_nostr_connect::message::RequestId, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::message::ResponseEnvelope::result(&self) -> core::option::Option<&serde_json::value::Value> +pub fn radroots_nostr_connect::message::ResponseEnvelope::try_new(impl core::convert::Into<alloc::string::String>, core::option::Option<serde_json::value::Value>, core::option::Option<alloc::string::String>) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::message::ResponseEnvelope::validate(&self) -> core::result::Result<(), radroots_nostr_connect::error::RadrootsNostrConnectError> +impl core::fmt::Debug for radroots_nostr_connect::message::ResponseEnvelope +pub fn radroots_nostr_connect::message::ResponseEnvelope::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl serde_core::ser::Serialize for radroots_nostr_connect::message::ResponseEnvelope +pub fn radroots_nostr_connect::message::ResponseEnvelope::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_nostr_connect::message::ResponseEnvelope +pub fn radroots_nostr_connect::message::ResponseEnvelope::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_nostr_connect::message::ResponseValidator +impl radroots_nostr_connect::message::ResponseValidator +pub fn radroots_nostr_connect::message::ResponseValidator::new(radroots_nostr_connect::message::RequestId, radroots_identity::key::PublicKey) -> Self +pub fn radroots_nostr_connect::message::ResponseValidator::validate(&mut self, radroots_identity::key::PublicKey, impl core::convert::Into<alloc::string::String>, &radroots_nostr_connect::message::ResponseEnvelope) -> core::result::Result<(), radroots_nostr_connect::error::RadrootsNostrConnectError> +pub struct radroots_nostr_connect::message::SignedEvent(_) +impl radroots_nostr_connect::message::SignedEvent +pub fn radroots_nostr_connect::message::SignedEvent::as_json(&self) -> alloc::string::String +pub fn radroots_nostr_connect::message::SignedEvent::from_json(&str) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +impl core::fmt::Debug for radroots_nostr_connect::message::SignedEvent +pub fn radroots_nostr_connect::message::SignedEvent::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_nostr_connect::message::UnsignedEvent(_) +impl radroots_nostr_connect::message::UnsignedEvent +pub fn radroots_nostr_connect::message::UnsignedEvent::as_json(&self) -> alloc::string::String +pub fn radroots_nostr_connect::message::UnsignedEvent::from_json(&str) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::message::UnsignedEvent::kind(&self) -> u16 +impl core::fmt::Debug for radroots_nostr_connect::message::UnsignedEvent +pub fn radroots_nostr_connect::message::UnsignedEvent::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub const radroots_nostr_connect::message::PENDING_CONNECTION_ERROR: &str +pub const radroots_nostr_connect::message::REMOTE_CAPABILITY_RELAY_COUNT_MAX: usize +pub const radroots_nostr_connect::message::REQUEST_ID_MAX_BYTES: usize +pub const radroots_nostr_connect::message::REQUEST_PARAMS_MAX_BYTES: usize +pub const radroots_nostr_connect::message::REQUEST_PARAM_COUNT_MAX: usize +pub const radroots_nostr_connect::message::REQUEST_PARAM_MAX_BYTES: usize +pub const radroots_nostr_connect::message::RESPONSE_ERROR_MAX_BYTES: usize +pub const radroots_nostr_connect::message::RESPONSE_RESULT_MAX_BYTES: usize +pub const radroots_nostr_connect::message::RPC_KIND: u16 +pub mod radroots_nostr_connect::method +pub enum radroots_nostr_connect::method::Method +pub radroots_nostr_connect::method::Method::Connect +pub radroots_nostr_connect::method::Method::Custom(radroots_nostr_connect::method::CustomMethod) +pub radroots_nostr_connect::method::Method::GetPublicKey +pub radroots_nostr_connect::method::Method::GetSessionCapability +pub radroots_nostr_connect::method::Method::Logout +pub radroots_nostr_connect::method::Method::Nip04Decrypt +pub radroots_nostr_connect::method::Method::Nip04Encrypt +pub radroots_nostr_connect::method::Method::Nip44Decrypt +pub radroots_nostr_connect::method::Method::Nip44Encrypt +pub radroots_nostr_connect::method::Method::Ping +pub radroots_nostr_connect::method::Method::SignEvent +pub radroots_nostr_connect::method::Method::SwitchRelays +impl radroots_nostr_connect::method::Method +pub fn radroots_nostr_connect::method::Method::as_str(&self) -> &str +pub fn radroots_nostr_connect::method::Method::custom(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +impl core::fmt::Display for radroots_nostr_connect::method::Method +pub fn radroots_nostr_connect::method::Method::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_nostr_connect::method::Method +pub type radroots_nostr_connect::method::Method::Err = radroots_nostr_connect::error::RadrootsNostrConnectError +pub fn radroots_nostr_connect::method::Method::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_nostr_connect::method::Method +pub fn radroots_nostr_connect::method::Method::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_nostr_connect::method::Method +pub fn radroots_nostr_connect::method::Method::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_nostr_connect::method::CustomMethod(_) +impl radroots_nostr_connect::method::CustomMethod +pub fn radroots_nostr_connect::method::CustomMethod::as_str(&self) -> &str +pub const radroots_nostr_connect::method::METHOD_MAX_BYTES: usize +pub mod radroots_nostr_connect::permission +pub struct radroots_nostr_connect::permission::Permission +impl radroots_nostr_connect::permission::Permission +pub fn radroots_nostr_connect::permission::Permission::matches_request(&self, &radroots_nostr_connect::method::Method, core::option::Option<&str>) -> bool +pub fn radroots_nostr_connect::permission::Permission::matches_sign_event_kind(&self, u32) -> bool +pub fn radroots_nostr_connect::permission::Permission::method(&self) -> &radroots_nostr_connect::method::Method +pub fn radroots_nostr_connect::permission::Permission::new(radroots_nostr_connect::method::Method) -> Self +pub fn radroots_nostr_connect::permission::Permission::parameter(&self) -> core::option::Option<&str> +pub fn radroots_nostr_connect::permission::Permission::try_with_parameter(radroots_nostr_connect::method::Method, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +impl core::fmt::Display for radroots_nostr_connect::permission::Permission +pub fn radroots_nostr_connect::permission::Permission::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_nostr_connect::permission::Permission +pub type radroots_nostr_connect::permission::Permission::Err = radroots_nostr_connect::error::RadrootsNostrConnectError +pub fn radroots_nostr_connect::permission::Permission::from_str(&str) -> core::result::Result<Self, Self::Err> +pub struct radroots_nostr_connect::permission::Permissions(_) +impl radroots_nostr_connect::permission::Permissions +pub fn radroots_nostr_connect::permission::Permissions::allows_request(&self, &radroots_nostr_connect::method::Method, core::option::Option<&str>) -> bool +pub fn radroots_nostr_connect::permission::Permissions::allows_sign_event_kind(&self, u32) -> bool +pub fn radroots_nostr_connect::permission::Permissions::as_slice(&self) -> &[radroots_nostr_connect::permission::Permission] +pub fn radroots_nostr_connect::permission::Permissions::into_vec(self) -> alloc::vec::Vec<radroots_nostr_connect::permission::Permission> +pub fn radroots_nostr_connect::permission::Permissions::is_empty(&self) -> bool +pub fn radroots_nostr_connect::permission::Permissions::new() -> Self +pub fn radroots_nostr_connect::permission::Permissions::try_from_vec(alloc::vec::Vec<radroots_nostr_connect::permission::Permission>) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +impl core::convert::From<alloc::vec::Vec<radroots_nostr_connect::permission::Permission>> for radroots_nostr_connect::permission::Permissions +pub fn radroots_nostr_connect::permission::Permissions::from(alloc::vec::Vec<radroots_nostr_connect::permission::Permission>) -> Self +impl core::fmt::Display for radroots_nostr_connect::permission::Permissions +pub fn radroots_nostr_connect::permission::Permissions::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_nostr_connect::permission::Permissions +pub type radroots_nostr_connect::permission::Permissions::Err = radroots_nostr_connect::error::RadrootsNostrConnectError +pub fn radroots_nostr_connect::permission::Permissions::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_nostr_connect::permission::Permissions +pub fn radroots_nostr_connect::permission::Permissions::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_nostr_connect::permission::Permissions +pub fn radroots_nostr_connect::permission::Permissions::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub const radroots_nostr_connect::permission::PERMISSIONS_MAX_BYTES: usize +pub const radroots_nostr_connect::permission::PERMISSION_COUNT_MAX: usize +pub const radroots_nostr_connect::permission::PERMISSION_PARAMETER_MAX_BYTES: usize +pub mod radroots_nostr_connect::server +pub struct radroots_nostr_connect::server::Server +impl radroots_nostr_connect::server::Server +pub fn radroots_nostr_connect::server::Server::new() -> Self +pub fn radroots_nostr_connect::server::Server::parse(&mut self, impl core::convert::Into<alloc::string::String>, &str) -> core::result::Result<radroots_nostr_connect::server::ServerRequest, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::server::Server::with_supported_extensions(impl core::iter::traits::collect::IntoIterator<Item = radroots_nostr_connect::method::Method>) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +impl core::default::Default for radroots_nostr_connect::server::Server +pub fn radroots_nostr_connect::server::Server::default() -> Self +pub struct radroots_nostr_connect::server::ServerRequest +impl radroots_nostr_connect::server::ServerRequest +pub fn radroots_nostr_connect::server::ServerRequest::is_allowed_by(&self, &radroots_nostr_connect::permission::Permissions) -> bool +pub fn radroots_nostr_connect::server::ServerRequest::request(&self) -> &radroots_nostr_connect::message::Request +pub fn radroots_nostr_connect::server::ServerRequest::request_id(&self) -> &radroots_nostr_connect::message::RequestId +pub fn radroots_nostr_connect::server::ServerRequest::required_permission(&self) -> core::option::Option<&radroots_nostr_connect::permission::Permission> +pub fn radroots_nostr_connect::server::ServerRequest::respond(self, radroots_nostr_connect::message::Response) -> core::result::Result<radroots_nostr_connect::server::ServerResponse, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub struct radroots_nostr_connect::server::ServerResponse +impl radroots_nostr_connect::server::ServerResponse +pub fn radroots_nostr_connect::server::ServerResponse::as_json(&self) -> &str +pub fn radroots_nostr_connect::server::ServerResponse::envelope(&self) -> &radroots_nostr_connect::message::ResponseEnvelope +impl core::fmt::Debug for radroots_nostr_connect::server::ServerResponse +pub fn radroots_nostr_connect::server::ServerResponse::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub const radroots_nostr_connect::server::SERVER_MESSAGE_MAX_BYTES: usize +pub const radroots_nostr_connect::server::SERVER_REPLAY_WINDOW_MAX: usize +pub fn radroots_nostr_connect::server::required_permission(&radroots_nostr_connect::message::Request) -> core::option::Option<radroots_nostr_connect::permission::Permission> +pub mod radroots_nostr_connect::uri +pub enum radroots_nostr_connect::uri::Uri +pub radroots_nostr_connect::uri::Uri::Bunker(radroots_nostr_connect::uri::BunkerUri) +pub radroots_nostr_connect::uri::Uri::Client(radroots_nostr_connect::uri::ClientUri) +impl radroots_nostr_connect::uri::Uri +pub fn radroots_nostr_connect::uri::Uri::parse(&str) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +impl core::fmt::Display for radroots_nostr_connect::uri::Uri +pub fn radroots_nostr_connect::uri::Uri::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_nostr_connect::uri::Uri +pub type radroots_nostr_connect::uri::Uri::Err = radroots_nostr_connect::error::RadrootsNostrConnectError +pub fn radroots_nostr_connect::uri::Uri::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_nostr_connect::uri::Uri +pub fn radroots_nostr_connect::uri::Uri::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_nostr_connect::uri::Uri +pub fn radroots_nostr_connect::uri::Uri::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_nostr_connect::uri::BunkerUri +impl radroots_nostr_connect::uri::BunkerUri +pub fn radroots_nostr_connect::uri::BunkerUri::relays(&self) -> &[radroots_nostr_connect::uri::RelayUrl] +pub const fn radroots_nostr_connect::uri::BunkerUri::remote_signer_public_key(&self) -> radroots_identity::key::PublicKey +pub fn radroots_nostr_connect::uri::BunkerUri::secret(&self) -> core::option::Option<&str> +impl core::fmt::Debug for radroots_nostr_connect::uri::BunkerUri +pub fn radroots_nostr_connect::uri::BunkerUri::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_nostr_connect::uri::BunkerUri +pub fn radroots_nostr_connect::uri::BunkerUri::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl serde_core::ser::Serialize for radroots_nostr_connect::uri::BunkerUri +pub fn radroots_nostr_connect::uri::BunkerUri::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_nostr_connect::uri::BunkerUri +pub fn radroots_nostr_connect::uri::BunkerUri::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_nostr_connect::uri::ClientMetadata +impl radroots_nostr_connect::uri::ClientMetadata +pub fn radroots_nostr_connect::uri::ClientMetadata::from_connect_param(&str) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::uri::ClientMetadata::image(&self) -> core::option::Option<&str> +pub fn radroots_nostr_connect::uri::ClientMetadata::is_display_empty(&self) -> bool +pub fn radroots_nostr_connect::uri::ClientMetadata::name(&self) -> core::option::Option<&str> +pub fn radroots_nostr_connect::uri::ClientMetadata::new() -> Self +pub fn radroots_nostr_connect::uri::ClientMetadata::normalized(self) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::uri::ClientMetadata::requested_permissions(&self) -> &radroots_nostr_connect::permission::Permissions +pub fn radroots_nostr_connect::uri::ClientMetadata::to_connect_param(&self) -> core::result::Result<alloc::string::String, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::uri::ClientMetadata::url(&self) -> core::option::Option<&str> +pub fn radroots_nostr_connect::uri::ClientMetadata::with_image(self, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::uri::ClientMetadata::with_name(self, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::uri::ClientMetadata::with_requested_permissions(self, radroots_nostr_connect::permission::Permissions) -> Self +pub fn radroots_nostr_connect::uri::ClientMetadata::with_url(self, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +impl serde_core::ser::Serialize for radroots_nostr_connect::uri::ClientMetadata +pub fn radroots_nostr_connect::uri::ClientMetadata::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_nostr_connect::uri::ClientMetadata +pub fn radroots_nostr_connect::uri::ClientMetadata::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_nostr_connect::uri::ClientUri +impl radroots_nostr_connect::uri::ClientUri +pub const fn radroots_nostr_connect::uri::ClientUri::client_public_key(&self) -> radroots_identity::key::PublicKey +pub fn radroots_nostr_connect::uri::ClientUri::metadata(&self) -> &radroots_nostr_connect::uri::ClientMetadata +pub fn radroots_nostr_connect::uri::ClientUri::relays(&self) -> &[radroots_nostr_connect::uri::RelayUrl] +pub fn radroots_nostr_connect::uri::ClientUri::secret(&self) -> &str +pub fn radroots_nostr_connect::uri::ClientUri::try_new(radroots_identity::key::PublicKey, impl core::iter::traits::collect::IntoIterator<Item = radroots_nostr_connect::uri::RelayUrl>, impl core::convert::Into<alloc::string::String>, radroots_nostr_connect::uri::ClientMetadata) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +impl core::fmt::Debug for radroots_nostr_connect::uri::ClientUri +pub fn radroots_nostr_connect::uri::ClientUri::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_nostr_connect::uri::ClientUri +pub fn radroots_nostr_connect::uri::ClientUri::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl serde_core::ser::Serialize for radroots_nostr_connect::uri::ClientUri +pub fn radroots_nostr_connect::uri::ClientUri::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_nostr_connect::uri::ClientUri +pub fn radroots_nostr_connect::uri::ClientUri::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_nostr_connect::uri::RelayUrl(_) +impl radroots_nostr_connect::uri::RelayUrl +pub fn radroots_nostr_connect::uri::RelayUrl::parse(&str) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +impl core::fmt::Debug for radroots_nostr_connect::uri::RelayUrl +pub fn radroots_nostr_connect::uri::RelayUrl::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_nostr_connect::uri::RelayUrl +pub fn radroots_nostr_connect::uri::RelayUrl::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_nostr_connect::uri::RelayUrl +pub type radroots_nostr_connect::uri::RelayUrl::Err = radroots_nostr_connect::error::RadrootsNostrConnectError +pub fn radroots_nostr_connect::uri::RelayUrl::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_nostr_connect::uri::RelayUrl +pub fn radroots_nostr_connect::uri::RelayUrl::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_nostr_connect::uri::RelayUrl +pub fn radroots_nostr_connect::uri::RelayUrl::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub const radroots_nostr_connect::uri::BUNKER_URI_SCHEME: &str +pub const radroots_nostr_connect::uri::CLIENT_METADATA_JSON_MAX_BYTES: usize +pub const radroots_nostr_connect::uri::CLIENT_NAME_MAX_BYTES: usize +pub const radroots_nostr_connect::uri::CLIENT_URL_MAX_BYTES: usize +pub const radroots_nostr_connect::uri::RELAY_COUNT_MAX: usize +pub const radroots_nostr_connect::uri::SECRET_MAX_BYTES: usize +pub const radroots_nostr_connect::uri::URI_MAX_BYTES: usize +pub const radroots_nostr_connect::uri::URI_SCHEME: &str +pub enum radroots_nostr_connect::Error +pub radroots_nostr_connect::Error::ClientMetadataTooLarge +pub radroots_nostr_connect::Error::ClientMetadataTooLarge::max: usize +pub radroots_nostr_connect::Error::ClientMetadataTooLarge::received: usize +pub radroots_nostr_connect::Error::Decrypt +pub radroots_nostr_connect::Error::Decrypt::reason: alloc::string::String +pub radroots_nostr_connect::Error::Encrypt +pub radroots_nostr_connect::Error::Encrypt::reason: alloc::string::String +pub radroots_nostr_connect::Error::InvalidClientEvent +pub radroots_nostr_connect::Error::InvalidClientKey +pub radroots_nostr_connect::Error::InvalidClientMetadata +pub radroots_nostr_connect::Error::InvalidClientMetadata::field: &'static str +pub radroots_nostr_connect::Error::InvalidClientMetadata::reason: alloc::string::String +pub radroots_nostr_connect::Error::InvalidClientState +pub radroots_nostr_connect::Error::InvalidClientState::reason: &'static str +pub radroots_nostr_connect::Error::InvalidClientTarget +pub radroots_nostr_connect::Error::InvalidClientTarget::reason: &'static str +pub radroots_nostr_connect::Error::InvalidMethod(alloc::string::String) +pub radroots_nostr_connect::Error::InvalidParams +pub radroots_nostr_connect::Error::InvalidParams::expected: &'static str +pub radroots_nostr_connect::Error::InvalidParams::method: alloc::string::String +pub radroots_nostr_connect::Error::InvalidParams::received: usize +pub radroots_nostr_connect::Error::InvalidPermission(alloc::string::String) +pub radroots_nostr_connect::Error::InvalidPublicKey +pub radroots_nostr_connect::Error::InvalidPublicKey::reason: alloc::string::String +pub radroots_nostr_connect::Error::InvalidPublicKey::value: alloc::string::String +pub radroots_nostr_connect::Error::InvalidRelayUrl +pub radroots_nostr_connect::Error::InvalidRelayUrl::reason: alloc::string::String +pub radroots_nostr_connect::Error::InvalidRelayUrl::value: alloc::string::String +pub radroots_nostr_connect::Error::InvalidRequestId +pub radroots_nostr_connect::Error::InvalidRequestId::reason: &'static str +pub radroots_nostr_connect::Error::InvalidRequestPayload +pub radroots_nostr_connect::Error::InvalidRequestPayload::method: alloc::string::String +pub radroots_nostr_connect::Error::InvalidRequestPayload::reason: alloc::string::String +pub radroots_nostr_connect::Error::InvalidResponseEnvelope +pub radroots_nostr_connect::Error::InvalidResponseEnvelope::reason: &'static str +pub radroots_nostr_connect::Error::InvalidResponsePayload +pub radroots_nostr_connect::Error::InvalidResponsePayload::method: alloc::string::String +pub radroots_nostr_connect::Error::InvalidResponsePayload::reason: alloc::string::String +pub radroots_nostr_connect::Error::InvalidServerRequest +pub radroots_nostr_connect::Error::InvalidServerRequest::reason: &'static str +pub radroots_nostr_connect::Error::InvalidServerState +pub radroots_nostr_connect::Error::InvalidServerState::reason: &'static str +pub radroots_nostr_connect::Error::InvalidUri +pub radroots_nostr_connect::Error::InvalidUriScheme(alloc::string::String) +pub radroots_nostr_connect::Error::InvalidUrl +pub radroots_nostr_connect::Error::InvalidUrl::reason: alloc::string::String +pub radroots_nostr_connect::Error::InvalidUrl::value: alloc::string::String +pub radroots_nostr_connect::Error::Json(alloc::string::String) +pub radroots_nostr_connect::Error::MissingPublicKey +pub radroots_nostr_connect::Error::MissingRelay +pub radroots_nostr_connect::Error::MissingResult +pub radroots_nostr_connect::Error::MissingSecret +pub radroots_nostr_connect::Error::ReplayedRequest +pub radroots_nostr_connect::Error::ReplayedResponse +pub radroots_nostr_connect::Error::RequestTimedOut +pub radroots_nostr_connect::Error::Sign +pub radroots_nostr_connect::Error::Sign::reason: alloc::string::String +pub radroots_nostr_connect::Error::Transport +pub radroots_nostr_connect::Error::Transport::reason: alloc::string::String +pub radroots_nostr_connect::Error::UnsupportedMethod(radroots_nostr_connect::method::Method) +pub radroots_nostr_connect::Error::WrongRequestId +pub radroots_nostr_connect::Error::WrongResponseSigner +impl core::convert::From<serde_json::error::Error> for radroots_nostr_connect::error::RadrootsNostrConnectError +pub fn radroots_nostr_connect::error::RadrootsNostrConnectError::from(serde_json::error::Error) -> Self +pub enum radroots_nostr_connect::Method +pub radroots_nostr_connect::Method::Connect +pub radroots_nostr_connect::Method::Custom(radroots_nostr_connect::method::CustomMethod) +pub radroots_nostr_connect::Method::GetPublicKey +pub radroots_nostr_connect::Method::GetSessionCapability +pub radroots_nostr_connect::Method::Logout +pub radroots_nostr_connect::Method::Nip04Decrypt +pub radroots_nostr_connect::Method::Nip04Encrypt +pub radroots_nostr_connect::Method::Nip44Decrypt +pub radroots_nostr_connect::Method::Nip44Encrypt +pub radroots_nostr_connect::Method::Ping +pub radroots_nostr_connect::Method::SignEvent +pub radroots_nostr_connect::Method::SwitchRelays +impl radroots_nostr_connect::method::Method +pub fn radroots_nostr_connect::method::Method::as_str(&self) -> &str +pub fn radroots_nostr_connect::method::Method::custom(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +impl core::fmt::Display for radroots_nostr_connect::method::Method +pub fn radroots_nostr_connect::method::Method::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_nostr_connect::method::Method +pub type radroots_nostr_connect::method::Method::Err = radroots_nostr_connect::error::RadrootsNostrConnectError +pub fn radroots_nostr_connect::method::Method::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_nostr_connect::method::Method +pub fn radroots_nostr_connect::method::Method::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_nostr_connect::method::Method +pub fn radroots_nostr_connect::method::Method::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub enum radroots_nostr_connect::Request +pub radroots_nostr_connect::Request::Connect +pub radroots_nostr_connect::Request::Connect::client_metadata: core::option::Option<radroots_nostr_connect::uri::ClientMetadata> +pub radroots_nostr_connect::Request::Connect::remote_signer_public_key: radroots_identity::key::PublicKey +pub radroots_nostr_connect::Request::Connect::requested_permissions: radroots_nostr_connect::permission::Permissions +pub radroots_nostr_connect::Request::Connect::secret: core::option::Option<alloc::string::String> +pub radroots_nostr_connect::Request::Custom +pub radroots_nostr_connect::Request::Custom::method: radroots_nostr_connect::method::Method +pub radroots_nostr_connect::Request::Custom::params: alloc::vec::Vec<alloc::string::String> +pub radroots_nostr_connect::Request::GetPublicKey +pub radroots_nostr_connect::Request::GetSessionCapability +pub radroots_nostr_connect::Request::Logout +pub radroots_nostr_connect::Request::Nip04Decrypt +pub radroots_nostr_connect::Request::Nip04Decrypt::ciphertext: alloc::string::String +pub radroots_nostr_connect::Request::Nip04Decrypt::public_key: radroots_identity::key::PublicKey +pub radroots_nostr_connect::Request::Nip04Encrypt +pub radroots_nostr_connect::Request::Nip04Encrypt::plaintext: alloc::string::String +pub radroots_nostr_connect::Request::Nip04Encrypt::public_key: radroots_identity::key::PublicKey +pub radroots_nostr_connect::Request::Nip44Decrypt +pub radroots_nostr_connect::Request::Nip44Decrypt::ciphertext: alloc::string::String +pub radroots_nostr_connect::Request::Nip44Decrypt::public_key: radroots_identity::key::PublicKey +pub radroots_nostr_connect::Request::Nip44Encrypt +pub radroots_nostr_connect::Request::Nip44Encrypt::plaintext: alloc::string::String +pub radroots_nostr_connect::Request::Nip44Encrypt::public_key: radroots_identity::key::PublicKey +pub radroots_nostr_connect::Request::Ping +pub radroots_nostr_connect::Request::SignEvent(radroots_nostr_connect::message::UnsignedEvent) +pub radroots_nostr_connect::Request::SwitchRelays +impl radroots_nostr_connect::message::Request +pub fn radroots_nostr_connect::message::Request::from_parts(radroots_nostr_connect::method::Method, alloc::vec::Vec<alloc::string::String>) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::message::Request::method(&self) -> radroots_nostr_connect::method::Method +pub fn radroots_nostr_connect::message::Request::to_params(&self) -> core::result::Result<alloc::vec::Vec<alloc::string::String>, radroots_nostr_connect::error::RadrootsNostrConnectError> +impl core::fmt::Debug for radroots_nostr_connect::message::Request +pub fn radroots_nostr_connect::message::Request::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_nostr_connect::Response +pub radroots_nostr_connect::Response::AuthUrl(alloc::string::String) +pub radroots_nostr_connect::Response::ConnectAcknowledged +pub radroots_nostr_connect::Response::ConnectSecretEcho(alloc::string::String) +pub radroots_nostr_connect::Response::Custom +pub radroots_nostr_connect::Response::Custom::error: core::option::Option<alloc::string::String> +pub radroots_nostr_connect::Response::Custom::result: core::option::Option<serde_json::value::Value> +pub radroots_nostr_connect::Response::Error +pub radroots_nostr_connect::Response::Error::error: alloc::string::String +pub radroots_nostr_connect::Response::Error::result: core::option::Option<serde_json::value::Value> +pub radroots_nostr_connect::Response::LogoutAcknowledged +pub radroots_nostr_connect::Response::Nip04Decrypt(alloc::string::String) +pub radroots_nostr_connect::Response::Nip04Encrypt(alloc::string::String) +pub radroots_nostr_connect::Response::Nip44Decrypt(alloc::string::String) +pub radroots_nostr_connect::Response::Nip44Encrypt(alloc::string::String) +pub radroots_nostr_connect::Response::PendingConnection +pub radroots_nostr_connect::Response::Pong +pub radroots_nostr_connect::Response::RelayList(alloc::vec::Vec<radroots_nostr_connect::uri::RelayUrl>) +pub radroots_nostr_connect::Response::RelayListUnchanged +pub radroots_nostr_connect::Response::RemoteSessionCapability(radroots_nostr_connect::message::RemoteSessionCapability) +pub radroots_nostr_connect::Response::SignedEvent(radroots_nostr_connect::message::SignedEvent) +pub radroots_nostr_connect::Response::UserPublicKey(radroots_identity::key::PublicKey) +impl radroots_nostr_connect::message::Response +pub fn radroots_nostr_connect::message::Response::from_envelope(&radroots_nostr_connect::method::Method, radroots_nostr_connect::message::ResponseEnvelope) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::message::Response::into_envelope(self, impl core::convert::Into<alloc::string::String>) -> core::result::Result<radroots_nostr_connect::message::ResponseEnvelope, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::message::Response::into_pending_connection_poll_outcome(self) -> radroots_nostr_connect::message::PendingConnectionOutcome +impl core::fmt::Debug for radroots_nostr_connect::message::Response +pub fn radroots_nostr_connect::message::Response::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_nostr_connect::BunkerUri +impl radroots_nostr_connect::uri::BunkerUri +pub fn radroots_nostr_connect::uri::BunkerUri::relays(&self) -> &[radroots_nostr_connect::uri::RelayUrl] +pub const fn radroots_nostr_connect::uri::BunkerUri::remote_signer_public_key(&self) -> radroots_identity::key::PublicKey +pub fn radroots_nostr_connect::uri::BunkerUri::secret(&self) -> core::option::Option<&str> +impl core::fmt::Debug for radroots_nostr_connect::uri::BunkerUri +pub fn radroots_nostr_connect::uri::BunkerUri::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_nostr_connect::uri::BunkerUri +pub fn radroots_nostr_connect::uri::BunkerUri::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl serde_core::ser::Serialize for radroots_nostr_connect::uri::BunkerUri +pub fn radroots_nostr_connect::uri::BunkerUri::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_nostr_connect::uri::BunkerUri +pub fn radroots_nostr_connect::uri::BunkerUri::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_nostr_connect::Client +impl radroots_nostr_connect::client::Client +pub async fn radroots_nostr_connect::client::Client::execute<T, F>(&self, radroots_nostr_connect::message::RequestId, radroots_nostr_connect::message::Request, &mut T, &radroots_nostr_connect::client::CancellationToken, F) -> core::result::Result<radroots_nostr_connect::client::Completion, radroots_nostr_connect::error::RadrootsNostrConnectError> where T: radroots_nostr_connect::client::Transport + ?core::marker::Sized, F: core::ops::function::FnMut(radroots_nostr_connect::client::Progress) -> core::result::Result<(), radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::client::Client::from_secret(&str, radroots_nostr_connect::client::Target) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::client::Client::generate(radroots_nostr_connect::client::Target) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::client::Client::prepare(&self, radroots_nostr_connect::message::RequestId, radroots_nostr_connect::message::Request) -> core::result::Result<radroots_nostr_connect::client::Operation<'_>, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::client::Client::public_key(&self) -> core::result::Result<radroots_identity::key::PublicKey, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::client::Client::target(&self) -> &radroots_nostr_connect::client::Target +impl core::fmt::Debug for radroots_nostr_connect::client::Client +pub fn radroots_nostr_connect::client::Client::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_nostr_connect::ClientUri +impl radroots_nostr_connect::uri::ClientUri +pub const fn radroots_nostr_connect::uri::ClientUri::client_public_key(&self) -> radroots_identity::key::PublicKey +pub fn radroots_nostr_connect::uri::ClientUri::metadata(&self) -> &radroots_nostr_connect::uri::ClientMetadata +pub fn radroots_nostr_connect::uri::ClientUri::relays(&self) -> &[radroots_nostr_connect::uri::RelayUrl] +pub fn radroots_nostr_connect::uri::ClientUri::secret(&self) -> &str +pub fn radroots_nostr_connect::uri::ClientUri::try_new(radroots_identity::key::PublicKey, impl core::iter::traits::collect::IntoIterator<Item = radroots_nostr_connect::uri::RelayUrl>, impl core::convert::Into<alloc::string::String>, radroots_nostr_connect::uri::ClientMetadata) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +impl core::fmt::Debug for radroots_nostr_connect::uri::ClientUri +pub fn radroots_nostr_connect::uri::ClientUri::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_nostr_connect::uri::ClientUri +pub fn radroots_nostr_connect::uri::ClientUri::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl serde_core::ser::Serialize for radroots_nostr_connect::uri::ClientUri +pub fn radroots_nostr_connect::uri::ClientUri::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_nostr_connect::uri::ClientUri +pub fn radroots_nostr_connect::uri::ClientUri::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_nostr_connect::Permission +impl radroots_nostr_connect::permission::Permission +pub fn radroots_nostr_connect::permission::Permission::matches_request(&self, &radroots_nostr_connect::method::Method, core::option::Option<&str>) -> bool +pub fn radroots_nostr_connect::permission::Permission::matches_sign_event_kind(&self, u32) -> bool +pub fn radroots_nostr_connect::permission::Permission::method(&self) -> &radroots_nostr_connect::method::Method +pub fn radroots_nostr_connect::permission::Permission::new(radroots_nostr_connect::method::Method) -> Self +pub fn radroots_nostr_connect::permission::Permission::parameter(&self) -> core::option::Option<&str> +pub fn radroots_nostr_connect::permission::Permission::try_with_parameter(radroots_nostr_connect::method::Method, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +impl core::fmt::Display for radroots_nostr_connect::permission::Permission +pub fn radroots_nostr_connect::permission::Permission::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_nostr_connect::permission::Permission +pub type radroots_nostr_connect::permission::Permission::Err = radroots_nostr_connect::error::RadrootsNostrConnectError +pub fn radroots_nostr_connect::permission::Permission::from_str(&str) -> core::result::Result<Self, Self::Err> +pub struct radroots_nostr_connect::Server +impl radroots_nostr_connect::server::Server +pub fn radroots_nostr_connect::server::Server::new() -> Self +pub fn radroots_nostr_connect::server::Server::parse(&mut self, impl core::convert::Into<alloc::string::String>, &str) -> core::result::Result<radroots_nostr_connect::server::ServerRequest, radroots_nostr_connect::error::RadrootsNostrConnectError> +pub fn radroots_nostr_connect::server::Server::with_supported_extensions(impl core::iter::traits::collect::IntoIterator<Item = radroots_nostr_connect::method::Method>) -> core::result::Result<Self, radroots_nostr_connect::error::RadrootsNostrConnectError> +impl core::default::Default for radroots_nostr_connect::server::Server +pub fn radroots_nostr_connect::server::Server::default() -> Self diff --git a/contracts/api_baselines/radroots_protocol.txt b/contracts/api_baselines/radroots_protocol.txt @@ -0,0 +1,791 @@ +pub mod radroots_protocol +pub mod radroots_protocol::capability +pub mod radroots_protocol::capability::v1 +pub enum radroots_protocol::capability::v1::Availability +pub radroots_protocol::capability::v1::Availability::Available +pub radroots_protocol::capability::v1::Availability::Degraded +pub radroots_protocol::capability::v1::Availability::Unavailable +#[non_exhaustive] pub enum radroots_protocol::capability::v1::Error +pub radroots_protocol::capability::v1::Error::DuplicateTransportKind +pub radroots_protocol::capability::v1::Error::DuplicateTransportKind::kind: radroots_protocol::capability::v1::TransportKind +pub radroots_protocol::capability::v1::Error::EmptyTransportKind +pub radroots_protocol::capability::v1::Error::InvalidMeshScopeId +pub radroots_protocol::capability::v1::Error::InvalidReticulumDestination +pub radroots_protocol::capability::v1::Error::InvalidTransportKind +pub radroots_protocol::capability::v1::Error::InvalidTransportKind::value: alloc::string::String +pub radroots_protocol::capability::v1::Error::MissingRequiredTransport +pub radroots_protocol::capability::v1::Error::MissingRequiredTransport::kind: radroots_protocol::capability::v1::TransportKind +impl core::error::Error for radroots_protocol::capability::v1::Error +impl core::fmt::Display for radroots_protocol::capability::v1::Error +pub fn radroots_protocol::capability::v1::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_protocol::capability::v1::Maturity +pub radroots_protocol::capability::v1::Maturity::Experimental +pub radroots_protocol::capability::v1::Maturity::Preview +pub radroots_protocol::capability::v1::Maturity::Stable +pub struct radroots_protocol::capability::v1::MeshScopeId +impl radroots_protocol::capability::v1::MeshScopeId +pub fn radroots_protocol::capability::v1::MeshScopeId::as_str(&self) -> &str +pub fn radroots_protocol::capability::v1::MeshScopeId::parse(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_protocol::capability::v1::Error> +pub struct radroots_protocol::capability::v1::ReticulumDestination +impl radroots_protocol::capability::v1::ReticulumDestination +pub fn radroots_protocol::capability::v1::ReticulumDestination::as_str(&self) -> &str +pub fn radroots_protocol::capability::v1::ReticulumDestination::parse(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_protocol::capability::v1::Error> +pub struct radroots_protocol::capability::v1::ReticulumTarget +pub radroots_protocol::capability::v1::ReticulumTarget::destination: radroots_protocol::capability::v1::ReticulumDestination +pub radroots_protocol::capability::v1::ReticulumTarget::mesh_scope: core::option::Option<radroots_protocol::capability::v1::MeshScopeId> +pub struct radroots_protocol::capability::v1::TransportDescriptor +pub radroots_protocol::capability::v1::TransportDescriptor::availability: radroots_protocol::capability::v1::Availability +pub radroots_protocol::capability::v1::TransportDescriptor::can_deliver: bool +pub radroots_protocol::capability::v1::TransportDescriptor::can_discover: bool +pub radroots_protocol::capability::v1::TransportDescriptor::can_fetch: bool +pub radroots_protocol::capability::v1::TransportDescriptor::can_gateway_forward: bool +pub radroots_protocol::capability::v1::TransportDescriptor::can_observe_receipts: bool +pub radroots_protocol::capability::v1::TransportDescriptor::kind: radroots_protocol::capability::v1::TransportKind +pub radroots_protocol::capability::v1::TransportDescriptor::maturity: radroots_protocol::capability::v1::Maturity +pub radroots_protocol::capability::v1::TransportDescriptor::required_for_v1: bool +pub struct radroots_protocol::capability::v1::TransportKind +impl radroots_protocol::capability::v1::TransportKind +pub const radroots_protocol::capability::v1::TransportKind::LOCAL: Self +pub const radroots_protocol::capability::v1::TransportKind::NOSTR: Self +pub const radroots_protocol::capability::v1::TransportKind::RADROOTSD: Self +pub const radroots_protocol::capability::v1::TransportKind::RETICULUM: Self +pub fn radroots_protocol::capability::v1::TransportKind::as_str(&self) -> &str +pub fn radroots_protocol::capability::v1::TransportKind::parse(&str) -> core::result::Result<Self, radroots_protocol::capability::v1::Error> +impl core::fmt::Display for radroots_protocol::capability::v1::TransportKind +pub fn radroots_protocol::capability::v1::TransportKind::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl serde_core::ser::Serialize for radroots_protocol::capability::v1::TransportKind +pub fn radroots_protocol::capability::v1::TransportKind::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_protocol::capability::v1::TransportKind +pub fn radroots_protocol::capability::v1::TransportKind::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub const radroots_protocol::capability::v1::CATALOG: &[radroots_protocol::capability::v1::TransportDescriptor] +pub const radroots_protocol::capability::v1::MAX_TRANSPORT_KIND_BYTES: usize +pub const radroots_protocol::capability::v1::SCHEMAS: &[radroots_protocol::schema::Metadata] +pub fn radroots_protocol::capability::v1::schema_registry() -> core::result::Result<radroots_protocol::schema::Registry, radroots_protocol::schema::Error> +pub fn radroots_protocol::capability::v1::validate_catalog(&[radroots_protocol::capability::v1::TransportDescriptor]) -> core::result::Result<(), radroots_protocol::capability::v1::Error> +pub mod radroots_protocol::error +pub mod radroots_protocol::error::v1 +pub enum radroots_protocol::error::v1::Class +pub radroots_protocol::error::v1::Class::Authorization +pub radroots_protocol::error::v1::Class::Capability +pub radroots_protocol::error::v1::Class::Conflict +pub radroots_protocol::error::v1::Class::Contract +pub radroots_protocol::error::v1::Class::Internal +pub radroots_protocol::error::v1::Class::Maintenance +pub radroots_protocol::error::v1::Class::Network +pub radroots_protocol::error::v1::Class::Operation +pub radroots_protocol::error::v1::Class::Privacy +pub radroots_protocol::error::v1::Class::Projection +pub radroots_protocol::error::v1::Class::Query +pub radroots_protocol::error::v1::Class::Resource +pub radroots_protocol::error::v1::Class::Runtime +pub radroots_protocol::error::v1::Class::Security +pub radroots_protocol::error::v1::Class::Signer +pub radroots_protocol::error::v1::Class::Storage +pub radroots_protocol::error::v1::Class::Sync +pub radroots_protocol::error::v1::Class::Unknown +pub radroots_protocol::error::v1::Class::Validation +pub enum radroots_protocol::error::v1::DetailValue +pub radroots_protocol::error::v1::DetailValue::Bool(bool) +pub radroots_protocol::error::v1::DetailValue::Signed(i64) +pub radroots_protocol::error::v1::DetailValue::Text(alloc::string::String) +pub radroots_protocol::error::v1::DetailValue::Unsigned(u64) +#[non_exhaustive] pub enum radroots_protocol::error::v1::Error +pub radroots_protocol::error::v1::Error::DescriptorMismatch +pub radroots_protocol::error::v1::Error::DescriptorMismatch::code: radroots_protocol::error::v1::KnownCode +pub radroots_protocol::error::v1::Error::DuplicateDetailKey +pub radroots_protocol::error::v1::Error::ExpectedUnknownCode +pub radroots_protocol::error::v1::Error::InvalidCapabilityId +pub radroots_protocol::error::v1::Error::InvalidCode +pub radroots_protocol::error::v1::Error::InvalidDetailKey +pub radroots_protocol::error::v1::Error::InvalidDetailText +pub radroots_protocol::error::v1::Error::InvalidSafeMessage +pub radroots_protocol::error::v1::Error::InvalidUnknownCodePolicy +pub radroots_protocol::error::v1::Error::SensitiveDetailKey +pub radroots_protocol::error::v1::Error::SensitiveMessage +pub radroots_protocol::error::v1::Error::TooManyDetails +pub radroots_protocol::error::v1::Error::UnsupportedSchemaVersion +pub radroots_protocol::error::v1::Error::UnsupportedSchemaVersion::version: u16 +impl core::error::Error for radroots_protocol::error::v1::Error +impl core::fmt::Display for radroots_protocol::error::v1::Error +pub fn radroots_protocol::error::v1::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_protocol::error::v1::KnownCode +pub radroots_protocol::error::v1::KnownCode::AmbiguousTrade +pub radroots_protocol::error::v1::KnownCode::ApprovalExpired +pub radroots_protocol::error::v1::KnownCode::ApprovalInvalid +pub radroots_protocol::error::v1::KnownCode::ApprovalReplayed +pub radroots_protocol::error::v1::KnownCode::ApprovalRequired +pub radroots_protocol::error::v1::KnownCode::AuthorizationDenied +pub radroots_protocol::error::v1::KnownCode::Backpressure +pub radroots_protocol::error::v1::KnownCode::BackupAuthenticationFailed +pub radroots_protocol::error::v1::KnownCode::BackupInvalid +pub radroots_protocol::error::v1::KnownCode::CancelledNoCommit +pub radroots_protocol::error::v1::KnownCode::DatabaseBusy +pub radroots_protocol::error::v1::KnownCode::DeadlineExceeded +pub radroots_protocol::error::v1::KnownCode::DmRelayUnconfigured +pub radroots_protocol::error::v1::KnownCode::IdempotencyConflict +pub radroots_protocol::error::v1::KnownCode::InternalError +pub radroots_protocol::error::v1::KnownCode::InvalidArgument +pub radroots_protocol::error::v1::KnownCode::InvalidCursor +pub radroots_protocol::error::v1::KnownCode::InventoryUnavailable +pub radroots_protocol::error::v1::KnownCode::LocalCommittedDeliveryPending +pub radroots_protocol::error::v1::KnownCode::MaintenanceInProgress +pub radroots_protocol::error::v1::KnownCode::MediaPolicyDenied +pub radroots_protocol::error::v1::KnownCode::NotFound +pub radroots_protocol::error::v1::KnownCode::OperationInProgress +pub radroots_protocol::error::v1::KnownCode::PreconditionChanged +pub radroots_protocol::error::v1::KnownCode::PrivateDataUnavailable +pub radroots_protocol::error::v1::KnownCode::ProfileWriterInUse +pub radroots_protocol::error::v1::KnownCode::ProjectionFailed +pub radroots_protocol::error::v1::KnownCode::ProjectionGenerationChanged +pub radroots_protocol::error::v1::KnownCode::ProjectionStale +pub radroots_protocol::error::v1::KnownCode::RelayAuthRejected +pub radroots_protocol::error::v1::KnownCode::RelayAuthRequired +pub radroots_protocol::error::v1::KnownCode::RelayPaymentRequired +pub radroots_protocol::error::v1::KnownCode::RelayPolicyRestricted +pub radroots_protocol::error::v1::KnownCode::RelayPowRequired +pub radroots_protocol::error::v1::KnownCode::RelayRateLimited +pub radroots_protocol::error::v1::KnownCode::RestoreFailed +pub radroots_protocol::error::v1::KnownCode::RevisionRequired +pub radroots_protocol::error::v1::KnownCode::SchemaTooNew +pub radroots_protocol::error::v1::KnownCode::SignerCancelled +pub radroots_protocol::error::v1::KnownCode::SignerCapabilityMissing +pub radroots_protocol::error::v1::KnownCode::SignerOutputInvalid +pub radroots_protocol::error::v1::KnownCode::SignerRejected +pub radroots_protocol::error::v1::KnownCode::SignerTimeout +pub radroots_protocol::error::v1::KnownCode::SignerUnavailable +pub radroots_protocol::error::v1::KnownCode::StaleListingRevision +pub radroots_protocol::error::v1::KnownCode::StorageIntegrityFailed +pub radroots_protocol::error::v1::KnownCode::StorageSpaceInsufficient +pub radroots_protocol::error::v1::KnownCode::SyncPartial +pub radroots_protocol::error::v1::KnownCode::SyncSaturated +pub radroots_protocol::error::v1::KnownCode::TransportOperationUnavailable +pub radroots_protocol::error::v1::KnownCode::TransportPartial +pub radroots_protocol::error::v1::KnownCode::UnsupportedCapability +pub radroots_protocol::error::v1::KnownCode::UnsupportedContractVersion +pub radroots_protocol::error::v1::KnownCode::UnsupportedProfileSchema +pub radroots_protocol::error::v1::KnownCode::ValidationExpired +pub radroots_protocol::error::v1::KnownCode::ValidationPending +pub radroots_protocol::error::v1::KnownCode::ValidatorSetInvalid +impl radroots_protocol::error::v1::KnownCode +pub const radroots_protocol::error::v1::KnownCode::ALL: &'static [Self] +pub const fn radroots_protocol::error::v1::KnownCode::as_str(self) -> &'static str +pub const fn radroots_protocol::error::v1::KnownCode::descriptor(self) -> radroots_protocol::error::v1::Descriptor +pub fn radroots_protocol::error::v1::KnownCode::parse(&str) -> core::option::Option<Self> +pub enum radroots_protocol::error::v1::RecoveryAction +pub radroots_protocol::error::v1::RecoveryAction::CompleteSignerAuthentication +pub radroots_protocol::error::v1::RecoveryAction::ConfigureGeoNamesCache +pub radroots_protocol::error::v1::RecoveryAction::ConfigureSigner +pub radroots_protocol::error::v1::RecoveryAction::ConfigureTransportTargets +pub radroots_protocol::error::v1::RecoveryAction::EnableRequiredFeature +pub radroots_protocol::error::v1::RecoveryAction::FixRequest +pub radroots_protocol::error::v1::RecoveryAction::InspectGeoNamesAsset +pub radroots_protocol::error::v1::RecoveryAction::InspectLocalStores +pub radroots_protocol::error::v1::RecoveryAction::RetryAfterTransportFailure +pub radroots_protocol::error::v1::RecoveryAction::RetryGeoNamesDownload +pub radroots_protocol::error::v1::RecoveryAction::RetryOperationWithSameIdempotencyKey +pub radroots_protocol::error::v1::RecoveryAction::SelectAuthorizedActor +pub struct radroots_protocol::error::v1::CapabilityId(_) +impl radroots_protocol::error::v1::CapabilityId +pub fn radroots_protocol::error::v1::CapabilityId::as_str(&self) -> &str +pub fn radroots_protocol::error::v1::CapabilityId::parse(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_protocol::error::v1::Error> +impl serde_core::ser::Serialize for radroots_protocol::error::v1::CapabilityId +pub fn radroots_protocol::error::v1::CapabilityId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_protocol::error::v1::CapabilityId +pub fn radroots_protocol::error::v1::CapabilityId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_protocol::error::v1::Code(_) +impl radroots_protocol::error::v1::Code +pub fn radroots_protocol::error::v1::Code::as_str(&self) -> &str +pub fn radroots_protocol::error::v1::Code::known(radroots_protocol::error::v1::KnownCode) -> Self +pub fn radroots_protocol::error::v1::Code::known_code(&self) -> core::option::Option<radroots_protocol::error::v1::KnownCode> +pub fn radroots_protocol::error::v1::Code::parse(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_protocol::error::v1::Error> +impl serde_core::ser::Serialize for radroots_protocol::error::v1::Code +pub fn radroots_protocol::error::v1::Code::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_protocol::error::v1::Code +pub fn radroots_protocol::error::v1::Code::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_protocol::error::v1::Descriptor +pub radroots_protocol::error::v1::Descriptor::class: radroots_protocol::error::v1::Class +pub radroots_protocol::error::v1::Descriptor::code: radroots_protocol::error::v1::KnownCode +pub radroots_protocol::error::v1::Descriptor::recovery_actions: &'static [radroots_protocol::error::v1::RecoveryAction] +pub radroots_protocol::error::v1::Descriptor::retryable: bool +pub struct radroots_protocol::error::v1::Detail +pub radroots_protocol::error::v1::Detail::key: alloc::string::String +pub radroots_protocol::error::v1::Detail::value: radroots_protocol::error::v1::DetailValue +impl radroots_protocol::error::v1::Detail +pub fn radroots_protocol::error::v1::Detail::new(impl core::convert::Into<alloc::string::String>, radroots_protocol::error::v1::DetailValue) -> Self +pub struct radroots_protocol::error::v1::ErrorReport +impl radroots_protocol::error::v1::ErrorReport +pub fn radroots_protocol::error::v1::ErrorReport::capability_id(&self) -> core::option::Option<&radroots_protocol::error::v1::CapabilityId> +pub const fn radroots_protocol::error::v1::ErrorReport::class(&self) -> radroots_protocol::error::v1::Class +pub fn radroots_protocol::error::v1::ErrorReport::code(&self) -> &radroots_protocol::error::v1::Code +pub fn radroots_protocol::error::v1::ErrorReport::details(&self) -> &radroots_protocol::error::v1::SafeDetails +pub fn radroots_protocol::error::v1::ErrorReport::known(radroots_protocol::error::v1::KnownCode, core::option::Option<radroots_protocol::runtime::v1::OperationId>, core::option::Option<radroots_protocol::error::v1::CapabilityId>, radroots_protocol::error::v1::SafeMessage, radroots_protocol::error::v1::SafeDetails) -> Self +pub fn radroots_protocol::error::v1::ErrorReport::message(&self) -> &radroots_protocol::error::v1::SafeMessage +pub const fn radroots_protocol::error::v1::ErrorReport::operation_id(&self) -> core::option::Option<radroots_protocol::runtime::v1::OperationId> +pub fn radroots_protocol::error::v1::ErrorReport::recovery_actions(&self) -> &[radroots_protocol::error::v1::RecoveryAction] +pub fn radroots_protocol::error::v1::ErrorReport::redacted_from_source(radroots_protocol::error::v1::KnownCode, core::option::Option<radroots_protocol::runtime::v1::OperationId>, core::option::Option<radroots_protocol::error::v1::CapabilityId>) -> Self +pub const fn radroots_protocol::error::v1::ErrorReport::retryable(&self) -> bool +pub const fn radroots_protocol::error::v1::ErrorReport::schema_version(&self) -> u16 +pub fn radroots_protocol::error::v1::ErrorReport::unknown(radroots_protocol::error::v1::Code) -> core::result::Result<Self, radroots_protocol::error::v1::Error> +pub fn radroots_protocol::error::v1::ErrorReport::validate(&self) -> core::result::Result<(), radroots_protocol::error::v1::Error> +impl<'de> serde_core::de::Deserialize<'de> for radroots_protocol::error::v1::ErrorReport +pub fn radroots_protocol::error::v1::ErrorReport::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_protocol::error::v1::SafeDetails +impl radroots_protocol::error::v1::SafeDetails +pub fn radroots_protocol::error::v1::SafeDetails::entries(&self) -> &[radroots_protocol::error::v1::Detail] +pub fn radroots_protocol::error::v1::SafeDetails::is_empty(&self) -> bool +pub fn radroots_protocol::error::v1::SafeDetails::try_new(impl core::iter::traits::collect::IntoIterator<Item = radroots_protocol::error::v1::Detail>) -> core::result::Result<Self, radroots_protocol::error::v1::Error> +impl core::convert::From<radroots_protocol::error::v1::SafeDetails> for alloc::vec::Vec<radroots_protocol::error::v1::Detail> +pub fn alloc::vec::Vec<radroots_protocol::error::v1::Detail>::from(radroots_protocol::error::v1::SafeDetails) -> Self +impl core::convert::TryFrom<alloc::vec::Vec<radroots_protocol::error::v1::Detail>> for radroots_protocol::error::v1::SafeDetails +pub type radroots_protocol::error::v1::SafeDetails::Error = radroots_protocol::error::v1::Error +pub fn radroots_protocol::error::v1::SafeDetails::try_from(alloc::vec::Vec<radroots_protocol::error::v1::Detail>) -> core::result::Result<Self, Self::Error> +pub struct radroots_protocol::error::v1::SafeMessage(_) +impl radroots_protocol::error::v1::SafeMessage +pub fn radroots_protocol::error::v1::SafeMessage::as_str(&self) -> &str +pub fn radroots_protocol::error::v1::SafeMessage::parse(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_protocol::error::v1::Error> +pub fn radroots_protocol::error::v1::SafeMessage::redacted() -> Self +impl serde_core::ser::Serialize for radroots_protocol::error::v1::SafeMessage +pub fn radroots_protocol::error::v1::SafeMessage::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_protocol::error::v1::SafeMessage +pub fn radroots_protocol::error::v1::SafeMessage::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub const radroots_protocol::error::v1::CATALOG: &[radroots_protocol::error::v1::Descriptor] +pub const radroots_protocol::error::v1::REDACTED_MESSAGE: &str +pub const radroots_protocol::error::v1::SCHEMAS: &[radroots_protocol::schema::Metadata] +pub const radroots_protocol::error::v1::SCHEMA_ID: &str +pub const radroots_protocol::error::v1::SCHEMA_VERSION: u16 +pub fn radroots_protocol::error::v1::schema_registry() -> core::result::Result<radroots_protocol::schema::Registry, radroots_protocol::schema::Error> +pub mod radroots_protocol::event +pub mod radroots_protocol::event::v1 +#[non_exhaustive] pub enum radroots_protocol::event::v1::Error +pub radroots_protocol::event::v1::Error::DuplicateEventKind +pub radroots_protocol::event::v1::Error::DuplicateEventKind::kind: u32 +pub radroots_protocol::event::v1::Error::DuplicateEventName +pub radroots_protocol::event::v1::Error::DuplicateEventName::name: alloc::string::String +pub radroots_protocol::event::v1::Error::DuplicateTradeState +pub radroots_protocol::event::v1::Error::DuplicateTradeState::state: radroots_protocol::event::v1::TradeState +pub radroots_protocol::event::v1::Error::RetiredEventKind +pub radroots_protocol::event::v1::Error::RetiredEventKind::kind: u32 +pub radroots_protocol::event::v1::Error::RetiredEventName +pub radroots_protocol::event::v1::Error::RetiredEventName::name: alloc::string::String +pub radroots_protocol::event::v1::Error::RetiredTradeState +pub radroots_protocol::event::v1::Error::RetiredTradeState::state: alloc::string::String +pub radroots_protocol::event::v1::Error::UnknownTradeState +pub radroots_protocol::event::v1::Error::UnknownTradeState::value: alloc::string::String +impl core::error::Error for radroots_protocol::event::v1::Error +impl core::fmt::Display for radroots_protocol::event::v1::Error +pub fn radroots_protocol::event::v1::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_protocol::event::v1::EventClass +pub radroots_protocol::event::v1::EventClass::Addressable +pub radroots_protocol::event::v1::EventClass::Regular +pub radroots_protocol::event::v1::EventClass::Replaceable +pub radroots_protocol::event::v1::EventClass::UnsignedRumor +pub enum radroots_protocol::event::v1::TradeState +pub radroots_protocol::event::v1::TradeState::AgreedPendingValidation +pub radroots_protocol::event::v1::TradeState::Cancelled +pub radroots_protocol::event::v1::TradeState::Committed +pub radroots_protocol::event::v1::TradeState::Declined +pub radroots_protocol::event::v1::TradeState::Invalid +pub radroots_protocol::event::v1::TradeState::Missing +pub radroots_protocol::event::v1::TradeState::Requested +pub radroots_protocol::event::v1::TradeState::ValidationExpired +impl radroots_protocol::event::v1::TradeState +pub const fn radroots_protocol::event::v1::TradeState::as_str(self) -> &'static str +pub fn radroots_protocol::event::v1::TradeState::parse(&str) -> core::result::Result<Self, radroots_protocol::event::v1::Error> +pub struct radroots_protocol::event::v1::EventDescriptor +pub radroots_protocol::event::v1::EventDescriptor::event_class: radroots_protocol::event::v1::EventClass +pub radroots_protocol::event::v1::EventDescriptor::kind: u32 +pub radroots_protocol::event::v1::EventDescriptor::name: &'static str +pub radroots_protocol::event::v1::EventDescriptor::purpose: &'static str +pub const radroots_protocol::event::v1::CATALOG: &[radroots_protocol::event::v1::EventDescriptor] +pub const radroots_protocol::event::v1::RETIRED_KINDS: &[u32] +pub const radroots_protocol::event::v1::SCHEMAS: &[radroots_protocol::schema::Metadata] +pub const radroots_protocol::event::v1::TRADE_STATE_VOCABULARY: &[radroots_protocol::event::v1::TradeState] +pub fn radroots_protocol::event::v1::schema_registry() -> core::result::Result<radroots_protocol::schema::Registry, radroots_protocol::schema::Error> +pub fn radroots_protocol::event::v1::validate_catalog(&[radroots_protocol::event::v1::EventDescriptor]) -> core::result::Result<(), radroots_protocol::event::v1::Error> +pub fn radroots_protocol::event::v1::validate_trade_state_vocabulary(&[radroots_protocol::event::v1::TradeState]) -> core::result::Result<(), radroots_protocol::event::v1::Error> +pub mod radroots_protocol::radrootsd +pub mod radroots_protocol::radrootsd::transport_publish +pub mod radroots_protocol::radrootsd::transport_publish::v5 +pub enum radroots_protocol::radrootsd::transport_publish::v5::CapabilityAvailability +pub radroots_protocol::radrootsd::transport_publish::v5::CapabilityAvailability::Available +pub radroots_protocol::radrootsd::transport_publish::v5::CapabilityAvailability::Degraded +pub radroots_protocol::radrootsd::transport_publish::v5::CapabilityAvailability::Unavailable +pub enum radroots_protocol::radrootsd::transport_publish::v5::CapabilityMaturity +pub radroots_protocol::radrootsd::transport_publish::v5::CapabilityMaturity::Preview +pub radroots_protocol::radrootsd::transport_publish::v5::CapabilityMaturity::Stable +pub enum radroots_protocol::radrootsd::transport_publish::v5::DeliveryPolicy +pub radroots_protocol::radrootsd::transport_publish::v5::DeliveryPolicy::All +pub radroots_protocol::radrootsd::transport_publish::v5::DeliveryPolicy::Any +pub radroots_protocol::radrootsd::transport_publish::v5::DeliveryPolicy::Quorum +pub radroots_protocol::radrootsd::transport_publish::v5::DeliveryPolicy::Quorum::quorum: usize +pub radroots_protocol::radrootsd::transport_publish::v5::DeliveryPolicy::RequiredTargets +pub radroots_protocol::radrootsd::transport_publish::v5::DeliveryPolicy::RequiredTargets::targets: alloc::vec::Vec<radroots_protocol::radrootsd::transport_publish::v5::TargetFingerprint> +impl radroots_protocol::radrootsd::transport_publish::v5::DeliveryPolicy +pub fn radroots_protocol::radrootsd::transport_publish::v5::DeliveryPolicy::required_target_count(&self, usize) -> usize +pub fn radroots_protocol::radrootsd::transport_publish::v5::DeliveryPolicy::required_targets(alloc::vec::Vec<radroots_protocol::radrootsd::transport_publish::v5::TargetFingerprint>) -> core::result::Result<Self, radroots_protocol::radrootsd::transport_publish::v5::Error> +pub fn radroots_protocol::radrootsd::transport_publish::v5::DeliveryPolicy::validate(&self) -> core::result::Result<(), radroots_protocol::radrootsd::transport_publish::v5::Error> +pub enum radroots_protocol::radrootsd::transport_publish::v5::DeliveryPolicyName +pub radroots_protocol::radrootsd::transport_publish::v5::DeliveryPolicyName::All +pub radroots_protocol::radrootsd::transport_publish::v5::DeliveryPolicyName::Any +pub radroots_protocol::radrootsd::transport_publish::v5::DeliveryPolicyName::Quorum +pub radroots_protocol::radrootsd::transport_publish::v5::DeliveryPolicyName::RequiredTargets +pub enum radroots_protocol::radrootsd::transport_publish::v5::Error +pub radroots_protocol::radrootsd::transport_publish::v5::Error::DuplicateRequiredTargetFingerprint +pub radroots_protocol::radrootsd::transport_publish::v5::Error::DuplicateRequiredTargetFingerprint::index: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::DuplicateTarget +pub radroots_protocol::radrootsd::transport_publish::v5::Error::DuplicateTarget::index: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::EmptyEndpointUri +pub radroots_protocol::radrootsd::transport_publish::v5::Error::EmptyEndpointUri::index: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::EmptyIdempotencyKey +pub radroots_protocol::radrootsd::transport_publish::v5::Error::EmptyJobId +pub radroots_protocol::radrootsd::transport_publish::v5::Error::EmptyPrincipalId +pub radroots_protocol::radrootsd::transport_publish::v5::Error::EmptyRawEventJson +pub radroots_protocol::radrootsd::transport_publish::v5::Error::EmptyRequiredTargetSet +pub radroots_protocol::radrootsd::transport_publish::v5::Error::EmptyTag +pub radroots_protocol::radrootsd::transport_publish::v5::Error::EmptyTag::index: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::EmptyTargetLabel +pub radroots_protocol::radrootsd::transport_publish::v5::Error::EmptyTargetLabel::index: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::EmptyTargetScope +pub radroots_protocol::radrootsd::transport_publish::v5::Error::EmptyTargetScope::index: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::EmptyTargetSet +pub radroots_protocol::radrootsd::transport_publish::v5::Error::EmptyTransportKind +pub radroots_protocol::radrootsd::transport_publish::v5::Error::EmptyTransportKind::index: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidEndpointUri +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidEndpointUri::index: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidExplicitTargetOutcome +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidExplicitTargetOutcome::index: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidHexField +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidHexField::expected_len: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidHexField::field: &'static str +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidJobAcknowledgedCount +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidJobAcknowledgedCount::actual: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidJobAcknowledgedCount::expected: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidJobCompletedAt +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidJobDeliverySatisfiedState +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidJobRetryableCount +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidJobRetryableCount::actual: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidJobRetryableCount::expected: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidJobStatusState +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidJobTargetCount +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidJobTargetCount::actual: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidJobTargetCount::expected: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidJobTerminalCount +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidJobTerminalCount::actual: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidJobTerminalCount::expected: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidJobTerminalState +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidQuorum +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidReticulumBehavior +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidReticulumBehavior::index: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidReticulumEndpoint +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidReticulumEndpoint::index: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidReticulumOutcome +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidReticulumOutcome::index: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidTargetLabel +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidTargetLabel::index: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidTargetOutcomeKind +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidTargetOutcomeKind::index: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidTargetScope +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidTargetScope::index: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidTargetSource +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidTargetSource::index: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidTimeoutMs +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidTransportKind +pub radroots_protocol::radrootsd::transport_publish::v5::Error::InvalidTransportKind::index: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::RequiredTargetNotInTargetSet +pub radroots_protocol::radrootsd::transport_publish::v5::Error::RequiredTargetNotInTargetSet::index: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::TargetLimitExceeded +pub radroots_protocol::radrootsd::transport_publish::v5::Error::TargetLimitExceeded::actual: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Error::TargetLimitExceeded::max: usize +impl core::error::Error for radroots_protocol::radrootsd::transport_publish::v5::Error +impl core::fmt::Display for radroots_protocol::radrootsd::transport_publish::v5::Error +pub fn radroots_protocol::radrootsd::transport_publish::v5::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_protocol::radrootsd::transport_publish::v5::Implementation +pub radroots_protocol::radrootsd::transport_publish::v5::Implementation::Mock +pub radroots_protocol::radrootsd::transport_publish::v5::Implementation::Real +pub enum radroots_protocol::radrootsd::transport_publish::v5::JobStatus +pub radroots_protocol::radrootsd::transport_publish::v5::JobStatus::Accepted +pub radroots_protocol::radrootsd::transport_publish::v5::JobStatus::DeliveryDeferred +pub radroots_protocol::radrootsd::transport_publish::v5::JobStatus::DeliveryDeferredUntilImplemented +pub radroots_protocol::radrootsd::transport_publish::v5::JobStatus::DeliverySatisfied +pub radroots_protocol::radrootsd::transport_publish::v5::JobStatus::DeliveryUnsatisfiedRetryable +pub radroots_protocol::radrootsd::transport_publish::v5::JobStatus::DeliveryUnsatisfiedTerminal +pub radroots_protocol::radrootsd::transport_publish::v5::JobStatus::Publishing +pub radroots_protocol::radrootsd::transport_publish::v5::JobStatus::Rejected +pub enum radroots_protocol::radrootsd::transport_publish::v5::NostrTargetSourcePolicy +pub radroots_protocol::radrootsd::transport_publish::v5::NostrTargetSourcePolicy::AuthorWriteThenDaemonDefault +pub radroots_protocol::radrootsd::transport_publish::v5::NostrTargetSourcePolicy::DaemonDefaultOnly +pub radroots_protocol::radrootsd::transport_publish::v5::NostrTargetSourcePolicy::ExplicitOnly +pub radroots_protocol::radrootsd::transport_publish::v5::NostrTargetSourcePolicy::RequestThenAuthorWriteThenDaemonDefault +pub enum radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind +pub radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind::Accepted +pub radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind::AuthRequired +pub radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind::Blocked +pub radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind::ConnectionFailed +pub radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind::DeferredUntilImplemented +pub radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind::DuplicateAccepted +pub radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind::Error +pub radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind::Invalid +pub radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind::Muted +pub radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind::PaymentRequired +pub radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind::PowRequired +pub radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind::RateLimited +pub radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind::Restricted +pub radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind::SkippedAlreadyAccepted +pub radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind::TargetRejected +pub radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind::Timeout +pub radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind::Unknown +pub radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind::Unsupported +impl radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind +pub fn radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind::counts_toward_accepted_delivery(self) -> bool +pub fn radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind::is_deferred_until_implemented(self) -> bool +pub fn radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind::is_retryable(self) -> bool +pub fn radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind::is_terminal_failure(self) -> bool +pub enum radroots_protocol::radrootsd::transport_publish::v5::ReticulumBehavior +pub radroots_protocol::radrootsd::transport_publish::v5::ReticulumBehavior::DeferDeliveryPlans +pub radroots_protocol::radrootsd::transport_publish::v5::ReticulumBehavior::RejectDeliveryAttempts +pub enum radroots_protocol::radrootsd::transport_publish::v5::TargetPolicy +pub radroots_protocol::radrootsd::transport_publish::v5::TargetPolicy::ExplicitTargets +pub radroots_protocol::radrootsd::transport_publish::v5::TargetPolicy::ExplicitTargets::targets: alloc::vec::Vec<radroots_protocol::radrootsd::transport_publish::v5::Target> +pub radroots_protocol::radrootsd::transport_publish::v5::TargetPolicy::Nostr +pub radroots_protocol::radrootsd::transport_publish::v5::TargetPolicy::Nostr::relay_urls: alloc::vec::Vec<alloc::string::String> +pub radroots_protocol::radrootsd::transport_publish::v5::TargetPolicy::Nostr::source_policy: radroots_protocol::radrootsd::transport_publish::v5::NostrTargetSourcePolicy +impl radroots_protocol::radrootsd::transport_publish::v5::TargetPolicy +pub fn radroots_protocol::radrootsd::transport_publish::v5::TargetPolicy::explicit_targets(alloc::vec::Vec<radroots_protocol::radrootsd::transport_publish::v5::Target>) -> Self +pub fn radroots_protocol::radrootsd::transport_publish::v5::TargetPolicy::nostr(radroots_protocol::radrootsd::transport_publish::v5::NostrTargetSourcePolicy, alloc::vec::Vec<alloc::string::String>) -> Self +pub fn radroots_protocol::radrootsd::transport_publish::v5::TargetPolicy::request_target_count(&self) -> usize +pub enum radroots_protocol::radrootsd::transport_publish::v5::TargetPolicyName +pub radroots_protocol::radrootsd::transport_publish::v5::TargetPolicyName::ExplicitTargets +pub radroots_protocol::radrootsd::transport_publish::v5::TargetPolicyName::Nostr +pub enum radroots_protocol::radrootsd::transport_publish::v5::TargetSource +pub radroots_protocol::radrootsd::transport_publish::v5::TargetSource::DaemonDefault +pub radroots_protocol::radrootsd::transport_publish::v5::TargetSource::NostrAuthorWrite +pub radroots_protocol::radrootsd::transport_publish::v5::TargetSource::Request +pub radroots_protocol::radrootsd::transport_publish::v5::TargetSource::Reticulum +pub struct radroots_protocol::radrootsd::transport_publish::v5::AuthCapabilities +pub radroots_protocol::radrootsd::transport_publish::v5::AuthCapabilities::mode: alloc::string::String +pub struct radroots_protocol::radrootsd::transport_publish::v5::Capabilities +pub radroots_protocol::radrootsd::transport_publish::v5::Capabilities::api_version: alloc::string::String +pub radroots_protocol::radrootsd::transport_publish::v5::Capabilities::auth: radroots_protocol::radrootsd::transport_publish::v5::AuthCapabilities +pub radroots_protocol::radrootsd::transport_publish::v5::Capabilities::daemon: alloc::string::String +pub radroots_protocol::radrootsd::transport_publish::v5::Capabilities::methods: alloc::vec::Vec<alloc::string::String> +pub radroots_protocol::radrootsd::transport_publish::v5::Capabilities::publish: radroots_protocol::radrootsd::transport_publish::v5::SurfaceCapabilities +pub radroots_protocol::radrootsd::transport_publish::v5::Capabilities::transports: alloc::vec::Vec<alloc::string::String> +impl radroots_protocol::radrootsd::transport_publish::v5::Capabilities +pub fn radroots_protocol::radrootsd::transport_publish::v5::Capabilities::v5(usize, usize) -> Self +pub struct radroots_protocol::radrootsd::transport_publish::v5::EventRequest +pub radroots_protocol::radrootsd::transport_publish::v5::EventRequest::delivery_policy: radroots_protocol::radrootsd::transport_publish::v5::DeliveryPolicy +pub radroots_protocol::radrootsd::transport_publish::v5::EventRequest::idempotency_key: core::option::Option<alloc::string::String> +pub radroots_protocol::radrootsd::transport_publish::v5::EventRequest::raw_event_json: alloc::string::String +pub radroots_protocol::radrootsd::transport_publish::v5::EventRequest::target_policy: radroots_protocol::radrootsd::transport_publish::v5::TargetPolicy +pub radroots_protocol::radrootsd::transport_publish::v5::EventRequest::timeout_ms: core::option::Option<u64> +impl radroots_protocol::radrootsd::transport_publish::v5::EventRequest +pub fn radroots_protocol::radrootsd::transport_publish::v5::EventRequest::validate(&self, usize) -> core::result::Result<(), radroots_protocol::radrootsd::transport_publish::v5::Error> +pub struct radroots_protocol::radrootsd::transport_publish::v5::EventResponse +pub radroots_protocol::radrootsd::transport_publish::v5::EventResponse::deduplicated: bool +pub radroots_protocol::radrootsd::transport_publish::v5::EventResponse::job: radroots_protocol::radrootsd::transport_publish::v5::Job +pub struct radroots_protocol::radrootsd::transport_publish::v5::Job +pub radroots_protocol::radrootsd::transport_publish::v5::Job::acknowledged_count: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Job::completed_at_ms: core::option::Option<i64> +pub radroots_protocol::radrootsd::transport_publish::v5::Job::delivery_policy: radroots_protocol::radrootsd::transport_publish::v5::DeliveryPolicy +pub radroots_protocol::radrootsd::transport_publish::v5::Job::delivery_satisfied: bool +pub radroots_protocol::radrootsd::transport_publish::v5::Job::event_id: alloc::string::String +pub radroots_protocol::radrootsd::transport_publish::v5::Job::event_kind: u32 +pub radroots_protocol::radrootsd::transport_publish::v5::Job::job_id: alloc::string::String +pub radroots_protocol::radrootsd::transport_publish::v5::Job::last_error: core::option::Option<alloc::string::String> +pub radroots_protocol::radrootsd::transport_publish::v5::Job::pubkey: alloc::string::String +pub radroots_protocol::radrootsd::transport_publish::v5::Job::requested_at_ms: i64 +pub radroots_protocol::radrootsd::transport_publish::v5::Job::retryable_count: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Job::status: radroots_protocol::radrootsd::transport_publish::v5::JobStatus +pub radroots_protocol::radrootsd::transport_publish::v5::Job::target_count: usize +pub radroots_protocol::radrootsd::transport_publish::v5::Job::target_policy: radroots_protocol::radrootsd::transport_publish::v5::TargetPolicy +pub radroots_protocol::radrootsd::transport_publish::v5::Job::targets: alloc::vec::Vec<radroots_protocol::radrootsd::transport_publish::v5::TargetOutcome> +pub radroots_protocol::radrootsd::transport_publish::v5::Job::terminal: bool +pub radroots_protocol::radrootsd::transport_publish::v5::Job::terminal_count: usize +impl radroots_protocol::radrootsd::transport_publish::v5::Job +pub fn radroots_protocol::radrootsd::transport_publish::v5::Job::validate(&self) -> core::result::Result<(), radroots_protocol::radrootsd::transport_publish::v5::Error> +pub struct radroots_protocol::radrootsd::transport_publish::v5::OperationCapabilities +pub radroots_protocol::radrootsd::transport_publish::v5::OperationCapabilities::deliver: bool +pub radroots_protocol::radrootsd::transport_publish::v5::OperationCapabilities::discovery: bool +pub radroots_protocol::radrootsd::transport_publish::v5::OperationCapabilities::fetch: bool +pub radroots_protocol::radrootsd::transport_publish::v5::OperationCapabilities::gateway_forwarding: bool +pub radroots_protocol::radrootsd::transport_publish::v5::OperationCapabilities::receipt_observation: bool +pub struct radroots_protocol::radrootsd::transport_publish::v5::SurfaceCapabilities +pub radroots_protocol::radrootsd::transport_publish::v5::SurfaceCapabilities::delivery_policies: alloc::vec::Vec<radroots_protocol::radrootsd::transport_publish::v5::DeliveryPolicyName> +pub radroots_protocol::radrootsd::transport_publish::v5::SurfaceCapabilities::max_event_bytes: usize +pub radroots_protocol::radrootsd::transport_publish::v5::SurfaceCapabilities::max_targets_per_request: usize +pub radroots_protocol::radrootsd::transport_publish::v5::SurfaceCapabilities::raw_event_json_ingress: bool +pub radroots_protocol::radrootsd::transport_publish::v5::SurfaceCapabilities::server_side_user_signing: bool +pub radroots_protocol::radrootsd::transport_publish::v5::SurfaceCapabilities::target_policy_modes: alloc::vec::Vec<radroots_protocol::radrootsd::transport_publish::v5::TargetPolicyName> +pub radroots_protocol::radrootsd::transport_publish::v5::SurfaceCapabilities::transports: alloc::vec::Vec<radroots_protocol::radrootsd::transport_publish::v5::TransportCapability> +pub struct radroots_protocol::radrootsd::transport_publish::v5::Target +pub radroots_protocol::radrootsd::transport_publish::v5::Target::endpoint_uri: alloc::string::String +pub radroots_protocol::radrootsd::transport_publish::v5::Target::reticulum_behavior: core::option::Option<radroots_protocol::radrootsd::transport_publish::v5::ReticulumBehavior> +pub radroots_protocol::radrootsd::transport_publish::v5::Target::target_label: core::option::Option<alloc::string::String> +pub radroots_protocol::radrootsd::transport_publish::v5::Target::target_scope: core::option::Option<alloc::string::String> +pub radroots_protocol::radrootsd::transport_publish::v5::Target::transport_kind: alloc::string::String +impl radroots_protocol::radrootsd::transport_publish::v5::Target +pub fn radroots_protocol::radrootsd::transport_publish::v5::Target::nostr(impl core::convert::Into<alloc::string::String>) -> Self +pub fn radroots_protocol::radrootsd::transport_publish::v5::Target::reticulum(radroots_protocol::radrootsd::transport_publish::v5::ReticulumBehavior) -> Self +pub fn radroots_protocol::radrootsd::transport_publish::v5::Target::with_label(self, impl core::convert::Into<alloc::string::String>) -> Self +pub fn radroots_protocol::radrootsd::transport_publish::v5::Target::with_scope(self, impl core::convert::Into<alloc::string::String>) -> Self +pub struct radroots_protocol::radrootsd::transport_publish::v5::TargetFingerprint(_) +impl radroots_protocol::radrootsd::transport_publish::v5::TargetFingerprint +pub fn radroots_protocol::radrootsd::transport_publish::v5::TargetFingerprint::as_str(&self) -> &str +pub fn radroots_protocol::radrootsd::transport_publish::v5::TargetFingerprint::parse(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_protocol::radrootsd::transport_publish::v5::Error> +impl serde_core::ser::Serialize for radroots_protocol::radrootsd::transport_publish::v5::TargetFingerprint +pub fn radroots_protocol::radrootsd::transport_publish::v5::TargetFingerprint::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_protocol::radrootsd::transport_publish::v5::TargetFingerprint +pub fn radroots_protocol::radrootsd::transport_publish::v5::TargetFingerprint::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_protocol::radrootsd::transport_publish::v5::TargetOutcome +pub radroots_protocol::radrootsd::transport_publish::v5::TargetOutcome::attempted: bool +pub radroots_protocol::radrootsd::transport_publish::v5::TargetOutcome::endpoint_uri: alloc::string::String +pub radroots_protocol::radrootsd::transport_publish::v5::TargetOutcome::latency_ms: core::option::Option<u64> +pub radroots_protocol::radrootsd::transport_publish::v5::TargetOutcome::message: core::option::Option<alloc::string::String> +pub radroots_protocol::radrootsd::transport_publish::v5::TargetOutcome::outcome_kind: radroots_protocol::radrootsd::transport_publish::v5::OutcomeKind +pub radroots_protocol::radrootsd::transport_publish::v5::TargetOutcome::source: radroots_protocol::radrootsd::transport_publish::v5::TargetSource +pub radroots_protocol::radrootsd::transport_publish::v5::TargetOutcome::target_label: core::option::Option<alloc::string::String> +pub radroots_protocol::radrootsd::transport_publish::v5::TargetOutcome::target_scope: core::option::Option<alloc::string::String> +pub radroots_protocol::radrootsd::transport_publish::v5::TargetOutcome::transport_kind: alloc::string::String +pub struct radroots_protocol::radrootsd::transport_publish::v5::TransportCapability +pub radroots_protocol::radrootsd::transport_publish::v5::TransportCapability::availability: radroots_protocol::radrootsd::transport_publish::v5::CapabilityAvailability +pub radroots_protocol::radrootsd::transport_publish::v5::TransportCapability::capabilities: radroots_protocol::radrootsd::transport_publish::v5::OperationCapabilities +pub radroots_protocol::radrootsd::transport_publish::v5::TransportCapability::configured: bool +pub radroots_protocol::radrootsd::transport_publish::v5::TransportCapability::implementation: radroots_protocol::radrootsd::transport_publish::v5::Implementation +pub radroots_protocol::radrootsd::transport_publish::v5::TransportCapability::maturity: radroots_protocol::radrootsd::transport_publish::v5::CapabilityMaturity +pub radroots_protocol::radrootsd::transport_publish::v5::TransportCapability::message: alloc::string::String +pub radroots_protocol::radrootsd::transport_publish::v5::TransportCapability::reticulum_behavior: core::option::Option<radroots_protocol::radrootsd::transport_publish::v5::ReticulumBehavior> +pub radroots_protocol::radrootsd::transport_publish::v5::TransportCapability::transport: alloc::string::String +pub radroots_protocol::radrootsd::transport_publish::v5::TransportCapability::usable_for_delivery: bool +pub const radroots_protocol::radrootsd::transport_publish::v5::API_VERSION: &str +pub const radroots_protocol::radrootsd::transport_publish::v5::DAEMON_NAME: &str +pub const radroots_protocol::radrootsd::transport_publish::v5::METHOD_CAPABILITIES: &str +pub const radroots_protocol::radrootsd::transport_publish::v5::METHOD_EVENT: &str +pub const radroots_protocol::radrootsd::transport_publish::v5::METHOD_JOB_GET: &str +pub const radroots_protocol::radrootsd::transport_publish::v5::METHOD_JOB_LIST: &str +pub const radroots_protocol::radrootsd::transport_publish::v5::RETICULUM_ENDPOINT_URI: &str +pub const radroots_protocol::radrootsd::transport_publish::v5::RETICULUM_UNAVAILABLE_MESSAGE: &str +pub fn radroots_protocol::radrootsd::transport_publish::v5::schema_registry() -> core::result::Result<radroots_protocol::schema::Registry, radroots_protocol::schema::Error> +pub mod radroots_protocol::runtime +pub mod radroots_protocol::runtime::v1 +pub enum radroots_protocol::runtime::v1::ApprovalRequirement +pub radroots_protocol::runtime::v1::ApprovalRequirement::ConditionalOrRequiredByMode +pub radroots_protocol::runtime::v1::ApprovalRequirement::None +pub radroots_protocol::runtime::v1::ApprovalRequirement::Required +pub enum radroots_protocol::runtime::v1::DeadlinePolicy +pub radroots_protocol::runtime::v1::DeadlinePolicy::DefaultBounded +pub radroots_protocol::runtime::v1::DeadlinePolicy::OperationDeclared +pub enum radroots_protocol::runtime::v1::DryRunSupport +pub radroots_protocol::runtime::v1::DryRunSupport::NotApplicable +pub radroots_protocol::runtime::v1::DryRunSupport::PureLocalPlan +#[non_exhaustive] pub enum radroots_protocol::runtime::v1::Error +pub radroots_protocol::runtime::v1::Error::CatalogInvalid +pub radroots_protocol::runtime::v1::Error::CatalogInvalid::message: alloc::string::String +pub radroots_protocol::runtime::v1::Error::DuplicateOperationId +pub radroots_protocol::runtime::v1::Error::DuplicateOperationId::operation_id: radroots_protocol::runtime::v1::OperationId +pub radroots_protocol::runtime::v1::Error::MissingRequiredOperation +pub radroots_protocol::runtime::v1::Error::MissingRequiredOperation::operation_id: radroots_protocol::runtime::v1::OperationId +pub radroots_protocol::runtime::v1::Error::UnknownOperationId +pub radroots_protocol::runtime::v1::Error::UnknownOperationId::operation_id: alloc::string::String +pub radroots_protocol::runtime::v1::Error::UnsupportedOperationSchemaVersion +pub radroots_protocol::runtime::v1::Error::UnsupportedOperationSchemaVersion::operation_id: radroots_protocol::runtime::v1::OperationId +pub radroots_protocol::runtime::v1::Error::UnsupportedOperationSchemaVersion::version: u16 +impl core::error::Error for radroots_protocol::runtime::v1::Error +impl core::fmt::Display for radroots_protocol::runtime::v1::Error +pub fn radroots_protocol::runtime::v1::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_protocol::runtime::v1::IdempotencyPolicy +pub radroots_protocol::runtime::v1::IdempotencyPolicy::Forbidden +pub radroots_protocol::runtime::v1::IdempotencyPolicy::RequiredUuidV7 +pub enum radroots_protocol::runtime::v1::Mutability +pub radroots_protocol::runtime::v1::Mutability::Mutation +pub radroots_protocol::runtime::v1::Mutability::Read +pub enum radroots_protocol::runtime::v1::OperationId +pub radroots_protocol::runtime::v1::OperationId::AccountCreate +pub radroots_protocol::runtime::v1::OperationId::AccountImport +pub radroots_protocol::runtime::v1::OperationId::AccountList +pub radroots_protocol::runtime::v1::OperationId::AccountRemove +pub radroots_protocol::runtime::v1::OperationId::AccountSelect +pub radroots_protocol::runtime::v1::OperationId::BasketCreate +pub radroots_protocol::runtime::v1::OperationId::BasketGet +pub radroots_protocol::runtime::v1::OperationId::BasketItemAdd +pub radroots_protocol::runtime::v1::OperationId::BasketItemRemove +pub radroots_protocol::runtime::v1::OperationId::BasketItemUpdate +pub radroots_protocol::runtime::v1::OperationId::BasketList +pub radroots_protocol::runtime::v1::OperationId::BasketQuote +pub radroots_protocol::runtime::v1::OperationId::DiagnosticsInspect +pub radroots_protocol::runtime::v1::OperationId::FarmCreate +pub radroots_protocol::runtime::v1::OperationId::FarmGet +pub radroots_protocol::runtime::v1::OperationId::FarmList +pub radroots_protocol::runtime::v1::OperationId::FarmPublish +pub radroots_protocol::runtime::v1::OperationId::FarmUpdate +pub radroots_protocol::runtime::v1::OperationId::HealthInspect +pub radroots_protocol::runtime::v1::OperationId::ListingCreate +pub radroots_protocol::runtime::v1::OperationId::ListingGet +pub radroots_protocol::runtime::v1::OperationId::ListingList +pub radroots_protocol::runtime::v1::OperationId::ListingPause +pub radroots_protocol::runtime::v1::OperationId::ListingPublish +pub radroots_protocol::runtime::v1::OperationId::ListingUpdate +pub radroots_protocol::runtime::v1::OperationId::ListingWithdraw +pub radroots_protocol::runtime::v1::OperationId::MarketGet +pub radroots_protocol::runtime::v1::OperationId::MarketPull +pub radroots_protocol::runtime::v1::OperationId::MarketSearch +pub radroots_protocol::runtime::v1::OperationId::ProfileInspect +pub radroots_protocol::runtime::v1::OperationId::ProfileReset +pub radroots_protocol::runtime::v1::OperationId::SignerStatus +pub radroots_protocol::runtime::v1::OperationId::StoreBackup +pub radroots_protocol::runtime::v1::OperationId::StoreInspect +pub radroots_protocol::runtime::v1::OperationId::StoreRestore +pub radroots_protocol::runtime::v1::OperationId::SyncPull +pub radroots_protocol::runtime::v1::OperationId::SyncPush +pub radroots_protocol::runtime::v1::OperationId::SyncStatus +pub radroots_protocol::runtime::v1::OperationId::TradeCancellationSubmit +pub radroots_protocol::runtime::v1::OperationId::TradeCandidateDecide +pub radroots_protocol::runtime::v1::OperationId::TradeEvidenceInspect +pub radroots_protocol::runtime::v1::OperationId::TradeEvidenceRefresh +pub radroots_protocol::runtime::v1::OperationId::TradeGet +pub radroots_protocol::runtime::v1::OperationId::TradeList +pub radroots_protocol::runtime::v1::OperationId::TradeOperationResume +pub radroots_protocol::runtime::v1::OperationId::TradePrivateArtifactDelete +pub radroots_protocol::runtime::v1::OperationId::TradePrivateArtifactOpen +pub radroots_protocol::runtime::v1::OperationId::TradePrivateArtifactSeal +pub radroots_protocol::runtime::v1::OperationId::TradeProposalSubmit +pub radroots_protocol::runtime::v1::OperationId::TradeRevisionPropose +pub radroots_protocol::runtime::v1::OperationId::TransportCapabilityList +pub radroots_protocol::runtime::v1::OperationId::TransportConfigInspect +pub radroots_protocol::runtime::v1::OperationId::TransportConfigUpdate +pub radroots_protocol::runtime::v1::OperationId::TransportDeliveryInspect +pub radroots_protocol::runtime::v1::OperationId::TransportDeliveryRetry +pub radroots_protocol::runtime::v1::OperationId::TransportStatusInspect +pub radroots_protocol::runtime::v1::OperationId::ValidationStatus +impl radroots_protocol::runtime::v1::OperationId +pub fn radroots_protocol::runtime::v1::OperationId::as_str(self) -> &'static str +pub fn radroots_protocol::runtime::v1::OperationId::parse(&str) -> core::result::Result<Self, radroots_protocol::runtime::v1::Error> +pub fn radroots_protocol::runtime::v1::OperationId::receipt_schema_id(self) -> &'static str +pub fn radroots_protocol::runtime::v1::OperationId::request_schema_id(self) -> &'static str +impl serde_core::ser::Serialize for radroots_protocol::runtime::v1::OperationId +pub fn radroots_protocol::runtime::v1::OperationId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_protocol::runtime::v1::OperationId +pub fn radroots_protocol::runtime::v1::OperationId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub enum radroots_protocol::runtime::v1::PrivacyEffect +pub radroots_protocol::runtime::v1::PrivacyEffect::BackupRestore +pub radroots_protocol::runtime::v1::PrivacyEffect::None +pub radroots_protocol::runtime::v1::PrivacyEffect::PrivateCoordination +pub radroots_protocol::runtime::v1::PrivacyEffect::PrivateStore +pub radroots_protocol::runtime::v1::PrivacyEffect::PublicEvent +pub enum radroots_protocol::runtime::v1::ProjectionEffect +pub radroots_protocol::runtime::v1::ProjectionEffect::MayUpdateProjection +pub radroots_protocol::runtime::v1::ProjectionEffect::None +pub radroots_protocol::runtime::v1::ProjectionEffect::ReadsProjection +pub radroots_protocol::runtime::v1::ProjectionEffect::WritesProjection +pub enum radroots_protocol::runtime::v1::Risk +pub radroots_protocol::runtime::v1::Risk::Critical +pub radroots_protocol::runtime::v1::Risk::High +pub radroots_protocol::runtime::v1::Risk::Low +pub radroots_protocol::runtime::v1::Risk::Medium +pub enum radroots_protocol::runtime::v1::SignerRequirement +pub radroots_protocol::runtime::v1::SignerRequirement::ConditionalRelayAuth +pub radroots_protocol::runtime::v1::SignerRequirement::None +pub radroots_protocol::runtime::v1::SignerRequirement::Required +pub struct radroots_protocol::runtime::v1::OperationDescriptor +pub radroots_protocol::runtime::v1::OperationDescriptor::approval: radroots_protocol::runtime::v1::ApprovalRequirement +pub radroots_protocol::runtime::v1::OperationDescriptor::deadline: radroots_protocol::runtime::v1::DeadlinePolicy +pub radroots_protocol::runtime::v1::OperationDescriptor::dry_run: radroots_protocol::runtime::v1::DryRunSupport +pub radroots_protocol::runtime::v1::OperationDescriptor::idempotency: radroots_protocol::runtime::v1::IdempotencyPolicy +pub radroots_protocol::runtime::v1::OperationDescriptor::maturity: radroots_protocol::capability::v1::Maturity +pub radroots_protocol::runtime::v1::OperationDescriptor::mutability: radroots_protocol::runtime::v1::Mutability +pub radroots_protocol::runtime::v1::OperationDescriptor::operation_id: radroots_protocol::runtime::v1::OperationId +pub radroots_protocol::runtime::v1::OperationDescriptor::privacy: radroots_protocol::runtime::v1::PrivacyEffect +pub radroots_protocol::runtime::v1::OperationDescriptor::projection: radroots_protocol::runtime::v1::ProjectionEffect +pub radroots_protocol::runtime::v1::OperationDescriptor::risk: radroots_protocol::runtime::v1::Risk +pub radroots_protocol::runtime::v1::OperationDescriptor::schema_version: u16 +pub radroots_protocol::runtime::v1::OperationDescriptor::signer: radroots_protocol::runtime::v1::SignerRequirement +pub radroots_protocol::runtime::v1::OperationDescriptor::transport_capability: radroots_protocol::runtime::v1::TransportRoute +impl radroots_protocol::runtime::v1::OperationDescriptor +pub fn radroots_protocol::runtime::v1::OperationDescriptor::receipt_schema_id(self) -> &'static str +pub fn radroots_protocol::runtime::v1::OperationDescriptor::request_schema_id(self) -> &'static str +pub struct radroots_protocol::runtime::v1::TransportRoute +pub radroots_protocol::runtime::v1::TransportRoute::deliver: bool +pub radroots_protocol::runtime::v1::TransportRoute::diagnostics: bool +pub radroots_protocol::runtime::v1::TransportRoute::fetch: bool +pub radroots_protocol::runtime::v1::TransportRoute::local: bool +pub radroots_protocol::runtime::v1::TransportRoute::nostr: bool +pub radroots_protocol::runtime::v1::TransportRoute::reticulum: bool +pub radroots_protocol::runtime::v1::TransportRoute::synchronize: bool +impl radroots_protocol::runtime::v1::TransportRoute +pub const fn radroots_protocol::runtime::v1::TransportRoute::delivery() -> Self +pub const fn radroots_protocol::runtime::v1::TransportRoute::diagnostics() -> Self +pub const fn radroots_protocol::runtime::v1::TransportRoute::fetch() -> Self +pub fn radroots_protocol::runtime::v1::TransportRoute::includes_transport(self, radroots_protocol::capability::v1::TransportKind) -> bool +pub const fn radroots_protocol::runtime::v1::TransportRoute::local() -> Self +pub const fn radroots_protocol::runtime::v1::TransportRoute::none() -> Self +pub const radroots_protocol::runtime::v1::CATALOG: &[radroots_protocol::runtime::v1::OperationDescriptor] +pub const radroots_protocol::runtime::v1::OPERATION_SCHEMA_VERSION: u16 +pub fn radroots_protocol::runtime::v1::operation_descriptor(radroots_protocol::runtime::v1::OperationId) -> core::result::Result<radroots_protocol::runtime::v1::OperationDescriptor, radroots_protocol::runtime::v1::Error> +pub fn radroots_protocol::runtime::v1::schema_registry() -> core::result::Result<radroots_protocol::schema::Registry, radroots_protocol::schema::Error> +pub fn radroots_protocol::runtime::v1::validate_catalog(&[radroots_protocol::runtime::v1::OperationDescriptor]) -> core::result::Result<(), radroots_protocol::runtime::v1::Error> +pub mod radroots_protocol::schema +#[non_exhaustive] pub enum radroots_protocol::schema::Error +pub radroots_protocol::schema::Error::DuplicateSchemaId +pub radroots_protocol::schema::Error::DuplicateSchemaId::schema_id: alloc::string::String +pub radroots_protocol::schema::Error::EmptySchemaId +pub radroots_protocol::schema::Error::InvalidSchemaNamespaceSegment +pub radroots_protocol::schema::Error::InvalidSchemaNamespaceSegment::index: usize +pub radroots_protocol::schema::Error::InvalidSchemaVersion +pub radroots_protocol::schema::Error::MissingSchemaNamespace +pub radroots_protocol::schema::Error::SchemaIdTooLong +pub radroots_protocol::schema::Error::SchemaIdTooLong::actual: usize +pub radroots_protocol::schema::Error::SchemaIdTooLong::max: usize +pub radroots_protocol::schema::Error::SchemaVersionMismatch +pub radroots_protocol::schema::Error::SchemaVersionMismatch::declared: u16 +pub radroots_protocol::schema::Error::SchemaVersionMismatch::encoded: u16 +pub radroots_protocol::schema::Error::SchemaVersionMismatch::schema_id: alloc::string::String +impl core::error::Error for radroots_protocol::schema::Error +impl core::fmt::Display for radroots_protocol::schema::Error +pub fn radroots_protocol::schema::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +#[non_exhaustive] pub enum radroots_protocol::schema::ModuleVersion +pub radroots_protocol::schema::ModuleVersion::CapabilityV1 +pub radroots_protocol::schema::ModuleVersion::ErrorV1 +pub radroots_protocol::schema::ModuleVersion::EventV1 +pub radroots_protocol::schema::ModuleVersion::RadrootsdTransportPublishV5 +pub radroots_protocol::schema::ModuleVersion::RuntimeV1 +impl radroots_protocol::schema::ModuleVersion +pub const radroots_protocol::schema::ModuleVersion::ALL: [Self; 5] +pub const fn radroots_protocol::schema::ModuleVersion::generation(self) -> u16 +pub const fn radroots_protocol::schema::ModuleVersion::path(self) -> &'static str +pub struct radroots_protocol::schema::Descriptor +impl radroots_protocol::schema::Descriptor +pub const fn radroots_protocol::schema::Descriptor::id(&self) -> &radroots_protocol::schema::SchemaId +pub const fn radroots_protocol::schema::Descriptor::module(&self) -> radroots_protocol::schema::ModuleVersion +pub fn radroots_protocol::schema::Descriptor::try_new(impl core::convert::Into<alloc::string::String>, radroots_protocol::schema::ModuleVersion) -> core::result::Result<Self, radroots_protocol::schema::Error> +pub struct radroots_protocol::schema::Metadata +pub radroots_protocol::schema::Metadata::schema_id: &'static str +pub radroots_protocol::schema::Metadata::schema_version: u16 +pub radroots_protocol::schema::Metadata::type_name: &'static str +pub struct radroots_protocol::schema::Registry +impl radroots_protocol::schema::Registry +pub fn radroots_protocol::schema::Registry::descriptor(&self, &radroots_protocol::schema::SchemaId) -> core::option::Option<&radroots_protocol::schema::Descriptor> +pub fn radroots_protocol::schema::Registry::descriptors(&self) -> &[radroots_protocol::schema::Descriptor] +pub fn radroots_protocol::schema::Registry::is_empty(&self) -> bool +pub fn radroots_protocol::schema::Registry::len(&self) -> usize +pub fn radroots_protocol::schema::Registry::module_for(&self, &radroots_protocol::schema::SchemaId) -> core::option::Option<radroots_protocol::schema::ModuleVersion> +pub fn radroots_protocol::schema::Registry::try_from_metadata(impl core::iter::traits::collect::IntoIterator<Item = (radroots_protocol::schema::Metadata, radroots_protocol::schema::ModuleVersion)>) -> core::result::Result<Self, radroots_protocol::schema::Error> +pub fn radroots_protocol::schema::Registry::try_new(impl core::iter::traits::collect::IntoIterator<Item = radroots_protocol::schema::Descriptor>) -> core::result::Result<Self, radroots_protocol::schema::Error> +pub struct radroots_protocol::schema::SchemaId +impl radroots_protocol::schema::SchemaId +pub fn radroots_protocol::schema::SchemaId::as_str(&self) -> &str +pub fn radroots_protocol::schema::SchemaId::parse(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_protocol::schema::Error> +pub const fn radroots_protocol::schema::SchemaId::version(&self) -> u16 +impl core::convert::AsRef<str> for radroots_protocol::schema::SchemaId +pub fn radroots_protocol::schema::SchemaId::as_ref(&self) -> &str +impl core::convert::TryFrom<&str> for radroots_protocol::schema::SchemaId +pub type radroots_protocol::schema::SchemaId::Error = radroots_protocol::schema::Error +pub fn radroots_protocol::schema::SchemaId::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_protocol::schema::SchemaId +pub type radroots_protocol::schema::SchemaId::Error = radroots_protocol::schema::Error +pub fn radroots_protocol::schema::SchemaId::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_protocol::schema::SchemaId +pub fn radroots_protocol::schema::SchemaId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_protocol::schema::SchemaId +pub type radroots_protocol::schema::SchemaId::Err = radroots_protocol::schema::Error +pub fn radroots_protocol::schema::SchemaId::from_str(&str) -> core::result::Result<Self, Self::Err> +pub const radroots_protocol::schema::MAX_SCHEMA_ID_BYTES: usize +pub fn radroots_protocol::schema::protocol_v1_registry() -> core::result::Result<radroots_protocol::schema::Registry, radroots_protocol::schema::Error> diff --git a/contracts/api_baselines/radroots_sdk.txt b/contracts/api_baselines/radroots_sdk.txt @@ -0,0 +1,539 @@ +pub mod radroots_sdk +pub mod radroots_sdk::capability +pub enum radroots_sdk::capability::Availability +pub radroots_sdk::capability::Availability::Available +pub radroots_sdk::capability::Availability::Degraded +pub radroots_sdk::capability::Availability::Unavailable +pub radroots_sdk::capability::Availability::Unsupported +pub enum radroots_sdk::capability::Maturity +pub radroots_sdk::capability::Maturity::Experimental +pub radroots_sdk::capability::Maturity::Preview +pub radroots_sdk::capability::Maturity::Stable +pub struct radroots_sdk::capability::CapabilityId(_) +impl radroots_sdk::capability::CapabilityId +pub const radroots_sdk::capability::CapabilityId::BACKUP_RESTORE: Self +pub const radroots_sdk::capability::CapabilityId::CANONICAL_STORAGE: Self +pub const radroots_sdk::capability::CapabilityId::DAEMON_DELIVERY: Self +pub const radroots_sdk::capability::CapabilityId::FARM_PUBLICATION: Self +pub const radroots_sdk::capability::CapabilityId::KNOWLEDGE_EVENTS: Self +pub const radroots_sdk::capability::CapabilityId::LISTING_PUBLICATION: Self +pub const radroots_sdk::capability::CapabilityId::LOCAL_SIGNING: Self +pub const radroots_sdk::capability::CapabilityId::MESH_TRANSPORT: Self +pub const radroots_sdk::capability::CapabilityId::NIP46_SIGNING: Self +pub const radroots_sdk::capability::CapabilityId::NOSTR_DELIVERY: Self +pub const radroots_sdk::capability::CapabilityId::NOSTR_FETCH: Self +pub const radroots_sdk::capability::CapabilityId::PERSISTENT_STORAGE: Self +pub const radroots_sdk::capability::CapabilityId::RETICULUM_DELIVERY: Self +pub const radroots_sdk::capability::CapabilityId::RETICULUM_FETCH: Self +pub const radroots_sdk::capability::CapabilityId::SIMPLEX_TRANSPORT: Self +pub const radroots_sdk::capability::CapabilityId::SYNC_PULL: Self +pub const radroots_sdk::capability::CapabilityId::SYNC_PUSH: Self +pub const radroots_sdk::capability::CapabilityId::TRADE_COMMANDS: Self +pub const radroots_sdk::capability::CapabilityId::TRADE_QUERIES: Self +pub const fn radroots_sdk::capability::CapabilityId::as_str(self) -> &'static str +impl core::fmt::Display for radroots_sdk::capability::CapabilityId +pub fn radroots_sdk::capability::CapabilityId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_sdk::capability::CapabilityReport +impl radroots_sdk::capability::CapabilityReport +pub fn radroots_sdk::capability::CapabilityReport::get(&self, radroots_sdk::capability::CapabilityId) -> core::option::Option<radroots_sdk::capability::CapabilityStatus> +pub fn radroots_sdk::capability::CapabilityReport::iter(&self) -> impl core::iter::traits::exact_size::ExactSizeIterator<Item = &radroots_sdk::capability::CapabilityStatus> +pub struct radroots_sdk::capability::CapabilityStatus +impl radroots_sdk::capability::CapabilityStatus +pub const fn radroots_sdk::capability::CapabilityStatus::availability(self) -> radroots_sdk::capability::Availability +pub const fn radroots_sdk::capability::CapabilityStatus::id(self) -> radroots_sdk::capability::CapabilityId +pub const fn radroots_sdk::capability::CapabilityStatus::is_compiled(self) -> bool +pub const fn radroots_sdk::capability::CapabilityStatus::is_configured(self) -> bool +pub const fn radroots_sdk::capability::CapabilityStatus::maturity(self) -> radroots_sdk::capability::Maturity +pub mod radroots_sdk::client +pub struct radroots_sdk::client::Client +impl radroots_sdk::client::Client +pub fn radroots_sdk::client::Client::capabilities(&self) -> radroots_sdk::capability::CapabilityReport +pub async fn radroots_sdk::client::Client::close(&self) -> radroots_sdk::error::Result<()> +pub fn radroots_sdk::client::Client::configure_nostr(&self, radroots_transport_nostr::profile::RelayProfile) -> radroots_sdk::error::Result<()> +pub fn radroots_sdk::client::Client::farm(&self) -> radroots_sdk::error::Result<core::option::Option<radroots_sdk::farm::Operations<'_>>> +pub fn radroots_sdk::client::Client::is_closed(&self) -> bool +pub fn radroots_sdk::client::Client::listing(&self) -> radroots_sdk::error::Result<core::option::Option<radroots_sdk::listing::Operations<'_>>> +pub fn radroots_sdk::client::Client::nostr_status(&self) -> radroots_sdk::error::Result<core::option::Option<radroots_transport_nostr::status::RelayStatusReport>> +pub fn radroots_sdk::client::Client::signer(&self) -> radroots_sdk::error::Result<core::option::Option<&dyn radroots_signing::signer::Signer>> +pub fn radroots_sdk::client::Client::signing(&self) -> radroots_sdk::error::Result<core::option::Option<radroots_sdk::signing::Operations<'_>>> +pub fn radroots_sdk::client::Client::sink(&self) -> radroots_sdk::error::Result<core::option::Option<&dyn radroots_transport::sink::EventSink>> +pub fn radroots_sdk::client::Client::source(&self) -> radroots_sdk::error::Result<core::option::Option<&dyn radroots_transport::source::EventSource>> +pub fn radroots_sdk::client::Client::storage(&self) -> radroots_sdk::error::Result<&dyn radroots_storage::Storage> +pub async fn radroots_sdk::client::Client::storage_integrity(&self) -> radroots_sdk::error::Result<radroots_sdk::storage::IntegrityStatus> +pub fn radroots_sdk::client::Client::storage_operations(&self) -> radroots_sdk::error::Result<radroots_sdk::storage::Operations<'_>> +pub async fn radroots_sdk::client::Client::storage_status(&self) -> radroots_sdk::error::Result<radroots_sdk::storage::Status> +pub fn radroots_sdk::client::Client::sync(&self) -> radroots_sdk::error::Result<core::option::Option<radroots_sdk::sync::Operations<'_>>> +pub fn radroots_sdk::client::Client::trade(&self) -> radroots_sdk::error::Result<core::option::Option<radroots_sdk::trade::Operations<'_>>> +impl core::fmt::Debug for radroots_sdk::client::Client +pub fn radroots_sdk::client::Client::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_sdk::client::ClientBuilder +impl radroots_sdk::client::ClientBuilder +pub fn radroots_sdk::client::ClientBuilder::build(self) -> radroots_sdk::error::Result<radroots_sdk::client::Client> +pub fn radroots_sdk::client::ClientBuilder::capability_availability(self, radroots_sdk::capability::CapabilityId, radroots_sdk::capability::Availability) -> Self +pub fn radroots_sdk::client::ClientBuilder::host_sync(self, radroots_sdk::sync::HostPolicy) -> Self +pub fn radroots_sdk::client::ClientBuilder::memory(radroots_storage::event::SourceGeneration) -> Self +pub fn radroots_sdk::client::ClientBuilder::memory_default() -> Self +pub fn radroots_sdk::client::ClientBuilder::new() -> Self +pub fn radroots_sdk::client::ClientBuilder::nostr(self, radroots_sdk::transport::NostrSlot) -> Self +pub fn radroots_sdk::client::ClientBuilder::signer(self, alloc::sync::Arc<dyn radroots_signing::signer::Signer>) -> Self +pub fn radroots_sdk::client::ClientBuilder::signing(self, radroots_sdk::signing::Provider) -> Self +pub fn radroots_sdk::client::ClientBuilder::sink(self, alloc::sync::Arc<dyn radroots_transport::sink::EventSink>) -> Self +pub fn radroots_sdk::client::ClientBuilder::source(self, alloc::sync::Arc<dyn radroots_transport::source::EventSource>) -> Self +pub async fn radroots_sdk::client::ClientBuilder::sqlite(radroots_sdk::storage::SqliteOptions) -> radroots_sdk::error::Result<Self> +pub fn radroots_sdk::client::ClientBuilder::storage(self, alloc::sync::Arc<dyn radroots_storage::Storage>) -> Self +pub fn radroots_sdk::client::ClientBuilder::sync_engine(self, radroots_sync::engine::Engine) -> Self +impl core::fmt::Debug for radroots_sdk::client::ClientBuilder +pub fn radroots_sdk::client::ClientBuilder::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub mod radroots_sdk::diagnostics +pub struct radroots_sdk::diagnostics::Report +impl radroots_sdk::diagnostics::Report +pub const fn radroots_sdk::diagnostics::Report::capabilities(&self) -> &radroots_sdk::capability::CapabilityReport +pub const fn radroots_sdk::diagnostics::Report::storage(&self) -> radroots_storage::status::StorageStatus +pub async fn radroots_sdk::diagnostics::inspect(&radroots_sdk::client::Client) -> radroots_sdk::error::Result<radroots_sdk::diagnostics::Report> +pub mod radroots_sdk::error +#[non_exhaustive] pub enum radroots_sdk::error::ErrorKind +pub radroots_sdk::error::ErrorKind::ClientClosed +pub radroots_sdk::error::ErrorKind::ClientClosing +pub radroots_sdk::error::ErrorKind::CloseInProgress +pub radroots_sdk::error::ErrorKind::InvalidHostConfiguration +pub radroots_sdk::error::ErrorKind::MissingStorage +pub radroots_sdk::error::ErrorKind::SharedOperationUnavailable +pub radroots_sdk::error::ErrorKind::StorageBusy +pub radroots_sdk::error::ErrorKind::StorageCloseFailed +pub radroots_sdk::error::ErrorKind::StorageInspectionFailed +pub radroots_sdk::error::ErrorKind::StorageOpenFailed +pub radroots_sdk::error::ErrorKind::StorageSchemaTooNew +pub radroots_sdk::error::ErrorKind::StorageUnsupportedSchema +impl radroots_sdk::error::ErrorKind +pub const radroots_sdk::error::ErrorKind::ALL: &'static [Self] +pub const fn radroots_sdk::error::ErrorKind::descriptor(self) -> radroots_sdk::error::ErrorDescriptor +pub struct radroots_sdk::error::Error +impl radroots_sdk::error::Error +pub const fn radroots_sdk::error::Error::descriptor(&self) -> radroots_sdk::error::ErrorDescriptor +pub const fn radroots_sdk::error::Error::kind(&self) -> radroots_sdk::error::ErrorKind +pub fn radroots_sdk::error::Error::to_report(&self) -> radroots_protocol::error::v1::ErrorReport +impl core::error::Error for radroots_sdk::error::Error +pub fn radroots_sdk::error::Error::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +impl core::fmt::Debug for radroots_sdk::error::Error +pub fn radroots_sdk::error::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_sdk::error::Error +pub fn radroots_sdk::error::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_sdk::error::ErrorDescriptor +impl radroots_sdk::error::ErrorDescriptor +pub const fn radroots_sdk::error::ErrorDescriptor::capability(self) -> core::option::Option<radroots_sdk::capability::CapabilityId> +pub const fn radroots_sdk::error::ErrorDescriptor::class(self) -> radroots_protocol::error::v1::Class +pub const fn radroots_sdk::error::ErrorDescriptor::code(self) -> radroots_protocol::error::v1::KnownCode +pub const fn radroots_sdk::error::ErrorDescriptor::kind(self) -> radroots_sdk::error::ErrorKind +pub const fn radroots_sdk::error::ErrorDescriptor::message(self) -> &'static str +pub const fn radroots_sdk::error::ErrorDescriptor::operation(self) -> core::option::Option<radroots_protocol::runtime::v1::OperationId> +pub const fn radroots_sdk::error::ErrorDescriptor::recovery_actions(self) -> &'static [radroots_protocol::error::v1::RecoveryAction] +pub const fn radroots_sdk::error::ErrorDescriptor::retryable(self) -> bool +pub const fn radroots_sdk::error::ErrorDescriptor::safe_detail_keys(self) -> &'static [&'static str] +pub const radroots_sdk::error::CATALOG: &[radroots_sdk::error::ErrorDescriptor] +pub type radroots_sdk::error::Result<T> = core::result::Result<T, radroots_sdk::error::Error> +pub mod radroots_sdk::farm +#[non_exhaustive] pub enum radroots_sdk::farm::PrepareErrorKind +pub radroots_sdk::farm::PrepareErrorKind::Coordinate +pub radroots_sdk::farm::PrepareErrorKind::Draft +pub radroots_sdk::farm::PrepareErrorKind::Encode +pub radroots_sdk::farm::PrepareErrorKind::UnauthorizedActor +pub struct radroots_sdk::farm::EnqueueRequest +impl radroots_sdk::farm::EnqueueRequest +pub const fn radroots_sdk::farm::EnqueueRequest::new(radroots_sync::policy::SyncId, radroots_storage::journal::IdempotencyKey, radroots_sdk::farm::Plan, radroots_sdk::transport::Profile, u64, radroots_signing::request::CancellationPolicy) -> Self +pub struct radroots_sdk::farm::Operations<'a> +impl<'a> radroots_sdk::farm::Operations<'a> +pub async fn radroots_sdk::farm::Operations<'a>::enqueue(&self, radroots_sdk::farm::EnqueueRequest) -> core::result::Result<radroots_sync::push::PushStatus, radroots_sync::policy::Error> +pub struct radroots_sdk::farm::Plan +impl radroots_sdk::farm::Plan +pub const fn radroots_sdk::farm::Plan::actor(&self) -> &radroots_signing::actor::Actor +pub const fn radroots_sdk::farm::Plan::authored_event(&self) -> &radroots_event_codec::authoring::AuthoredEventPlan +pub const fn radroots_sdk::farm::Plan::coordinate(&self) -> &radroots_event::id::AddressableCoordinate +pub struct radroots_sdk::farm::PrepareError +impl radroots_sdk::farm::PrepareError +pub const fn radroots_sdk::farm::PrepareError::kind(&self) -> radroots_sdk::farm::PrepareErrorKind +impl core::error::Error for radroots_sdk::farm::PrepareError +pub fn radroots_sdk::farm::PrepareError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +impl core::fmt::Debug for radroots_sdk::farm::PrepareError +pub fn radroots_sdk::farm::PrepareError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_sdk::farm::PrepareError +pub fn radroots_sdk::farm::PrepareError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_sdk::farm::PrepareRequest +impl radroots_sdk::farm::PrepareRequest +pub const fn radroots_sdk::farm::PrepareRequest::new(radroots_signing::actor::Actor, radroots_event::farm::Farm, u64) -> Self +pub fn radroots_sdk::farm::prepare(radroots_sdk::farm::PrepareRequest) -> core::result::Result<radroots_sdk::farm::Plan, radroots_sdk::farm::PrepareError> +pub mod radroots_sdk::listing +#[non_exhaustive] pub enum radroots_sdk::listing::Action +pub radroots_sdk::listing::Action::Publish +pub radroots_sdk::listing::Action::Update +#[non_exhaustive] pub enum radroots_sdk::listing::PrepareErrorKind +pub radroots_sdk::listing::PrepareErrorKind::Edit +pub radroots_sdk::listing::PrepareErrorKind::Mutation +pub radroots_sdk::listing::PrepareErrorKind::UnauthorizedActor +pub enum radroots_sdk::listing::RadrootsOperationalListingEditError +pub radroots_sdk::listing::RadrootsOperationalListingEditError::DuplicateBinId +pub radroots_sdk::listing::RadrootsOperationalListingEditError::DuplicateBinId::bin_id: radroots_event::id::InventoryBinId +pub radroots_sdk::listing::RadrootsOperationalListingEditError::FarmPubkeyMismatch +pub radroots_sdk::listing::RadrootsOperationalListingEditError::FarmPubkeyMismatch::actual_pubkey: radroots_identity::key::PublicKey +pub radroots_sdk::listing::RadrootsOperationalListingEditError::FarmPubkeyMismatch::expected_pubkey: radroots_identity::key::PublicKey +pub radroots_sdk::listing::RadrootsOperationalListingEditError::InvalidClassifiedListingAddress(radroots_event::id::ParseError) +pub radroots_sdk::listing::RadrootsOperationalListingEditError::InvalidFarmPubkey(radroots_identity::error::Error) +pub radroots_sdk::listing::RadrootsOperationalListingEditError::InvalidModel(radroots_event::trade::validation::OperationalListingValidationError) +pub radroots_sdk::listing::RadrootsOperationalListingEditError::MissingPrimaryBin +pub radroots_sdk::listing::RadrootsOperationalListingEditError::MissingPrimaryBin::primary_bin_id: radroots_event::id::InventoryBinId +impl core::error::Error for radroots_sdk::listing::RadrootsOperationalListingEditError +impl core::fmt::Display for radroots_sdk::listing::RadrootsOperationalListingEditError +pub fn radroots_sdk::listing::RadrootsOperationalListingEditError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_sdk::listing::RadrootsOperationalListingLifecycleState +pub radroots_sdk::listing::RadrootsOperationalListingLifecycleState::Draft +pub radroots_sdk::listing::RadrootsOperationalListingLifecycleState::Published +pub enum radroots_sdk::listing::RadrootsOperationalListingMutation +pub radroots_sdk::listing::RadrootsOperationalListingMutation::Archive +pub radroots_sdk::listing::RadrootsOperationalListingMutation::Archive::listing_addr: radroots_event::id::ClassifiedListingAddress +pub radroots_sdk::listing::RadrootsOperationalListingMutation::Publish +pub radroots_sdk::listing::RadrootsOperationalListingMutation::Publish::draft: radroots_sdk::listing::RadrootsOperationalListingCanonicalEdit +pub radroots_sdk::listing::RadrootsOperationalListingMutation::SaveDraft +pub radroots_sdk::listing::RadrootsOperationalListingMutation::SaveDraft::draft: radroots_sdk::listing::RadrootsOperationalListingCanonicalEdit +pub radroots_sdk::listing::RadrootsOperationalListingMutation::Update +pub radroots_sdk::listing::RadrootsOperationalListingMutation::Update::draft: radroots_sdk::listing::RadrootsOperationalListingCanonicalEdit +impl radroots_sdk::listing::RadrootsOperationalListingMutation +pub fn radroots_sdk::listing::RadrootsOperationalListingMutation::archive(radroots_event::id::ClassifiedListingAddress) -> Self +pub fn radroots_sdk::listing::RadrootsOperationalListingMutation::canonical_draft(&self) -> core::result::Result<&radroots_sdk::listing::RadrootsOperationalListingCanonicalEdit, radroots_sdk::listing::RadrootsOperationalListingMutationError> +pub fn radroots_sdk::listing::RadrootsOperationalListingMutation::lifecycle_state(&self) -> core::result::Result<radroots_sdk::listing::RadrootsOperationalListingLifecycleState, radroots_sdk::listing::RadrootsOperationalListingMutationError> +pub fn radroots_sdk::listing::RadrootsOperationalListingMutation::listing_addr(&self) -> core::result::Result<&radroots_event::id::ClassifiedListingAddress, radroots_sdk::listing::RadrootsOperationalListingMutationError> +pub fn radroots_sdk::listing::RadrootsOperationalListingMutation::publish(radroots_sdk::listing::RadrootsOperationalListingCanonicalEdit) -> Self +pub fn radroots_sdk::listing::RadrootsOperationalListingMutation::save_draft(radroots_sdk::listing::RadrootsOperationalListingCanonicalEdit) -> Self +pub fn radroots_sdk::listing::RadrootsOperationalListingMutation::update(radroots_sdk::listing::RadrootsOperationalListingCanonicalEdit) -> Self +pub enum radroots_sdk::listing::RadrootsOperationalListingMutationError +pub radroots_sdk::listing::RadrootsOperationalListingMutationError::AuthoredPlan(radroots_event::draft::DraftError) +pub radroots_sdk::listing::RadrootsOperationalListingMutationError::EncodeListing(alloc::string::String) +pub radroots_sdk::listing::RadrootsOperationalListingMutationError::UnsupportedMutation +impl core::error::Error for radroots_sdk::listing::RadrootsOperationalListingMutationError +impl core::fmt::Display for radroots_sdk::listing::RadrootsOperationalListingMutationError +pub fn radroots_sdk::listing::RadrootsOperationalListingMutationError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_sdk::listing::EnqueueRequest +impl radroots_sdk::listing::EnqueueRequest +pub const fn radroots_sdk::listing::EnqueueRequest::new(radroots_sync::policy::SyncId, radroots_storage::journal::IdempotencyKey, radroots_sdk::listing::Plan, radroots_sdk::transport::Profile, u64, radroots_signing::request::CancellationPolicy) -> Self +pub struct radroots_sdk::listing::Operations<'a> +impl<'a> radroots_sdk::listing::Operations<'a> +pub async fn radroots_sdk::listing::Operations<'a>::enqueue(&self, radroots_sdk::listing::EnqueueRequest) -> core::result::Result<radroots_sync::push::PushStatus, radroots_sync::policy::Error> +pub struct radroots_sdk::listing::Plan +impl radroots_sdk::listing::Plan +pub const fn radroots_sdk::listing::Plan::action(&self) -> radroots_sdk::listing::Action +pub const fn radroots_sdk::listing::Plan::actor(&self) -> &radroots_signing::actor::Actor +pub const fn radroots_sdk::listing::Plan::address(&self) -> &radroots_event::id::ClassifiedListingAddress +pub const fn radroots_sdk::listing::Plan::authored_event(&self) -> &radroots_event_codec::authoring::AuthoredEventPlan +pub const fn radroots_sdk::listing::Plan::lifecycle(&self) -> radroots_sdk::listing::RadrootsOperationalListingLifecycleState +pub struct radroots_sdk::listing::PrepareError +impl radroots_sdk::listing::PrepareError +pub const fn radroots_sdk::listing::PrepareError::kind(&self) -> radroots_sdk::listing::PrepareErrorKind +impl core::error::Error for radroots_sdk::listing::PrepareError +pub fn radroots_sdk::listing::PrepareError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +impl core::fmt::Debug for radroots_sdk::listing::PrepareError +pub fn radroots_sdk::listing::PrepareError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_sdk::listing::PrepareError +pub fn radroots_sdk::listing::PrepareError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_sdk::listing::PrepareRequest +impl radroots_sdk::listing::PrepareRequest +pub const fn radroots_sdk::listing::PrepareRequest::publish(radroots_signing::actor::Actor, radroots_sdk::listing::RadrootsOperationalListingEditDocumentV1, u64) -> Self +pub const fn radroots_sdk::listing::PrepareRequest::update(radroots_signing::actor::Actor, radroots_sdk::listing::RadrootsOperationalListingEditDocumentV1, u64) -> Self +pub struct radroots_sdk::listing::RadrootsClassifiedListingAddressParts +pub radroots_sdk::listing::RadrootsClassifiedListingAddressParts::address: radroots_event::id::ClassifiedListingAddress +pub radroots_sdk::listing::RadrootsClassifiedListingAddressParts::kind: u32 +pub radroots_sdk::listing::RadrootsClassifiedListingAddressParts::listing_id: radroots_event::id::DTag +pub radroots_sdk::listing::RadrootsClassifiedListingAddressParts::seller_pubkey: radroots_identity::key::PublicKey +impl radroots_sdk::listing::RadrootsClassifiedListingAddressParts +pub fn radroots_sdk::listing::RadrootsClassifiedListingAddressParts::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError> +pub struct radroots_sdk::listing::RadrootsOperationalListingCanonicalEdit +impl radroots_sdk::listing::RadrootsOperationalListingCanonicalEdit +pub fn radroots_sdk::listing::RadrootsOperationalListingCanonicalEdit::listing(&self) -> &radroots_event::listing::operational::OperationalListing +pub fn radroots_sdk::listing::RadrootsOperationalListingCanonicalEdit::new(radroots_event::listing::operational::OperationalListing, radroots_identity::key::PublicKey) -> core::result::Result<Self, radroots_sdk::listing::RadrootsOperationalListingEditError> +pub fn radroots_sdk::listing::RadrootsOperationalListingCanonicalEdit::public_listing_addr(&self) -> &radroots_event::id::ClassifiedListingAddress +pub fn radroots_sdk::listing::RadrootsOperationalListingCanonicalEdit::seller_pubkey(&self) -> &radroots_identity::key::PublicKey +pub struct radroots_sdk::listing::RadrootsOperationalListingEditDocumentV1 +pub radroots_sdk::listing::RadrootsOperationalListingEditDocumentV1::listing: radroots_event::listing::operational::OperationalListing +impl radroots_sdk::listing::RadrootsOperationalListingEditDocumentV1 +pub fn radroots_sdk::listing::RadrootsOperationalListingEditDocumentV1::new(radroots_event::listing::operational::OperationalListing) -> Self +pub struct radroots_sdk::listing::RadrootsOperationalListingSubtotal +pub radroots_sdk::listing::RadrootsOperationalListingSubtotal::price_amount: radroots_core::money::Money +pub radroots_sdk::listing::RadrootsOperationalListingSubtotal::price_currency: radroots_core::currency::Currency +pub radroots_sdk::listing::RadrootsOperationalListingSubtotal::quantity_amount: radroots_core::decimal::Decimal +pub radroots_sdk::listing::RadrootsOperationalListingSubtotal::quantity_unit: radroots_core::unit::Unit +pub struct radroots_sdk::listing::RadrootsOperationalListingTotal +pub radroots_sdk::listing::RadrootsOperationalListingTotal::price_amount: radroots_core::money::Money +pub radroots_sdk::listing::RadrootsOperationalListingTotal::price_currency: radroots_core::currency::Currency +pub radroots_sdk::listing::RadrootsOperationalListingTotal::quantity_amount: radroots_core::decimal::Decimal +pub radroots_sdk::listing::RadrootsOperationalListingTotal::quantity_unit: radroots_core::unit::Unit +pub struct radroots_sdk::listing::RadrootsOperationalListingTradeProjection +pub radroots_sdk::listing::RadrootsOperationalListingTradeProjection::availability: radroots_event::listing::operational::OperationalListingAvailability +pub radroots_sdk::listing::RadrootsOperationalListingTradeProjection::bin_quantity: radroots_core::quantity::Quantity +pub radroots_sdk::listing::RadrootsOperationalListingTradeProjection::delivery_method: radroots_event::listing::operational::OperationalListingDeliveryMethod +pub radroots_sdk::listing::RadrootsOperationalListingTradeProjection::description: alloc::string::String +pub radroots_sdk::listing::RadrootsOperationalListingTradeProjection::inventory_available: radroots_core::decimal::Decimal +pub radroots_sdk::listing::RadrootsOperationalListingTradeProjection::listing: radroots_event::listing::operational::OperationalListing +pub radroots_sdk::listing::RadrootsOperationalListingTradeProjection::listing_addr: radroots_event::id::ClassifiedListingAddress +pub radroots_sdk::listing::RadrootsOperationalListingTradeProjection::listing_id: alloc::string::String +pub radroots_sdk::listing::RadrootsOperationalListingTradeProjection::location: radroots_event::listing::operational::OperationalListingPublicLocation +pub radroots_sdk::listing::RadrootsOperationalListingTradeProjection::primary_bin_id: alloc::string::String +pub radroots_sdk::listing::RadrootsOperationalListingTradeProjection::product_type: alloc::string::String +pub radroots_sdk::listing::RadrootsOperationalListingTradeProjection::seller_pubkey: alloc::string::String +pub radroots_sdk::listing::RadrootsOperationalListingTradeProjection::title: alloc::string::String +pub radroots_sdk::listing::RadrootsOperationalListingTradeProjection::unit: radroots_core::unit::Unit +pub radroots_sdk::listing::RadrootsOperationalListingTradeProjection::unit_price: radroots_core::money::Money +pub struct radroots_sdk::listing::RadrootsPublicClassifiedListingAddress +pub radroots_sdk::listing::RadrootsPublicClassifiedListingAddress::address: radroots_event::id::ClassifiedListingAddress +pub radroots_sdk::listing::RadrootsPublicClassifiedListingAddress::kind: u32 +pub radroots_sdk::listing::RadrootsPublicClassifiedListingAddress::listing_id: radroots_event::id::DTag +pub radroots_sdk::listing::RadrootsPublicClassifiedListingAddress::seller_pubkey: radroots_identity::key::PublicKey +impl radroots_sdk::listing::RadrootsPublicClassifiedListingAddress +pub fn radroots_sdk::listing::RadrootsPublicClassifiedListingAddress::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError> +pub trait radroots_sdk::listing::BinPricingTryExt +pub fn radroots_sdk::listing::BinPricingTryExt::try_subtotal_for_count(&self, u32) -> core::result::Result<radroots_sdk::listing::RadrootsOperationalListingSubtotal, radroots_core::quantity_price::Error> +pub fn radroots_sdk::listing::BinPricingTryExt::try_total_for_count(&self, u32) -> core::result::Result<radroots_sdk::listing::RadrootsOperationalListingTotal, radroots_core::quantity_price::Error> +impl radroots_sdk::listing::BinPricingTryExt for radroots_event::listing::operational::OperationalListingBin +pub fn radroots_event::listing::operational::OperationalListingBin::try_subtotal_for_count(&self, u32) -> core::result::Result<radroots_sdk::listing::RadrootsOperationalListingSubtotal, radroots_core::quantity_price::Error> +pub fn radroots_event::listing::operational::OperationalListingBin::try_total_for_count(&self, u32) -> core::result::Result<radroots_sdk::listing::RadrootsOperationalListingTotal, radroots_core::quantity_price::Error> +pub fn radroots_sdk::listing::parse_classified_listing_address(impl core::convert::AsRef<str>) -> core::result::Result<radroots_sdk::listing::RadrootsClassifiedListingAddressParts, radroots_event::id::ParseError> +pub fn radroots_sdk::listing::parse_operational_listing_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event::listing::operational::OperationalListing, radroots_event::listing::operational::OperationalListingParseError> +pub fn radroots_sdk::listing::parse_public_classified_listing_address(impl core::convert::AsRef<str>) -> core::result::Result<radroots_sdk::listing::RadrootsPublicClassifiedListingAddress, radroots_event::id::ParseError> +pub fn radroots_sdk::listing::prepare(radroots_sdk::listing::PrepareRequest) -> core::result::Result<radroots_sdk::listing::Plan, radroots_sdk::listing::PrepareError> +pub fn radroots_sdk::listing::validate_operational_listing_event(&radroots_event_codec::verification::v1::RadrootsSignatureVerifiedEvent) -> core::result::Result<radroots_sdk::listing::RadrootsOperationalListingTradeProjection, radroots_event::trade::validation::OperationalListingValidationError> +pub fn radroots_sdk::listing::validate_operational_listing_model(radroots_event::listing::operational::OperationalListing, &radroots_identity::key::PublicKey) -> core::result::Result<radroots_sdk::listing::RadrootsOperationalListingTradeProjection, radroots_event::trade::validation::OperationalListingValidationError> +pub mod radroots_sdk::signing +pub use radroots_sdk::signing::AuthorizationHeader +pub use radroots_sdk::signing::BlossomAuthorizationPlan +#[non_exhaustive] pub enum radroots_sdk::signing::BlossomSigningError +pub radroots_sdk::signing::BlossomSigningError::Encoding(radroots_nostr::blossom::AuthorizationError) +pub radroots_sdk::signing::BlossomSigningError::Signing(radroots_signing::error::Error) +pub radroots_sdk::signing::BlossomSigningError::WrongPurpose +impl core::error::Error for radroots_sdk::signing::BlossomSigningError +pub fn radroots_sdk::signing::BlossomSigningError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +impl core::fmt::Display for radroots_sdk::signing::BlossomSigningError +pub fn radroots_sdk::signing::BlossomSigningError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +#[non_exhaustive] pub enum radroots_sdk::signing::Mode +pub radroots_sdk::signing::Mode::Host +pub radroots_sdk::signing::Mode::Local +pub radroots_sdk::signing::Mode::Nip46 +pub struct radroots_sdk::signing::Operations<'a> +impl<'a> radroots_sdk::signing::Operations<'a> +pub async fn radroots_sdk::signing::Operations<'a>::authorize_blossom_upload(&self, radroots_signing::request::SignRequest) -> core::result::Result<radroots_nostr::blossom::AuthorizationHeader, radroots_sdk::signing::BlossomSigningError> +pub async fn radroots_sdk::signing::Operations<'a>::sign(&self, radroots_signing::request::SignRequest) -> core::result::Result<radroots_signing::receipt::SignReceipt, radroots_signing::error::Error> +impl core::fmt::Debug for radroots_sdk::signing::Operations<'_> +pub fn radroots_sdk::signing::Operations<'_>::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_sdk::signing::Provider +impl radroots_sdk::signing::Provider +pub fn radroots_sdk::signing::Provider::as_signer(&self) -> &dyn radroots_signing::signer::Signer +pub fn radroots_sdk::signing::Provider::host(alloc::sync::Arc<dyn radroots_signing::signer::Signer>) -> Self +pub fn radroots_sdk::signing::Provider::local(radroots_nostr::signing::LocalSigner) -> Self +pub const fn radroots_sdk::signing::Provider::mode(&self) -> radroots_sdk::signing::Mode +pub fn radroots_sdk::signing::Provider::nip46(alloc::sync::Arc<dyn radroots_signing::signer::Signer>) -> Self +pub async fn radroots_sdk::signing::Provider::sign(&self, radroots_signing::request::SignRequest) -> core::result::Result<radroots_signing::receipt::SignReceipt, radroots_signing::error::Error> +pub async fn radroots_sdk::signing::Provider::status(&self) -> core::result::Result<radroots_signing::status::SignerStatus, radroots_signing::error::Error> +impl core::fmt::Debug for radroots_sdk::signing::Provider +pub fn radroots_sdk::signing::Provider::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn radroots_sdk::signing::blossom_upload_request(radroots_protocol::runtime::v1::OperationId, radroots_signing::identity::SigningIntentId, radroots_signing::actor::Actor, radroots_event_codec::authoring::BlossomAuthorizationPlan, radroots_signing::request::SignPolicy) -> core::result::Result<radroots_signing::request::SignRequest, radroots_signing::error::Error> +pub mod radroots_sdk::storage +pub struct radroots_sdk::storage::Operations<'a> +impl<'a> radroots_sdk::storage::Operations<'a> +pub async fn radroots_sdk::storage::Operations<'a>::begin_backup(&self, radroots_storage::backup::BackupPlan) -> core::result::Result<radroots_storage::backup::BackupOperation, radroots_storage::error::Error> +pub async fn radroots_sdk::storage::Operations<'a>::begin_restore(&self, radroots_storage::backup::RestorePlan) -> core::result::Result<radroots_storage::backup::RestoreOperation, radroots_storage::error::Error> +pub async fn radroots_sdk::storage::Operations<'a>::integrity(&self) -> core::result::Result<radroots_sdk::storage::IntegrityStatus, radroots_storage::error::Error> +pub async fn radroots_sdk::storage::Operations<'a>::status(&self) -> core::result::Result<radroots_sdk::storage::Status, radroots_storage::error::Error> +pub async fn radroots_sdk::storage::Operations<'a>::transition_backup(&self, radroots_storage::backup::BackupId, radroots_storage::backup::ReliabilityRevision, radroots_storage::backup::BackupTransition, u64) -> core::result::Result<radroots_storage::backup::BackupOperation, radroots_storage::error::Error> +pub async fn radroots_sdk::storage::Operations<'a>::transition_restore(&self, radroots_storage::backup::BackupId, radroots_storage::backup::ReliabilityRevision, radroots_storage::backup::RestoreTransition, u64) -> core::result::Result<radroots_storage::backup::RestoreOperation, radroots_storage::error::Error> +impl core::fmt::Debug for radroots_sdk::storage::Operations<'_> +pub fn radroots_sdk::storage::Operations<'_>::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub type radroots_sdk::storage::IntegrityStatus = radroots_storage::status::IntegrityStatus +pub type radroots_sdk::storage::SqliteOpenMode = radroots_storage_sqlite::open::OpenMode +pub type radroots_sdk::storage::SqliteOptions = radroots_storage_sqlite::config::OpenOptions +pub type radroots_sdk::storage::SqlitePaths = radroots_storage_sqlite::open::Paths +pub type radroots_sdk::storage::Status = radroots_storage::status::StorageStatus +pub mod radroots_sdk::sync +pub struct radroots_sdk::sync::HostPolicy +impl radroots_sdk::sync::HostPolicy +pub fn radroots_sdk::sync::HostPolicy::new(u64, u64, u64) -> core::result::Result<Self, radroots_sync::policy::Error> +pub fn radroots_sdk::sync::HostPolicy::standard() -> Self +impl core::default::Default for radroots_sdk::sync::HostPolicy +pub fn radroots_sdk::sync::HostPolicy::default() -> Self +pub struct radroots_sdk::sync::Operations<'a> +impl<'a> radroots_sdk::sync::Operations<'a> +pub async fn radroots_sdk::sync::Operations<'a>::admit_signed(&self, radroots_sync::policy::SyncId) -> core::result::Result<radroots_sync::push::AdmissionRunReceipt, radroots_sync::policy::Error> +pub async fn radroots_sdk::sync::Operations<'a>::cancel_push(&self, radroots_sync::policy::SyncId) -> core::result::Result<radroots_sync::push::PushCancellationReceipt, radroots_sync::policy::Error> +pub async fn radroots_sdk::sync::Operations<'a>::deliver_push(&self, radroots_sync::policy::SyncId) -> core::result::Result<radroots_sync::push::DeliveryExecutionReceipt, radroots_sync::policy::Error> +pub async fn radroots_sdk::sync::Operations<'a>::ingest(&self, radroots_transport::source::ObservedEvent, &dyn radroots_sync::ingest::AdmissionPolicy) -> core::result::Result<radroots_sync::ingest::IngestReceipt, radroots_sync::policy::Error> +pub async fn radroots_sdk::sync::Operations<'a>::ingest_batch(&self, alloc::vec::Vec<radroots_transport::source::ObservedEvent>, &dyn radroots_sync::ingest::AdmissionPolicy) -> radroots_sync::ingest::IngestBatchReceipt +pub async fn radroots_sdk::sync::Operations<'a>::prepare_push(&self, radroots_sync::push::PushRequest) -> core::result::Result<radroots_sync::push::PushPreparation, radroots_sync::policy::Error> +pub async fn radroots_sdk::sync::Operations<'a>::pull(&self, radroots_sync::pull::PullRequest, &dyn radroots_sync::ingest::AdmissionPolicy) -> core::result::Result<radroots_sync::pull::PullReceipt, radroots_sync::policy::Error> +pub async fn radroots_sdk::sync::Operations<'a>::push_status(&self, radroots_sync::policy::SyncId) -> core::result::Result<core::option::Option<radroots_sync::push::PushStatus>, radroots_sync::policy::Error> +pub async fn radroots_sdk::sync::Operations<'a>::refresh_projection(&self, radroots_sync::projection::RefreshRequest, &dyn radroots_sync::projection::Reducer) -> core::result::Result<radroots_sync::projection::RefreshReceipt, radroots_sync::policy::Error> +pub fn radroots_sdk::sync::Operations<'a>::retry_decision(&self, &radroots_storage::authored_delivery::AuthoredDeliveryPlan, u64) -> core::result::Result<radroots_protocol::runtime::v1::SyncRetryDecision, radroots_sync::policy::Error> +pub async fn radroots_sdk::sync::Operations<'a>::sign_prepared(&self, radroots_sync::push::PushRequest) -> core::result::Result<radroots_sync::push::SigningRunReceipt, radroots_sync::policy::Error> +pub async fn radroots_sdk::sync::Operations<'a>::status(&self, &[radroots_storage::projection::ProjectionId]) -> core::result::Result<radroots_sync::status::SyncStatus, radroots_sync::policy::Error> +pub async fn radroots_sdk::sync::Operations<'a>::submit_push(&self, radroots_sync::push::PushRequest) -> core::result::Result<radroots_sync::push::PushStatus, radroots_sync::policy::Error> +impl core::fmt::Debug for radroots_sdk::sync::Operations<'_> +pub fn radroots_sdk::sync::Operations<'_>::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub mod radroots_sdk::trade +#[non_exhaustive] pub enum radroots_sdk::trade::PrepareErrorKind +pub radroots_sdk::trade::PrepareErrorKind::CanonicalMutation +pub radroots_sdk::trade::PrepareErrorKind::Draft +pub radroots_sdk::trade::PrepareErrorKind::Encode +pub radroots_sdk::trade::PrepareErrorKind::UnauthorizedActor +pub radroots_sdk::trade::PrepareErrorKind::Workflow +#[non_exhaustive] pub enum radroots_sdk::trade::PrivateTermsError +pub radroots_sdk::trade::PrivateTermsError::EvidenceMismatch +pub radroots_sdk::trade::PrivateTermsError::NotRequired +pub radroots_sdk::trade::PrivateTermsError::Storage +pub struct radroots_sdk::trade::EnqueueRequest +impl radroots_sdk::trade::EnqueueRequest +pub const fn radroots_sdk::trade::EnqueueRequest::new(radroots_sync::policy::SyncId, radroots_storage::journal::IdempotencyKey, radroots_sdk::trade::Plan, radroots_sdk::transport::Profile, u64, radroots_signing::request::CancellationPolicy) -> Self +pub struct radroots_sdk::trade::Operations<'a> +impl<'a> radroots_sdk::trade::Operations<'a> +pub async fn radroots_sdk::trade::Operations<'a>::enqueue(&self, radroots_sdk::trade::EnqueueRequest) -> core::result::Result<radroots_sync::push::PushStatus, radroots_sync::policy::Error> +pub async fn radroots_sdk::trade::Operations<'a>::private_artifact(&self, radroots_storage::private_artifact::PrivateArtifactId) -> core::result::Result<core::option::Option<radroots_storage::private_artifact::PrivateArtifactMetadata>, radroots_storage::error::Error> +pub async fn radroots_sdk::trade::Operations<'a>::query_visible(&self, radroots_storage::event::EventQuery) -> core::result::Result<radroots_storage::event::EventPage<radroots_storage::event::StoredVisibleEvent>, radroots_storage::error::Error> +pub async fn radroots_sdk::trade::Operations<'a>::verify_private_terms(&self, &radroots_sdk::trade::Plan, radroots_storage::private_artifact::PrivateArtifactId) -> core::result::Result<radroots_storage::private_artifact::PrivateArtifactMetadata, radroots_sdk::trade::PrivateTermsError> +impl core::fmt::Debug for radroots_sdk::trade::Operations<'_> +pub fn radroots_sdk::trade::Operations<'_>::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_sdk::trade::Plan +impl radroots_sdk::trade::Plan +pub const fn radroots_sdk::trade::Plan::actor(&self) -> &radroots_signing::actor::Actor +pub const fn radroots_sdk::trade::Plan::authored_event(&self) -> &radroots_event_codec::authoring::AuthoredEventPlan +pub const fn radroots_sdk::trade::Plan::workflow(&self) -> &radroots_trade::workflow::WorkflowPlan +pub struct radroots_sdk::trade::PrepareError +impl radroots_sdk::trade::PrepareError +pub const fn radroots_sdk::trade::PrepareError::kind(&self) -> radroots_sdk::trade::PrepareErrorKind +impl core::error::Error for radroots_sdk::trade::PrepareError +pub fn radroots_sdk::trade::PrepareError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +impl core::fmt::Debug for radroots_sdk::trade::PrepareError +pub fn radroots_sdk::trade::PrepareError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_sdk::trade::PrepareError +pub fn radroots_sdk::trade::PrepareError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_sdk::trade::PrepareRequest +impl radroots_sdk::trade::PrepareRequest +pub const fn radroots_sdk::trade::PrepareRequest::new(radroots_signing::actor::Actor, radroots_event::trade::TradeMutationEnvelopeV1) -> Self +pub fn radroots_sdk::trade::prepare(radroots_sdk::trade::PrepareRequest) -> core::result::Result<radroots_sdk::trade::Plan, radroots_sdk::trade::PrepareError> +pub fn radroots_sdk::trade::project(radroots_trade::trade_contract_v1::RadrootsTradeReductionInputV1) -> radroots_trade::trade_contract_v1::RadrootsTradeProjectionV1 +pub mod radroots_sdk::transport +pub use radroots_sdk::transport::DEFAULT_PUBLIC_RELAY +pub use radroots_sdk::transport::ReconnectBackoff +pub use radroots_sdk::transport::RelayAccess +pub use radroots_sdk::transport::RelayAggregateState +pub use radroots_sdk::transport::RelayCapabilityEvidence +pub use radroots_sdk::transport::RelayCursor +pub use radroots_sdk::transport::RelayEndpoint +pub use radroots_sdk::transport::RelayEvidenceState +pub use radroots_sdk::transport::RelayProfile +pub use radroots_sdk::transport::RelayProfileKind +pub use radroots_sdk::transport::RelayStatus +pub use radroots_sdk::transport::RelayStatusReport +pub use radroots_sdk::transport::RelayUrl +pub use radroots_sdk::transport::RelayUrlPolicy +#[non_exhaustive] pub enum radroots_sdk::transport::DaemonAuth +pub radroots_sdk::transport::DaemonAuth::BearerToken(alloc::string::String) +pub radroots_sdk::transport::DaemonAuth::None +impl core::fmt::Debug for radroots_sdk::transport::DaemonAuth +pub fn radroots_sdk::transport::DaemonAuth::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +#[non_exhaustive] pub enum radroots_sdk::transport::DaemonErrorKind +pub radroots_sdk::transport::DaemonErrorKind::Authentication +pub radroots_sdk::transport::DaemonErrorKind::InvalidRequest +pub radroots_sdk::transport::DaemonErrorKind::InvalidResponse +pub radroots_sdk::transport::DaemonErrorKind::Rpc +pub radroots_sdk::transport::DaemonErrorKind::Transport +pub struct radroots_sdk::transport::DaemonConfig +impl radroots_sdk::transport::DaemonConfig +pub fn radroots_sdk::transport::DaemonConfig::new(impl core::convert::Into<alloc::string::String>) -> Self +pub fn radroots_sdk::transport::DaemonConfig::with_auth(self, radroots_sdk::transport::DaemonAuth) -> Self +pub const fn radroots_sdk::transport::DaemonConfig::with_timeout(self, core::time::Duration) -> Self +pub struct radroots_sdk::transport::DaemonDelivery +impl radroots_sdk::transport::DaemonDelivery +pub async fn radroots_sdk::transport::DaemonDelivery::deliver(&self, radroots_event::draft::SignedEvent, radroots_protocol::radrootsd::transport_publish::v5::TargetPolicy, radroots_protocol::radrootsd::transport_publish::v5::DeliveryPolicy, core::option::Option<alloc::string::String>, core::option::Option<u64>) -> core::result::Result<radroots_protocol::radrootsd::transport_publish::v5::EventResponse, radroots_sdk::transport::DaemonError> +pub fn radroots_sdk::transport::DaemonDelivery::new(radroots_sdk::transport::DaemonConfig) -> Self +pub struct radroots_sdk::transport::DaemonError +impl radroots_sdk::transport::DaemonError +pub const fn radroots_sdk::transport::DaemonError::kind(&self) -> radroots_sdk::transport::DaemonErrorKind +impl core::error::Error for radroots_sdk::transport::DaemonError +pub fn radroots_sdk::transport::DaemonError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +impl core::fmt::Debug for radroots_sdk::transport::DaemonError +pub fn radroots_sdk::transport::DaemonError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_sdk::transport::DaemonError +pub fn radroots_sdk::transport::DaemonError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_sdk::transport::NostrSlot +impl radroots_sdk::transport::NostrSlot +pub fn radroots_sdk::transport::NostrSlot::clear(&self) +pub fn radroots_sdk::transport::NostrSlot::configure(&self, radroots_transport_nostr::profile::RelayProfile) -> radroots_sdk::error::Result<()> +pub fn radroots_sdk::transport::NostrSlot::new() -> Self +pub fn radroots_sdk::transport::NostrSlot::read_targets(&self) -> core::option::Option<radroots_transport::target::TargetSet> +pub fn radroots_sdk::transport::NostrSlot::relay_status(&self) -> core::option::Option<radroots_transport_nostr::status::RelayStatusReport> +pub fn radroots_sdk::transport::NostrSlot::write_targets(&self) -> core::option::Option<radroots_transport::target::TargetSet> +impl core::default::Default for radroots_sdk::transport::NostrSlot +pub fn radroots_sdk::transport::NostrSlot::default() -> Self +impl core::fmt::Debug for radroots_sdk::transport::NostrSlot +pub fn radroots_sdk::transport::NostrSlot::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl radroots_transport::sink::EventSink for radroots_sdk::transport::NostrSlot +pub fn radroots_sdk::transport::NostrSlot::deliver(&self, radroots_transport::sink::DeliveryRequest) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_transport::sink::DeliveryReceipt, radroots_transport::sink::SinkFailure>> +pub fn radroots_sdk::transport::NostrSlot::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_transport::status::SinkStatus, radroots_transport::error::Error>> +impl radroots_transport::source::EventSource for radroots_sdk::transport::NostrSlot +pub fn radroots_sdk::transport::NostrSlot::fetch(&self, radroots_transport::source::FetchRequest) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_transport::source::FetchPage, radroots_transport::error::Error>> +pub fn radroots_sdk::transport::NostrSlot::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_transport::status::SourceStatus, radroots_transport::error::Error>> +pub struct radroots_sdk::transport::Profile +impl radroots_sdk::transport::Profile +pub fn radroots_sdk::transport::Profile::delivery(radroots_transport::target::TargetSet, radroots_transport::policy::SatisfactionPolicy) -> core::result::Result<Self, radroots_transport::error::Error> +pub const fn radroots_sdk::transport::Profile::is_local_only(&self) -> bool +pub const fn radroots_sdk::transport::Profile::local_only() -> Self +pub const fn radroots_sdk::transport::Profile::satisfaction(&self) -> core::option::Option<&radroots_transport::policy::SatisfactionPolicy> +pub const fn radroots_sdk::transport::Profile::sink_status(&self) -> core::option::Option<&radroots_transport::status::SinkStatus> +pub const fn radroots_sdk::transport::Profile::source_status(&self) -> core::option::Option<&radroots_transport::status::SourceStatus> +pub const fn radroots_sdk::transport::Profile::targets(&self) -> core::option::Option<&radroots_transport::target::TargetSet> +pub fn radroots_sdk::transport::Profile::unavailable_preview(radroots_transport::id::TransportId) -> Self +impl core::default::Default for radroots_sdk::transport::Profile +pub fn radroots_sdk::transport::Profile::default() -> Self +pub struct radroots_sdk::Client +impl radroots_sdk::client::Client +pub fn radroots_sdk::client::Client::capabilities(&self) -> radroots_sdk::capability::CapabilityReport +pub async fn radroots_sdk::client::Client::close(&self) -> radroots_sdk::error::Result<()> +pub fn radroots_sdk::client::Client::configure_nostr(&self, radroots_transport_nostr::profile::RelayProfile) -> radroots_sdk::error::Result<()> +pub fn radroots_sdk::client::Client::farm(&self) -> radroots_sdk::error::Result<core::option::Option<radroots_sdk::farm::Operations<'_>>> +pub fn radroots_sdk::client::Client::is_closed(&self) -> bool +pub fn radroots_sdk::client::Client::listing(&self) -> radroots_sdk::error::Result<core::option::Option<radroots_sdk::listing::Operations<'_>>> +pub fn radroots_sdk::client::Client::nostr_status(&self) -> radroots_sdk::error::Result<core::option::Option<radroots_transport_nostr::status::RelayStatusReport>> +pub fn radroots_sdk::client::Client::signer(&self) -> radroots_sdk::error::Result<core::option::Option<&dyn radroots_signing::signer::Signer>> +pub fn radroots_sdk::client::Client::signing(&self) -> radroots_sdk::error::Result<core::option::Option<radroots_sdk::signing::Operations<'_>>> +pub fn radroots_sdk::client::Client::sink(&self) -> radroots_sdk::error::Result<core::option::Option<&dyn radroots_transport::sink::EventSink>> +pub fn radroots_sdk::client::Client::source(&self) -> radroots_sdk::error::Result<core::option::Option<&dyn radroots_transport::source::EventSource>> +pub fn radroots_sdk::client::Client::storage(&self) -> radroots_sdk::error::Result<&dyn radroots_storage::Storage> +pub async fn radroots_sdk::client::Client::storage_integrity(&self) -> radroots_sdk::error::Result<radroots_sdk::storage::IntegrityStatus> +pub fn radroots_sdk::client::Client::storage_operations(&self) -> radroots_sdk::error::Result<radroots_sdk::storage::Operations<'_>> +pub async fn radroots_sdk::client::Client::storage_status(&self) -> radroots_sdk::error::Result<radroots_sdk::storage::Status> +pub fn radroots_sdk::client::Client::sync(&self) -> radroots_sdk::error::Result<core::option::Option<radroots_sdk::sync::Operations<'_>>> +pub fn radroots_sdk::client::Client::trade(&self) -> radroots_sdk::error::Result<core::option::Option<radroots_sdk::trade::Operations<'_>>> +impl core::fmt::Debug for radroots_sdk::client::Client +pub fn radroots_sdk::client::Client::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_sdk::ClientBuilder +impl radroots_sdk::client::ClientBuilder +pub fn radroots_sdk::client::ClientBuilder::build(self) -> radroots_sdk::error::Result<radroots_sdk::client::Client> +pub fn radroots_sdk::client::ClientBuilder::capability_availability(self, radroots_sdk::capability::CapabilityId, radroots_sdk::capability::Availability) -> Self +pub fn radroots_sdk::client::ClientBuilder::host_sync(self, radroots_sdk::sync::HostPolicy) -> Self +pub fn radroots_sdk::client::ClientBuilder::memory(radroots_storage::event::SourceGeneration) -> Self +pub fn radroots_sdk::client::ClientBuilder::memory_default() -> Self +pub fn radroots_sdk::client::ClientBuilder::new() -> Self +pub fn radroots_sdk::client::ClientBuilder::nostr(self, radroots_sdk::transport::NostrSlot) -> Self +pub fn radroots_sdk::client::ClientBuilder::signer(self, alloc::sync::Arc<dyn radroots_signing::signer::Signer>) -> Self +pub fn radroots_sdk::client::ClientBuilder::signing(self, radroots_sdk::signing::Provider) -> Self +pub fn radroots_sdk::client::ClientBuilder::sink(self, alloc::sync::Arc<dyn radroots_transport::sink::EventSink>) -> Self +pub fn radroots_sdk::client::ClientBuilder::source(self, alloc::sync::Arc<dyn radroots_transport::source::EventSource>) -> Self +pub async fn radroots_sdk::client::ClientBuilder::sqlite(radroots_sdk::storage::SqliteOptions) -> radroots_sdk::error::Result<Self> +pub fn radroots_sdk::client::ClientBuilder::storage(self, alloc::sync::Arc<dyn radroots_storage::Storage>) -> Self +pub fn radroots_sdk::client::ClientBuilder::sync_engine(self, radroots_sync::engine::Engine) -> Self +impl core::fmt::Debug for radroots_sdk::client::ClientBuilder +pub fn radroots_sdk::client::ClientBuilder::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_sdk::Error +impl radroots_sdk::error::Error +pub const fn radroots_sdk::error::Error::descriptor(&self) -> radroots_sdk::error::ErrorDescriptor +pub const fn radroots_sdk::error::Error::kind(&self) -> radroots_sdk::error::ErrorKind +pub fn radroots_sdk::error::Error::to_report(&self) -> radroots_protocol::error::v1::ErrorReport +impl core::error::Error for radroots_sdk::error::Error +pub fn radroots_sdk::error::Error::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +impl core::fmt::Debug for radroots_sdk::error::Error +pub fn radroots_sdk::error::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_sdk::error::Error +pub fn radroots_sdk::error::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub type radroots_sdk::Result<T> = core::result::Result<T, radroots_sdk::error::Error> diff --git a/contracts/api_baselines/radroots_secrets.txt b/contracts/api_baselines/radroots_secrets.txt @@ -0,0 +1,511 @@ +pub mod radroots_secrets +pub mod radroots_secrets::context +pub struct radroots_secrets::context::EnvelopeContext +impl radroots_secrets::context::EnvelopeContext +pub fn radroots_secrets::context::EnvelopeContext::authentication_digest(&self) -> [u8; 32] +pub const fn radroots_secrets::context::EnvelopeContext::new(radroots_secrets::context::EnvelopePurpose, radroots_secrets::context::EnvelopeSubject, radroots_secrets::context::PayloadSchemaId) -> Self +pub const fn radroots_secrets::context::EnvelopeContext::payload_schema(&self) -> &radroots_secrets::context::PayloadSchemaId +pub const fn radroots_secrets::context::EnvelopeContext::purpose(&self) -> &radroots_secrets::context::EnvelopePurpose +pub const fn radroots_secrets::context::EnvelopeContext::subject(&self) -> &radroots_secrets::context::EnvelopeSubject +pub fn radroots_secrets::context::EnvelopeContext::to_canonical_bytes(&self) -> alloc::vec::Vec<u8> +impl core::fmt::Debug for radroots_secrets::context::EnvelopeContext +pub fn radroots_secrets::context::EnvelopeContext::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl serde_core::ser::Serialize for radroots_secrets::context::EnvelopeContext +pub fn radroots_secrets::context::EnvelopeContext::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_secrets::context::EnvelopeContext +pub fn radroots_secrets::context::EnvelopeContext::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_secrets::context::EnvelopePurpose(_) +impl radroots_secrets::context::EnvelopePurpose +pub fn radroots_secrets::context::EnvelopePurpose::as_str(&self) -> &str +pub fn radroots_secrets::context::EnvelopePurpose::parse(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_secrets::error::Error> +impl core::fmt::Debug for radroots_secrets::context::EnvelopePurpose +pub fn radroots_secrets::context::EnvelopePurpose::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_secrets::context::EnvelopePurpose +pub fn radroots_secrets::context::EnvelopePurpose::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_secrets::context::EnvelopeSubject +impl radroots_secrets::context::EnvelopeSubject +pub fn radroots_secrets::context::EnvelopeSubject::parse(impl core::convert::Into<alloc::string::String>, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_secrets::error::Error> +pub fn radroots_secrets::context::EnvelopeSubject::subject_type(&self) -> &str +pub fn radroots_secrets::context::EnvelopeSubject::value(&self) -> &str +impl core::fmt::Debug for radroots_secrets::context::EnvelopeSubject +pub fn radroots_secrets::context::EnvelopeSubject::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_secrets::context::EnvelopeSubject +pub fn radroots_secrets::context::EnvelopeSubject::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_secrets::context::PayloadSchemaId(_) +impl radroots_secrets::context::PayloadSchemaId +pub fn radroots_secrets::context::PayloadSchemaId::as_str(&self) -> &str +pub fn radroots_secrets::context::PayloadSchemaId::parse(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_secrets::error::Error> +impl core::fmt::Debug for radroots_secrets::context::PayloadSchemaId +pub fn radroots_secrets::context::PayloadSchemaId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_secrets::context::PayloadSchemaId +pub fn radroots_secrets::context::PayloadSchemaId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub const radroots_secrets::context::ENVELOPE_CONTEXT_DOMAIN: &[u8] +pub const radroots_secrets::context::ENVELOPE_CONTEXT_VERSION: u16 +pub const radroots_secrets::context::ENVELOPE_PURPOSE_MAX_BYTES: usize +pub const radroots_secrets::context::ENVELOPE_SUBJECT_TYPE_MAX_BYTES: usize +pub const radroots_secrets::context::ENVELOPE_SUBJECT_VALUE_MAX_BYTES: usize +pub const radroots_secrets::context::PAYLOAD_SCHEMA_MAX_BYTES: usize +pub mod radroots_secrets::envelope +#[non_exhaustive] pub enum radroots_secrets::envelope::Cipher +pub radroots_secrets::envelope::Cipher::XChaCha20Poly1305 +#[non_exhaustive] pub enum radroots_secrets::envelope::KeySource +pub radroots_secrets::envelope::KeySource::ProviderWrapped +pub struct radroots_secrets::envelope::EncryptedEnvelope +impl radroots_secrets::envelope::EncryptedEnvelope +pub const fn radroots_secrets::envelope::EncryptedEnvelope::cipher(&self) -> radroots_secrets::envelope::Cipher +pub const fn radroots_secrets::envelope::EncryptedEnvelope::context(&self) -> core::option::Option<&radroots_secrets::context::EnvelopeContext> +pub fn radroots_secrets::envelope::EncryptedEnvelope::decode(&[u8]) -> core::result::Result<Self, radroots_secrets::error::Error> +pub fn radroots_secrets::envelope::EncryptedEnvelope::encode(&self) -> core::result::Result<alloc::vec::Vec<u8>, radroots_secrets::error::Error> +pub const fn radroots_secrets::envelope::EncryptedEnvelope::key_source(&self) -> radroots_secrets::envelope::KeySource +pub async fn radroots_secrets::envelope::EncryptedEnvelope::open(&self, &dyn radroots_secrets::wrapping::KeyWrapping, &radroots_secrets::context::EnvelopeContext) -> core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error> +pub async fn radroots_secrets::envelope::EncryptedEnvelope::open_legacy_v1(&self, &dyn radroots_secrets::wrapping::KeyWrapping, &radroots_secrets::envelope::LegacyV1ResealAuthority, &radroots_secrets::id::SecretRef, &radroots_secrets::context::EnvelopeContext) -> core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error> +pub const fn radroots_secrets::envelope::EncryptedEnvelope::reference(&self) -> &radroots_secrets::id::SecretRef +pub async fn radroots_secrets::envelope::EncryptedEnvelope::reseal_legacy_v1<V>(&self, &dyn radroots_secrets::wrapping::KeyWrapping, &radroots_secrets::envelope::LegacyV1ResealAuthority, &radroots_secrets::id::SecretRef, radroots_secrets::id::SecretRef, radroots_secrets::context::EnvelopeContext, &V, radroots_secrets::envelope::SealMaterial) -> core::result::Result<radroots_secrets::envelope::LegacyV1ResealResult, radroots_secrets::error::Error> where V: core::ops::function::Fn(&[u8]) -> bool + core::marker::Send + core::marker::Sync +pub async fn radroots_secrets::envelope::EncryptedEnvelope::seal(&dyn radroots_secrets::wrapping::KeyWrapping, radroots_secrets::envelope::SealRequest<'_>) -> core::result::Result<Self, radroots_secrets::error::Error> +pub const fn radroots_secrets::envelope::EncryptedEnvelope::version(&self) -> u16 +impl core::fmt::Debug for radroots_secrets::envelope::EncryptedEnvelope +pub fn radroots_secrets::envelope::EncryptedEnvelope::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl serde_core::ser::Serialize for radroots_secrets::envelope::EncryptedEnvelope +pub fn radroots_secrets::envelope::EncryptedEnvelope::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_secrets::envelope::EncryptedEnvelope +pub fn radroots_secrets::envelope::EncryptedEnvelope::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_secrets::envelope::LegacyV1ResealAuthority +impl radroots_secrets::envelope::LegacyV1ResealAuthority +pub const fn radroots_secrets::envelope::LegacyV1ResealAuthority::new() -> Self +impl core::fmt::Debug for radroots_secrets::envelope::LegacyV1ResealAuthority +pub fn radroots_secrets::envelope::LegacyV1ResealAuthority::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_secrets::envelope::LegacyV1ResealResult +impl radroots_secrets::envelope::LegacyV1ResealResult +pub const fn radroots_secrets::envelope::LegacyV1ResealResult::envelope(&self) -> &radroots_secrets::envelope::EncryptedEnvelope +pub fn radroots_secrets::envelope::LegacyV1ResealResult::into_envelope(self) -> radroots_secrets::envelope::EncryptedEnvelope +pub const fn radroots_secrets::envelope::LegacyV1ResealResult::plaintext_commitment(&self) -> &[u8; 32] +impl core::fmt::Debug for radroots_secrets::envelope::LegacyV1ResealResult +pub fn radroots_secrets::envelope::LegacyV1ResealResult::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_secrets::envelope::Nonce(_) +impl radroots_secrets::envelope::Nonce +pub const fn radroots_secrets::envelope::Nonce::as_bytes(&self) -> &[u8; 24] +pub const fn radroots_secrets::envelope::Nonce::new([u8; 24]) -> Self +impl core::fmt::Debug for radroots_secrets::envelope::Nonce +pub fn radroots_secrets::envelope::Nonce::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_secrets::envelope::SealMaterial +impl radroots_secrets::envelope::SealMaterial +pub const fn radroots_secrets::envelope::SealMaterial::new(radroots_secrets::wrapping::SecretMaterial, radroots_secrets::envelope::Nonce) -> Self +impl core::fmt::Debug for radroots_secrets::envelope::SealMaterial +pub fn radroots_secrets::envelope::SealMaterial::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_secrets::envelope::SealRequest<'a> +impl<'a> radroots_secrets::envelope::SealRequest<'a> +pub const fn radroots_secrets::envelope::SealRequest<'a>::new(radroots_secrets::id::SecretRef, radroots_secrets::context::EnvelopeContext, &'a radroots_secrets::wrapping::SecretMaterial, radroots_secrets::envelope::SealMaterial) -> Self +impl core::fmt::Debug for radroots_secrets::envelope::SealRequest<'_> +pub fn radroots_secrets::envelope::SealRequest<'_>::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub const radroots_secrets::envelope::ENVELOPE_MAX_BYTES: usize +pub const radroots_secrets::envelope::ENVELOPE_VERSION: u16 +pub const radroots_secrets::envelope::LEGACY_ENVELOPE_VERSION: u16 +pub mod radroots_secrets::error +#[non_exhaustive] pub enum radroots_secrets::error::ContextField +pub radroots_secrets::error::ContextField::PayloadSchema +pub radroots_secrets::error::ContextField::Purpose +pub radroots_secrets::error::ContextField::SubjectType +pub radroots_secrets::error::ContextField::SubjectValue +#[non_exhaustive] pub enum radroots_secrets::error::ContextValueError +pub radroots_secrets::error::ContextValueError::Empty +pub radroots_secrets::error::ContextValueError::NonCanonical +pub radroots_secrets::error::ContextValueError::TooLong +pub radroots_secrets::error::ContextValueError::TooLong::actual_bytes: usize +pub radroots_secrets::error::ContextValueError::TooLong::max_bytes: usize +impl core::fmt::Display for radroots_secrets::error::ContextValueError +pub fn radroots_secrets::error::ContextValueError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +#[non_exhaustive] pub enum radroots_secrets::error::Error +pub radroots_secrets::error::Error::BackendFailure +pub radroots_secrets::error::Error::BackendFailure::backend: radroots_secrets::id::BackendKind +pub radroots_secrets::error::Error::BackendFailure::operation: radroots_secrets::error::Operation +pub radroots_secrets::error::Error::BackendMismatch +pub radroots_secrets::error::Error::BackendMismatch::provider: radroots_secrets::id::BackendKind +pub radroots_secrets::error::Error::BackendMismatch::reference: radroots_secrets::id::BackendKind +pub radroots_secrets::error::Error::BackendUnavailable +pub radroots_secrets::error::Error::BackendUnavailable::backend: radroots_secrets::id::BackendKind +pub radroots_secrets::error::Error::ContextMismatch +pub radroots_secrets::error::Error::DecryptFailed +pub radroots_secrets::error::Error::EncryptFailed +pub radroots_secrets::error::Error::EnvelopeMalformed +pub radroots_secrets::error::Error::EnvelopeTooLarge +pub radroots_secrets::error::Error::EnvelopeTooLarge::actual_bytes: usize +pub radroots_secrets::error::Error::EnvelopeTooLarge::max_bytes: usize +pub radroots_secrets::error::Error::InsecurePermissions +pub radroots_secrets::error::Error::InvalidContextValue +pub radroots_secrets::error::Error::InvalidContextValue::field: radroots_secrets::error::ContextField +pub radroots_secrets::error::Error::InvalidContextValue::reason: radroots_secrets::error::ContextValueError +pub radroots_secrets::error::Error::InvalidDataKeyLength +pub radroots_secrets::error::Error::InvalidDataKeyLength::actual_bytes: usize +pub radroots_secrets::error::Error::InvalidKeyVersion +pub radroots_secrets::error::Error::InvalidRotation +pub radroots_secrets::error::Error::InvalidSecretId(radroots_secrets::error::SecretIdError) +pub radroots_secrets::error::Error::InvalidSecretLength +pub radroots_secrets::error::Error::InvalidSecretLength::actual_bytes: usize +pub radroots_secrets::error::Error::InvalidSecretLength::max_bytes: usize +pub radroots_secrets::error::Error::InvalidServiceName +pub radroots_secrets::error::Error::InvalidWrappedLength +pub radroots_secrets::error::Error::InvalidWrappedLength::actual_bytes: usize +pub radroots_secrets::error::Error::InvalidWrappedLength::max_bytes: usize +pub radroots_secrets::error::Error::LegacyEntropyReuse +pub radroots_secrets::error::Error::LegacyEnvelopeDenied +pub radroots_secrets::error::Error::LegacyPayloadValidationFailed +pub radroots_secrets::error::Error::PolicyUnsupported +pub radroots_secrets::error::Error::PolicyUnsupported::backend: radroots_secrets::id::BackendKind +pub radroots_secrets::error::Error::PolicyUnsupported::requirement: radroots_secrets::error::PolicyRequirement +pub radroots_secrets::error::Error::ProviderReferenceMismatch +pub radroots_secrets::error::Error::SecretAlreadyExists +pub radroots_secrets::error::Error::SecretAlreadyExists::backend: radroots_secrets::id::BackendKind +pub radroots_secrets::error::Error::SecretAlreadyExists::key_version: u32 +pub radroots_secrets::error::Error::SecretNotFound +pub radroots_secrets::error::Error::SecretNotFound::backend: radroots_secrets::id::BackendKind +pub radroots_secrets::error::Error::SecretNotFound::key_version: u32 +pub radroots_secrets::error::Error::UnsafePath +pub radroots_secrets::error::Error::UnsupportedBackend +pub radroots_secrets::error::Error::UnsupportedBackend::backend: u8 +pub radroots_secrets::error::Error::UnsupportedCipher +pub radroots_secrets::error::Error::UnsupportedCipher::cipher: u8 +pub radroots_secrets::error::Error::UnsupportedContextVersion +pub radroots_secrets::error::Error::UnsupportedContextVersion::version: u16 +pub radroots_secrets::error::Error::UnsupportedEnvelopeVersion +pub radroots_secrets::error::Error::UnsupportedEnvelopeVersion::version: u16 +pub radroots_secrets::error::Error::UnsupportedKeySource +pub radroots_secrets::error::Error::UnsupportedKeySource::key_source: u8 +impl core::error::Error for radroots_secrets::error::Error +impl core::fmt::Display for radroots_secrets::error::Error +pub fn radroots_secrets::error::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +#[non_exhaustive] pub enum radroots_secrets::error::Operation +pub radroots_secrets::error::Operation::Open +pub radroots_secrets::error::Operation::Provision +pub radroots_secrets::error::Operation::Read +pub radroots_secrets::error::Operation::Remove +pub radroots_secrets::error::Operation::Rotate +pub radroots_secrets::error::Operation::Unwrap +pub radroots_secrets::error::Operation::Wrap +pub radroots_secrets::error::Operation::Write +#[non_exhaustive] pub enum radroots_secrets::error::PolicyRequirement +pub radroots_secrets::error::PolicyRequirement::DeviceLocal +pub radroots_secrets::error::PolicyRequirement::HardwareBacked +pub radroots_secrets::error::PolicyRequirement::UserPresence +#[non_exhaustive] pub enum radroots_secrets::error::SecretIdError +pub radroots_secrets::error::SecretIdError::Empty +pub radroots_secrets::error::SecretIdError::InvalidCharacter +pub radroots_secrets::error::SecretIdError::InvalidCharacter::byte_offset: usize +pub radroots_secrets::error::SecretIdError::TooLong +pub radroots_secrets::error::SecretIdError::TooLong::actual_bytes: usize +pub radroots_secrets::error::SecretIdError::TooLong::max_bytes: usize +impl core::fmt::Display for radroots_secrets::error::SecretIdError +pub fn radroots_secrets::error::SecretIdError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub mod radroots_secrets::file +#[non_exhaustive] pub enum radroots_secrets::file::FileOpenMode +pub radroots_secrets::file::FileOpenMode::CreateNew +pub radroots_secrets::file::FileOpenMode::OpenExisting +pub struct radroots_secrets::file::FileProvider +impl radroots_secrets::file::FileProvider +pub fn radroots_secrets::file::FileProvider::contains(&self, &radroots_secrets::id::SecretRef) -> core::result::Result<bool, radroots_secrets::error::Error> +pub fn radroots_secrets::file::FileProvider::open(impl core::convert::AsRef<std::path::Path>, radroots_secrets::file::FileOpenMode, radroots_secrets::wrapping::SecretMaterial) -> core::result::Result<Self, radroots_secrets::error::Error> +pub fn radroots_secrets::file::FileProvider::provision(&self, &radroots_secrets::id::SecretRef, &radroots_secrets::wrapping::SecretMaterial, radroots_secrets::envelope::Nonce) -> core::result::Result<(), radroots_secrets::error::Error> +pub fn radroots_secrets::file::FileProvider::remove(&self, &radroots_secrets::id::SecretRef) -> core::result::Result<bool, radroots_secrets::error::Error> +pub fn radroots_secrets::file::FileProvider::rotate(&self, &radroots_secrets::id::SecretRef, &radroots_secrets::id::SecretRef, &radroots_secrets::wrapping::SecretMaterial, radroots_secrets::envelope::Nonce) -> core::result::Result<(), radroots_secrets::error::Error> +impl core::fmt::Debug for radroots_secrets::file::FileProvider +pub fn radroots_secrets::file::FileProvider::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl radroots_secrets::provider::SecretProvider for radroots_secrets::file::FileProvider +pub fn radroots_secrets::file::FileProvider::backend_kind(&self) -> radroots_secrets::id::BackendKind +pub fn radroots_secrets::file::FileProvider::capabilities(&self) -> radroots_secrets::provider::SecretCapabilities +impl radroots_secrets::wrapping::KeyWrapping for radroots_secrets::file::FileProvider +pub fn radroots_secrets::file::FileProvider::unwrap<'a>(&'a self, radroots_secrets::wrapping::UnwrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error>> +pub fn radroots_secrets::file::FileProvider::unwrap_legacy_v1<'a>(&'a self, radroots_secrets::wrapping::LegacyV1UnwrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error>> +pub fn radroots_secrets::file::FileProvider::wrap<'a>(&'a self, radroots_secrets::wrapping::WrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::WrappedSecret, radroots_secrets::error::Error>> +pub mod radroots_secrets::id +#[non_exhaustive] pub enum radroots_secrets::id::BackendKind +pub radroots_secrets::id::BackendKind::External +pub radroots_secrets::id::BackendKind::File +pub radroots_secrets::id::BackendKind::Keyring +pub radroots_secrets::id::BackendKind::Memory +pub struct radroots_secrets::id::KeyVersion(_) +impl radroots_secrets::id::KeyVersion +pub const fn radroots_secrets::id::KeyVersion::get(self) -> u32 +pub const fn radroots_secrets::id::KeyVersion::new(u32) -> core::result::Result<Self, radroots_secrets::error::Error> +pub struct radroots_secrets::id::SecretId(_) +impl radroots_secrets::id::SecretId +pub fn radroots_secrets::id::SecretId::as_str(&self) -> &str +pub fn radroots_secrets::id::SecretId::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_secrets::error::Error> +impl core::fmt::Debug for radroots_secrets::id::SecretId +pub fn radroots_secrets::id::SecretId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_secrets::id::SecretId +pub fn radroots_secrets::id::SecretId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_secrets::id::SecretId +pub type radroots_secrets::id::SecretId::Err = radroots_secrets::error::Error +pub fn radroots_secrets::id::SecretId::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_secrets::id::SecretId +pub fn radroots_secrets::id::SecretId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_secrets::id::SecretId +pub fn radroots_secrets::id::SecretId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_secrets::id::SecretRef +impl radroots_secrets::id::SecretRef +pub const fn radroots_secrets::id::SecretRef::backend(&self) -> radroots_secrets::id::BackendKind +pub const fn radroots_secrets::id::SecretRef::id(&self) -> &radroots_secrets::id::SecretId +pub const fn radroots_secrets::id::SecretRef::key_version(&self) -> radroots_secrets::id::KeyVersion +pub const fn radroots_secrets::id::SecretRef::new(radroots_secrets::id::SecretId, radroots_secrets::id::BackendKind, radroots_secrets::id::KeyVersion) -> Self +impl core::fmt::Debug for radroots_secrets::id::SecretRef +pub fn radroots_secrets::id::SecretRef::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub const radroots_secrets::id::SECRET_ID_MAX_BYTES: usize +pub mod radroots_secrets::keyring +pub struct radroots_secrets::keyring::KeyringProvider +impl radroots_secrets::keyring::KeyringProvider +pub fn radroots_secrets::keyring::KeyringProvider::new(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_secrets::error::Error> +pub fn radroots_secrets::keyring::KeyringProvider::provision(&self, &radroots_secrets::id::SecretRef, &radroots_secrets::wrapping::SecretMaterial) -> core::result::Result<(), radroots_secrets::error::Error> +pub fn radroots_secrets::keyring::KeyringProvider::remove(&self, &radroots_secrets::id::SecretRef) -> core::result::Result<bool, radroots_secrets::error::Error> +pub fn radroots_secrets::keyring::KeyringProvider::rotate(&self, &radroots_secrets::id::SecretRef, &radroots_secrets::id::SecretRef, &radroots_secrets::wrapping::SecretMaterial) -> core::result::Result<(), radroots_secrets::error::Error> +impl core::fmt::Debug for radroots_secrets::keyring::KeyringProvider +pub fn radroots_secrets::keyring::KeyringProvider::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl radroots_secrets::provider::SecretProvider for radroots_secrets::keyring::KeyringProvider +pub fn radroots_secrets::keyring::KeyringProvider::backend_kind(&self) -> radroots_secrets::id::BackendKind +pub fn radroots_secrets::keyring::KeyringProvider::capabilities(&self) -> radroots_secrets::provider::SecretCapabilities +impl radroots_secrets::wrapping::KeyWrapping for radroots_secrets::keyring::KeyringProvider +pub fn radroots_secrets::keyring::KeyringProvider::unwrap<'a>(&'a self, radroots_secrets::wrapping::UnwrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error>> +pub fn radroots_secrets::keyring::KeyringProvider::unwrap_legacy_v1<'a>(&'a self, radroots_secrets::wrapping::LegacyV1UnwrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error>> +pub fn radroots_secrets::keyring::KeyringProvider::wrap<'a>(&'a self, radroots_secrets::wrapping::WrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::WrappedSecret, radroots_secrets::error::Error>> +pub mod radroots_secrets::memory +pub struct radroots_secrets::memory::MemoryProvider +impl radroots_secrets::memory::MemoryProvider +pub fn radroots_secrets::memory::MemoryProvider::contains(&self, &radroots_secrets::id::SecretRef) -> core::result::Result<bool, radroots_secrets::error::Error> +pub fn radroots_secrets::memory::MemoryProvider::new() -> Self +pub fn radroots_secrets::memory::MemoryProvider::provision(&self, &radroots_secrets::id::SecretRef, radroots_secrets::wrapping::SecretMaterial) -> core::result::Result<(), radroots_secrets::error::Error> +pub fn radroots_secrets::memory::MemoryProvider::remove(&self, &radroots_secrets::id::SecretRef) -> core::result::Result<bool, radroots_secrets::error::Error> +pub fn radroots_secrets::memory::MemoryProvider::rotate(&self, &radroots_secrets::id::SecretRef, &radroots_secrets::id::SecretRef, radroots_secrets::wrapping::SecretMaterial) -> core::result::Result<(), radroots_secrets::error::Error> +impl core::fmt::Debug for radroots_secrets::memory::MemoryProvider +pub fn radroots_secrets::memory::MemoryProvider::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl radroots_secrets::provider::SecretProvider for radroots_secrets::memory::MemoryProvider +pub fn radroots_secrets::memory::MemoryProvider::backend_kind(&self) -> radroots_secrets::id::BackendKind +pub fn radroots_secrets::memory::MemoryProvider::capabilities(&self) -> radroots_secrets::provider::SecretCapabilities +impl radroots_secrets::wrapping::KeyWrapping for radroots_secrets::memory::MemoryProvider +pub fn radroots_secrets::memory::MemoryProvider::unwrap<'a>(&'a self, radroots_secrets::wrapping::UnwrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error>> +pub fn radroots_secrets::memory::MemoryProvider::unwrap_legacy_v1<'a>(&'a self, radroots_secrets::wrapping::LegacyV1UnwrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error>> +pub fn radroots_secrets::memory::MemoryProvider::wrap<'a>(&'a self, radroots_secrets::wrapping::WrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::WrappedSecret, radroots_secrets::error::Error>> +pub mod radroots_secrets::provider +#[non_exhaustive] pub enum radroots_secrets::provider::CapabilitySupport +pub radroots_secrets::provider::CapabilitySupport::Supported +pub radroots_secrets::provider::CapabilitySupport::Unavailable +#[non_exhaustive] pub enum radroots_secrets::provider::HardwarePolicy +pub radroots_secrets::provider::HardwarePolicy::Any +pub radroots_secrets::provider::HardwarePolicy::PreferHardwareBacked +pub radroots_secrets::provider::HardwarePolicy::RequireHardwareBacked +#[non_exhaustive] pub enum radroots_secrets::provider::ResidencyPolicy +pub radroots_secrets::provider::ResidencyPolicy::Any +pub radroots_secrets::provider::ResidencyPolicy::DeviceLocal +#[non_exhaustive] pub enum radroots_secrets::provider::ResidencySupport +pub radroots_secrets::provider::ResidencySupport::DeviceLocal +pub radroots_secrets::provider::ResidencySupport::UserProfile +pub radroots_secrets::provider::ResidencySupport::Volatile +#[non_exhaustive] pub enum radroots_secrets::provider::UserPresencePolicy +pub radroots_secrets::provider::UserPresencePolicy::NotRequired +pub radroots_secrets::provider::UserPresencePolicy::Required +pub struct radroots_secrets::provider::AccessPolicy +impl radroots_secrets::provider::AccessPolicy +pub const fn radroots_secrets::provider::AccessPolicy::new(radroots_secrets::provider::ResidencyPolicy, radroots_secrets::provider::UserPresencePolicy, radroots_secrets::provider::HardwarePolicy) -> Self +pub const fn radroots_secrets::provider::AccessPolicy::standard() -> Self +pub struct radroots_secrets::provider::SecretCapabilities +impl radroots_secrets::provider::SecretCapabilities +pub const fn radroots_secrets::provider::SecretCapabilities::available(radroots_secrets::provider::ResidencySupport, radroots_secrets::provider::CapabilitySupport, radroots_secrets::provider::CapabilitySupport) -> Self +pub const fn radroots_secrets::provider::SecretCapabilities::hardware_backed(self) -> radroots_secrets::provider::CapabilitySupport +pub const fn radroots_secrets::provider::SecretCapabilities::is_available(self) -> bool +pub const fn radroots_secrets::provider::SecretCapabilities::residency(self) -> radroots_secrets::provider::ResidencySupport +pub const fn radroots_secrets::provider::SecretCapabilities::unavailable() -> Self +pub const fn radroots_secrets::provider::SecretCapabilities::user_presence(self) -> radroots_secrets::provider::CapabilitySupport +pub struct radroots_secrets::provider::SelectionPolicy +impl radroots_secrets::provider::SelectionPolicy +pub const fn radroots_secrets::provider::SelectionPolicy::new(radroots_secrets::id::BackendKind, radroots_secrets::provider::AccessPolicy) -> Self +pub fn radroots_secrets::provider::SelectionPolicy::select<'a>(self, &'a [&'a dyn radroots_secrets::provider::SecretProvider]) -> core::result::Result<&'a dyn radroots_secrets::provider::SecretProvider, radroots_secrets::error::Error> +pub trait radroots_secrets::provider::SecretProvider: radroots_secrets::wrapping::KeyWrapping + core::marker::Send + core::marker::Sync +pub fn radroots_secrets::provider::SecretProvider::backend_kind(&self) -> radroots_secrets::id::BackendKind +pub fn radroots_secrets::provider::SecretProvider::capabilities(&self) -> radroots_secrets::provider::SecretCapabilities +impl radroots_secrets::provider::SecretProvider for radroots_secrets::file::FileProvider +pub fn radroots_secrets::file::FileProvider::backend_kind(&self) -> radroots_secrets::id::BackendKind +pub fn radroots_secrets::file::FileProvider::capabilities(&self) -> radroots_secrets::provider::SecretCapabilities +impl radroots_secrets::provider::SecretProvider for radroots_secrets::keyring::KeyringProvider +pub fn radroots_secrets::keyring::KeyringProvider::backend_kind(&self) -> radroots_secrets::id::BackendKind +pub fn radroots_secrets::keyring::KeyringProvider::capabilities(&self) -> radroots_secrets::provider::SecretCapabilities +impl radroots_secrets::provider::SecretProvider for radroots_secrets::memory::MemoryProvider +pub fn radroots_secrets::memory::MemoryProvider::backend_kind(&self) -> radroots_secrets::id::BackendKind +pub fn radroots_secrets::memory::MemoryProvider::capabilities(&self) -> radroots_secrets::provider::SecretCapabilities +pub mod radroots_secrets::wrapping +pub struct radroots_secrets::wrapping::LegacyV1UnwrapRequest<'a> +impl<'a> radroots_secrets::wrapping::LegacyV1UnwrapRequest<'a> +pub const fn radroots_secrets::wrapping::LegacyV1UnwrapRequest<'a>::reference(&self) -> &'a radroots_secrets::id::SecretRef +pub const fn radroots_secrets::wrapping::LegacyV1UnwrapRequest<'a>::wrapped(&self) -> &'a radroots_secrets::wrapping::WrappedSecret +impl core::fmt::Debug for radroots_secrets::wrapping::LegacyV1UnwrapRequest<'_> +pub fn radroots_secrets::wrapping::LegacyV1UnwrapRequest<'_>::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_secrets::wrapping::SecretMaterial(_) +impl radroots_secrets::wrapping::SecretMaterial +pub fn radroots_secrets::wrapping::SecretMaterial::expose_secret<T>(&self, impl core::ops::function::FnOnce(&[u8]) -> T) -> T +pub fn radroots_secrets::wrapping::SecretMaterial::from_slice(&[u8]) -> core::result::Result<Self, radroots_secrets::error::Error> +pub fn radroots_secrets::wrapping::SecretMaterial::is_empty(&self) -> bool +pub fn radroots_secrets::wrapping::SecretMaterial::len(&self) -> usize +impl core::fmt::Debug for radroots_secrets::wrapping::SecretMaterial +pub fn radroots_secrets::wrapping::SecretMaterial::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_secrets::wrapping::UnwrapRequest<'a> +impl<'a> radroots_secrets::wrapping::UnwrapRequest<'a> +pub const fn radroots_secrets::wrapping::UnwrapRequest<'a>::context(&self) -> &'a radroots_secrets::context::EnvelopeContext +pub const fn radroots_secrets::wrapping::UnwrapRequest<'a>::new(&'a radroots_secrets::id::SecretRef, &'a radroots_secrets::context::EnvelopeContext, &'a radroots_secrets::wrapping::WrappedSecret) -> Self +pub const fn radroots_secrets::wrapping::UnwrapRequest<'a>::reference(&self) -> &'a radroots_secrets::id::SecretRef +pub const fn radroots_secrets::wrapping::UnwrapRequest<'a>::wrapped(&self) -> &'a radroots_secrets::wrapping::WrappedSecret +pub struct radroots_secrets::wrapping::WrapRequest<'a> +impl<'a> radroots_secrets::wrapping::WrapRequest<'a> +pub const fn radroots_secrets::wrapping::WrapRequest<'a>::context(&self) -> &'a radroots_secrets::context::EnvelopeContext +pub const fn radroots_secrets::wrapping::WrapRequest<'a>::new(&'a radroots_secrets::id::SecretRef, &'a radroots_secrets::context::EnvelopeContext, &'a radroots_secrets::wrapping::SecretMaterial) -> Self +pub const fn radroots_secrets::wrapping::WrapRequest<'a>::plaintext(&self) -> &'a radroots_secrets::wrapping::SecretMaterial +pub const fn radroots_secrets::wrapping::WrapRequest<'a>::reference(&self) -> &'a radroots_secrets::id::SecretRef +pub struct radroots_secrets::wrapping::WrappedSecret(_) +impl radroots_secrets::wrapping::WrappedSecret +pub fn radroots_secrets::wrapping::WrappedSecret::as_bytes(&self) -> &[u8] +pub fn radroots_secrets::wrapping::WrappedSecret::from_bytes(impl core::convert::Into<alloc::vec::Vec<u8>>) -> core::result::Result<Self, radroots_secrets::error::Error> +impl core::fmt::Debug for radroots_secrets::wrapping::WrappedSecret +pub fn radroots_secrets::wrapping::WrappedSecret::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub const radroots_secrets::wrapping::SECRET_MATERIAL_MAX_BYTES: usize +pub const radroots_secrets::wrapping::WRAPPED_SECRET_MAX_BYTES: usize +pub trait radroots_secrets::wrapping::KeyWrapping: core::marker::Send + core::marker::Sync +pub fn radroots_secrets::wrapping::KeyWrapping::unwrap<'a>(&'a self, radroots_secrets::wrapping::UnwrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error>> +pub fn radroots_secrets::wrapping::KeyWrapping::unwrap_legacy_v1<'a>(&'a self, radroots_secrets::wrapping::LegacyV1UnwrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error>> +pub fn radroots_secrets::wrapping::KeyWrapping::wrap<'a>(&'a self, radroots_secrets::wrapping::WrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::WrappedSecret, radroots_secrets::error::Error>> +impl radroots_secrets::wrapping::KeyWrapping for radroots_secrets::file::FileProvider +pub fn radroots_secrets::file::FileProvider::unwrap<'a>(&'a self, radroots_secrets::wrapping::UnwrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error>> +pub fn radroots_secrets::file::FileProvider::unwrap_legacy_v1<'a>(&'a self, radroots_secrets::wrapping::LegacyV1UnwrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error>> +pub fn radroots_secrets::file::FileProvider::wrap<'a>(&'a self, radroots_secrets::wrapping::WrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::WrappedSecret, radroots_secrets::error::Error>> +impl radroots_secrets::wrapping::KeyWrapping for radroots_secrets::keyring::KeyringProvider +pub fn radroots_secrets::keyring::KeyringProvider::unwrap<'a>(&'a self, radroots_secrets::wrapping::UnwrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error>> +pub fn radroots_secrets::keyring::KeyringProvider::unwrap_legacy_v1<'a>(&'a self, radroots_secrets::wrapping::LegacyV1UnwrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error>> +pub fn radroots_secrets::keyring::KeyringProvider::wrap<'a>(&'a self, radroots_secrets::wrapping::WrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::WrappedSecret, radroots_secrets::error::Error>> +impl radroots_secrets::wrapping::KeyWrapping for radroots_secrets::memory::MemoryProvider +pub fn radroots_secrets::memory::MemoryProvider::unwrap<'a>(&'a self, radroots_secrets::wrapping::UnwrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error>> +pub fn radroots_secrets::memory::MemoryProvider::unwrap_legacy_v1<'a>(&'a self, radroots_secrets::wrapping::LegacyV1UnwrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error>> +pub fn radroots_secrets::memory::MemoryProvider::wrap<'a>(&'a self, radroots_secrets::wrapping::WrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::WrappedSecret, radroots_secrets::error::Error>> +pub type radroots_secrets::wrapping::BoxFuture<'a, T> = core::pin::Pin<alloc::boxed::Box<(dyn core::future::future::Future<Output = T> + core::marker::Send + 'a)>> +#[non_exhaustive] pub enum radroots_secrets::Error +pub radroots_secrets::Error::BackendFailure +pub radroots_secrets::Error::BackendFailure::backend: radroots_secrets::id::BackendKind +pub radroots_secrets::Error::BackendFailure::operation: radroots_secrets::error::Operation +pub radroots_secrets::Error::BackendMismatch +pub radroots_secrets::Error::BackendMismatch::provider: radroots_secrets::id::BackendKind +pub radroots_secrets::Error::BackendMismatch::reference: radroots_secrets::id::BackendKind +pub radroots_secrets::Error::BackendUnavailable +pub radroots_secrets::Error::BackendUnavailable::backend: radroots_secrets::id::BackendKind +pub radroots_secrets::Error::ContextMismatch +pub radroots_secrets::Error::DecryptFailed +pub radroots_secrets::Error::EncryptFailed +pub radroots_secrets::Error::EnvelopeMalformed +pub radroots_secrets::Error::EnvelopeTooLarge +pub radroots_secrets::Error::EnvelopeTooLarge::actual_bytes: usize +pub radroots_secrets::Error::EnvelopeTooLarge::max_bytes: usize +pub radroots_secrets::Error::InsecurePermissions +pub radroots_secrets::Error::InvalidContextValue +pub radroots_secrets::Error::InvalidContextValue::field: radroots_secrets::error::ContextField +pub radroots_secrets::Error::InvalidContextValue::reason: radroots_secrets::error::ContextValueError +pub radroots_secrets::Error::InvalidDataKeyLength +pub radroots_secrets::Error::InvalidDataKeyLength::actual_bytes: usize +pub radroots_secrets::Error::InvalidKeyVersion +pub radroots_secrets::Error::InvalidRotation +pub radroots_secrets::Error::InvalidSecretId(radroots_secrets::error::SecretIdError) +pub radroots_secrets::Error::InvalidSecretLength +pub radroots_secrets::Error::InvalidSecretLength::actual_bytes: usize +pub radroots_secrets::Error::InvalidSecretLength::max_bytes: usize +pub radroots_secrets::Error::InvalidServiceName +pub radroots_secrets::Error::InvalidWrappedLength +pub radroots_secrets::Error::InvalidWrappedLength::actual_bytes: usize +pub radroots_secrets::Error::InvalidWrappedLength::max_bytes: usize +pub radroots_secrets::Error::LegacyEntropyReuse +pub radroots_secrets::Error::LegacyEnvelopeDenied +pub radroots_secrets::Error::LegacyPayloadValidationFailed +pub radroots_secrets::Error::PolicyUnsupported +pub radroots_secrets::Error::PolicyUnsupported::backend: radroots_secrets::id::BackendKind +pub radroots_secrets::Error::PolicyUnsupported::requirement: radroots_secrets::error::PolicyRequirement +pub radroots_secrets::Error::ProviderReferenceMismatch +pub radroots_secrets::Error::SecretAlreadyExists +pub radroots_secrets::Error::SecretAlreadyExists::backend: radroots_secrets::id::BackendKind +pub radroots_secrets::Error::SecretAlreadyExists::key_version: u32 +pub radroots_secrets::Error::SecretNotFound +pub radroots_secrets::Error::SecretNotFound::backend: radroots_secrets::id::BackendKind +pub radroots_secrets::Error::SecretNotFound::key_version: u32 +pub radroots_secrets::Error::UnsafePath +pub radroots_secrets::Error::UnsupportedBackend +pub radroots_secrets::Error::UnsupportedBackend::backend: u8 +pub radroots_secrets::Error::UnsupportedCipher +pub radroots_secrets::Error::UnsupportedCipher::cipher: u8 +pub radroots_secrets::Error::UnsupportedContextVersion +pub radroots_secrets::Error::UnsupportedContextVersion::version: u16 +pub radroots_secrets::Error::UnsupportedEnvelopeVersion +pub radroots_secrets::Error::UnsupportedEnvelopeVersion::version: u16 +pub radroots_secrets::Error::UnsupportedKeySource +pub radroots_secrets::Error::UnsupportedKeySource::key_source: u8 +impl core::error::Error for radroots_secrets::error::Error +impl core::fmt::Display for radroots_secrets::error::Error +pub fn radroots_secrets::error::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_secrets::EncryptedEnvelope +impl radroots_secrets::envelope::EncryptedEnvelope +pub const fn radroots_secrets::envelope::EncryptedEnvelope::cipher(&self) -> radroots_secrets::envelope::Cipher +pub const fn radroots_secrets::envelope::EncryptedEnvelope::context(&self) -> core::option::Option<&radroots_secrets::context::EnvelopeContext> +pub fn radroots_secrets::envelope::EncryptedEnvelope::decode(&[u8]) -> core::result::Result<Self, radroots_secrets::error::Error> +pub fn radroots_secrets::envelope::EncryptedEnvelope::encode(&self) -> core::result::Result<alloc::vec::Vec<u8>, radroots_secrets::error::Error> +pub const fn radroots_secrets::envelope::EncryptedEnvelope::key_source(&self) -> radroots_secrets::envelope::KeySource +pub async fn radroots_secrets::envelope::EncryptedEnvelope::open(&self, &dyn radroots_secrets::wrapping::KeyWrapping, &radroots_secrets::context::EnvelopeContext) -> core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error> +pub async fn radroots_secrets::envelope::EncryptedEnvelope::open_legacy_v1(&self, &dyn radroots_secrets::wrapping::KeyWrapping, &radroots_secrets::envelope::LegacyV1ResealAuthority, &radroots_secrets::id::SecretRef, &radroots_secrets::context::EnvelopeContext) -> core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error> +pub const fn radroots_secrets::envelope::EncryptedEnvelope::reference(&self) -> &radroots_secrets::id::SecretRef +pub async fn radroots_secrets::envelope::EncryptedEnvelope::reseal_legacy_v1<V>(&self, &dyn radroots_secrets::wrapping::KeyWrapping, &radroots_secrets::envelope::LegacyV1ResealAuthority, &radroots_secrets::id::SecretRef, radroots_secrets::id::SecretRef, radroots_secrets::context::EnvelopeContext, &V, radroots_secrets::envelope::SealMaterial) -> core::result::Result<radroots_secrets::envelope::LegacyV1ResealResult, radroots_secrets::error::Error> where V: core::ops::function::Fn(&[u8]) -> bool + core::marker::Send + core::marker::Sync +pub async fn radroots_secrets::envelope::EncryptedEnvelope::seal(&dyn radroots_secrets::wrapping::KeyWrapping, radroots_secrets::envelope::SealRequest<'_>) -> core::result::Result<Self, radroots_secrets::error::Error> +pub const fn radroots_secrets::envelope::EncryptedEnvelope::version(&self) -> u16 +impl core::fmt::Debug for radroots_secrets::envelope::EncryptedEnvelope +pub fn radroots_secrets::envelope::EncryptedEnvelope::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl serde_core::ser::Serialize for radroots_secrets::envelope::EncryptedEnvelope +pub fn radroots_secrets::envelope::EncryptedEnvelope::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_secrets::envelope::EncryptedEnvelope +pub fn radroots_secrets::envelope::EncryptedEnvelope::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_secrets::SecretId(_) +impl radroots_secrets::id::SecretId +pub fn radroots_secrets::id::SecretId::as_str(&self) -> &str +pub fn radroots_secrets::id::SecretId::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_secrets::error::Error> +impl core::fmt::Debug for radroots_secrets::id::SecretId +pub fn radroots_secrets::id::SecretId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_secrets::id::SecretId +pub fn radroots_secrets::id::SecretId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_secrets::id::SecretId +pub type radroots_secrets::id::SecretId::Err = radroots_secrets::error::Error +pub fn radroots_secrets::id::SecretId::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_secrets::id::SecretId +pub fn radroots_secrets::id::SecretId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_secrets::id::SecretId +pub fn radroots_secrets::id::SecretId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_secrets::SecretRef +impl radroots_secrets::id::SecretRef +pub const fn radroots_secrets::id::SecretRef::backend(&self) -> radroots_secrets::id::BackendKind +pub const fn radroots_secrets::id::SecretRef::id(&self) -> &radroots_secrets::id::SecretId +pub const fn radroots_secrets::id::SecretRef::key_version(&self) -> radroots_secrets::id::KeyVersion +pub const fn radroots_secrets::id::SecretRef::new(radroots_secrets::id::SecretId, radroots_secrets::id::BackendKind, radroots_secrets::id::KeyVersion) -> Self +impl core::fmt::Debug for radroots_secrets::id::SecretRef +pub fn radroots_secrets::id::SecretRef::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub trait radroots_secrets::KeyWrapping: core::marker::Send + core::marker::Sync +pub fn radroots_secrets::KeyWrapping::unwrap<'a>(&'a self, radroots_secrets::wrapping::UnwrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error>> +pub fn radroots_secrets::KeyWrapping::unwrap_legacy_v1<'a>(&'a self, radroots_secrets::wrapping::LegacyV1UnwrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error>> +pub fn radroots_secrets::KeyWrapping::wrap<'a>(&'a self, radroots_secrets::wrapping::WrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::WrappedSecret, radroots_secrets::error::Error>> +impl radroots_secrets::wrapping::KeyWrapping for radroots_secrets::file::FileProvider +pub fn radroots_secrets::file::FileProvider::unwrap<'a>(&'a self, radroots_secrets::wrapping::UnwrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error>> +pub fn radroots_secrets::file::FileProvider::unwrap_legacy_v1<'a>(&'a self, radroots_secrets::wrapping::LegacyV1UnwrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error>> +pub fn radroots_secrets::file::FileProvider::wrap<'a>(&'a self, radroots_secrets::wrapping::WrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::WrappedSecret, radroots_secrets::error::Error>> +impl radroots_secrets::wrapping::KeyWrapping for radroots_secrets::keyring::KeyringProvider +pub fn radroots_secrets::keyring::KeyringProvider::unwrap<'a>(&'a self, radroots_secrets::wrapping::UnwrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error>> +pub fn radroots_secrets::keyring::KeyringProvider::unwrap_legacy_v1<'a>(&'a self, radroots_secrets::wrapping::LegacyV1UnwrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error>> +pub fn radroots_secrets::keyring::KeyringProvider::wrap<'a>(&'a self, radroots_secrets::wrapping::WrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::WrappedSecret, radroots_secrets::error::Error>> +impl radroots_secrets::wrapping::KeyWrapping for radroots_secrets::memory::MemoryProvider +pub fn radroots_secrets::memory::MemoryProvider::unwrap<'a>(&'a self, radroots_secrets::wrapping::UnwrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error>> +pub fn radroots_secrets::memory::MemoryProvider::unwrap_legacy_v1<'a>(&'a self, radroots_secrets::wrapping::LegacyV1UnwrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::SecretMaterial, radroots_secrets::error::Error>> +pub fn radroots_secrets::memory::MemoryProvider::wrap<'a>(&'a self, radroots_secrets::wrapping::WrapRequest<'a>) -> radroots_secrets::wrapping::BoxFuture<'a, core::result::Result<radroots_secrets::wrapping::WrappedSecret, radroots_secrets::error::Error>> +pub trait radroots_secrets::SecretProvider: radroots_secrets::wrapping::KeyWrapping + core::marker::Send + core::marker::Sync +pub fn radroots_secrets::SecretProvider::backend_kind(&self) -> radroots_secrets::id::BackendKind +pub fn radroots_secrets::SecretProvider::capabilities(&self) -> radroots_secrets::provider::SecretCapabilities +impl radroots_secrets::provider::SecretProvider for radroots_secrets::file::FileProvider +pub fn radroots_secrets::file::FileProvider::backend_kind(&self) -> radroots_secrets::id::BackendKind +pub fn radroots_secrets::file::FileProvider::capabilities(&self) -> radroots_secrets::provider::SecretCapabilities +impl radroots_secrets::provider::SecretProvider for radroots_secrets::keyring::KeyringProvider +pub fn radroots_secrets::keyring::KeyringProvider::backend_kind(&self) -> radroots_secrets::id::BackendKind +pub fn radroots_secrets::keyring::KeyringProvider::capabilities(&self) -> radroots_secrets::provider::SecretCapabilities +impl radroots_secrets::provider::SecretProvider for radroots_secrets::memory::MemoryProvider +pub fn radroots_secrets::memory::MemoryProvider::backend_kind(&self) -> radroots_secrets::id::BackendKind +pub fn radroots_secrets::memory::MemoryProvider::capabilities(&self) -> radroots_secrets::provider::SecretCapabilities diff --git a/contracts/api_baselines/radroots_signing.txt b/contracts/api_baselines/radroots_signing.txt @@ -0,0 +1,385 @@ +pub mod radroots_signing +pub mod radroots_signing::actor +#[non_exhaustive] pub enum radroots_signing::actor::ActorSelector +pub radroots_signing::actor::ActorSelector::Account(radroots_identity::account::AccountId) +pub radroots_signing::actor::ActorSelector::PlanAuthorPublicKey +pub radroots_signing::actor::ActorSelector::PublicKey(radroots_identity::key::PublicKey) +pub radroots_signing::actor::ActorSelector::SelectedAccount +#[non_exhaustive] pub enum radroots_signing::actor::ActorSource +pub radroots_signing::actor::ActorSource::ExplicitPublicKey +pub radroots_signing::actor::ActorSource::LocalAccount(radroots_identity::account::AccountId) +pub radroots_signing::actor::ActorSource::RemoteSigner(radroots_identity::account::AccountId) +pub radroots_signing::actor::ActorSource::Service(radroots_identity::account::AccountId) +impl radroots_signing::actor::ActorSource +pub const fn radroots_signing::actor::ActorSource::account_id(self) -> core::option::Option<radroots_identity::account::AccountId> +pub struct radroots_signing::actor::Actor +impl radroots_signing::actor::Actor +pub const fn radroots_signing::actor::Actor::account_id(&self) -> core::option::Option<radroots_identity::account::AccountId> +pub fn radroots_signing::actor::Actor::from_public_key_hex<I>(&str, radroots_signing::actor::ActorSource, I) -> core::result::Result<Self, radroots_signing::error::Error> where I: core::iter::traits::collect::IntoIterator<Item = radroots_event::contract::registry_v7::AuthorRole> +pub fn radroots_signing::actor::Actor::new<I>(radroots_identity::key::PublicKey, radroots_signing::actor::ActorSource, I) -> core::result::Result<Self, radroots_signing::error::Error> where I: core::iter::traits::collect::IntoIterator<Item = radroots_event::contract::registry_v7::AuthorRole> +pub const fn radroots_signing::actor::Actor::public_key(&self) -> radroots_identity::key::PublicKey +pub const fn radroots_signing::actor::Actor::roles(&self) -> &alloc::collections::btree::set::BTreeSet<radroots_event::contract::registry_v7::AuthorRole> +pub fn radroots_signing::actor::Actor::satisfies(&self, radroots_event::contract::registry_v7::AuthorRole) -> bool +pub const fn radroots_signing::actor::Actor::source(&self) -> radroots_signing::actor::ActorSource +pub struct radroots_signing::actor::ActorResolutionRequest +impl radroots_signing::actor::ActorResolutionRequest +pub const fn radroots_signing::actor::ActorResolutionRequest::expected_public_key(&self) -> radroots_identity::key::PublicKey +pub const fn radroots_signing::actor::ActorResolutionRequest::new(radroots_signing::actor::ActorSelector, radroots_event::contract::registry_v7::AuthorRole, radroots_identity::key::PublicKey) -> Self +pub const fn radroots_signing::actor::ActorResolutionRequest::required_role(&self) -> radroots_event::contract::registry_v7::AuthorRole +pub const fn radroots_signing::actor::ActorResolutionRequest::selector(&self) -> radroots_signing::actor::ActorSelector +pub mod radroots_signing::authorization +#[non_exhaustive] pub enum radroots_signing::authorization::CurrentAuthoringDecision +pub radroots_signing::authorization::CurrentAuthoringDecision::Allowed +pub radroots_signing::authorization::CurrentAuthoringDecision::AllowedDeprecated +pub radroots_signing::authorization::CurrentAuthoringDecision::AllowedDeprecated::warning_code: &'static str +pub radroots_signing::authorization::CurrentAuthoringDecision::Blocked +pub radroots_signing::authorization::CurrentAuthoringDecision::Blocked::code: &'static str +pub radroots_signing::authorization::CurrentAuthoringDecision::Revoked +pub radroots_signing::authorization::CurrentAuthoringDecision::Revoked::code: &'static str +#[non_exhaustive] pub enum radroots_signing::authorization::DeprecatedPlanPolicy +pub radroots_signing::authorization::DeprecatedPlanPolicy::Allow +pub radroots_signing::authorization::DeprecatedPlanPolicy::Deny +#[non_exhaustive] pub enum radroots_signing::authorization::ManagedSigningPolicy +pub radroots_signing::authorization::ManagedSigningPolicy::AccountBackedOnly +pub radroots_signing::authorization::ManagedSigningPolicy::AnyValidatedSource +pub radroots_signing::authorization::ManagedSigningPolicy::LocalAccountOnly +impl radroots_signing::authorization::ManagedSigningPolicy +pub const fn radroots_signing::authorization::ManagedSigningPolicy::permits(self, &radroots_signing::actor::Actor) -> bool +pub struct radroots_signing::authorization::CurrentRegistryAuthority +impl radroots_signing::authorization::CurrentAuthoringAuthority for radroots_signing::authorization::CurrentRegistryAuthority +pub fn radroots_signing::authorization::CurrentRegistryAuthority::evaluate(&self, &radroots_event_codec::authoring::AuthoredEventPlan) -> radroots_signing::authorization::CurrentAuthoringDecision +pub trait radroots_signing::authorization::CurrentAuthoringAuthority: core::marker::Send + core::marker::Sync +pub fn radroots_signing::authorization::CurrentAuthoringAuthority::evaluate(&self, &radroots_event_codec::authoring::AuthoredEventPlan) -> radroots_signing::authorization::CurrentAuthoringDecision +impl radroots_signing::authorization::CurrentAuthoringAuthority for radroots_signing::authorization::CurrentRegistryAuthority +pub fn radroots_signing::authorization::CurrentRegistryAuthority::evaluate(&self, &radroots_event_codec::authoring::AuthoredEventPlan) -> radroots_signing::authorization::CurrentAuthoringDecision +pub mod radroots_signing::capability +#[non_exhaustive] pub enum radroots_signing::capability::CancellationSupport +pub radroots_signing::capability::CancellationSupport::BeforeAndAfterPublication +pub radroots_signing::capability::CancellationSupport::BeforePublication +#[non_exhaustive] pub enum radroots_signing::capability::SignerKind +pub radroots_signing::capability::SignerKind::HostMediated +pub radroots_signing::capability::SignerKind::Local +pub radroots_signing::capability::SignerKind::Remote +#[non_exhaustive] pub struct radroots_signing::capability::SignerCapability +impl radroots_signing::capability::SignerCapability +pub const fn radroots_signing::capability::SignerCapability::cancellation(self) -> radroots_signing::capability::CancellationSupport +pub const fn radroots_signing::capability::SignerCapability::kind(self) -> radroots_signing::capability::SignerKind +pub const fn radroots_signing::capability::SignerCapability::may_require_authentication(self) -> bool +pub const fn radroots_signing::capability::SignerCapability::new(radroots_signing::capability::SignerKind, radroots_signing::recovery::ReplayCapability, radroots_signing::capability::CancellationSupport, bool, bool) -> Self +pub const fn radroots_signing::capability::SignerCapability::replay(self) -> radroots_signing::recovery::ReplayCapability +pub const fn radroots_signing::capability::SignerCapability::reports_progress(self) -> bool +pub mod radroots_signing::error +#[non_exhaustive] pub enum radroots_signing::error::Kind +pub radroots_signing::error::Kind::AuthorizationDenied +pub radroots_signing::error::Kind::DeadlineExceeded +pub radroots_signing::error::Kind::InternalError +pub radroots_signing::error::Kind::InvalidArgument +pub radroots_signing::error::Kind::SignerCancelled +pub radroots_signing::error::Kind::SignerCapabilityMissing +pub radroots_signing::error::Kind::SignerOutputInvalid +pub radroots_signing::error::Kind::SignerRejected +pub radroots_signing::error::Kind::SignerTimeout +pub radroots_signing::error::Kind::SignerUnavailable +impl radroots_signing::error::Kind +pub const radroots_signing::error::Kind::ALL: &'static [Self] +pub const fn radroots_signing::error::Kind::descriptor(self) -> radroots_signing::error::Descriptor +pub struct radroots_signing::error::Descriptor +impl radroots_signing::error::Descriptor +pub const fn radroots_signing::error::Descriptor::class(self) -> radroots_protocol::error::v1::Class +pub const fn radroots_signing::error::Descriptor::code(self) -> &'static str +pub const fn radroots_signing::error::Descriptor::kind(self) -> radroots_signing::error::Kind +pub const fn radroots_signing::error::Descriptor::known_code(self) -> radroots_protocol::error::v1::KnownCode +pub const fn radroots_signing::error::Descriptor::message(self) -> &'static str +pub const fn radroots_signing::error::Descriptor::recovery_actions(self) -> &'static [radroots_protocol::error::v1::RecoveryAction] +pub const fn radroots_signing::error::Descriptor::retryable(self) -> bool +pub struct radroots_signing::error::Error +impl radroots_signing::error::Error +pub const fn radroots_signing::error::Error::class(&self) -> radroots_protocol::error::v1::Class +pub const fn radroots_signing::error::Error::code(&self) -> &'static str +pub const fn radroots_signing::error::Error::descriptor(&self) -> radroots_signing::error::Descriptor +pub const fn radroots_signing::error::Error::kind(&self) -> radroots_signing::error::Kind +pub const fn radroots_signing::error::Error::new(radroots_signing::error::Kind) -> Self +pub const fn radroots_signing::error::Error::recovery_actions(&self) -> &'static [radroots_protocol::error::v1::RecoveryAction] +pub const fn radroots_signing::error::Error::remote_effect(&self) -> radroots_signing::recovery::RemoteEffect +pub const fn radroots_signing::error::Error::retryable(&self) -> bool +pub fn radroots_signing::error::Error::to_report(&self, core::option::Option<radroots_protocol::runtime::v1::OperationId>) -> radroots_protocol::error::v1::ErrorReport +pub const fn radroots_signing::error::Error::with_possible_remote_effect(self) -> Self +pub fn radroots_signing::error::Error::with_source<E>(radroots_signing::error::Kind, E) -> Self where E: core::error::Error + core::marker::Send + core::marker::Sync + 'static +impl core::convert::From<&radroots_signing::error::Error> for radroots_protocol::error::v1::ErrorReport +pub fn radroots_protocol::error::v1::ErrorReport::from(&radroots_signing::error::Error) -> Self +impl core::error::Error for radroots_signing::error::Error +pub fn radroots_signing::error::Error::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +impl core::fmt::Debug for radroots_signing::error::Error +pub fn radroots_signing::error::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_signing::error::Error +pub fn radroots_signing::error::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub const radroots_signing::error::CATALOG: &[radroots_signing::error::Descriptor] +pub mod radroots_signing::identity +pub struct radroots_signing::identity::AuthoredArtifactId(_) +impl radroots_signing::identity::AuthoredArtifactId +pub const fn radroots_signing::identity::AuthoredArtifactId::as_bytes(&self) -> &[u8; 16] +pub fn radroots_signing::identity::AuthoredArtifactId::new([u8; 16]) -> core::result::Result<Self, radroots_signing::error::Error> +pub fn radroots_signing::identity::AuthoredArtifactId::to_hex(self) -> alloc::string::String +impl core::fmt::Debug for radroots_signing::identity::AuthoredArtifactId +pub fn radroots_signing::identity::AuthoredArtifactId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_signing::identity::SignerRequestId(_) +impl radroots_signing::identity::SignerRequestId +pub const fn radroots_signing::identity::SignerRequestId::as_bytes(&self) -> &[u8; 32] +pub fn radroots_signing::identity::SignerRequestId::derive(radroots_signing::identity::AuthoredArtifactId, radroots_event_codec::authoring::PlanDigest) -> Self +pub fn radroots_signing::identity::SignerRequestId::to_hex(self) -> alloc::string::String +impl core::fmt::Debug for radroots_signing::identity::SignerRequestId +pub fn radroots_signing::identity::SignerRequestId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_signing::identity::SigningIntentId +impl radroots_signing::identity::SigningIntentId +pub const fn radroots_signing::identity::SigningIntentId::artifact_id(self) -> radroots_signing::identity::AuthoredArtifactId +pub const fn radroots_signing::identity::SigningIntentId::new(radroots_signing::identity::SigningOperationId, radroots_signing::identity::AuthoredArtifactId) -> Self +pub const fn radroots_signing::identity::SigningIntentId::operation_id(self) -> radroots_signing::identity::SigningOperationId +pub struct radroots_signing::identity::SigningOperationId(_) +impl radroots_signing::identity::SigningOperationId +pub const fn radroots_signing::identity::SigningOperationId::as_bytes(&self) -> &[u8; 16] +pub fn radroots_signing::identity::SigningOperationId::new([u8; 16]) -> core::result::Result<Self, radroots_signing::error::Error> +pub fn radroots_signing::identity::SigningOperationId::to_hex(self) -> alloc::string::String +impl core::fmt::Debug for radroots_signing::identity::SigningOperationId +pub fn radroots_signing::identity::SigningOperationId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub mod radroots_signing::receipt +#[non_exhaustive] pub struct radroots_signing::receipt::SignReceipt +impl radroots_signing::receipt::SignReceipt +pub const fn radroots_signing::receipt::SignReceipt::completed_at_unix_ms(&self) -> u64 +pub fn radroots_signing::receipt::SignReceipt::from_signed_event(&radroots_signing::request::SignRequest, radroots_event::draft::SignedEvent, u64) -> core::result::Result<Self, radroots_signing::error::Error> +pub const fn radroots_signing::receipt::SignReceipt::intent_id(&self) -> radroots_signing::identity::SigningIntentId +pub const fn radroots_signing::receipt::SignReceipt::operation_kind(&self) -> radroots_protocol::runtime::v1::OperationId +pub const fn radroots_signing::receipt::SignReceipt::signed_event(&self) -> &radroots_event::draft::SignedEvent +pub const fn radroots_signing::receipt::SignReceipt::signer_request_id(&self) -> radroots_signing::identity::SignerRequestId +impl core::fmt::Debug for radroots_signing::receipt::SignReceipt +pub fn radroots_signing::receipt::SignReceipt::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub mod radroots_signing::recovery +#[non_exhaustive] pub enum radroots_signing::recovery::RecoveryDisposition +pub radroots_signing::recovery::RecoveryDisposition::Failed +pub radroots_signing::recovery::RecoveryDisposition::Indeterminate +pub radroots_signing::recovery::RecoveryDisposition::RetryExactRequest +pub radroots_signing::recovery::RecoveryDisposition::RetryLocal +#[non_exhaustive] pub enum radroots_signing::recovery::RemoteEffect +pub radroots_signing::recovery::RemoteEffect::MayHaveOccurred +pub radroots_signing::recovery::RemoteEffect::None +#[non_exhaustive] pub enum radroots_signing::recovery::ReplayCapability +pub radroots_signing::recovery::ReplayCapability::ExactReplayByRequestId +pub radroots_signing::recovery::ReplayCapability::LocalReplaySafe +pub radroots_signing::recovery::ReplayCapability::NonReplayable +pub const fn radroots_signing::recovery::recovery_disposition(radroots_signing::recovery::ReplayCapability, radroots_signing::recovery::RemoteEffect, bool) -> radroots_signing::recovery::RecoveryDisposition +pub mod radroots_signing::request +#[non_exhaustive] pub enum radroots_signing::request::CancellationPolicy +pub radroots_signing::request::CancellationPolicy::LocalCooperative +pub radroots_signing::request::CancellationPolicy::PreservePublishedRequest +#[non_exhaustive] pub enum radroots_signing::request::SigningPurpose +pub radroots_signing::request::SigningPurpose::AuthoredEvent +pub radroots_signing::request::SigningPurpose::BlossomUploadAuthorization +pub struct radroots_signing::request::CancellationSignal(_) +impl radroots_signing::request::CancellationSignal +pub fn radroots_signing::request::CancellationSignal::cancel(&self) +pub fn radroots_signing::request::CancellationSignal::is_cancelled(&self) -> bool +pub fn radroots_signing::request::CancellationSignal::new() -> Self +#[non_exhaustive] pub struct radroots_signing::request::SignPolicy +impl radroots_signing::request::SignPolicy +pub const fn radroots_signing::request::SignPolicy::allowing_deprecated(self) -> Self +pub const fn radroots_signing::request::SignPolicy::cancellation(self) -> radroots_signing::request::CancellationPolicy +pub const fn radroots_signing::request::SignPolicy::deadline_unix_ms(self) -> u64 +pub const fn radroots_signing::request::SignPolicy::deprecated_plan(self) -> radroots_signing::authorization::DeprecatedPlanPolicy +pub const fn radroots_signing::request::SignPolicy::managed_signing(self) -> radroots_signing::authorization::ManagedSigningPolicy +pub const fn radroots_signing::request::SignPolicy::new(u64, radroots_signing::request::CancellationPolicy) -> core::result::Result<Self, radroots_signing::error::Error> +pub const fn radroots_signing::request::SignPolicy::with_managed_signing_policy(self, radroots_signing::authorization::ManagedSigningPolicy) -> Self +impl<'de> serde_core::de::Deserialize<'de> for radroots_signing::request::SignPolicy +pub fn radroots_signing::request::SignPolicy::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_signing::request::SignRequest +impl radroots_signing::request::SignRequest +pub const fn radroots_signing::request::SignRequest::actor(&self) -> &radroots_signing::actor::Actor +pub const fn radroots_signing::request::SignRequest::authored_plan(&self) -> core::option::Option<&radroots_event_codec::authoring::AuthoredEventPlan> +pub const fn radroots_signing::request::SignRequest::authorization(&self) -> core::option::Option<radroots_signing::authorization::CurrentAuthoringDecision> +pub const fn radroots_signing::request::SignRequest::blossom_authorization_plan(&self) -> core::option::Option<&radroots_event_codec::authoring::BlossomAuthorizationPlan> +pub fn radroots_signing::request::SignRequest::blossom_upload(radroots_protocol::runtime::v1::OperationId, radroots_signing::identity::SigningIntentId, radroots_signing::actor::Actor, radroots_event_codec::authoring::BlossomAuthorizationPlan, radroots_signing::request::SignPolicy) -> core::result::Result<Self, radroots_signing::error::Error> +pub const fn radroots_signing::request::SignRequest::cancellation_signal(&self) -> &radroots_signing::request::CancellationSignal +pub fn radroots_signing::request::SignRequest::content(&self) -> &str +pub const fn radroots_signing::request::SignRequest::created_at(&self) -> u64 +pub fn radroots_signing::request::SignRequest::ensure_active(&self, u64) -> core::result::Result<(), radroots_signing::error::Error> +pub const fn radroots_signing::request::SignRequest::expected_author(&self) -> &radroots_identity::key::PublicKey +pub const fn radroots_signing::request::SignRequest::expected_event_id(&self) -> &radroots_event::id::EventId +pub const fn radroots_signing::request::SignRequest::intent_id(&self) -> radroots_signing::identity::SigningIntentId +pub const fn radroots_signing::request::SignRequest::kind(&self) -> u32 +pub fn radroots_signing::request::SignRequest::new(radroots_protocol::runtime::v1::OperationId, radroots_signing::identity::SigningIntentId, radroots_signing::actor::Actor, radroots_event_codec::authoring::AuthoredEventPlan, radroots_signing::request::SignPolicy) -> core::result::Result<Self, radroots_signing::error::Error> +pub fn radroots_signing::request::SignRequest::new_with_authority(radroots_protocol::runtime::v1::OperationId, radroots_signing::identity::SigningIntentId, radroots_signing::actor::Actor, radroots_event_codec::authoring::AuthoredEventPlan, radroots_signing::request::SignPolicy, &dyn radroots_signing::authorization::CurrentAuthoringAuthority) -> core::result::Result<Self, radroots_signing::error::Error> +pub const fn radroots_signing::request::SignRequest::operation_kind(&self) -> radroots_protocol::runtime::v1::OperationId +pub const fn radroots_signing::request::SignRequest::plan_digest(&self) -> radroots_event_codec::authoring::PlanDigest +pub const fn radroots_signing::request::SignRequest::policy(&self) -> radroots_signing::request::SignPolicy +pub const fn radroots_signing::request::SignRequest::purpose(&self) -> radroots_signing::request::SigningPurpose +pub fn radroots_signing::request::SignRequest::report_progress(&self, &radroots_signing::status::SignProgress) +pub const fn radroots_signing::request::SignRequest::signer_request_id(&self) -> radroots_signing::identity::SignerRequestId +pub fn radroots_signing::request::SignRequest::tags(&self) -> &[alloc::vec::Vec<alloc::string::String>] +pub fn radroots_signing::request::SignRequest::with_cancellation_signal(self, radroots_signing::request::CancellationSignal) -> Self +pub fn radroots_signing::request::SignRequest::with_progress_observer(self, alloc::sync::Arc<dyn radroots_signing::request::ProgressObserver>) -> Self +impl core::fmt::Debug for radroots_signing::request::SignRequest +pub fn radroots_signing::request::SignRequest::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub trait radroots_signing::request::ProgressObserver: core::marker::Send + core::marker::Sync +pub fn radroots_signing::request::ProgressObserver::on_progress(&self, &radroots_signing::status::SignProgress) +pub mod radroots_signing::signer +pub trait radroots_signing::signer::Signer: core::marker::Send + core::marker::Sync +pub fn radroots_signing::signer::Signer::sign(&self, radroots_signing::request::SignRequest) -> radroots_signing::signer::BoxFuture<'_, core::result::Result<radroots_signing::receipt::SignReceipt, radroots_signing::error::Error>> +pub fn radroots_signing::signer::Signer::status(&self) -> radroots_signing::signer::BoxFuture<'_, core::result::Result<radroots_signing::status::SignerStatus, radroots_signing::error::Error>> +pub type radroots_signing::signer::BoxFuture<'a, T> = core::pin::Pin<alloc::boxed::Box<(dyn core::future::future::Future<Output = T> + core::marker::Send + 'a)>> +pub type radroots_signing::signer::DynSigner = alloc::sync::Arc<dyn radroots_signing::signer::Signer> +pub mod radroots_signing::status +#[non_exhaustive] pub enum radroots_signing::status::SignProgressStage +pub radroots_signing::status::SignProgressStage::AwaitingAuthentication +pub radroots_signing::status::SignProgressStage::AwaitingSignature +pub radroots_signing::status::SignProgressStage::Complete +pub radroots_signing::status::SignProgressStage::Queued +pub radroots_signing::status::SignProgressStage::RequestPublished +pub radroots_signing::status::SignProgressStage::Validating +pub radroots_signing::status::SignProgressStage::VerifyingOutput +#[non_exhaustive] pub enum radroots_signing::status::SignerAvailability +pub radroots_signing::status::SignerAvailability::AwaitingAuthentication +pub radroots_signing::status::SignerAvailability::Busy +pub radroots_signing::status::SignerAvailability::Ready +pub radroots_signing::status::SignerAvailability::Unavailable +#[non_exhaustive] pub struct radroots_signing::status::AuthChallenge +impl radroots_signing::status::AuthChallenge +pub const fn radroots_signing::status::AuthChallenge::expires_at_unix(&self) -> core::option::Option<u64> +pub fn radroots_signing::status::AuthChallenge::new(impl core::convert::Into<alloc::string::String>, u64, core::option::Option<u64>) -> core::result::Result<Self, radroots_signing::error::Error> +pub const fn radroots_signing::status::AuthChallenge::required_at_unix(&self) -> u64 +pub fn radroots_signing::status::AuthChallenge::uri(&self) -> &str +impl core::fmt::Debug for radroots_signing::status::AuthChallenge +pub fn radroots_signing::status::AuthChallenge::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl<'de> serde_core::de::Deserialize<'de> for radroots_signing::status::AuthChallenge +pub fn radroots_signing::status::AuthChallenge::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +#[non_exhaustive] pub struct radroots_signing::status::SignProgress +impl radroots_signing::status::SignProgress +pub const fn radroots_signing::status::SignProgress::authentication(radroots_signing::status::AuthChallenge) -> Self +pub const fn radroots_signing::status::SignProgress::challenge(&self) -> core::option::Option<&radroots_signing::status::AuthChallenge> +pub const fn radroots_signing::status::SignProgress::stage(radroots_signing::status::SignProgressStage) -> core::result::Result<Self, radroots_signing::error::Error> +pub const fn radroots_signing::status::SignProgress::stage_value(&self) -> radroots_signing::status::SignProgressStage +impl<'de> serde_core::de::Deserialize<'de> for radroots_signing::status::SignProgress +pub fn radroots_signing::status::SignProgress::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +#[non_exhaustive] pub struct radroots_signing::status::SignerStatus +impl radroots_signing::status::SignerStatus +pub const fn radroots_signing::status::SignerStatus::availability(&self) -> radroots_signing::status::SignerAvailability +pub fn radroots_signing::status::SignerStatus::capabilities(&self) -> &[radroots_signing::capability::SignerCapability] +pub fn radroots_signing::status::SignerStatus::new(radroots_signing::status::SignerAvailability, alloc::vec::Vec<radroots_signing::capability::SignerCapability>, core::option::Option<radroots_signing::status::SignProgress>) -> Self +pub const fn radroots_signing::status::SignerStatus::progress(&self) -> core::option::Option<&radroots_signing::status::SignProgress> +pub const fn radroots_signing::status::SignerStatus::unavailable() -> Self +#[non_exhaustive] pub enum radroots_signing::CurrentAuthoringDecision +pub radroots_signing::CurrentAuthoringDecision::Allowed +pub radroots_signing::CurrentAuthoringDecision::AllowedDeprecated +pub radroots_signing::CurrentAuthoringDecision::AllowedDeprecated::warning_code: &'static str +pub radroots_signing::CurrentAuthoringDecision::Blocked +pub radroots_signing::CurrentAuthoringDecision::Blocked::code: &'static str +pub radroots_signing::CurrentAuthoringDecision::Revoked +pub radroots_signing::CurrentAuthoringDecision::Revoked::code: &'static str +#[non_exhaustive] pub enum radroots_signing::SigningPurpose +pub radroots_signing::SigningPurpose::AuthoredEvent +pub radroots_signing::SigningPurpose::BlossomUploadAuthorization +pub struct radroots_signing::Actor +impl radroots_signing::actor::Actor +pub const fn radroots_signing::actor::Actor::account_id(&self) -> core::option::Option<radroots_identity::account::AccountId> +pub fn radroots_signing::actor::Actor::from_public_key_hex<I>(&str, radroots_signing::actor::ActorSource, I) -> core::result::Result<Self, radroots_signing::error::Error> where I: core::iter::traits::collect::IntoIterator<Item = radroots_event::contract::registry_v7::AuthorRole> +pub fn radroots_signing::actor::Actor::new<I>(radroots_identity::key::PublicKey, radroots_signing::actor::ActorSource, I) -> core::result::Result<Self, radroots_signing::error::Error> where I: core::iter::traits::collect::IntoIterator<Item = radroots_event::contract::registry_v7::AuthorRole> +pub const fn radroots_signing::actor::Actor::public_key(&self) -> radroots_identity::key::PublicKey +pub const fn radroots_signing::actor::Actor::roles(&self) -> &alloc::collections::btree::set::BTreeSet<radroots_event::contract::registry_v7::AuthorRole> +pub fn radroots_signing::actor::Actor::satisfies(&self, radroots_event::contract::registry_v7::AuthorRole) -> bool +pub const fn radroots_signing::actor::Actor::source(&self) -> radroots_signing::actor::ActorSource +pub struct radroots_signing::AuthoredArtifactId(_) +impl radroots_signing::identity::AuthoredArtifactId +pub const fn radroots_signing::identity::AuthoredArtifactId::as_bytes(&self) -> &[u8; 16] +pub fn radroots_signing::identity::AuthoredArtifactId::new([u8; 16]) -> core::result::Result<Self, radroots_signing::error::Error> +pub fn radroots_signing::identity::AuthoredArtifactId::to_hex(self) -> alloc::string::String +impl core::fmt::Debug for radroots_signing::identity::AuthoredArtifactId +pub fn radroots_signing::identity::AuthoredArtifactId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_signing::Error +impl radroots_signing::error::Error +pub const fn radroots_signing::error::Error::class(&self) -> radroots_protocol::error::v1::Class +pub const fn radroots_signing::error::Error::code(&self) -> &'static str +pub const fn radroots_signing::error::Error::descriptor(&self) -> radroots_signing::error::Descriptor +pub const fn radroots_signing::error::Error::kind(&self) -> radroots_signing::error::Kind +pub const fn radroots_signing::error::Error::new(radroots_signing::error::Kind) -> Self +pub const fn radroots_signing::error::Error::recovery_actions(&self) -> &'static [radroots_protocol::error::v1::RecoveryAction] +pub const fn radroots_signing::error::Error::remote_effect(&self) -> radroots_signing::recovery::RemoteEffect +pub const fn radroots_signing::error::Error::retryable(&self) -> bool +pub fn radroots_signing::error::Error::to_report(&self, core::option::Option<radroots_protocol::runtime::v1::OperationId>) -> radroots_protocol::error::v1::ErrorReport +pub const fn radroots_signing::error::Error::with_possible_remote_effect(self) -> Self +pub fn radroots_signing::error::Error::with_source<E>(radroots_signing::error::Kind, E) -> Self where E: core::error::Error + core::marker::Send + core::marker::Sync + 'static +impl core::convert::From<&radroots_signing::error::Error> for radroots_protocol::error::v1::ErrorReport +pub fn radroots_protocol::error::v1::ErrorReport::from(&radroots_signing::error::Error) -> Self +impl core::error::Error for radroots_signing::error::Error +pub fn radroots_signing::error::Error::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +impl core::fmt::Debug for radroots_signing::error::Error +pub fn radroots_signing::error::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::fmt::Display for radroots_signing::error::Error +pub fn radroots_signing::error::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +#[non_exhaustive] pub struct radroots_signing::SignReceipt +impl radroots_signing::receipt::SignReceipt +pub const fn radroots_signing::receipt::SignReceipt::completed_at_unix_ms(&self) -> u64 +pub fn radroots_signing::receipt::SignReceipt::from_signed_event(&radroots_signing::request::SignRequest, radroots_event::draft::SignedEvent, u64) -> core::result::Result<Self, radroots_signing::error::Error> +pub const fn radroots_signing::receipt::SignReceipt::intent_id(&self) -> radroots_signing::identity::SigningIntentId +pub const fn radroots_signing::receipt::SignReceipt::operation_kind(&self) -> radroots_protocol::runtime::v1::OperationId +pub const fn radroots_signing::receipt::SignReceipt::signed_event(&self) -> &radroots_event::draft::SignedEvent +pub const fn radroots_signing::receipt::SignReceipt::signer_request_id(&self) -> radroots_signing::identity::SignerRequestId +impl core::fmt::Debug for radroots_signing::receipt::SignReceipt +pub fn radroots_signing::receipt::SignReceipt::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_signing::SignRequest +impl radroots_signing::request::SignRequest +pub const fn radroots_signing::request::SignRequest::actor(&self) -> &radroots_signing::actor::Actor +pub const fn radroots_signing::request::SignRequest::authored_plan(&self) -> core::option::Option<&radroots_event_codec::authoring::AuthoredEventPlan> +pub const fn radroots_signing::request::SignRequest::authorization(&self) -> core::option::Option<radroots_signing::authorization::CurrentAuthoringDecision> +pub const fn radroots_signing::request::SignRequest::blossom_authorization_plan(&self) -> core::option::Option<&radroots_event_codec::authoring::BlossomAuthorizationPlan> +pub fn radroots_signing::request::SignRequest::blossom_upload(radroots_protocol::runtime::v1::OperationId, radroots_signing::identity::SigningIntentId, radroots_signing::actor::Actor, radroots_event_codec::authoring::BlossomAuthorizationPlan, radroots_signing::request::SignPolicy) -> core::result::Result<Self, radroots_signing::error::Error> +pub const fn radroots_signing::request::SignRequest::cancellation_signal(&self) -> &radroots_signing::request::CancellationSignal +pub fn radroots_signing::request::SignRequest::content(&self) -> &str +pub const fn radroots_signing::request::SignRequest::created_at(&self) -> u64 +pub fn radroots_signing::request::SignRequest::ensure_active(&self, u64) -> core::result::Result<(), radroots_signing::error::Error> +pub const fn radroots_signing::request::SignRequest::expected_author(&self) -> &radroots_identity::key::PublicKey +pub const fn radroots_signing::request::SignRequest::expected_event_id(&self) -> &radroots_event::id::EventId +pub const fn radroots_signing::request::SignRequest::intent_id(&self) -> radroots_signing::identity::SigningIntentId +pub const fn radroots_signing::request::SignRequest::kind(&self) -> u32 +pub fn radroots_signing::request::SignRequest::new(radroots_protocol::runtime::v1::OperationId, radroots_signing::identity::SigningIntentId, radroots_signing::actor::Actor, radroots_event_codec::authoring::AuthoredEventPlan, radroots_signing::request::SignPolicy) -> core::result::Result<Self, radroots_signing::error::Error> +pub fn radroots_signing::request::SignRequest::new_with_authority(radroots_protocol::runtime::v1::OperationId, radroots_signing::identity::SigningIntentId, radroots_signing::actor::Actor, radroots_event_codec::authoring::AuthoredEventPlan, radroots_signing::request::SignPolicy, &dyn radroots_signing::authorization::CurrentAuthoringAuthority) -> core::result::Result<Self, radroots_signing::error::Error> +pub const fn radroots_signing::request::SignRequest::operation_kind(&self) -> radroots_protocol::runtime::v1::OperationId +pub const fn radroots_signing::request::SignRequest::plan_digest(&self) -> radroots_event_codec::authoring::PlanDigest +pub const fn radroots_signing::request::SignRequest::policy(&self) -> radroots_signing::request::SignPolicy +pub const fn radroots_signing::request::SignRequest::purpose(&self) -> radroots_signing::request::SigningPurpose +pub fn radroots_signing::request::SignRequest::report_progress(&self, &radroots_signing::status::SignProgress) +pub const fn radroots_signing::request::SignRequest::signer_request_id(&self) -> radroots_signing::identity::SignerRequestId +pub fn radroots_signing::request::SignRequest::tags(&self) -> &[alloc::vec::Vec<alloc::string::String>] +pub fn radroots_signing::request::SignRequest::with_cancellation_signal(self, radroots_signing::request::CancellationSignal) -> Self +pub fn radroots_signing::request::SignRequest::with_progress_observer(self, alloc::sync::Arc<dyn radroots_signing::request::ProgressObserver>) -> Self +impl core::fmt::Debug for radroots_signing::request::SignRequest +pub fn radroots_signing::request::SignRequest::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_signing::SignerRequestId(_) +impl radroots_signing::identity::SignerRequestId +pub const fn radroots_signing::identity::SignerRequestId::as_bytes(&self) -> &[u8; 32] +pub fn radroots_signing::identity::SignerRequestId::derive(radroots_signing::identity::AuthoredArtifactId, radroots_event_codec::authoring::PlanDigest) -> Self +pub fn radroots_signing::identity::SignerRequestId::to_hex(self) -> alloc::string::String +impl core::fmt::Debug for radroots_signing::identity::SignerRequestId +pub fn radroots_signing::identity::SignerRequestId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +#[non_exhaustive] pub struct radroots_signing::SignerStatus +impl radroots_signing::status::SignerStatus +pub const fn radroots_signing::status::SignerStatus::availability(&self) -> radroots_signing::status::SignerAvailability +pub fn radroots_signing::status::SignerStatus::capabilities(&self) -> &[radroots_signing::capability::SignerCapability] +pub fn radroots_signing::status::SignerStatus::new(radroots_signing::status::SignerAvailability, alloc::vec::Vec<radroots_signing::capability::SignerCapability>, core::option::Option<radroots_signing::status::SignProgress>) -> Self +pub const fn radroots_signing::status::SignerStatus::progress(&self) -> core::option::Option<&radroots_signing::status::SignProgress> +pub const fn radroots_signing::status::SignerStatus::unavailable() -> Self +pub struct radroots_signing::SigningIntentId +impl radroots_signing::identity::SigningIntentId +pub const fn radroots_signing::identity::SigningIntentId::artifact_id(self) -> radroots_signing::identity::AuthoredArtifactId +pub const fn radroots_signing::identity::SigningIntentId::new(radroots_signing::identity::SigningOperationId, radroots_signing::identity::AuthoredArtifactId) -> Self +pub const fn radroots_signing::identity::SigningIntentId::operation_id(self) -> radroots_signing::identity::SigningOperationId +pub struct radroots_signing::SigningOperationId(_) +impl radroots_signing::identity::SigningOperationId +pub const fn radroots_signing::identity::SigningOperationId::as_bytes(&self) -> &[u8; 16] +pub fn radroots_signing::identity::SigningOperationId::new([u8; 16]) -> core::result::Result<Self, radroots_signing::error::Error> +pub fn radroots_signing::identity::SigningOperationId::to_hex(self) -> alloc::string::String +impl core::fmt::Debug for radroots_signing::identity::SigningOperationId +pub fn radroots_signing::identity::SigningOperationId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub trait radroots_signing::CurrentAuthoringAuthority: core::marker::Send + core::marker::Sync +pub fn radroots_signing::CurrentAuthoringAuthority::evaluate(&self, &radroots_event_codec::authoring::AuthoredEventPlan) -> radroots_signing::authorization::CurrentAuthoringDecision +impl radroots_signing::authorization::CurrentAuthoringAuthority for radroots_signing::authorization::CurrentRegistryAuthority +pub fn radroots_signing::authorization::CurrentRegistryAuthority::evaluate(&self, &radroots_event_codec::authoring::AuthoredEventPlan) -> radroots_signing::authorization::CurrentAuthoringDecision +pub trait radroots_signing::Signer: core::marker::Send + core::marker::Sync +pub fn radroots_signing::Signer::sign(&self, radroots_signing::request::SignRequest) -> radroots_signing::signer::BoxFuture<'_, core::result::Result<radroots_signing::receipt::SignReceipt, radroots_signing::error::Error>> +pub fn radroots_signing::Signer::status(&self) -> radroots_signing::signer::BoxFuture<'_, core::result::Result<radroots_signing::status::SignerStatus, radroots_signing::error::Error>> diff --git a/contracts/api_baselines/radroots_storage.txt b/contracts/api_baselines/radroots_storage.txt @@ -0,0 +1,1552 @@ +pub mod radroots_storage +pub mod radroots_storage::atomic +pub enum radroots_storage::atomic::AtomicCommitDisposition +pub radroots_storage::atomic::AtomicCommitDisposition::Committed +pub radroots_storage::atomic::AtomicCommitDisposition::Replay +pub enum radroots_storage::atomic::AtomicCommitOutcome +pub radroots_storage::atomic::AtomicCommitOutcome::Ingested +pub radroots_storage::atomic::AtomicCommitOutcome::Ingested::admission: radroots_storage::event::AdmissionReceipt +pub radroots_storage::atomic::AtomicCommitOutcome::Ingested::projection: core::option::Option<alloc::boxed::Box<radroots_storage::projection::ProjectionStatus>> +impl radroots_storage::atomic::AtomicCommitOutcome +pub const fn radroots_storage::atomic::AtomicCommitOutcome::kind(&self) -> radroots_storage::atomic::AtomicWorkflowKind +pub enum radroots_storage::atomic::AtomicWorkflow +pub radroots_storage::atomic::AtomicWorkflow::Ingested(alloc::boxed::Box<radroots_storage::atomic::CommitIngested>) +impl radroots_storage::atomic::AtomicWorkflow +pub const fn radroots_storage::atomic::AtomicWorkflow::kind(&self) -> radroots_storage::atomic::AtomicWorkflowKind +pub enum radroots_storage::atomic::AtomicWorkflowKind +pub radroots_storage::atomic::AtomicWorkflowKind::Ingested +pub struct radroots_storage::atomic::AtomicCommit +impl radroots_storage::atomic::AtomicCommit +pub const fn radroots_storage::atomic::AtomicCommit::commit_id(&self) -> radroots_storage::atomic::AtomicCommitId +pub const fn radroots_storage::atomic::AtomicCommit::digest(&self) -> radroots_storage::atomic::AtomicCommitDigest +pub fn radroots_storage::atomic::AtomicCommit::new(radroots_storage::atomic::AtomicCommitId, radroots_storage::atomic::AtomicCommitDigest, u64, radroots_storage::atomic::AtomicWorkflow) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::atomic::AtomicCommit::requested_at_unix_ms(&self) -> u64 +pub const fn radroots_storage::atomic::AtomicCommit::workflow(&self) -> &radroots_storage::atomic::AtomicWorkflow +pub struct radroots_storage::atomic::AtomicCommitDigest(_) +impl radroots_storage::atomic::AtomicCommitDigest +pub const fn radroots_storage::atomic::AtomicCommitDigest::as_bytes(&self) -> &[u8; 32] +pub const fn radroots_storage::atomic::AtomicCommitDigest::new([u8; 32]) -> Self +pub struct radroots_storage::atomic::AtomicCommitId(_) +impl radroots_storage::atomic::AtomicCommitId +pub const fn radroots_storage::atomic::AtomicCommitId::as_bytes(&self) -> &[u8; 16] +pub const fn radroots_storage::atomic::AtomicCommitId::new([u8; 16]) -> core::result::Result<Self, radroots_storage::Error> +pub struct radroots_storage::atomic::AtomicCommitReceipt +impl radroots_storage::atomic::AtomicCommitReceipt +pub const fn radroots_storage::atomic::AtomicCommitReceipt::commit_id(&self) -> radroots_storage::atomic::AtomicCommitId +pub const fn radroots_storage::atomic::AtomicCommitReceipt::committed_at_unix_ms(&self) -> u64 +pub const fn radroots_storage::atomic::AtomicCommitReceipt::digest(&self) -> radroots_storage::atomic::AtomicCommitDigest +pub const fn radroots_storage::atomic::AtomicCommitReceipt::disposition(&self) -> radroots_storage::atomic::AtomicCommitDisposition +pub fn radroots_storage::atomic::AtomicCommitReceipt::from_durable_parts(radroots_storage::atomic::AtomicCommitId, radroots_storage::atomic::AtomicCommitDigest, radroots_storage::atomic::AtomicCommitDisposition, u64, u64, radroots_storage::atomic::AtomicWorkflowKind, radroots_storage::atomic::AtomicCommitOutcome) -> core::result::Result<Self, radroots_storage::Error> +pub fn radroots_storage::atomic::AtomicCommitReceipt::new(&radroots_storage::atomic::AtomicCommit, radroots_storage::atomic::AtomicCommitDisposition, u64, radroots_storage::atomic::AtomicCommitOutcome) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::atomic::AtomicCommitReceipt::outcome(&self) -> &radroots_storage::atomic::AtomicCommitOutcome +pub struct radroots_storage::atomic::CommitIngested +impl radroots_storage::atomic::CommitIngested +pub const fn radroots_storage::atomic::CommitIngested::admission(&self) -> &radroots_storage::event::EventAdmission +pub const fn radroots_storage::atomic::CommitIngested::new(radroots_storage::event::EventAdmission, core::option::Option<radroots_storage::projection::ProjectionCheckpoint>) -> Self +pub const fn radroots_storage::atomic::CommitIngested::projection(&self) -> core::option::Option<&radroots_storage::projection::ProjectionCheckpoint> +pub trait radroots_storage::atomic::AtomicStorage: core::marker::Send + core::marker::Sync +pub fn radroots_storage::atomic::AtomicStorage::commit(&self, radroots_storage::atomic::AtomicCommit) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::atomic::AtomicCommitReceipt, radroots_storage::Error>> +pub fn radroots_storage::atomic::AtomicStorage::receipt(&self, radroots_storage::atomic::AtomicCommitId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::atomic::AtomicCommitReceipt>, radroots_storage::Error>> +impl radroots_storage::atomic::AtomicStorage for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::commit(&self, radroots_storage::atomic::AtomicCommit) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::atomic::AtomicCommitReceipt, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::receipt(&self, radroots_storage::atomic::AtomicCommitId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::atomic::AtomicCommitReceipt>, radroots_storage::Error>> +pub mod radroots_storage::authored +pub enum radroots_storage::authored::AdmissionState +pub radroots_storage::authored::AdmissionState::Cancelled +pub radroots_storage::authored::AdmissionState::Duplicate +pub radroots_storage::authored::AdmissionState::Inserted +pub radroots_storage::authored::AdmissionState::Pending +pub radroots_storage::authored::AdmissionState::Rejected +pub radroots_storage::authored::AdmissionState::Retryable +impl radroots_storage::authored::AdmissionState +pub const fn radroots_storage::authored::AdmissionState::is_admitted(self) -> bool +pub enum radroots_storage::authored::ArtifactOrigin +pub radroots_storage::authored::ArtifactOrigin::ImportedSigned +pub radroots_storage::authored::ArtifactOrigin::Planned +impl radroots_storage::authored::ArtifactOrigin +pub const fn radroots_storage::authored::ArtifactOrigin::is_resignable(self) -> bool +pub enum radroots_storage::authored::FailureClass +pub radroots_storage::authored::FailureClass::Indeterminate +pub radroots_storage::authored::FailureClass::Retryable +pub radroots_storage::authored::FailureClass::Terminal +pub enum radroots_storage::authored::SigningState +pub radroots_storage::authored::SigningState::Cancelled +pub radroots_storage::authored::SigningState::FailedTerminal +pub radroots_storage::authored::SigningState::Indeterminate +pub radroots_storage::authored::SigningState::Planned +pub radroots_storage::authored::SigningState::Retryable +pub radroots_storage::authored::SigningState::Signed +pub enum radroots_storage::authored::WorkPhase +pub radroots_storage::authored::WorkPhase::Admission +pub radroots_storage::authored::WorkPhase::Delivery +pub radroots_storage::authored::WorkPhase::Signing +pub struct radroots_storage::authored::AuthoredArtifact +impl radroots_storage::authored::AuthoredArtifact +pub const fn radroots_storage::authored::AuthoredArtifact::admission_claim(&self) -> core::option::Option<&radroots_storage::authored::WorkClaim> +pub const fn radroots_storage::authored::AuthoredArtifact::admission_retry(&self) -> core::option::Option<&radroots_storage::authored::RetrySchedule> +pub const fn radroots_storage::authored::AuthoredArtifact::admission_state(&self) -> radroots_storage::authored::AdmissionState +pub const fn radroots_storage::authored::AuthoredArtifact::artifact_id(&self) -> radroots_storage::authored::AuthoredArtifactId +pub fn radroots_storage::authored::AuthoredArtifact::cancel_signing(&mut self, u64) -> core::result::Result<(), radroots_storage::Error> +pub const fn radroots_storage::authored::AuthoredArtifact::created_at_unix_ms(&self) -> u64 +pub fn radroots_storage::authored::AuthoredArtifact::imported_signed(radroots_storage::authored::AuthoredArtifactId, radroots_storage::journal::OperationInstanceId, u16, radroots_event::draft::SignedEvent, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::authored::AuthoredArtifact::last_failure(&self) -> core::option::Option<&radroots_storage::authored::WorkFailure> +pub const fn radroots_storage::authored::AuthoredArtifact::operation_id(&self) -> radroots_storage::journal::OperationInstanceId +pub const fn radroots_storage::authored::AuthoredArtifact::ordinal(&self) -> u16 +pub const fn radroots_storage::authored::AuthoredArtifact::origin(&self) -> radroots_storage::authored::ArtifactOrigin +pub const fn radroots_storage::authored::AuthoredArtifact::plan(&self) -> core::option::Option<&radroots_storage::authored::DurableAuthoredPlan> +pub fn radroots_storage::authored::AuthoredArtifact::planned(radroots_storage::authored::AuthoredArtifactId, radroots_storage::journal::OperationInstanceId, u16, &radroots_event_codec::authoring::AuthoredEventPlan, u64) -> core::result::Result<Self, radroots_storage::Error> +pub fn radroots_storage::authored::AuthoredArtifact::reconstruct(Self) -> core::result::Result<Self, radroots_storage::Error> +pub fn radroots_storage::authored::AuthoredArtifact::record_admission(&mut self, radroots_storage::authored::AdmissionState, core::option::Option<radroots_storage::authored::WorkFailure>, core::option::Option<radroots_storage::authored::RetrySchedule>, u64) -> core::result::Result<(), radroots_storage::Error> +pub fn radroots_storage::authored::AuthoredArtifact::record_signed(&mut self, radroots_event::draft::SignedEvent, u64) -> core::result::Result<(), radroots_storage::Error> +pub fn radroots_storage::authored::AuthoredArtifact::record_signing_failure(&mut self, radroots_storage::authored::WorkFailure, core::option::Option<radroots_storage::authored::RetrySchedule>, u64) -> core::result::Result<(), radroots_storage::Error> +pub const fn radroots_storage::authored::AuthoredArtifact::revision(&self) -> core::num::nonzero::NonZeroU64 +pub fn radroots_storage::authored::AuthoredArtifact::set_admission_claim(&mut self, radroots_storage::authored::WorkClaim, u64) -> core::result::Result<(), radroots_storage::Error> +pub fn radroots_storage::authored::AuthoredArtifact::set_signing_claim(&mut self, radroots_storage::authored::WorkClaim, u64) -> core::result::Result<(), radroots_storage::Error> +pub const fn radroots_storage::authored::AuthoredArtifact::signed(&self) -> core::option::Option<&radroots_storage::authored::ExactSignedArtifact> +pub const fn radroots_storage::authored::AuthoredArtifact::signing_claim(&self) -> core::option::Option<&radroots_storage::authored::WorkClaim> +pub const fn radroots_storage::authored::AuthoredArtifact::signing_retry(&self) -> core::option::Option<&radroots_storage::authored::RetrySchedule> +pub const fn radroots_storage::authored::AuthoredArtifact::signing_state(&self) -> radroots_storage::authored::SigningState +pub const fn radroots_storage::authored::AuthoredArtifact::updated_at_unix_ms(&self) -> u64 +pub fn radroots_storage::authored::AuthoredArtifact::validate(&self) -> core::result::Result<(), radroots_storage::Error> +pub struct radroots_storage::authored::AuthoredArtifactId(_) +impl radroots_storage::authored::AuthoredArtifactId +pub const fn radroots_storage::authored::AuthoredArtifactId::as_bytes(&self) -> &[u8; 16] +pub const fn radroots_storage::authored::AuthoredArtifactId::new([u8; 16]) -> core::result::Result<Self, radroots_storage::Error> +impl core::convert::From<radroots_storage::authored::AuthoredArtifactId> for [u8; 16] +pub fn [u8; 16]::from(radroots_storage::authored::AuthoredArtifactId) -> Self +impl core::convert::TryFrom<[u8; 16]> for radroots_storage::authored::AuthoredArtifactId +pub type radroots_storage::authored::AuthoredArtifactId::Error = radroots_storage::Error +pub fn radroots_storage::authored::AuthoredArtifactId::try_from([u8; 16]) -> core::result::Result<Self, Self::Error> +pub struct radroots_storage::authored::AuthoredOperation +impl radroots_storage::authored::AuthoredOperation +pub fn radroots_storage::authored::AuthoredOperation::artifact_ids(&self) -> &[radroots_storage::authored::AuthoredArtifactId] +pub const fn radroots_storage::authored::AuthoredOperation::created_at_unix_ms(&self) -> u64 +pub fn radroots_storage::authored::AuthoredOperation::new(radroots_storage::journal::OperationInstanceId, alloc::vec::Vec<radroots_storage::authored::AuthoredArtifactId>, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::authored::AuthoredOperation::operation_id(&self) -> radroots_storage::journal::OperationInstanceId +pub fn radroots_storage::authored::AuthoredOperation::reconstruct(radroots_storage::journal::OperationInstanceId, alloc::vec::Vec<radroots_storage::authored::AuthoredArtifactId>, u64, u64, core::num::nonzero::NonZeroU64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::authored::AuthoredOperation::revision(&self) -> core::num::nonzero::NonZeroU64 +pub const fn radroots_storage::authored::AuthoredOperation::updated_at_unix_ms(&self) -> u64 +pub struct radroots_storage::authored::DurableAuthoredPlan +impl radroots_storage::authored::DurableAuthoredPlan +pub fn radroots_storage::authored::DurableAuthoredPlan::decode(&self) -> core::result::Result<radroots_event_codec::authoring::wire::HistoricalPlanIntegrity, radroots_storage::Error> +pub fn radroots_storage::authored::DurableAuthoredPlan::from_plan(&radroots_event_codec::authoring::AuthoredEventPlan) -> core::result::Result<Self, radroots_storage::Error> +pub fn radroots_storage::authored::DurableAuthoredPlan::reconstruct(alloc::vec::Vec<u8>) -> core::result::Result<Self, radroots_storage::Error> +pub fn radroots_storage::authored::DurableAuthoredPlan::wire_json(&self) -> &[u8] +pub struct radroots_storage::authored::ExactSignedArtifact +impl radroots_storage::authored::ExactSignedArtifact +pub const fn radroots_storage::authored::ExactSignedArtifact::event(&self) -> &radroots_event::draft::SignedEvent +pub fn radroots_storage::authored::ExactSignedArtifact::new(radroots_event::draft::SignedEvent) -> Self +pub const fn radroots_storage::authored::ExactSignedArtifact::raw_json_sha256(&self) -> &[u8; 32] +pub fn radroots_storage::authored::ExactSignedArtifact::reconstruct(radroots_event::draft::SignedEvent, [u8; 32]) -> core::result::Result<Self, radroots_storage::Error> +pub struct radroots_storage::authored::OperationSettlement +impl radroots_storage::authored::OperationSettlement +pub const fn radroots_storage::authored::OperationSettlement::admitted(self) -> u16 +pub const fn radroots_storage::authored::OperationSettlement::artifacts(self) -> u16 +pub const fn radroots_storage::authored::OperationSettlement::cancelled(self) -> u16 +pub const fn radroots_storage::authored::OperationSettlement::delivery_cancelled(self) -> u16 +pub const fn radroots_storage::authored::OperationSettlement::delivery_exhausted(self) -> u16 +pub const fn radroots_storage::authored::OperationSettlement::delivery_failed_terminal(self) -> u16 +pub const fn radroots_storage::authored::OperationSettlement::delivery_pending(self) -> u16 +pub const fn radroots_storage::authored::OperationSettlement::delivery_plans(self) -> u16 +pub const fn radroots_storage::authored::OperationSettlement::delivery_retryable(self) -> u16 +pub const fn radroots_storage::authored::OperationSettlement::delivery_satisfied(self) -> u16 +pub fn radroots_storage::authored::OperationSettlement::evaluate(&radroots_storage::authored::AuthoredOperation, &[radroots_storage::authored::AuthoredArtifact]) -> core::result::Result<Self, radroots_storage::Error> +pub fn radroots_storage::authored::OperationSettlement::evaluate_complete(&radroots_storage::authored::AuthoredOperation, &[radroots_storage::authored::AuthoredArtifact], &[radroots_storage::authored_delivery::AuthoredDeliveryPlan]) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::authored::OperationSettlement::failed_terminal(self) -> u16 +pub const fn radroots_storage::authored::OperationSettlement::has_failures(self) -> bool +pub const fn radroots_storage::authored::OperationSettlement::indeterminate(self) -> u16 +pub const fn radroots_storage::authored::OperationSettlement::is_settled(self) -> bool +pub const fn radroots_storage::authored::OperationSettlement::is_successful(self) -> bool +pub const fn radroots_storage::authored::OperationSettlement::pending(self) -> u16 +pub const fn radroots_storage::authored::OperationSettlement::retryable(self) -> u16 +pub const fn radroots_storage::authored::OperationSettlement::signed(self) -> u16 +pub struct radroots_storage::authored::RetrySchedule +impl radroots_storage::authored::RetrySchedule +pub const fn radroots_storage::authored::RetrySchedule::attempt(&self) -> core::num::nonzero::NonZeroU32 +pub const fn radroots_storage::authored::RetrySchedule::failure(&self) -> &radroots_storage::authored::WorkFailure +pub fn radroots_storage::authored::RetrySchedule::new(core::num::nonzero::NonZeroU32, u64, radroots_storage::authored::WorkFailure) -> core::result::Result<Self, radroots_storage::Error> +pub fn radroots_storage::authored::RetrySchedule::next_attempt(&self, u64, radroots_storage::authored::WorkFailure) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::authored::RetrySchedule::not_before_unix_ms(&self) -> u64 +pub struct radroots_storage::authored::WorkClaim +impl radroots_storage::authored::WorkClaim +pub const fn radroots_storage::authored::WorkClaim::acquired_at_unix_ms(&self) -> u64 +pub const fn radroots_storage::authored::WorkClaim::expires_at_unix_ms(&self) -> u64 +pub const fn radroots_storage::authored::WorkClaim::generation(&self) -> core::num::nonzero::NonZeroU64 +pub fn radroots_storage::authored::WorkClaim::matches_fence(&self, &[u8; 16], core::num::nonzero::NonZeroU64, core::num::nonzero::NonZeroU64, u64) -> bool +pub fn radroots_storage::authored::WorkClaim::new([u8; 16], impl core::convert::Into<alloc::string::String>, core::num::nonzero::NonZeroU64, u64, u64, core::num::nonzero::NonZeroU64) -> core::result::Result<Self, radroots_storage::Error> +pub fn radroots_storage::authored::WorkClaim::owner(&self) -> &str +pub const fn radroots_storage::authored::WorkClaim::row_revision(&self) -> core::num::nonzero::NonZeroU64 +pub const fn radroots_storage::authored::WorkClaim::token(&self) -> &[u8; 16] +pub fn radroots_storage::authored::WorkClaim::validate(&self) -> core::result::Result<(), radroots_storage::Error> +pub struct radroots_storage::authored::WorkFailure +impl radroots_storage::authored::WorkFailure +pub const fn radroots_storage::authored::WorkFailure::class(&self) -> radroots_storage::authored::FailureClass +pub fn radroots_storage::authored::WorkFailure::code(&self) -> &str +pub fn radroots_storage::authored::WorkFailure::diagnostic(&self) -> core::option::Option<&str> +pub fn radroots_storage::authored::WorkFailure::new(impl core::convert::Into<alloc::string::String>, radroots_storage::authored::WorkPhase, radroots_storage::authored::FailureClass, core::option::Option<u64>, core::option::Option<alloc::string::String>) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::authored::WorkFailure::phase(&self) -> radroots_storage::authored::WorkPhase +pub const fn radroots_storage::authored::WorkFailure::retry_after_unix_ms(&self) -> core::option::Option<u64> +pub fn radroots_storage::authored::WorkFailure::validate(&self) -> core::result::Result<(), radroots_storage::Error> +pub const radroots_storage::authored::AUTHORED_OPERATION_ARTIFACTS_MAX: usize +pub const radroots_storage::authored::WORK_CLAIM_OWNER_MAX_BYTES: usize +pub const radroots_storage::authored::WORK_FAILURE_CODE_MAX_BYTES: usize +pub const radroots_storage::authored::WORK_FAILURE_DIAGNOSTIC_MAX_BYTES: usize +pub mod radroots_storage::authored_atomic +pub enum radroots_storage::authored_atomic::AuthoredAtomicCommand +pub radroots_storage::authored_atomic::AuthoredAtomicCommand::ApplyAdmission(radroots_storage::authored_atomic::ApplyAdmissionResult) +pub radroots_storage::authored_atomic::AuthoredAtomicCommand::ApplyDelivery(radroots_storage::authored_atomic::ApplyDeliveryAttempt) +pub radroots_storage::authored_atomic::AuthoredAtomicCommand::ApplyFailure(radroots_storage::authored_atomic::ApplyWorkFailure) +pub radroots_storage::authored_atomic::AuthoredAtomicCommand::ApplySigned(radroots_storage::authored_atomic::ApplySignedArtifact) +pub radroots_storage::authored_atomic::AuthoredAtomicCommand::Cancel(radroots_storage::authored_atomic::CancelAuthoredWork) +pub radroots_storage::authored_atomic::AuthoredAtomicCommand::Claim(radroots_storage::authored_atomic::ClaimAuthoredWork) +pub radroots_storage::authored_atomic::AuthoredAtomicCommand::Prepare(radroots_storage::authored_atomic::PrepareAuthoredOperation) +impl radroots_storage::authored_atomic::AuthoredAtomicCommand +pub fn radroots_storage::authored_atomic::AuthoredAtomicCommand::commit_id(&self) -> radroots_storage::atomic::AtomicCommitId +pub fn radroots_storage::authored_atomic::AuthoredAtomicCommand::digest(&self) -> radroots_storage::atomic::AtomicCommitDigest +pub const fn radroots_storage::authored_atomic::AuthoredAtomicCommand::requested_at_unix_ms(&self) -> u64 +pub enum radroots_storage::authored_atomic::AuthoredAtomicOutcome +pub radroots_storage::authored_atomic::AuthoredAtomicOutcome::Artifact(radroots_storage::authored::AuthoredArtifact) +pub radroots_storage::authored_atomic::AuthoredAtomicOutcome::DeliveryPlan(radroots_storage::authored_delivery::AuthoredDeliveryPlan) +pub radroots_storage::authored_atomic::AuthoredAtomicOutcome::Prepared +pub radroots_storage::authored_atomic::AuthoredAtomicOutcome::Prepared::artifacts: alloc::vec::Vec<radroots_storage::authored::AuthoredArtifact> +pub radroots_storage::authored_atomic::AuthoredAtomicOutcome::Prepared::delivery_plans: alloc::vec::Vec<radroots_storage::authored_delivery::AuthoredDeliveryPlan> +pub radroots_storage::authored_atomic::AuthoredAtomicOutcome::Prepared::operation: radroots_storage::authored::AuthoredOperation +pub enum radroots_storage::authored_atomic::AuthoredWorkTarget +pub radroots_storage::authored_atomic::AuthoredWorkTarget::Artifact(radroots_storage::authored::AuthoredArtifactId) +pub radroots_storage::authored_atomic::AuthoredWorkTarget::DeliveryPlan(radroots_storage::authored_delivery::AuthoredDeliveryPlanId) +pub enum radroots_storage::authored_atomic::CancelAuthoredTarget +pub radroots_storage::authored_atomic::CancelAuthoredTarget::ArtifactAdmission(radroots_storage::authored::AuthoredArtifactId) +pub radroots_storage::authored_atomic::CancelAuthoredTarget::ArtifactSigning(radroots_storage::authored::AuthoredArtifactId) +pub radroots_storage::authored_atomic::CancelAuthoredTarget::DeliveryPlan(radroots_storage::authored_delivery::AuthoredDeliveryPlanId) +pub enum radroots_storage::authored_atomic::ClaimAuthoredTarget +pub radroots_storage::authored_atomic::ClaimAuthoredTarget::ArtifactAdmission(radroots_storage::authored::AuthoredArtifactId) +pub radroots_storage::authored_atomic::ClaimAuthoredTarget::ArtifactSigning(radroots_storage::authored::AuthoredArtifactId) +pub radroots_storage::authored_atomic::ClaimAuthoredTarget::DeliveryPlan(radroots_storage::authored_delivery::AuthoredDeliveryPlanId) +pub struct radroots_storage::authored_atomic::ApplyAdmissionResult +impl radroots_storage::authored_atomic::ApplyAdmissionResult +pub const fn radroots_storage::authored_atomic::ApplyAdmissionResult::applied_at_unix_ms(&self) -> u64 +pub const fn radroots_storage::authored_atomic::ApplyAdmissionResult::artifact_id(&self) -> radroots_storage::authored::AuthoredArtifactId +pub const fn radroots_storage::authored_atomic::ApplyAdmissionResult::failure(&self) -> core::option::Option<&radroots_storage::authored::WorkFailure> +pub const fn radroots_storage::authored_atomic::ApplyAdmissionResult::fence(&self) -> &radroots_storage::authored_atomic::WorkFence +pub fn radroots_storage::authored_atomic::ApplyAdmissionResult::new(radroots_storage::authored::AuthoredArtifactId, radroots_storage::authored_atomic::WorkFence, radroots_storage::authored::AdmissionState, core::option::Option<radroots_storage::authored::WorkFailure>, core::option::Option<radroots_storage::authored::RetrySchedule>, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::authored_atomic::ApplyAdmissionResult::retry(&self) -> core::option::Option<&radroots_storage::authored::RetrySchedule> +pub const fn radroots_storage::authored_atomic::ApplyAdmissionResult::state(&self) -> radroots_storage::authored::AdmissionState +pub struct radroots_storage::authored_atomic::ApplyDeliveryAttempt +impl radroots_storage::authored_atomic::ApplyDeliveryAttempt +pub const fn radroots_storage::authored_atomic::ApplyDeliveryAttempt::applied_at_unix_ms(&self) -> u64 +pub const fn radroots_storage::authored_atomic::ApplyDeliveryAttempt::fence(&self) -> &radroots_storage::authored_atomic::WorkFence +pub fn radroots_storage::authored_atomic::ApplyDeliveryAttempt::new(radroots_storage::authored_delivery::AuthoredDeliveryPlanId, radroots_storage::authored_atomic::WorkFence, radroots_storage::authored_delivery::DeliveryAttemptOutcome, core::option::Option<radroots_storage::authored::RetrySchedule>, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::authored_atomic::ApplyDeliveryAttempt::outcome(&self) -> &radroots_storage::authored_delivery::DeliveryAttemptOutcome +pub const fn radroots_storage::authored_atomic::ApplyDeliveryAttempt::plan_id(&self) -> radroots_storage::authored_delivery::AuthoredDeliveryPlanId +pub const fn radroots_storage::authored_atomic::ApplyDeliveryAttempt::retry(&self) -> core::option::Option<&radroots_storage::authored::RetrySchedule> +pub struct radroots_storage::authored_atomic::ApplySignedArtifact +impl radroots_storage::authored_atomic::ApplySignedArtifact +pub const fn radroots_storage::authored_atomic::ApplySignedArtifact::applied_at_unix_ms(&self) -> u64 +pub const fn radroots_storage::authored_atomic::ApplySignedArtifact::artifact_id(&self) -> radroots_storage::authored::AuthoredArtifactId +pub const fn radroots_storage::authored_atomic::ApplySignedArtifact::event(&self) -> &radroots_event::draft::SignedEvent +pub const fn radroots_storage::authored_atomic::ApplySignedArtifact::fence(&self) -> &radroots_storage::authored_atomic::WorkFence +pub fn radroots_storage::authored_atomic::ApplySignedArtifact::new(radroots_storage::authored::AuthoredArtifactId, radroots_storage::authored_atomic::WorkFence, radroots_event::draft::SignedEvent, u64) -> core::result::Result<Self, radroots_storage::Error> +pub struct radroots_storage::authored_atomic::ApplyWorkFailure +impl radroots_storage::authored_atomic::ApplyWorkFailure +pub const fn radroots_storage::authored_atomic::ApplyWorkFailure::applied_at_unix_ms(&self) -> u64 +pub const fn radroots_storage::authored_atomic::ApplyWorkFailure::failure(&self) -> &radroots_storage::authored::WorkFailure +pub const fn radroots_storage::authored_atomic::ApplyWorkFailure::fence(&self) -> &radroots_storage::authored_atomic::WorkFence +pub fn radroots_storage::authored_atomic::ApplyWorkFailure::new(radroots_storage::authored_atomic::AuthoredWorkTarget, radroots_storage::authored_atomic::WorkFence, radroots_storage::authored::WorkFailure, core::option::Option<radroots_storage::authored::RetrySchedule>, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::authored_atomic::ApplyWorkFailure::retry(&self) -> core::option::Option<&radroots_storage::authored::RetrySchedule> +pub const fn radroots_storage::authored_atomic::ApplyWorkFailure::target(&self) -> &radroots_storage::authored_atomic::AuthoredWorkTarget +pub struct radroots_storage::authored_atomic::AuthoredAtomicReceipt +impl radroots_storage::authored_atomic::AuthoredAtomicReceipt +pub const fn radroots_storage::authored_atomic::AuthoredAtomicReceipt::commit_id(&self) -> radroots_storage::atomic::AtomicCommitId +pub const fn radroots_storage::authored_atomic::AuthoredAtomicReceipt::committed_at_unix_ms(&self) -> u64 +pub const fn radroots_storage::authored_atomic::AuthoredAtomicReceipt::digest(&self) -> radroots_storage::atomic::AtomicCommitDigest +pub const fn radroots_storage::authored_atomic::AuthoredAtomicReceipt::disposition(&self) -> radroots_storage::atomic::AtomicCommitDisposition +pub fn radroots_storage::authored_atomic::AuthoredAtomicReceipt::from_durable_parts(radroots_storage::atomic::AtomicCommitId, radroots_storage::atomic::AtomicCommitDigest, radroots_storage::atomic::AtomicCommitDisposition, u64, radroots_storage::authored_atomic::AuthoredAtomicOutcome) -> core::result::Result<Self, radroots_storage::Error> +pub fn radroots_storage::authored_atomic::AuthoredAtomicReceipt::new(&radroots_storage::authored_atomic::AuthoredAtomicCommand, radroots_storage::atomic::AtomicCommitDisposition, u64, radroots_storage::authored_atomic::AuthoredAtomicOutcome) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::authored_atomic::AuthoredAtomicReceipt::outcome(&self) -> &radroots_storage::authored_atomic::AuthoredAtomicOutcome +pub struct radroots_storage::authored_atomic::CancelAuthoredWork +impl radroots_storage::authored_atomic::CancelAuthoredWork +pub const fn radroots_storage::authored_atomic::CancelAuthoredWork::cancelled_at_unix_ms(&self) -> u64 +pub const fn radroots_storage::authored_atomic::CancelAuthoredWork::expected_revision(&self) -> core::num::nonzero::NonZeroU64 +pub const fn radroots_storage::authored_atomic::CancelAuthoredWork::new(radroots_storage::authored_atomic::CancelAuthoredTarget, core::num::nonzero::NonZeroU64, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::authored_atomic::CancelAuthoredWork::target(&self) -> &radroots_storage::authored_atomic::CancelAuthoredTarget +pub struct radroots_storage::authored_atomic::ClaimAuthoredWork +impl radroots_storage::authored_atomic::ClaimAuthoredWork +pub const fn radroots_storage::authored_atomic::ClaimAuthoredWork::claim(&self) -> &radroots_storage::authored::WorkClaim +pub const fn radroots_storage::authored_atomic::ClaimAuthoredWork::new(radroots_storage::authored_atomic::ClaimAuthoredTarget, radroots_storage::authored::WorkClaim) -> Self +pub const fn radroots_storage::authored_atomic::ClaimAuthoredWork::target(&self) -> &radroots_storage::authored_atomic::ClaimAuthoredTarget +pub struct radroots_storage::authored_atomic::PrepareAuthoredOperation +impl radroots_storage::authored_atomic::PrepareAuthoredOperation +pub fn radroots_storage::authored_atomic::PrepareAuthoredOperation::artifacts(&self) -> &[radroots_storage::authored::AuthoredArtifact] +pub fn radroots_storage::authored_atomic::PrepareAuthoredOperation::delivery_plans(&self) -> &[radroots_storage::authored_delivery::AuthoredDeliveryPlan] +pub const fn radroots_storage::authored_atomic::PrepareAuthoredOperation::input_digest(&self) -> radroots_storage::atomic::AtomicCommitDigest +pub fn radroots_storage::authored_atomic::PrepareAuthoredOperation::new(radroots_storage::authored::AuthoredOperation, alloc::vec::Vec<radroots_storage::authored::AuthoredArtifact>, alloc::vec::Vec<radroots_storage::authored_delivery::AuthoredDeliveryPlan>, radroots_storage::atomic::AtomicCommitDigest, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::authored_atomic::PrepareAuthoredOperation::operation(&self) -> &radroots_storage::authored::AuthoredOperation +pub const fn radroots_storage::authored_atomic::PrepareAuthoredOperation::requested_at_unix_ms(&self) -> u64 +pub struct radroots_storage::authored_atomic::WorkFence +impl radroots_storage::authored_atomic::WorkFence +pub const fn radroots_storage::authored_atomic::WorkFence::generation(&self) -> core::num::nonzero::NonZeroU64 +pub const fn radroots_storage::authored_atomic::WorkFence::new([u8; 16], core::num::nonzero::NonZeroU64, core::num::nonzero::NonZeroU64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::authored_atomic::WorkFence::row_revision(&self) -> core::num::nonzero::NonZeroU64 +pub const fn radroots_storage::authored_atomic::WorkFence::token(&self) -> &[u8; 16] +pub trait radroots_storage::authored_atomic::AuthoredAtomicStorage: core::marker::Send + core::marker::Sync +pub fn radroots_storage::authored_atomic::AuthoredAtomicStorage::authored_artifact(&self, radroots_storage::authored::AuthoredArtifactId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::authored::AuthoredArtifact>, radroots_storage::Error>> +pub fn radroots_storage::authored_atomic::AuthoredAtomicStorage::authored_delivery_plan(&self, radroots_storage::authored_delivery::AuthoredDeliveryPlanId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::authored_delivery::AuthoredDeliveryPlan>, radroots_storage::Error>> +pub fn radroots_storage::authored_atomic::AuthoredAtomicStorage::authored_operation(&self, radroots_storage::journal::OperationInstanceId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::authored::AuthoredOperation>, radroots_storage::Error>> +pub fn radroots_storage::authored_atomic::AuthoredAtomicStorage::authored_receipt(&self, radroots_storage::atomic::AtomicCommitId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::authored_atomic::AuthoredAtomicReceipt>, radroots_storage::Error>> +pub fn radroots_storage::authored_atomic::AuthoredAtomicStorage::execute_authored(&self, radroots_storage::authored_atomic::AuthoredAtomicCommand) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::authored_atomic::AuthoredAtomicReceipt, radroots_storage::Error>> +impl radroots_storage::authored_atomic::AuthoredAtomicStorage for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::authored_artifact(&self, radroots_storage::authored::AuthoredArtifactId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::authored::AuthoredArtifact>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::authored_delivery_plan(&self, radroots_storage::authored_delivery::AuthoredDeliveryPlanId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::authored_delivery::AuthoredDeliveryPlan>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::authored_operation(&self, radroots_storage::journal::OperationInstanceId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::authored::AuthoredOperation>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::authored_receipt(&self, radroots_storage::atomic::AtomicCommitId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::authored_atomic::AuthoredAtomicReceipt>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::execute_authored(&self, radroots_storage::authored_atomic::AuthoredAtomicCommand) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::authored_atomic::AuthoredAtomicReceipt, radroots_storage::Error>> +pub mod radroots_storage::authored_delivery +pub enum radroots_storage::authored_delivery::AuthoredDeliveryState +pub radroots_storage::authored_delivery::AuthoredDeliveryState::Cancelled +pub radroots_storage::authored_delivery::AuthoredDeliveryState::Exhausted +pub radroots_storage::authored_delivery::AuthoredDeliveryState::FailedTerminal +pub radroots_storage::authored_delivery::AuthoredDeliveryState::Pending +pub radroots_storage::authored_delivery::AuthoredDeliveryState::Retryable +pub radroots_storage::authored_delivery::AuthoredDeliveryState::Satisfied +impl radroots_storage::authored_delivery::AuthoredDeliveryState +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryState::is_terminal(self) -> bool +pub enum radroots_storage::authored_delivery::DeliveryAttemptOutcome +pub radroots_storage::authored_delivery::DeliveryAttemptOutcome::Receipt(radroots_transport::sink::DeliveryReceipt) +pub radroots_storage::authored_delivery::DeliveryAttemptOutcome::SinkFailure(radroots_transport::sink::SinkFailure) +pub struct radroots_storage::authored_delivery::AuthoredDeliveryAttempt +impl radroots_storage::authored_delivery::AuthoredDeliveryAttempt +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryAttempt::attempt(&self) -> core::num::nonzero::NonZeroU32 +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryAttempt::outcome(&self) -> &radroots_storage::authored_delivery::DeliveryAttemptOutcome +pub fn radroots_storage::authored_delivery::AuthoredDeliveryAttempt::reconstruct(core::num::nonzero::NonZeroU32, u64, radroots_storage::authored_delivery::DeliveryAttemptOutcome, radroots_transport::policy::SatisfactionState) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryAttempt::recorded_at_unix_ms(&self) -> u64 +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryAttempt::satisfaction(&self) -> radroots_transport::policy::SatisfactionState +pub struct radroots_storage::authored_delivery::AuthoredDeliveryIntent +impl radroots_storage::authored_delivery::AuthoredDeliveryIntent +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryIntent::deadline_unix_ms(&self) -> u64 +pub fn radroots_storage::authored_delivery::AuthoredDeliveryIntent::from_request(&radroots_transport::sink::DeliveryRequest) -> Self +pub fn radroots_storage::authored_delivery::AuthoredDeliveryIntent::materialize(&self, radroots_transport::sink::DeliveryPayload) -> core::result::Result<radroots_transport::sink::DeliveryRequest, radroots_storage::Error> +pub fn radroots_storage::authored_delivery::AuthoredDeliveryIntent::new(impl core::convert::Into<alloc::string::String>, radroots_transport::target::TargetSet, radroots_transport::policy::SatisfactionPolicy, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryIntent::request_id(&self) -> &radroots_transport::sink::DeliveryRequestId +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryIntent::satisfaction(&self) -> &radroots_transport::policy::SatisfactionPolicy +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryIntent::target_set(&self) -> &radroots_transport::target::TargetSet +pub struct radroots_storage::authored_delivery::AuthoredDeliveryPlan +impl radroots_storage::authored_delivery::AuthoredDeliveryPlan +pub fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::apply_receipt(&mut self, &[u8; 16], core::num::nonzero::NonZeroU64, core::num::nonzero::NonZeroU64, radroots_transport::sink::DeliveryReceipt, core::option::Option<radroots_storage::authored::RetrySchedule>, u64) -> core::result::Result<(), radroots_storage::Error> +pub fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::apply_sink_failure(&mut self, &[u8; 16], core::num::nonzero::NonZeroU64, core::num::nonzero::NonZeroU64, radroots_transport::sink::SinkFailure, core::option::Option<radroots_storage::authored::RetrySchedule>, u64) -> core::result::Result<(), radroots_storage::Error> +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::artifact_id(&self) -> radroots_storage::authored::AuthoredArtifactId +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::attempt_count(&self) -> u32 +pub fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::attempts(&self) -> &[radroots_storage::authored_delivery::AuthoredDeliveryAttempt] +pub fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::bind_signed_event(&mut self, radroots_event::draft::SignedEvent, u64) -> core::result::Result<(), radroots_storage::Error> +pub fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::cancel(&mut self, u64) -> core::result::Result<(), radroots_storage::Error> +pub fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::claim(&mut self, radroots_storage::authored::WorkClaim, u64) -> core::result::Result<(), radroots_storage::Error> +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::claim_evidence(&self) -> core::option::Option<&radroots_storage::authored::WorkClaim> +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::created_at_unix_ms(&self) -> u64 +pub fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::evaluate_next_attempt(&self, &radroots_storage::authored_delivery::DeliveryAttemptOutcome) -> core::result::Result<radroots_transport::policy::SatisfactionState, radroots_storage::Error> +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::intent(&self) -> &radroots_storage::authored_delivery::AuthoredDeliveryIntent +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::last_failure(&self) -> core::option::Option<&radroots_storage::authored::WorkFailure> +pub fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::new(radroots_storage::authored_delivery::AuthoredDeliveryPlanId, radroots_storage::authored::AuthoredArtifactId, radroots_storage::authored_delivery::AuthoredDeliveryIntent, u64) -> core::result::Result<Self, radroots_storage::Error> +pub fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::new_bound(radroots_storage::authored_delivery::AuthoredDeliveryPlanId, radroots_storage::authored::AuthoredArtifactId, radroots_transport::sink::DeliveryRequest, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::plan_id(&self) -> radroots_storage::authored_delivery::AuthoredDeliveryPlanId +pub fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::reconstruct(Self) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::request(&self) -> core::option::Option<&radroots_transport::sink::DeliveryRequest> +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::request_digest(&self) -> &[u8; 32] +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::retry(&self) -> core::option::Option<&radroots_storage::authored::RetrySchedule> +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::revision(&self) -> core::num::nonzero::NonZeroU64 +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::state(&self) -> radroots_storage::authored_delivery::AuthoredDeliveryState +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::updated_at_unix_ms(&self) -> u64 +pub fn radroots_storage::authored_delivery::AuthoredDeliveryPlan::validate(&self) -> core::result::Result<(), radroots_storage::Error> +pub struct radroots_storage::authored_delivery::AuthoredDeliveryPlanId(_) +impl radroots_storage::authored_delivery::AuthoredDeliveryPlanId +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryPlanId::as_bytes(&self) -> &[u8; 16] +pub const fn radroots_storage::authored_delivery::AuthoredDeliveryPlanId::new([u8; 16]) -> core::result::Result<Self, radroots_storage::Error> +impl core::convert::From<radroots_storage::authored_delivery::AuthoredDeliveryPlanId> for [u8; 16] +pub fn [u8; 16]::from(radroots_storage::authored_delivery::AuthoredDeliveryPlanId) -> Self +impl core::convert::TryFrom<[u8; 16]> for radroots_storage::authored_delivery::AuthoredDeliveryPlanId +pub type radroots_storage::authored_delivery::AuthoredDeliveryPlanId::Error = radroots_storage::Error +pub fn radroots_storage::authored_delivery::AuthoredDeliveryPlanId::try_from([u8; 16]) -> core::result::Result<Self, Self::Error> +pub const radroots_storage::authored_delivery::DELIVERY_PLAN_ATTEMPTS_MAX: u32 +pub mod radroots_storage::backup +pub enum radroots_storage::backup::BackupMemberKind +pub radroots_storage::backup::BackupMemberKind::Metadata +pub radroots_storage::backup::BackupMemberKind::Protected +pub radroots_storage::backup::BackupMemberKind::Runtime +pub enum radroots_storage::backup::BackupSecretPolicy +pub radroots_storage::backup::BackupSecretPolicy::ExcludeProtectedStorage +pub radroots_storage::backup::BackupSecretPolicy::IncludeProtectedStorage +pub enum radroots_storage::backup::BackupStage +pub radroots_storage::backup::BackupStage::Captured +pub radroots_storage::backup::BackupStage::Failed +pub radroots_storage::backup::BackupStage::Finalized +pub radroots_storage::backup::BackupStage::Planned +pub radroots_storage::backup::BackupStage::Verified +pub enum radroots_storage::backup::BackupTransition +pub radroots_storage::backup::BackupTransition::Captured(radroots_storage::backup::BackupManifest) +pub radroots_storage::backup::BackupTransition::Fail +pub radroots_storage::backup::BackupTransition::Finalize +pub radroots_storage::backup::BackupTransition::Verified +pub enum radroots_storage::backup::MemberVerification +pub radroots_storage::backup::MemberVerification::HashMismatch +pub radroots_storage::backup::MemberVerification::LengthMismatch +pub radroots_storage::backup::MemberVerification::Missing +pub radroots_storage::backup::MemberVerification::Unexpected +pub radroots_storage::backup::MemberVerification::UnsafePath +pub radroots_storage::backup::MemberVerification::Verified +pub enum radroots_storage::backup::RestoreStage +pub radroots_storage::backup::RestoreStage::Failed +pub radroots_storage::backup::RestoreStage::Finalized +pub radroots_storage::backup::RestoreStage::Finalizing +pub radroots_storage::backup::RestoreStage::Staging +pub radroots_storage::backup::RestoreStage::Verifying +pub enum radroots_storage::backup::RestoreTransition +pub radroots_storage::backup::RestoreTransition::Fail +pub radroots_storage::backup::RestoreTransition::Finalize +pub radroots_storage::backup::RestoreTransition::Staged +pub radroots_storage::backup::RestoreTransition::Verified(alloc::vec::Vec<radroots_storage::backup::RestoreMemberStatus>) +pub struct radroots_storage::backup::BackupFormatVersion(_) +impl radroots_storage::backup::BackupFormatVersion +pub const radroots_storage::backup::BackupFormatVersion::V1: Self +pub const fn radroots_storage::backup::BackupFormatVersion::get(self) -> u16 +pub const fn radroots_storage::backup::BackupFormatVersion::new(u16) -> core::result::Result<Self, radroots_storage::Error> +impl<'de> serde_core::de::Deserialize<'de> for radroots_storage::backup::BackupFormatVersion +pub fn radroots_storage::backup::BackupFormatVersion::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_storage::backup::BackupId(_) +impl radroots_storage::backup::BackupId +pub const fn radroots_storage::backup::BackupId::as_bytes(&self) -> &[u8; 16] +pub const fn radroots_storage::backup::BackupId::new([u8; 16]) -> core::result::Result<Self, radroots_storage::Error> +impl<'de> serde_core::de::Deserialize<'de> for radroots_storage::backup::BackupId +pub fn radroots_storage::backup::BackupId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_storage::backup::BackupManifest +impl radroots_storage::backup::BackupManifest +pub const fn radroots_storage::backup::BackupManifest::backup_id(&self) -> radroots_storage::backup::BackupId +pub const fn radroots_storage::backup::BackupManifest::created_at_unix_ms(&self) -> u64 +pub const fn radroots_storage::backup::BackupManifest::format_version(&self) -> radroots_storage::backup::BackupFormatVersion +pub fn radroots_storage::backup::BackupManifest::member(&self, &str) -> core::option::Option<&radroots_storage::backup::BackupMember> +pub fn radroots_storage::backup::BackupManifest::members(&self) -> &[radroots_storage::backup::BackupMember] +pub fn radroots_storage::backup::BackupManifest::new(radroots_storage::backup::BackupFormatVersion, radroots_storage::backup::BackupId, u64, radroots_storage::backup::BackupSecretPolicy, alloc::vec::Vec<radroots_storage::backup::BackupMember>) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::backup::BackupManifest::secret_policy(&self) -> radroots_storage::backup::BackupSecretPolicy +pub const fn radroots_storage::backup::BackupManifest::total_bytes(&self) -> u64 +impl<'de> serde_core::de::Deserialize<'de> for radroots_storage::backup::BackupManifest +pub fn radroots_storage::backup::BackupManifest::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_storage::backup::BackupMember +impl radroots_storage::backup::BackupMember +pub const fn radroots_storage::backup::BackupMember::byte_length(&self) -> u64 +pub const fn radroots_storage::backup::BackupMember::kind(&self) -> radroots_storage::backup::BackupMemberKind +pub fn radroots_storage::backup::BackupMember::new(impl core::convert::Into<alloc::string::String>, radroots_storage::backup::BackupMemberKind, u64, radroots_storage::backup::MemberDigest) -> core::result::Result<Self, radroots_storage::Error> +pub fn radroots_storage::backup::BackupMember::relative_path(&self) -> &str +pub const fn radroots_storage::backup::BackupMember::sha256(&self) -> radroots_storage::backup::MemberDigest +impl<'de> serde_core::de::Deserialize<'de> for radroots_storage::backup::BackupMember +pub fn radroots_storage::backup::BackupMember::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_storage::backup::BackupOperation +impl radroots_storage::backup::BackupOperation +pub const fn radroots_storage::backup::BackupOperation::manifest(&self) -> core::option::Option<&radroots_storage::backup::BackupManifest> +pub const fn radroots_storage::backup::BackupOperation::plan(&self) -> &radroots_storage::backup::BackupPlan +pub const fn radroots_storage::backup::BackupOperation::planned(radroots_storage::backup::BackupPlan) -> Self +pub const fn radroots_storage::backup::BackupOperation::revision(&self) -> radroots_storage::backup::ReliabilityRevision +pub const fn radroots_storage::backup::BackupOperation::stage(&self) -> radroots_storage::backup::BackupStage +pub fn radroots_storage::backup::BackupOperation::transition(&self, radroots_storage::backup::ReliabilityRevision, radroots_storage::backup::BackupTransition, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::backup::BackupOperation::updated_at_unix_ms(&self) -> u64 +pub struct radroots_storage::backup::BackupPlan +impl radroots_storage::backup::BackupPlan +pub const fn radroots_storage::backup::BackupPlan::backup_id(&self) -> radroots_storage::backup::BackupId +pub const fn radroots_storage::backup::BackupPlan::format_version(&self) -> radroots_storage::backup::BackupFormatVersion +pub const fn radroots_storage::backup::BackupPlan::new(radroots_storage::backup::BackupId, radroots_storage::backup::BackupFormatVersion, radroots_storage::backup::BackupSecretPolicy, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::backup::BackupPlan::requested_at_unix_ms(&self) -> u64 +pub const fn radroots_storage::backup::BackupPlan::secret_policy(&self) -> radroots_storage::backup::BackupSecretPolicy +impl<'de> serde_core::de::Deserialize<'de> for radroots_storage::backup::BackupPlan +pub fn radroots_storage::backup::BackupPlan::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_storage::backup::MemberDigest(_) +impl radroots_storage::backup::MemberDigest +pub const fn radroots_storage::backup::MemberDigest::as_bytes(&self) -> &[u8; 32] +pub const fn radroots_storage::backup::MemberDigest::new([u8; 32]) -> Self +pub struct radroots_storage::backup::ReliabilityRevision(_) +impl radroots_storage::backup::ReliabilityRevision +pub const radroots_storage::backup::ReliabilityRevision::INITIAL: Self +pub const fn radroots_storage::backup::ReliabilityRevision::get(self) -> u64 +pub const fn radroots_storage::backup::ReliabilityRevision::new(u64) -> core::result::Result<Self, radroots_storage::Error> +impl<'de> serde_core::de::Deserialize<'de> for radroots_storage::backup::ReliabilityRevision +pub fn radroots_storage::backup::ReliabilityRevision::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_storage::backup::RestoreMemberStatus +impl radroots_storage::backup::RestoreMemberStatus +pub fn radroots_storage::backup::RestoreMemberStatus::new(impl core::convert::Into<alloc::string::String>, radroots_storage::backup::MemberVerification) -> core::result::Result<Self, radroots_storage::Error> +pub fn radroots_storage::backup::RestoreMemberStatus::relative_path(&self) -> &str +pub const fn radroots_storage::backup::RestoreMemberStatus::verification(&self) -> radroots_storage::backup::MemberVerification +impl<'de> serde_core::de::Deserialize<'de> for radroots_storage::backup::RestoreMemberStatus +pub fn radroots_storage::backup::RestoreMemberStatus::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_storage::backup::RestoreOperation +impl radroots_storage::backup::RestoreOperation +pub fn radroots_storage::backup::RestoreOperation::member_status(&self) -> &[radroots_storage::backup::RestoreMemberStatus] +pub const fn radroots_storage::backup::RestoreOperation::plan(&self) -> &radroots_storage::backup::RestorePlan +pub const fn radroots_storage::backup::RestoreOperation::revision(&self) -> radroots_storage::backup::ReliabilityRevision +pub const fn radroots_storage::backup::RestoreOperation::stage(&self) -> radroots_storage::backup::RestoreStage +pub const fn radroots_storage::backup::RestoreOperation::staging(radroots_storage::backup::RestorePlan) -> Self +pub fn radroots_storage::backup::RestoreOperation::transition(&self, radroots_storage::backup::ReliabilityRevision, radroots_storage::backup::RestoreTransition, u64) -> core::result::Result<Self, radroots_storage::Error> +pub struct radroots_storage::backup::RestorePlan +impl radroots_storage::backup::RestorePlan +pub const fn radroots_storage::backup::RestorePlan::accepted_secret_policy(&self) -> radroots_storage::backup::BackupSecretPolicy +pub const fn radroots_storage::backup::RestorePlan::manifest(&self) -> &radroots_storage::backup::BackupManifest +pub fn radroots_storage::backup::RestorePlan::new(radroots_storage::backup::BackupManifest, radroots_storage::backup::BackupSecretPolicy, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::backup::RestorePlan::requested_at_unix_ms(&self) -> u64 +impl<'de> serde_core::de::Deserialize<'de> for radroots_storage::backup::RestorePlan +pub fn radroots_storage::backup::RestorePlan::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub const radroots_storage::backup::BACKUP_MEMBER_MAX: usize +pub const radroots_storage::backup::BACKUP_MEMBER_PATH_MAX_BYTES: usize +pub trait radroots_storage::backup::StorageReliability: core::marker::Send + core::marker::Sync +pub fn radroots_storage::backup::StorageReliability::begin_backup(&self, radroots_storage::backup::BackupPlan) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::backup::BackupOperation, radroots_storage::Error>> +pub fn radroots_storage::backup::StorageReliability::begin_restore(&self, radroots_storage::backup::RestorePlan) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::backup::RestoreOperation, radroots_storage::Error>> +pub fn radroots_storage::backup::StorageReliability::close(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::StorageStatus, radroots_storage::Error>> +pub fn radroots_storage::backup::StorageReliability::integrity(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::IntegrityStatus, radroots_storage::Error>> +pub fn radroots_storage::backup::StorageReliability::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::StorageStatus, radroots_storage::Error>> +pub fn radroots_storage::backup::StorageReliability::transition_backup(&self, radroots_storage::backup::BackupId, radroots_storage::backup::ReliabilityRevision, radroots_storage::backup::BackupTransition, u64) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::backup::BackupOperation, radroots_storage::Error>> +pub fn radroots_storage::backup::StorageReliability::transition_restore(&self, radroots_storage::backup::BackupId, radroots_storage::backup::ReliabilityRevision, radroots_storage::backup::RestoreTransition, u64) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::backup::RestoreOperation, radroots_storage::Error>> +impl radroots_storage::backup::StorageReliability for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::begin_backup(&self, radroots_storage::backup::BackupPlan) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::backup::BackupOperation, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::begin_restore(&self, radroots_storage::backup::RestorePlan) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::backup::RestoreOperation, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::close(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::StorageStatus, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::integrity(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::IntegrityStatus, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::StorageStatus, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::transition_backup(&self, radroots_storage::backup::BackupId, radroots_storage::backup::ReliabilityRevision, radroots_storage::backup::BackupTransition, u64) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::backup::BackupOperation, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::transition_restore(&self, radroots_storage::backup::BackupId, radroots_storage::backup::ReliabilityRevision, radroots_storage::backup::RestoreTransition, u64) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::backup::RestoreOperation, radroots_storage::Error>> +pub mod radroots_storage::event +pub use radroots_storage::event::BoxFuture +pub use radroots_storage::event::EventId +pub enum radroots_storage::event::AdmissionDisposition +pub radroots_storage::event::AdmissionDisposition::Advanced +pub radroots_storage::event::AdmissionDisposition::Duplicate +pub radroots_storage::event::AdmissionDisposition::Inserted +pub enum radroots_storage::event::AdmissionStage +pub radroots_storage::event::AdmissionStage::Raw +pub radroots_storage::event::AdmissionStage::Verified +pub radroots_storage::event::AdmissionStage::Visible +pub struct radroots_storage::event::AdmissionReceipt +impl radroots_storage::event::AdmissionReceipt +pub const fn radroots_storage::event::AdmissionReceipt::disposition(&self) -> radroots_storage::event::AdmissionDisposition +pub const fn radroots_storage::event::AdmissionReceipt::event_id(&self) -> &radroots_event::id::EventId +pub const fn radroots_storage::event::AdmissionReceipt::new(radroots_event::id::EventId, radroots_storage::event::EventPosition, radroots_storage::event::AdmissionStage, radroots_storage::event::AdmissionDisposition) -> Self +pub const fn radroots_storage::event::AdmissionReceipt::position(&self) -> radroots_storage::event::EventPosition +pub const fn radroots_storage::event::AdmissionReceipt::stage(&self) -> radroots_storage::event::AdmissionStage +pub struct radroots_storage::event::EventAdmission +impl radroots_storage::event::EventAdmission +pub const fn radroots_storage::event::EventAdmission::event(&self) -> &radroots_event::draft::SignedEvent +pub fn radroots_storage::event::EventAdmission::event_id(&self) -> &radroots_event::id::EventId +pub const fn radroots_storage::event::EventAdmission::provenance(&self) -> &radroots_transport::source::EventProvenance +pub const fn radroots_storage::event::EventAdmission::raw(radroots_transport::source::ObservedEvent) -> Self +pub const fn radroots_storage::event::EventAdmission::stage(&self) -> radroots_storage::event::AdmissionStage +pub fn radroots_storage::event::EventAdmission::verified(radroots_transport::source::ObservedEvent, radroots_event::verification::SignatureVerifiedEvent) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::event::EventAdmission::verified_event(&self) -> core::option::Option<&radroots_event::verification::SignatureVerifiedEvent> +pub fn radroots_storage::event::EventAdmission::visible(radroots_transport::source::ObservedEvent, radroots_event::admission::VisibleEvent) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::event::EventAdmission::visible_event(&self) -> core::option::Option<&radroots_event::admission::VisibleEvent> +pub struct radroots_storage::event::EventPage<T> +impl<T> radroots_storage::event::EventPage<T> +pub const fn radroots_storage::event::EventPage<T>::generation(&self) -> radroots_storage::event::SourceGeneration +pub fn radroots_storage::event::EventPage<T>::items(&self) -> &[T] +pub fn radroots_storage::event::EventPage<T>::new(radroots_storage::event::SourceGeneration, alloc::vec::Vec<T>, core::option::Option<radroots_storage::event::EventCursor>, radroots_storage::event::EventQueryBounds) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::event::EventPage<T>::next_cursor(&self) -> core::option::Option<radroots_storage::event::EventCursor> +pub struct radroots_storage::event::EventPosition +impl radroots_storage::event::EventPosition +pub const fn radroots_storage::event::EventPosition::generation(self) -> radroots_storage::event::SourceGeneration +pub const fn radroots_storage::event::EventPosition::new(radroots_storage::event::SourceGeneration, radroots_storage::event::EventSequence) -> Self +pub const fn radroots_storage::event::EventPosition::sequence(self) -> radroots_storage::event::EventSequence +pub struct radroots_storage::event::EventQuery +impl radroots_storage::event::EventQuery +pub const fn radroots_storage::event::EventQuery::all(radroots_storage::event::EventQueryBounds) -> Self +pub const fn radroots_storage::event::EventQuery::bounds(&self) -> radroots_storage::event::EventQueryBounds +pub fn radroots_storage::event::EventQuery::event_ids(&self) -> &[radroots_event::id::EventId] +pub fn radroots_storage::event::EventQuery::for_ids(radroots_storage::event::EventQueryBounds, alloc::vec::Vec<radroots_event::id::EventId>) -> core::result::Result<Self, radroots_storage::Error> +pub fn radroots_storage::event::EventQuery::selects(&self, &radroots_event::id::EventId) -> bool +pub struct radroots_storage::event::EventQueryBounds +impl radroots_storage::event::EventQueryBounds +pub const fn radroots_storage::event::EventQueryBounds::after(self, radroots_storage::event::EventCursor) -> Self +pub const fn radroots_storage::event::EventQueryBounds::cursor(self) -> core::option::Option<radroots_storage::event::EventCursor> +pub const fn radroots_storage::event::EventQueryBounds::first(u16) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::event::EventQueryBounds::limit(self) -> u16 +pub struct radroots_storage::event::EventSequence(_) +impl radroots_storage::event::EventSequence +pub const fn radroots_storage::event::EventSequence::get(self) -> u64 +pub const fn radroots_storage::event::EventSequence::new(u64) -> core::result::Result<Self, radroots_storage::Error> +pub struct radroots_storage::event::SourceGeneration(_) +impl radroots_storage::event::SourceGeneration +pub const fn radroots_storage::event::SourceGeneration::as_bytes(&self) -> &[u8; 32] +pub const fn radroots_storage::event::SourceGeneration::new([u8; 32]) -> core::result::Result<Self, radroots_storage::Error> +pub struct radroots_storage::event::StoredEventProvenance +impl radroots_storage::event::StoredEventProvenance +pub fn radroots_storage::event::StoredEventProvenance::from_stored_parts(radroots_storage::event::EventPosition, &str, &str, u64, core::option::Option<&str>) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::event::StoredEventProvenance::new(radroots_storage::event::EventPosition, radroots_transport::source::EventProvenance) -> Self +pub const fn radroots_storage::event::StoredEventProvenance::position(&self) -> radroots_storage::event::EventPosition +pub const fn radroots_storage::event::StoredEventProvenance::provenance(&self) -> &radroots_transport::source::EventProvenance +pub struct radroots_storage::event::StoredRawEvent +impl radroots_storage::event::StoredRawEvent +pub const fn radroots_storage::event::StoredRawEvent::event(&self) -> &radroots_event::draft::SignedEvent +pub const fn radroots_storage::event::StoredRawEvent::new(radroots_storage::event::EventPosition, radroots_event::draft::SignedEvent, radroots_storage::event::AdmissionStage) -> Self +pub const fn radroots_storage::event::StoredRawEvent::position(&self) -> radroots_storage::event::EventPosition +pub const fn radroots_storage::event::StoredRawEvent::stage(&self) -> radroots_storage::event::AdmissionStage +pub struct radroots_storage::event::StoredVerifiedEvent +impl radroots_storage::event::StoredVerifiedEvent +pub const fn radroots_storage::event::StoredVerifiedEvent::event(&self) -> &radroots_event::draft::SignedEvent +pub const fn radroots_storage::event::StoredVerifiedEvent::new(radroots_storage::event::EventPosition, radroots_event::draft::SignedEvent) -> Self +pub const fn radroots_storage::event::StoredVerifiedEvent::position(&self) -> radroots_storage::event::EventPosition +pub struct radroots_storage::event::StoredVisibleEvent +impl radroots_storage::event::StoredVisibleEvent +pub const fn radroots_storage::event::StoredVisibleEvent::event(&self) -> &radroots_event::draft::SignedEvent +pub const fn radroots_storage::event::StoredVisibleEvent::new(radroots_storage::event::EventPosition, radroots_event::draft::SignedEvent) -> Self +pub const fn radroots_storage::event::StoredVisibleEvent::position(&self) -> radroots_storage::event::EventPosition +pub const radroots_storage::event::EVENT_QUERY_ID_MAX: usize +pub const radroots_storage::event::EVENT_QUERY_LIMIT_MAX: u16 +pub trait radroots_storage::event::EventStore: core::marker::Send + core::marker::Sync +pub fn radroots_storage::event::EventStore::admit(&self, radroots_storage::event::EventAdmission) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::AdmissionReceipt, radroots_storage::Error>> +pub fn radroots_storage::event::EventStore::query_provenance(&self, radroots_event::id::EventId, radroots_storage::event::EventQueryBounds) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::EventPage<radroots_storage::event::StoredEventProvenance>, radroots_storage::Error>> +pub fn radroots_storage::event::EventStore::query_raw(&self, radroots_storage::event::EventQuery) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::EventPage<radroots_storage::event::StoredRawEvent>, radroots_storage::Error>> +pub fn radroots_storage::event::EventStore::query_verified(&self, radroots_storage::event::EventQuery) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::EventPage<radroots_storage::event::StoredVerifiedEvent>, radroots_storage::Error>> +pub fn radroots_storage::event::EventStore::query_visible(&self, radroots_storage::event::EventQuery) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::EventPage<radroots_storage::event::StoredVisibleEvent>, radroots_storage::Error>> +pub fn radroots_storage::event::EventStore::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::EventStoreStatus, radroots_storage::Error>> +impl radroots_storage::event::EventStore for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::admit(&self, radroots_storage::event::EventAdmission) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::AdmissionReceipt, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::query_provenance(&self, radroots_event::id::EventId, radroots_storage::event::EventQueryBounds) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::EventPage<radroots_storage::event::StoredEventProvenance>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::query_raw(&self, radroots_storage::event::EventQuery) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::EventPage<radroots_storage::event::StoredRawEvent>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::query_verified(&self, radroots_storage::event::EventQuery) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::EventPage<radroots_storage::event::StoredVerifiedEvent>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::query_visible(&self, radroots_storage::event::EventQuery) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::EventPage<radroots_storage::event::StoredVisibleEvent>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::EventStoreStatus, radroots_storage::Error>> +pub type radroots_storage::event::EventCursor = radroots_storage::event::EventPosition +pub mod radroots_storage::journal +pub use radroots_storage::journal::BoxFuture +pub use radroots_storage::journal::EventId +pub use radroots_storage::journal::OperationId +pub enum radroots_storage::journal::CancellationState +pub radroots_storage::journal::CancellationState::CancelledBeforeCommit +pub radroots_storage::journal::CancellationState::NotRequested +pub radroots_storage::journal::CancellationState::ObservedAfterCommit +pub enum radroots_storage::journal::JournalStage +pub radroots_storage::journal::JournalStage::Committed +pub radroots_storage::journal::JournalStage::Prepared +pub radroots_storage::journal::JournalStage::Recoverable +pub radroots_storage::journal::JournalStage::Signed +pub enum radroots_storage::journal::JournalState +pub radroots_storage::journal::JournalState::Committed +pub radroots_storage::journal::JournalState::Committed::committed_at_unix_ms: u64 +pub radroots_storage::journal::JournalState::Committed::event_id: radroots_event::id::EventId +pub radroots_storage::journal::JournalState::Prepared +pub radroots_storage::journal::JournalState::Recoverable(radroots_storage::journal::RecoveryRecord) +pub radroots_storage::journal::JournalState::Signed +pub radroots_storage::journal::JournalState::Signed::event_id: radroots_event::id::EventId +impl radroots_storage::journal::JournalState +pub const fn radroots_storage::journal::JournalState::stage(&self) -> radroots_storage::journal::JournalStage +pub enum radroots_storage::journal::PrepareDisposition +pub radroots_storage::journal::PrepareDisposition::Created +pub radroots_storage::journal::PrepareDisposition::Replay +pub enum radroots_storage::journal::RecoveryPoint +pub radroots_storage::journal::RecoveryPoint::Prepared +pub radroots_storage::journal::RecoveryPoint::Signed +pub radroots_storage::journal::RecoveryPoint::Signed::event_id: radroots_event::id::EventId +pub enum radroots_storage::journal::RecoveryReason +pub radroots_storage::journal::RecoveryReason::CancelledBeforeCommit +pub radroots_storage::journal::RecoveryReason::DeadlineExceeded +pub radroots_storage::journal::RecoveryReason::Interrupted +pub radroots_storage::journal::RecoveryReason::SignerUnavailable +pub radroots_storage::journal::RecoveryReason::StorageUnavailable +pub radroots_storage::journal::RecoveryReason::TransportUnavailable +pub struct radroots_storage::journal::IdempotencyDigest(_) +impl radroots_storage::journal::IdempotencyDigest +pub const fn radroots_storage::journal::IdempotencyDigest::as_bytes(&self) -> &[u8; 32] +pub const fn radroots_storage::journal::IdempotencyDigest::new([u8; 32]) -> Self +pub struct radroots_storage::journal::IdempotencyKey(_) +impl radroots_storage::journal::IdempotencyKey +pub fn radroots_storage::journal::IdempotencyKey::as_str(&self) -> &str +pub fn radroots_storage::journal::IdempotencyKey::parse(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_storage::Error> +impl core::fmt::Debug for radroots_storage::journal::IdempotencyKey +pub fn radroots_storage::journal::IdempotencyKey::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl serde_core::ser::Serialize for radroots_storage::journal::IdempotencyKey +pub fn radroots_storage::journal::IdempotencyKey::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_storage::journal::IdempotencyKey +pub fn radroots_storage::journal::IdempotencyKey::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_storage::journal::JournalRevision(_) +impl radroots_storage::journal::JournalRevision +pub const radroots_storage::journal::JournalRevision::INITIAL: Self +pub const fn radroots_storage::journal::JournalRevision::get(self) -> u64 +pub const fn radroots_storage::journal::JournalRevision::new(u64) -> core::result::Result<Self, radroots_storage::Error> +pub struct radroots_storage::journal::JournalTransition +impl radroots_storage::journal::JournalTransition +pub const fn radroots_storage::journal::JournalTransition::cancelled(radroots_storage::journal::OperationInstanceId, radroots_storage::journal::JournalRevision, u64) -> Self +pub const fn radroots_storage::journal::JournalTransition::committed(radroots_storage::journal::OperationInstanceId, radroots_storage::journal::JournalRevision, radroots_event::id::EventId, u64) -> Self +pub const fn radroots_storage::journal::JournalTransition::instance_id(&self) -> radroots_storage::journal::OperationInstanceId +pub const fn radroots_storage::journal::JournalTransition::recoverable(radroots_storage::journal::OperationInstanceId, radroots_storage::journal::JournalRevision, radroots_storage::journal::RecoveryRecord) -> Self +pub const fn radroots_storage::journal::JournalTransition::resume(radroots_storage::journal::OperationInstanceId, radroots_storage::journal::JournalRevision) -> Self +pub const fn radroots_storage::journal::JournalTransition::signed(radroots_storage::journal::OperationInstanceId, radroots_storage::journal::JournalRevision, radroots_event::id::EventId) -> Self +pub struct radroots_storage::journal::OperationInstanceId(_) +impl radroots_storage::journal::OperationInstanceId +pub const fn radroots_storage::journal::OperationInstanceId::as_bytes(&self) -> &[u8; 16] +pub const fn radroots_storage::journal::OperationInstanceId::new([u8; 16]) -> core::result::Result<Self, radroots_storage::Error> +pub struct radroots_storage::journal::OperationRecord +impl radroots_storage::journal::OperationRecord +pub const fn radroots_storage::journal::OperationRecord::cancellation(&self) -> radroots_storage::journal::CancellationState +pub fn radroots_storage::journal::OperationRecord::from_parts(radroots_storage::journal::OperationInstanceId, radroots_protocol::runtime::v1::OperationId, radroots_storage::journal::IdempotencyKey, radroots_storage::journal::IdempotencyDigest, u64, radroots_storage::journal::JournalRevision, radroots_storage::journal::JournalState, radroots_storage::journal::CancellationState) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::journal::OperationRecord::idempotency_key(&self) -> &radroots_storage::journal::IdempotencyKey +pub const fn radroots_storage::journal::OperationRecord::input_digest(&self) -> radroots_storage::journal::IdempotencyDigest +pub const fn radroots_storage::journal::OperationRecord::instance_id(&self) -> radroots_storage::journal::OperationInstanceId +pub const fn radroots_storage::journal::OperationRecord::operation_id(&self) -> radroots_protocol::runtime::v1::OperationId +pub const fn radroots_storage::journal::OperationRecord::prepared_at_unix_ms(&self) -> u64 +pub const fn radroots_storage::journal::OperationRecord::revision(&self) -> radroots_storage::journal::JournalRevision +pub const fn radroots_storage::journal::OperationRecord::state(&self) -> &radroots_storage::journal::JournalState +pub fn radroots_storage::journal::OperationRecord::transition(&self, &radroots_storage::journal::JournalTransition) -> core::result::Result<Self, radroots_storage::Error> +pub struct radroots_storage::journal::PrepareOperation +impl radroots_storage::journal::PrepareOperation +pub const fn radroots_storage::journal::PrepareOperation::idempotency_key(&self) -> &radroots_storage::journal::IdempotencyKey +pub const fn radroots_storage::journal::PrepareOperation::input_digest(&self) -> radroots_storage::journal::IdempotencyDigest +pub const fn radroots_storage::journal::PrepareOperation::instance_id(&self) -> radroots_storage::journal::OperationInstanceId +pub fn radroots_storage::journal::PrepareOperation::into_record(self) -> core::result::Result<radroots_storage::journal::OperationRecord, radroots_storage::Error> +pub fn radroots_storage::journal::PrepareOperation::new(radroots_storage::journal::OperationInstanceId, radroots_protocol::runtime::v1::OperationId, radroots_storage::journal::IdempotencyKey, radroots_storage::journal::IdempotencyDigest, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::journal::PrepareOperation::operation_id(&self) -> radroots_protocol::runtime::v1::OperationId +pub struct radroots_storage::journal::PrepareReceipt +impl radroots_storage::journal::PrepareReceipt +pub const fn radroots_storage::journal::PrepareReceipt::disposition(&self) -> radroots_storage::journal::PrepareDisposition +pub const fn radroots_storage::journal::PrepareReceipt::new(radroots_storage::journal::PrepareDisposition, radroots_storage::journal::OperationRecord) -> Self +pub const fn radroots_storage::journal::PrepareReceipt::record(&self) -> &radroots_storage::journal::OperationRecord +pub struct radroots_storage::journal::RecoveryRecord +impl radroots_storage::journal::RecoveryRecord +pub const fn radroots_storage::journal::RecoveryRecord::attempt(&self) -> u32 +pub const fn radroots_storage::journal::RecoveryRecord::new(radroots_storage::journal::RecoveryPoint, radroots_storage::journal::RecoveryReason, u32, core::option::Option<u64>) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::journal::RecoveryRecord::point(&self) -> &radroots_storage::journal::RecoveryPoint +pub const fn radroots_storage::journal::RecoveryRecord::reason(&self) -> radroots_storage::journal::RecoveryReason +pub const fn radroots_storage::journal::RecoveryRecord::retry_not_before_unix_ms(&self) -> core::option::Option<u64> +pub const radroots_storage::journal::IDEMPOTENCY_KEY_MAX_BYTES: usize +pub const radroots_storage::journal::RECOVERABLE_QUERY_LIMIT_MAX: u16 +pub trait radroots_storage::journal::Journal: core::marker::Send + core::marker::Sync +pub fn radroots_storage::journal::Journal::by_idempotency_key(&self, radroots_protocol::runtime::v1::OperationId, radroots_storage::journal::IdempotencyKey) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::journal::OperationRecord>, radroots_storage::Error>> +pub fn radroots_storage::journal::Journal::operation(&self, radroots_storage::journal::OperationInstanceId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::journal::OperationRecord>, radroots_storage::Error>> +pub fn radroots_storage::journal::Journal::prepare(&self, radroots_storage::journal::PrepareOperation) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::journal::PrepareReceipt, radroots_storage::Error>> +pub fn radroots_storage::journal::Journal::recoverable(&self, u16) -> radroots_transport::source::BoxFuture<'_, core::result::Result<alloc::vec::Vec<radroots_storage::journal::OperationRecord>, radroots_storage::Error>> +pub fn radroots_storage::journal::Journal::transition(&self, radroots_storage::journal::JournalTransition) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::journal::OperationRecord, radroots_storage::Error>> +impl radroots_storage::journal::Journal for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::by_idempotency_key(&self, radroots_protocol::runtime::v1::OperationId, radroots_storage::journal::IdempotencyKey) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::journal::OperationRecord>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::operation(&self, radroots_storage::journal::OperationInstanceId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::journal::OperationRecord>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::prepare(&self, radroots_storage::journal::PrepareOperation) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::journal::PrepareReceipt, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::recoverable(&self, u16) -> radroots_transport::source::BoxFuture<'_, core::result::Result<alloc::vec::Vec<radroots_storage::journal::OperationRecord>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::transition(&self, radroots_storage::journal::JournalTransition) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::journal::OperationRecord, radroots_storage::Error>> +pub mod radroots_storage::memory +pub struct radroots_storage::memory::MemoryStorage +impl radroots_storage::memory::MemoryStorage +pub const fn radroots_storage::memory::MemoryStorage::generation(&self) -> radroots_storage::event::SourceGeneration +pub const fn radroots_storage::memory::MemoryStorage::new(radroots_storage::event::SourceGeneration) -> Self +impl core::default::Default for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::default() -> Self +impl radroots_storage::atomic::AtomicStorage for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::commit(&self, radroots_storage::atomic::AtomicCommit) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::atomic::AtomicCommitReceipt, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::receipt(&self, radroots_storage::atomic::AtomicCommitId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::atomic::AtomicCommitReceipt>, radroots_storage::Error>> +impl radroots_storage::authored_atomic::AuthoredAtomicStorage for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::authored_artifact(&self, radroots_storage::authored::AuthoredArtifactId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::authored::AuthoredArtifact>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::authored_delivery_plan(&self, radroots_storage::authored_delivery::AuthoredDeliveryPlanId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::authored_delivery::AuthoredDeliveryPlan>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::authored_operation(&self, radroots_storage::journal::OperationInstanceId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::authored::AuthoredOperation>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::authored_receipt(&self, radroots_storage::atomic::AtomicCommitId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::authored_atomic::AuthoredAtomicReceipt>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::execute_authored(&self, radroots_storage::authored_atomic::AuthoredAtomicCommand) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::authored_atomic::AuthoredAtomicReceipt, radroots_storage::Error>> +impl radroots_storage::backup::StorageReliability for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::begin_backup(&self, radroots_storage::backup::BackupPlan) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::backup::BackupOperation, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::begin_restore(&self, radroots_storage::backup::RestorePlan) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::backup::RestoreOperation, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::close(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::StorageStatus, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::integrity(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::IntegrityStatus, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::StorageStatus, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::transition_backup(&self, radroots_storage::backup::BackupId, radroots_storage::backup::ReliabilityRevision, radroots_storage::backup::BackupTransition, u64) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::backup::BackupOperation, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::transition_restore(&self, radroots_storage::backup::BackupId, radroots_storage::backup::ReliabilityRevision, radroots_storage::backup::RestoreTransition, u64) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::backup::RestoreOperation, radroots_storage::Error>> +impl radroots_storage::event::EventStore for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::admit(&self, radroots_storage::event::EventAdmission) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::AdmissionReceipt, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::query_provenance(&self, radroots_event::id::EventId, radroots_storage::event::EventQueryBounds) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::EventPage<radroots_storage::event::StoredEventProvenance>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::query_raw(&self, radroots_storage::event::EventQuery) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::EventPage<radroots_storage::event::StoredRawEvent>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::query_verified(&self, radroots_storage::event::EventQuery) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::EventPage<radroots_storage::event::StoredVerifiedEvent>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::query_visible(&self, radroots_storage::event::EventQuery) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::EventPage<radroots_storage::event::StoredVisibleEvent>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::EventStoreStatus, radroots_storage::Error>> +impl radroots_storage::journal::Journal for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::by_idempotency_key(&self, radroots_protocol::runtime::v1::OperationId, radroots_storage::journal::IdempotencyKey) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::journal::OperationRecord>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::operation(&self, radroots_storage::journal::OperationInstanceId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::journal::OperationRecord>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::prepare(&self, radroots_storage::journal::PrepareOperation) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::journal::PrepareReceipt, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::recoverable(&self, u16) -> radroots_transport::source::BoxFuture<'_, core::result::Result<alloc::vec::Vec<radroots_storage::journal::OperationRecord>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::transition(&self, radroots_storage::journal::JournalTransition) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::journal::OperationRecord, radroots_storage::Error>> +impl radroots_storage::outbox::Outbox for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::claim(&self, radroots_storage::outbox::ClaimOutboxItems) -> radroots_transport::source::BoxFuture<'_, core::result::Result<alloc::vec::Vec<radroots_storage::outbox::ClaimedOutboxItem>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::enqueue(&self, radroots_storage::outbox::EnqueueOutboxItem) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::outbox::EnqueueReceipt, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::item(&self, radroots_storage::outbox::OutboxItemId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::outbox::OutboxRecord>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::record_attempt(&self, radroots_storage::outbox::DeliveryAttemptEvidence) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::outbox::OutboxRecord, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::release(&self, radroots_storage::outbox::OutboxItemId, radroots_storage::outbox::LeaseId, radroots_storage::outbox::OutboxRevision, u64, core::option::Option<u64>) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::outbox::OutboxRecord, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::outbox::OutboxStatus, radroots_storage::Error>> +impl radroots_storage::private_artifact::PrivateArtifactStore for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::expired(&self, u64, u16) -> radroots_transport::source::BoxFuture<'_, core::result::Result<alloc::vec::Vec<radroots_storage::private_artifact::PrivateArtifactMetadata>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::mark_expired(&self, radroots_storage::private_artifact::PrivateArtifactId, radroots_storage::private_artifact::PrivateArtifactRevision, u64) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::private_artifact::PrivateArtifactMetadata, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::metadata(&self, radroots_storage::private_artifact::PrivateArtifactId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::private_artifact::PrivateArtifactMetadata>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::put_metadata(&self, radroots_storage::private_artifact::PrivateArtifactMetadata) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::private_artifact::PrivateArtifactMetadata, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::reseal_metadata(&self, radroots_storage::private_artifact::PrivateArtifactResealRequest) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::private_artifact::PrivateArtifactResealReceipt, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::private_artifact::PrivateArtifactStatus, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::tombstone(&self, radroots_storage::private_artifact::PrivateArtifactId, radroots_storage::private_artifact::PrivateArtifactRevision, u64, radroots_storage::private_artifact::DeletionReason) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::private_artifact::PrivateArtifactMetadata, radroots_storage::Error>> +impl radroots_storage::projection::ProjectionStore for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::checkpoint(&self, radroots_storage::projection::ProjectionCheckpoint) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::projection::ProjectionStatus, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::event_index_checkpoint(&self, radroots_storage::projection::ProjectionGeneration) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::EventIndexCheckpoint>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::event_index_manifest(&self, radroots_storage::projection::ProjectionGeneration) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::EventIndexManifest>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::invalidate(&self, radroots_storage::projection::ProjectionInvalidation) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::projection::ProjectionStatus, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::invalidation(&self, radroots_storage::projection::ProjectionId, radroots_storage::projection::ProjectionGeneration) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::ProjectionInvalidation>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::put_event_index_checkpoint(&self, radroots_storage::projection::EventIndexCheckpoint) -> radroots_transport::source::BoxFuture<'_, core::result::Result<(), radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::put_event_index_manifest(&self, radroots_storage::projection::EventIndexManifest) -> radroots_transport::source::BoxFuture<'_, core::result::Result<(), radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::rebuild(&self, radroots_storage::projection::RebuildTicketId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::RebuildTicket>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::request_rebuild(&self, radroots_storage::projection::RebuildTicket) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::projection::RebuildTicket, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::status(&self, radroots_storage::projection::ProjectionId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::ProjectionStatus>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::transition_rebuild(&self, radroots_storage::projection::RebuildTransition) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::projection::RebuildTicket, radroots_storage::Error>> +impl radroots_storage::status::StorageStatusProvider for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::storage_status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::StorageStatus, radroots_storage::Error>> +pub mod radroots_storage::outbox +pub use radroots_storage::outbox::BoxFuture +pub use radroots_storage::outbox::DeliveryOutcome +pub use radroots_storage::outbox::DeliveryOutcomeKind +pub use radroots_storage::outbox::DeliveryPayload +pub use radroots_storage::outbox::DeliveryReceipt +pub use radroots_storage::outbox::DeliveryRequest +pub use radroots_storage::outbox::DeliveryTargetReceipt +pub use radroots_storage::outbox::Retryability +pub use radroots_storage::outbox::SatisfactionClass +pub use radroots_storage::outbox::SatisfactionPolicy +pub use radroots_storage::outbox::SatisfactionState +pub use radroots_storage::outbox::TARGET_SET_MAX_ITEMS +pub use radroots_storage::outbox::Target +pub use radroots_storage::outbox::TargetFingerprint +pub use radroots_storage::outbox::TargetLabel +pub use radroots_storage::outbox::TargetPolicy +pub use radroots_storage::outbox::TargetScope +pub use radroots_storage::outbox::TargetSet +pub use radroots_storage::outbox::TransportId +pub use radroots_storage::outbox::evaluate_transport_satisfaction +pub enum radroots_storage::outbox::EnqueueDisposition +pub radroots_storage::outbox::EnqueueDisposition::Created +pub radroots_storage::outbox::EnqueueDisposition::Replay +pub enum radroots_storage::outbox::OutboxStage +pub radroots_storage::outbox::OutboxStage::Exhausted +pub radroots_storage::outbox::OutboxStage::Leased +pub radroots_storage::outbox::OutboxStage::Pending +pub radroots_storage::outbox::OutboxStage::Retryable +pub radroots_storage::outbox::OutboxStage::Satisfied +impl radroots_storage::outbox::OutboxStage +pub const fn radroots_storage::outbox::OutboxStage::is_terminal(self) -> bool +pub enum radroots_storage::outbox::SatisfactionResult +pub radroots_storage::outbox::SatisfactionResult::Exhausted +pub radroots_storage::outbox::SatisfactionResult::Pending +pub radroots_storage::outbox::SatisfactionResult::Satisfied +pub struct radroots_storage::outbox::ClaimOutboxItems +impl radroots_storage::outbox::ClaimOutboxItems +pub const fn radroots_storage::outbox::ClaimOutboxItems::lease_expires_at_unix_ms(&self) -> u64 +pub fn radroots_storage::outbox::ClaimOutboxItems::lease_id_for(&self, radroots_storage::outbox::OutboxItemId) -> radroots_storage::outbox::LeaseId +pub const fn radroots_storage::outbox::ClaimOutboxItems::lease_id_seed(&self) -> radroots_storage::outbox::LeaseId +pub const fn radroots_storage::outbox::ClaimOutboxItems::limit(&self) -> u16 +pub fn radroots_storage::outbox::ClaimOutboxItems::new(radroots_storage::outbox::LeaseOwner, radroots_storage::outbox::LeaseId, u64, u64, u16) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::outbox::ClaimOutboxItems::now_unix_ms(&self) -> u64 +pub const fn radroots_storage::outbox::ClaimOutboxItems::owner(&self) -> &radroots_storage::outbox::LeaseOwner +pub struct radroots_storage::outbox::ClaimedOutboxItem +impl radroots_storage::outbox::ClaimedOutboxItem +pub const fn radroots_storage::outbox::ClaimedOutboxItem::lease(&self) -> &radroots_storage::outbox::OutboxLease +pub const fn radroots_storage::outbox::ClaimedOutboxItem::new(radroots_storage::outbox::OutboxRecord, radroots_storage::outbox::OutboxLease) -> Self +pub const fn radroots_storage::outbox::ClaimedOutboxItem::record(&self) -> &radroots_storage::outbox::OutboxRecord +pub struct radroots_storage::outbox::DeliveryAttempt(_) +impl radroots_storage::outbox::DeliveryAttempt +pub const radroots_storage::outbox::DeliveryAttempt::FIRST: Self +pub const fn radroots_storage::outbox::DeliveryAttempt::get(self) -> u32 +pub const fn radroots_storage::outbox::DeliveryAttempt::new(u32) -> core::result::Result<Self, radroots_storage::Error> +pub struct radroots_storage::outbox::DeliveryAttemptEvidence +impl radroots_storage::outbox::DeliveryAttemptEvidence +pub const fn radroots_storage::outbox::DeliveryAttemptEvidence::attempt(&self) -> radroots_storage::outbox::DeliveryAttempt +pub const fn radroots_storage::outbox::DeliveryAttemptEvidence::expected_revision(&self) -> radroots_storage::outbox::OutboxRevision +pub const fn radroots_storage::outbox::DeliveryAttemptEvidence::item_id(&self) -> radroots_storage::outbox::OutboxItemId +pub const fn radroots_storage::outbox::DeliveryAttemptEvidence::lease_id(&self) -> radroots_storage::outbox::LeaseId +pub fn radroots_storage::outbox::DeliveryAttemptEvidence::new(radroots_storage::outbox::OutboxItemId, radroots_storage::outbox::LeaseId, radroots_storage::outbox::OutboxRevision, radroots_storage::outbox::DeliveryAttempt, radroots_transport::sink::DeliveryReceipt, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::outbox::DeliveryAttemptEvidence::receipt(&self) -> &radroots_transport::sink::DeliveryReceipt +pub const fn radroots_storage::outbox::DeliveryAttemptEvidence::recorded_at_unix_ms(&self) -> u64 +pub struct radroots_storage::outbox::DeliveryPlanDigest(_) +impl radroots_storage::outbox::DeliveryPlanDigest +pub const fn radroots_storage::outbox::DeliveryPlanDigest::as_bytes(&self) -> &[u8; 32] +pub const fn radroots_storage::outbox::DeliveryPlanDigest::new([u8; 32]) -> Self +pub struct radroots_storage::outbox::EnqueueOutboxItem +impl radroots_storage::outbox::EnqueueOutboxItem +pub const fn radroots_storage::outbox::EnqueueOutboxItem::created_at_unix_ms(&self) -> u64 +pub fn radroots_storage::outbox::EnqueueOutboxItem::into_record(self) -> radroots_storage::outbox::OutboxRecord +pub const fn radroots_storage::outbox::EnqueueOutboxItem::item_id(&self) -> radroots_storage::outbox::OutboxItemId +pub fn radroots_storage::outbox::EnqueueOutboxItem::new(radroots_storage::outbox::OutboxItemId, radroots_storage::journal::OperationInstanceId, radroots_storage::outbox::DeliveryPlanDigest, radroots_transport::sink::DeliveryRequest, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::outbox::EnqueueOutboxItem::operation_instance_id(&self) -> radroots_storage::journal::OperationInstanceId +pub const fn radroots_storage::outbox::EnqueueOutboxItem::plan_digest(&self) -> radroots_storage::outbox::DeliveryPlanDigest +pub const fn radroots_storage::outbox::EnqueueOutboxItem::request(&self) -> &radroots_transport::sink::DeliveryRequest +pub struct radroots_storage::outbox::EnqueueReceipt +impl radroots_storage::outbox::EnqueueReceipt +pub const fn radroots_storage::outbox::EnqueueReceipt::disposition(&self) -> radroots_storage::outbox::EnqueueDisposition +pub const fn radroots_storage::outbox::EnqueueReceipt::new(radroots_storage::outbox::EnqueueDisposition, radroots_storage::outbox::OutboxRecord) -> Self +pub const fn radroots_storage::outbox::EnqueueReceipt::record(&self) -> &radroots_storage::outbox::OutboxRecord +pub struct radroots_storage::outbox::LeaseId(_) +impl radroots_storage::outbox::LeaseId +pub const fn radroots_storage::outbox::LeaseId::as_bytes(&self) -> &[u8; 16] +pub const fn radroots_storage::outbox::LeaseId::new([u8; 16]) -> core::result::Result<Self, radroots_storage::Error> +pub struct radroots_storage::outbox::LeaseOwner(_) +impl radroots_storage::outbox::LeaseOwner +pub fn radroots_storage::outbox::LeaseOwner::as_str(&self) -> &str +pub fn radroots_storage::outbox::LeaseOwner::parse(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_storage::Error> +impl core::fmt::Debug for radroots_storage::outbox::LeaseOwner +pub fn radroots_storage::outbox::LeaseOwner::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl serde_core::ser::Serialize for radroots_storage::outbox::LeaseOwner +pub fn radroots_storage::outbox::LeaseOwner::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_storage::outbox::LeaseOwner +pub fn radroots_storage::outbox::LeaseOwner::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_storage::outbox::OutboxItemId(_) +impl radroots_storage::outbox::OutboxItemId +pub const fn radroots_storage::outbox::OutboxItemId::as_bytes(&self) -> &[u8; 16] +pub const fn radroots_storage::outbox::OutboxItemId::new([u8; 16]) -> core::result::Result<Self, radroots_storage::Error> +pub struct radroots_storage::outbox::OutboxLease +impl radroots_storage::outbox::OutboxLease +pub const fn radroots_storage::outbox::OutboxLease::acquired_at_unix_ms(&self) -> u64 +pub const fn radroots_storage::outbox::OutboxLease::expires_at_unix_ms(&self) -> u64 +pub const fn radroots_storage::outbox::OutboxLease::id(&self) -> radroots_storage::outbox::LeaseId +pub const fn radroots_storage::outbox::OutboxLease::is_active_at(&self, u64) -> bool +pub fn radroots_storage::outbox::OutboxLease::new(radroots_storage::outbox::LeaseId, radroots_storage::outbox::LeaseOwner, u64, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::outbox::OutboxLease::owner(&self) -> &radroots_storage::outbox::LeaseOwner +pub struct radroots_storage::outbox::OutboxRecord +impl radroots_storage::outbox::OutboxRecord +pub fn radroots_storage::outbox::OutboxRecord::claim(&mut self, radroots_storage::outbox::OutboxLease) -> core::result::Result<(), radroots_storage::Error> +pub const fn radroots_storage::outbox::OutboxRecord::created_at_unix_ms(&self) -> u64 +pub fn radroots_storage::outbox::OutboxRecord::evidence(&self) -> &[radroots_storage::outbox::TargetDeliveryEvidence] +pub fn radroots_storage::outbox::OutboxRecord::from_durable_parts(radroots_storage::outbox::EnqueueOutboxItem, radroots_storage::outbox::OutboxRevision, radroots_storage::outbox::OutboxStage, core::option::Option<radroots_storage::outbox::OutboxLease>, core::option::Option<radroots_storage::outbox::DeliveryAttempt>, alloc::vec::Vec<radroots_storage::outbox::TargetDeliveryEvidence>, radroots_storage::outbox::SatisfactionResult, core::option::Option<u64>, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::outbox::OutboxRecord::item_id(&self) -> radroots_storage::outbox::OutboxItemId +pub const fn radroots_storage::outbox::OutboxRecord::last_attempt(&self) -> core::option::Option<radroots_storage::outbox::DeliveryAttempt> +pub fn radroots_storage::outbox::OutboxRecord::latest_target_evidence(&self, &radroots_transport::target::TargetFingerprint) -> core::option::Option<&radroots_storage::outbox::TargetDeliveryEvidence> +pub const fn radroots_storage::outbox::OutboxRecord::lease(&self) -> core::option::Option<&radroots_storage::outbox::OutboxLease> +pub const fn radroots_storage::outbox::OutboxRecord::operation_instance_id(&self) -> radroots_storage::journal::OperationInstanceId +pub const fn radroots_storage::outbox::OutboxRecord::plan_digest(&self) -> radroots_storage::outbox::DeliveryPlanDigest +pub fn radroots_storage::outbox::OutboxRecord::record_attempt(&mut self, radroots_storage::outbox::DeliveryAttemptEvidence) -> core::result::Result<(), radroots_storage::Error> +pub fn radroots_storage::outbox::OutboxRecord::release(&mut self, radroots_storage::outbox::LeaseId, radroots_storage::outbox::OutboxRevision, u64, core::option::Option<u64>) -> core::result::Result<(), radroots_storage::Error> +pub const fn radroots_storage::outbox::OutboxRecord::request(&self) -> &radroots_transport::sink::DeliveryRequest +pub const fn radroots_storage::outbox::OutboxRecord::retry_not_before_unix_ms(&self) -> core::option::Option<u64> +pub const fn radroots_storage::outbox::OutboxRecord::revision(&self) -> radroots_storage::outbox::OutboxRevision +pub const fn radroots_storage::outbox::OutboxRecord::satisfaction(&self) -> radroots_storage::outbox::SatisfactionResult +pub const fn radroots_storage::outbox::OutboxRecord::stage(&self) -> radroots_storage::outbox::OutboxStage +pub const fn radroots_storage::outbox::OutboxRecord::updated_at_unix_ms(&self) -> u64 +pub struct radroots_storage::outbox::OutboxRevision(_) +impl radroots_storage::outbox::OutboxRevision +pub const radroots_storage::outbox::OutboxRevision::INITIAL: Self +pub const fn radroots_storage::outbox::OutboxRevision::get(self) -> u64 +pub const fn radroots_storage::outbox::OutboxRevision::new(u64) -> core::result::Result<Self, radroots_storage::Error> +pub struct radroots_storage::outbox::OutboxStatus +pub radroots_storage::outbox::OutboxStatus::exhausted: u64 +pub radroots_storage::outbox::OutboxStatus::leased: u64 +pub radroots_storage::outbox::OutboxStatus::pending: u64 +pub radroots_storage::outbox::OutboxStatus::retryable: u64 +pub radroots_storage::outbox::OutboxStatus::satisfied: u64 +impl radroots_storage::outbox::OutboxStatus +pub fn radroots_storage::outbox::OutboxStatus::total(self) -> core::option::Option<u64> +pub struct radroots_storage::outbox::TargetDeliveryEvidence +impl radroots_storage::outbox::TargetDeliveryEvidence +pub const fn radroots_storage::outbox::TargetDeliveryEvidence::attempt(&self) -> radroots_storage::outbox::DeliveryAttempt +pub fn radroots_storage::outbox::TargetDeliveryEvidence::new(radroots_transport::target::TargetFingerprint, radroots_storage::outbox::DeliveryAttempt, bool, radroots_transport::outcome::DeliveryOutcome, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::outbox::TargetDeliveryEvidence::outcome(&self) -> &radroots_transport::outcome::DeliveryOutcome +pub const fn radroots_storage::outbox::TargetDeliveryEvidence::recorded_at_unix_ms(&self) -> u64 +pub const fn radroots_storage::outbox::TargetDeliveryEvidence::target(&self) -> &radroots_transport::target::TargetFingerprint +pub const fn radroots_storage::outbox::TargetDeliveryEvidence::was_attempted(&self) -> bool +pub const radroots_storage::outbox::LEASE_OWNER_MAX_BYTES: usize +pub const radroots_storage::outbox::OUTBOX_CLAIM_LIMIT_MAX: u16 +pub trait radroots_storage::outbox::Outbox: core::marker::Send + core::marker::Sync +pub fn radroots_storage::outbox::Outbox::claim(&self, radroots_storage::outbox::ClaimOutboxItems) -> radroots_transport::source::BoxFuture<'_, core::result::Result<alloc::vec::Vec<radroots_storage::outbox::ClaimedOutboxItem>, radroots_storage::Error>> +pub fn radroots_storage::outbox::Outbox::enqueue(&self, radroots_storage::outbox::EnqueueOutboxItem) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::outbox::EnqueueReceipt, radroots_storage::Error>> +pub fn radroots_storage::outbox::Outbox::item(&self, radroots_storage::outbox::OutboxItemId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::outbox::OutboxRecord>, radroots_storage::Error>> +pub fn radroots_storage::outbox::Outbox::record_attempt(&self, radroots_storage::outbox::DeliveryAttemptEvidence) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::outbox::OutboxRecord, radroots_storage::Error>> +pub fn radroots_storage::outbox::Outbox::release(&self, radroots_storage::outbox::OutboxItemId, radroots_storage::outbox::LeaseId, radroots_storage::outbox::OutboxRevision, u64, core::option::Option<u64>) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::outbox::OutboxRecord, radroots_storage::Error>> +pub fn radroots_storage::outbox::Outbox::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::outbox::OutboxStatus, radroots_storage::Error>> +impl radroots_storage::outbox::Outbox for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::claim(&self, radroots_storage::outbox::ClaimOutboxItems) -> radroots_transport::source::BoxFuture<'_, core::result::Result<alloc::vec::Vec<radroots_storage::outbox::ClaimedOutboxItem>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::enqueue(&self, radroots_storage::outbox::EnqueueOutboxItem) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::outbox::EnqueueReceipt, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::item(&self, radroots_storage::outbox::OutboxItemId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::outbox::OutboxRecord>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::record_attempt(&self, radroots_storage::outbox::DeliveryAttemptEvidence) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::outbox::OutboxRecord, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::release(&self, radroots_storage::outbox::OutboxItemId, radroots_storage::outbox::LeaseId, radroots_storage::outbox::OutboxRevision, u64, core::option::Option<u64>) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::outbox::OutboxRecord, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::outbox::OutboxStatus, radroots_storage::Error>> +pub mod radroots_storage::private_artifact +pub enum radroots_storage::private_artifact::DeletionReason +pub radroots_storage::private_artifact::DeletionReason::IntegrityFailure +pub radroots_storage::private_artifact::DeletionReason::KeyRevoked +pub radroots_storage::private_artifact::DeletionReason::OperatorRequested +pub radroots_storage::private_artifact::DeletionReason::RetentionExpired +pub radroots_storage::private_artifact::DeletionReason::UserRequested +pub enum radroots_storage::private_artifact::PrivateArtifactResealDisposition +pub radroots_storage::private_artifact::PrivateArtifactResealDisposition::Committed +pub radroots_storage::private_artifact::PrivateArtifactResealDisposition::Replayed +pub enum radroots_storage::private_artifact::PrivateArtifactStage +pub radroots_storage::private_artifact::PrivateArtifactStage::Active +pub radroots_storage::private_artifact::PrivateArtifactStage::Expired +pub radroots_storage::private_artifact::PrivateArtifactStage::Tombstoned +pub struct radroots_storage::private_artifact::ArtifactCommitment(_) +impl radroots_storage::private_artifact::ArtifactCommitment +pub const fn radroots_storage::private_artifact::ArtifactCommitment::as_bytes(&self) -> &[u8; 32] +pub const fn radroots_storage::private_artifact::ArtifactCommitment::new([u8; 32]) -> Self +pub struct radroots_storage::private_artifact::ArtifactKind(_) +impl radroots_storage::private_artifact::ArtifactKind +pub fn radroots_storage::private_artifact::ArtifactKind::as_str(&self) -> &str +pub fn radroots_storage::private_artifact::ArtifactKind::parse(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_storage::Error> +pub struct radroots_storage::private_artifact::ArtifactSchemaId(_) +impl radroots_storage::private_artifact::ArtifactSchemaId +pub fn radroots_storage::private_artifact::ArtifactSchemaId::as_str(&self) -> &str +pub fn radroots_storage::private_artifact::ArtifactSchemaId::parse(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_storage::Error> +pub struct radroots_storage::private_artifact::ArtifactTombstone +impl radroots_storage::private_artifact::ArtifactTombstone +pub const fn radroots_storage::private_artifact::ArtifactTombstone::commitment(self) -> radroots_storage::private_artifact::ArtifactCommitment +pub const fn radroots_storage::private_artifact::ArtifactTombstone::deleted_at_unix_ms(self) -> u64 +pub const fn radroots_storage::private_artifact::ArtifactTombstone::reason(self) -> radroots_storage::private_artifact::DeletionReason +pub struct radroots_storage::private_artifact::DurableSecretReference +impl radroots_storage::private_artifact::DurableSecretReference +pub const fn radroots_storage::private_artifact::DurableSecretReference::key_version(&self) -> u32 +pub fn radroots_storage::private_artifact::DurableSecretReference::new(impl core::convert::Into<alloc::string::String>, impl core::convert::Into<alloc::string::String>, u32) -> core::result::Result<Self, radroots_storage::Error> +pub fn radroots_storage::private_artifact::DurableSecretReference::opaque_reference(&self) -> &str +pub fn radroots_storage::private_artifact::DurableSecretReference::provider(&self) -> &str +impl core::fmt::Debug for radroots_storage::private_artifact::DurableSecretReference +pub fn radroots_storage::private_artifact::DurableSecretReference::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl serde_core::ser::Serialize for radroots_storage::private_artifact::DurableSecretReference +pub fn radroots_storage::private_artifact::DurableSecretReference::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_storage::private_artifact::DurableSecretReference +pub fn radroots_storage::private_artifact::DurableSecretReference::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_storage::private_artifact::PrivateArtifactEnvelopeContext +impl radroots_storage::private_artifact::PrivateArtifactEnvelopeContext +pub fn radroots_storage::private_artifact::PrivateArtifactEnvelopeContext::fingerprint(&self) -> [u8; 32] +pub fn radroots_storage::private_artifact::PrivateArtifactEnvelopeContext::payload_schema(&self) -> &str +pub fn radroots_storage::private_artifact::PrivateArtifactEnvelopeContext::purpose(&self) -> &str +pub fn radroots_storage::private_artifact::PrivateArtifactEnvelopeContext::subject(&self) -> &str +pub const fn radroots_storage::private_artifact::PrivateArtifactEnvelopeContext::subject_type(&self) -> &'static str +impl core::fmt::Debug for radroots_storage::private_artifact::PrivateArtifactEnvelopeContext +pub fn radroots_storage::private_artifact::PrivateArtifactEnvelopeContext::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_storage::private_artifact::PrivateArtifactEnvelopeMigrationStatus +pub radroots_storage::private_artifact::PrivateArtifactEnvelopeMigrationStatus::blocked_provider: u64 +pub radroots_storage::private_artifact::PrivateArtifactEnvelopeMigrationStatus::conflicted: u64 +pub radroots_storage::private_artifact::PrivateArtifactEnvelopeMigrationStatus::corrupt: u64 +pub radroots_storage::private_artifact::PrivateArtifactEnvelopeMigrationStatus::v1_pending: u64 +pub radroots_storage::private_artifact::PrivateArtifactEnvelopeMigrationStatus::v2_current: u64 +impl radroots_storage::private_artifact::PrivateArtifactEnvelopeMigrationStatus +pub fn radroots_storage::private_artifact::PrivateArtifactEnvelopeMigrationStatus::total(self) -> core::option::Option<u64> +pub struct radroots_storage::private_artifact::PrivateArtifactId(_) +impl radroots_storage::private_artifact::PrivateArtifactId +pub const fn radroots_storage::private_artifact::PrivateArtifactId::as_bytes(&self) -> &[u8; 16] +pub const fn radroots_storage::private_artifact::PrivateArtifactId::new([u8; 16]) -> core::result::Result<Self, radroots_storage::Error> +impl core::fmt::Debug for radroots_storage::private_artifact::PrivateArtifactId +pub fn radroots_storage::private_artifact::PrivateArtifactId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_storage::private_artifact::PrivateArtifactMetadata +impl radroots_storage::private_artifact::PrivateArtifactMetadata +pub const fn radroots_storage::private_artifact::PrivateArtifactMetadata::artifact_id(&self) -> radroots_storage::private_artifact::PrivateArtifactId +pub const fn radroots_storage::private_artifact::PrivateArtifactMetadata::commitment(&self) -> radroots_storage::private_artifact::ArtifactCommitment +pub const fn radroots_storage::private_artifact::PrivateArtifactMetadata::created_at_unix_ms(&self) -> u64 +pub fn radroots_storage::private_artifact::PrivateArtifactMetadata::envelope_context(&self) -> radroots_storage::private_artifact::PrivateArtifactEnvelopeContext +pub fn radroots_storage::private_artifact::PrivateArtifactMetadata::from_durable_parts(radroots_storage::private_artifact::PrivateArtifactId, radroots_storage::private_artifact::ArtifactKind, radroots_storage::private_artifact::ArtifactSchemaId, radroots_storage::private_artifact::ArtifactCommitment, u64, radroots_storage::private_artifact::DurableSecretReference, radroots_storage::private_artifact::RetentionPolicy, radroots_storage::private_artifact::PrivateArtifactRevision, radroots_storage::private_artifact::PrivateArtifactStage, u64, u64, core::option::Option<(u64, radroots_storage::private_artifact::DeletionReason, radroots_storage::private_artifact::ArtifactCommitment)>) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::private_artifact::PrivateArtifactMetadata::kind(&self) -> &radroots_storage::private_artifact::ArtifactKind +pub fn radroots_storage::private_artifact::PrivateArtifactMetadata::mark_expired(&self, radroots_storage::private_artifact::PrivateArtifactRevision, u64) -> core::result::Result<Self, radroots_storage::Error> +pub fn radroots_storage::private_artifact::PrivateArtifactMetadata::new(radroots_storage::private_artifact::PrivateArtifactId, radroots_storage::private_artifact::ArtifactKind, radroots_storage::private_artifact::ArtifactSchemaId, radroots_storage::private_artifact::ArtifactCommitment, u64, radroots_storage::private_artifact::DurableSecretReference, radroots_storage::private_artifact::RetentionPolicy, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::private_artifact::PrivateArtifactMetadata::protected_size_bytes(&self) -> u64 +pub fn radroots_storage::private_artifact::PrivateArtifactMetadata::resealed(&self, &radroots_storage::private_artifact::PrivateArtifactResealRequest) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::private_artifact::PrivateArtifactMetadata::retention(&self) -> radroots_storage::private_artifact::RetentionPolicy +pub const fn radroots_storage::private_artifact::PrivateArtifactMetadata::revision(&self) -> radroots_storage::private_artifact::PrivateArtifactRevision +pub const fn radroots_storage::private_artifact::PrivateArtifactMetadata::schema_id(&self) -> &radroots_storage::private_artifact::ArtifactSchemaId +pub const fn radroots_storage::private_artifact::PrivateArtifactMetadata::secret_reference(&self) -> &radroots_storage::private_artifact::DurableSecretReference +pub const fn radroots_storage::private_artifact::PrivateArtifactMetadata::stage(&self) -> radroots_storage::private_artifact::PrivateArtifactStage +pub fn radroots_storage::private_artifact::PrivateArtifactMetadata::tombstone(&self, radroots_storage::private_artifact::PrivateArtifactRevision, u64, radroots_storage::private_artifact::DeletionReason) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::private_artifact::PrivateArtifactMetadata::tombstone_record(&self) -> core::option::Option<radroots_storage::private_artifact::ArtifactTombstone> +pub const fn radroots_storage::private_artifact::PrivateArtifactMetadata::updated_at_unix_ms(&self) -> u64 +pub struct radroots_storage::private_artifact::PrivateArtifactResealId(_) +impl radroots_storage::private_artifact::PrivateArtifactResealId +pub const fn radroots_storage::private_artifact::PrivateArtifactResealId::as_bytes(&self) -> &[u8; 16] +pub const fn radroots_storage::private_artifact::PrivateArtifactResealId::new([u8; 16]) -> core::result::Result<Self, radroots_storage::Error> +impl core::fmt::Debug for radroots_storage::private_artifact::PrivateArtifactResealId +pub fn radroots_storage::private_artifact::PrivateArtifactResealId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_storage::private_artifact::PrivateArtifactResealReceipt +impl radroots_storage::private_artifact::PrivateArtifactResealReceipt +pub const fn radroots_storage::private_artifact::PrivateArtifactResealReceipt::artifact_id(self) -> radroots_storage::private_artifact::PrivateArtifactId +pub fn radroots_storage::private_artifact::PrivateArtifactResealReceipt::committed(&radroots_storage::private_artifact::PrivateArtifactResealRequest, radroots_storage::private_artifact::PrivateArtifactRevision) -> Self +pub const fn radroots_storage::private_artifact::PrivateArtifactResealReceipt::committed_revision(self) -> radroots_storage::private_artifact::PrivateArtifactRevision +pub const fn radroots_storage::private_artifact::PrivateArtifactResealReceipt::disposition(self) -> radroots_storage::private_artifact::PrivateArtifactResealDisposition +pub fn radroots_storage::private_artifact::PrivateArtifactResealReceipt::replay(&self, &radroots_storage::private_artifact::PrivateArtifactResealRequest) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::private_artifact::PrivateArtifactResealReceipt::request_fingerprint(self) -> [u8; 32] +pub const fn radroots_storage::private_artifact::PrivateArtifactResealReceipt::reseal_id(self) -> radroots_storage::private_artifact::PrivateArtifactResealId +impl core::fmt::Debug for radroots_storage::private_artifact::PrivateArtifactResealReceipt +pub fn radroots_storage::private_artifact::PrivateArtifactResealReceipt::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_storage::private_artifact::PrivateArtifactResealRequest +impl radroots_storage::private_artifact::PrivateArtifactResealRequest +pub const fn radroots_storage::private_artifact::PrivateArtifactResealRequest::artifact_id(&self) -> radroots_storage::private_artifact::PrivateArtifactId +pub const fn radroots_storage::private_artifact::PrivateArtifactResealRequest::committed_at_unix_ms(&self) -> u64 +pub const fn radroots_storage::private_artifact::PrivateArtifactResealRequest::expected_commitment(&self) -> radroots_storage::private_artifact::ArtifactCommitment +pub const fn radroots_storage::private_artifact::PrivateArtifactResealRequest::expected_revision(&self) -> radroots_storage::private_artifact::PrivateArtifactRevision +pub fn radroots_storage::private_artifact::PrivateArtifactResealRequest::fingerprint(&self) -> [u8; 32] +pub fn radroots_storage::private_artifact::PrivateArtifactResealRequest::new(radroots_storage::private_artifact::PrivateArtifactResealId, radroots_storage::private_artifact::PrivateArtifactId, radroots_storage::private_artifact::PrivateArtifactRevision, radroots_storage::private_artifact::ArtifactCommitment, radroots_storage::private_artifact::ArtifactCommitment, u64, radroots_storage::private_artifact::DurableSecretReference, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::private_artifact::PrivateArtifactResealRequest::next_commitment(&self) -> radroots_storage::private_artifact::ArtifactCommitment +pub const fn radroots_storage::private_artifact::PrivateArtifactResealRequest::next_protected_size_bytes(&self) -> u64 +pub const fn radroots_storage::private_artifact::PrivateArtifactResealRequest::next_secret_reference(&self) -> &radroots_storage::private_artifact::DurableSecretReference +pub const fn radroots_storage::private_artifact::PrivateArtifactResealRequest::reseal_id(&self) -> radroots_storage::private_artifact::PrivateArtifactResealId +impl core::fmt::Debug for radroots_storage::private_artifact::PrivateArtifactResealRequest +pub fn radroots_storage::private_artifact::PrivateArtifactResealRequest::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_storage::private_artifact::PrivateArtifactRevision(_) +impl radroots_storage::private_artifact::PrivateArtifactRevision +pub const radroots_storage::private_artifact::PrivateArtifactRevision::INITIAL: Self +pub const fn radroots_storage::private_artifact::PrivateArtifactRevision::get(self) -> u64 +pub const fn radroots_storage::private_artifact::PrivateArtifactRevision::new(u64) -> core::result::Result<Self, radroots_storage::Error> +pub struct radroots_storage::private_artifact::PrivateArtifactStatus +pub radroots_storage::private_artifact::PrivateArtifactStatus::active: u64 +pub radroots_storage::private_artifact::PrivateArtifactStatus::expired: u64 +pub radroots_storage::private_artifact::PrivateArtifactStatus::tombstoned: u64 +impl radroots_storage::private_artifact::PrivateArtifactStatus +pub fn radroots_storage::private_artifact::PrivateArtifactStatus::total(self) -> core::option::Option<u64> +pub struct radroots_storage::private_artifact::RetentionPolicy +impl radroots_storage::private_artifact::RetentionPolicy +pub const fn radroots_storage::private_artifact::RetentionPolicy::delete_not_before_unix_ms(self) -> core::option::Option<u64> +pub const fn radroots_storage::private_artifact::RetentionPolicy::expires_at_unix_ms(self) -> core::option::Option<u64> +pub const fn radroots_storage::private_artifact::RetentionPolicy::indefinite() -> Self +pub const fn radroots_storage::private_artifact::RetentionPolicy::is_expired_at(self, u64) -> bool +pub const fn radroots_storage::private_artifact::RetentionPolicy::new(core::option::Option<u64>, core::option::Option<u64>) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::private_artifact::RetentionPolicy::permits_deletion_at(self, u64) -> bool +pub const radroots_storage::private_artifact::ARTIFACT_KIND_MAX_BYTES: usize +pub const radroots_storage::private_artifact::ARTIFACT_SCHEMA_MAX_BYTES: usize +pub const radroots_storage::private_artifact::EXPIRED_ARTIFACT_QUERY_LIMIT_MAX: u16 +pub const radroots_storage::private_artifact::PRIVATE_ARTIFACT_ENVELOPE_PURPOSE_PREFIX: &str +pub const radroots_storage::private_artifact::PRIVATE_ARTIFACT_ENVELOPE_SUBJECT_TYPE: &str +pub const radroots_storage::private_artifact::SECRET_PROVIDER_MAX_BYTES: usize +pub const radroots_storage::private_artifact::SECRET_REFERENCE_MAX_BYTES: usize +pub trait radroots_storage::private_artifact::PrivateArtifactStore: core::marker::Send + core::marker::Sync +pub fn radroots_storage::private_artifact::PrivateArtifactStore::expired(&self, u64, u16) -> radroots_transport::source::BoxFuture<'_, core::result::Result<alloc::vec::Vec<radroots_storage::private_artifact::PrivateArtifactMetadata>, radroots_storage::Error>> +pub fn radroots_storage::private_artifact::PrivateArtifactStore::mark_expired(&self, radroots_storage::private_artifact::PrivateArtifactId, radroots_storage::private_artifact::PrivateArtifactRevision, u64) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::private_artifact::PrivateArtifactMetadata, radroots_storage::Error>> +pub fn radroots_storage::private_artifact::PrivateArtifactStore::metadata(&self, radroots_storage::private_artifact::PrivateArtifactId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::private_artifact::PrivateArtifactMetadata>, radroots_storage::Error>> +pub fn radroots_storage::private_artifact::PrivateArtifactStore::put_metadata(&self, radroots_storage::private_artifact::PrivateArtifactMetadata) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::private_artifact::PrivateArtifactMetadata, radroots_storage::Error>> +pub fn radroots_storage::private_artifact::PrivateArtifactStore::reseal_metadata(&self, radroots_storage::private_artifact::PrivateArtifactResealRequest) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::private_artifact::PrivateArtifactResealReceipt, radroots_storage::Error>> +pub fn radroots_storage::private_artifact::PrivateArtifactStore::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::private_artifact::PrivateArtifactStatus, radroots_storage::Error>> +pub fn radroots_storage::private_artifact::PrivateArtifactStore::tombstone(&self, radroots_storage::private_artifact::PrivateArtifactId, radroots_storage::private_artifact::PrivateArtifactRevision, u64, radroots_storage::private_artifact::DeletionReason) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::private_artifact::PrivateArtifactMetadata, radroots_storage::Error>> +impl radroots_storage::private_artifact::PrivateArtifactStore for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::expired(&self, u64, u16) -> radroots_transport::source::BoxFuture<'_, core::result::Result<alloc::vec::Vec<radroots_storage::private_artifact::PrivateArtifactMetadata>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::mark_expired(&self, radroots_storage::private_artifact::PrivateArtifactId, radroots_storage::private_artifact::PrivateArtifactRevision, u64) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::private_artifact::PrivateArtifactMetadata, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::metadata(&self, radroots_storage::private_artifact::PrivateArtifactId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::private_artifact::PrivateArtifactMetadata>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::put_metadata(&self, radroots_storage::private_artifact::PrivateArtifactMetadata) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::private_artifact::PrivateArtifactMetadata, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::reseal_metadata(&self, radroots_storage::private_artifact::PrivateArtifactResealRequest) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::private_artifact::PrivateArtifactResealReceipt, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::private_artifact::PrivateArtifactStatus, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::tombstone(&self, radroots_storage::private_artifact::PrivateArtifactId, radroots_storage::private_artifact::PrivateArtifactRevision, u64, radroots_storage::private_artifact::DeletionReason) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::private_artifact::PrivateArtifactMetadata, radroots_storage::Error>> +pub mod radroots_storage::projection +pub use radroots_storage::projection::BoxFuture +pub use radroots_storage::projection::EventId +pub enum radroots_storage::projection::InvalidationReason +pub radroots_storage::projection::InvalidationReason::EventIndexManifestChanged +pub radroots_storage::projection::InvalidationReason::IntegrityFailure +pub radroots_storage::projection::InvalidationReason::OperatorRequested +pub radroots_storage::projection::InvalidationReason::ProjectionGenerationChanged +pub radroots_storage::projection::InvalidationReason::SourceGenerationChanged +pub enum radroots_storage::projection::ProjectionHealth +pub radroots_storage::projection::ProjectionHealth::Failed +pub radroots_storage::projection::ProjectionHealth::Invalidated +pub radroots_storage::projection::ProjectionHealth::Ready +pub radroots_storage::projection::ProjectionHealth::Rebuilding +pub enum radroots_storage::projection::RebuildFailure +pub radroots_storage::projection::RebuildFailure::IntegrityFailure +pub radroots_storage::projection::RebuildFailure::PromotionRejected +pub radroots_storage::projection::RebuildFailure::ReducerRejected +pub radroots_storage::projection::RebuildFailure::SourceChanged +pub enum radroots_storage::projection::RebuildStage +pub radroots_storage::projection::RebuildStage::Completed +pub radroots_storage::projection::RebuildStage::Failed +pub radroots_storage::projection::RebuildStage::Requested +pub radroots_storage::projection::RebuildStage::Running +pub struct radroots_storage::projection::ArtifactDigest(_) +impl radroots_storage::projection::ArtifactDigest +pub const fn radroots_storage::projection::ArtifactDigest::as_bytes(&self) -> &[u8; 32] +pub const fn radroots_storage::projection::ArtifactDigest::new([u8; 32]) -> Self +pub struct radroots_storage::projection::EventIdRange +impl radroots_storage::projection::EventIdRange +pub const fn radroots_storage::projection::EventIdRange::first(&self) -> &radroots_event::id::EventId +pub const fn radroots_storage::projection::EventIdRange::last(&self) -> &radroots_event::id::EventId +pub fn radroots_storage::projection::EventIdRange::new(radroots_event::id::EventId, radroots_event::id::EventId) -> core::result::Result<Self, radroots_storage::Error> +pub struct radroots_storage::projection::EventIndexCheckpoint +impl radroots_storage::projection::EventIndexCheckpoint +pub const fn radroots_storage::projection::EventIndexCheckpoint::generated_at_unix_ms(&self) -> u64 +pub const fn radroots_storage::projection::EventIndexCheckpoint::generation(&self) -> radroots_storage::projection::ProjectionGeneration +pub fn radroots_storage::projection::EventIndexCheckpoint::new(radroots_storage::projection::ProjectionGeneration, u64, alloc::vec::Vec<radroots_storage::projection::EventIndexShardCheckpoint>) -> core::result::Result<Self, radroots_storage::Error> +pub fn radroots_storage::projection::EventIndexCheckpoint::shard(&self, &radroots_storage::projection::EventIndexShardId) -> core::option::Option<&radroots_storage::projection::EventIndexShardCheckpoint> +pub fn radroots_storage::projection::EventIndexCheckpoint::shards(&self) -> &[radroots_storage::projection::EventIndexShardCheckpoint] +pub struct radroots_storage::projection::EventIndexManifest +impl radroots_storage::projection::EventIndexManifest +pub const fn radroots_storage::projection::EventIndexManifest::first_published_at_unix_s(&self) -> u64 +pub const fn radroots_storage::projection::EventIndexManifest::generation(&self) -> radroots_storage::projection::ProjectionGeneration +pub const fn radroots_storage::projection::EventIndexManifest::last_published_at_unix_s(&self) -> u64 +pub fn radroots_storage::projection::EventIndexManifest::new(radroots_storage::projection::ProjectionGeneration, u64, u32, u64, u64, alloc::vec::Vec<radroots_storage::projection::EventIndexShard>) -> core::result::Result<Self, radroots_storage::Error> +pub fn radroots_storage::projection::EventIndexManifest::shards(&self) -> &[radroots_storage::projection::EventIndexShard] +pub const fn radroots_storage::projection::EventIndexManifest::target_shard_size(&self) -> u32 +pub const fn radroots_storage::projection::EventIndexManifest::total_events(&self) -> u64 +pub struct radroots_storage::projection::EventIndexShard +impl radroots_storage::projection::EventIndexShard +pub fn radroots_storage::projection::EventIndexShard::artifact_path(&self) -> &str +pub const fn radroots_storage::projection::EventIndexShard::event_count(&self) -> u32 +pub const fn radroots_storage::projection::EventIndexShard::event_ids(&self) -> &radroots_storage::projection::EventIdRange +pub const fn radroots_storage::projection::EventIndexShard::first_published_at_unix_s(&self) -> u64 +pub const fn radroots_storage::projection::EventIndexShard::last_published_at_unix_s(&self) -> u64 +pub fn radroots_storage::projection::EventIndexShard::new(radroots_storage::projection::EventIndexShardId, impl core::convert::Into<alloc::string::String>, u32, radroots_storage::projection::EventIdRange, u64, u64, radroots_storage::projection::ArtifactDigest) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::projection::EventIndexShard::sha256(&self) -> radroots_storage::projection::ArtifactDigest +pub const fn radroots_storage::projection::EventIndexShard::shard_id(&self) -> &radroots_storage::projection::EventIndexShardId +pub struct radroots_storage::projection::EventIndexShardCheckpoint +impl radroots_storage::projection::EventIndexShardCheckpoint +pub fn radroots_storage::projection::EventIndexShardCheckpoint::cursor(&self) -> core::option::Option<&str> +pub const fn radroots_storage::projection::EventIndexShardCheckpoint::last_created_at_unix_s(&self) -> u64 +pub const fn radroots_storage::projection::EventIndexShardCheckpoint::last_event_id(&self) -> core::option::Option<&radroots_event::id::EventId> +pub fn radroots_storage::projection::EventIndexShardCheckpoint::new(radroots_storage::projection::EventIndexShardId, u64, core::option::Option<radroots_event::id::EventId>, core::option::Option<alloc::string::String>) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::projection::EventIndexShardCheckpoint::shard_id(&self) -> &radroots_storage::projection::EventIndexShardId +pub struct radroots_storage::projection::EventIndexShardId(_) +impl radroots_storage::projection::EventIndexShardId +pub fn radroots_storage::projection::EventIndexShardId::as_str(&self) -> &str +pub fn radroots_storage::projection::EventIndexShardId::parse(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_storage::Error> +pub struct radroots_storage::projection::ProjectionCheckpoint +impl radroots_storage::projection::ProjectionCheckpoint +pub fn radroots_storage::projection::ProjectionCheckpoint::advances(&self, &Self) -> bool +pub const fn radroots_storage::projection::ProjectionCheckpoint::generation(&self) -> radroots_storage::projection::ProjectionGeneration +pub fn radroots_storage::projection::ProjectionCheckpoint::new(radroots_storage::projection::ProjectionId, radroots_storage::projection::ProjectionGeneration, core::option::Option<radroots_storage::event::EventPosition>, u64, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::projection::ProjectionCheckpoint::projected_rows(&self) -> u64 +pub const fn radroots_storage::projection::ProjectionCheckpoint::projection_id(&self) -> &radroots_storage::projection::ProjectionId +pub const fn radroots_storage::projection::ProjectionCheckpoint::source_position(&self) -> core::option::Option<radroots_storage::event::EventPosition> +pub const fn radroots_storage::projection::ProjectionCheckpoint::updated_at_unix_ms(&self) -> u64 +pub struct radroots_storage::projection::ProjectionGeneration(_) +impl radroots_storage::projection::ProjectionGeneration +pub const fn radroots_storage::projection::ProjectionGeneration::as_bytes(&self) -> &[u8; 32] +pub const fn radroots_storage::projection::ProjectionGeneration::new([u8; 32]) -> core::result::Result<Self, radroots_storage::Error> +pub struct radroots_storage::projection::ProjectionId(_) +impl radroots_storage::projection::ProjectionId +pub fn radroots_storage::projection::ProjectionId::as_str(&self) -> &str +pub fn radroots_storage::projection::ProjectionId::parse(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_storage::Error> +pub struct radroots_storage::projection::ProjectionInvalidation +impl radroots_storage::projection::ProjectionInvalidation +pub const fn radroots_storage::projection::ProjectionInvalidation::invalid_generation(&self) -> radroots_storage::projection::ProjectionGeneration +pub const fn radroots_storage::projection::ProjectionInvalidation::invalidated_at_unix_ms(&self) -> u64 +pub fn radroots_storage::projection::ProjectionInvalidation::new(radroots_storage::projection::ProjectionId, radroots_storage::projection::ProjectionGeneration, radroots_storage::projection::ProjectionGeneration, radroots_storage::projection::InvalidationReason, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::projection::ProjectionInvalidation::projection_id(&self) -> &radroots_storage::projection::ProjectionId +pub const fn radroots_storage::projection::ProjectionInvalidation::reason(&self) -> radroots_storage::projection::InvalidationReason +pub const fn radroots_storage::projection::ProjectionInvalidation::replacement_generation(&self) -> radroots_storage::projection::ProjectionGeneration +pub struct radroots_storage::projection::ProjectionRevision(_) +impl radroots_storage::projection::ProjectionRevision +pub const radroots_storage::projection::ProjectionRevision::INITIAL: Self +pub const fn radroots_storage::projection::ProjectionRevision::get(self) -> u64 +pub const fn radroots_storage::projection::ProjectionRevision::new(u64) -> core::result::Result<Self, radroots_storage::Error> +pub struct radroots_storage::projection::ProjectionStatus +impl radroots_storage::projection::ProjectionStatus +pub const fn radroots_storage::projection::ProjectionStatus::active_rebuild(&self) -> core::option::Option<radroots_storage::projection::RebuildTicketId> +pub const fn radroots_storage::projection::ProjectionStatus::checkpoint(&self) -> core::option::Option<&radroots_storage::projection::ProjectionCheckpoint> +pub const fn radroots_storage::projection::ProjectionStatus::generation(&self) -> radroots_storage::projection::ProjectionGeneration +pub const fn radroots_storage::projection::ProjectionStatus::health(&self) -> radroots_storage::projection::ProjectionHealth +pub fn radroots_storage::projection::ProjectionStatus::new(radroots_storage::projection::ProjectionId, radroots_storage::projection::ProjectionGeneration, radroots_storage::projection::ProjectionHealth, core::option::Option<radroots_storage::projection::ProjectionCheckpoint>, core::option::Option<radroots_storage::projection::RebuildTicketId>) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::projection::ProjectionStatus::projection_id(&self) -> &radroots_storage::projection::ProjectionId +pub struct radroots_storage::projection::RawSourceDigest(_) +impl radroots_storage::projection::RawSourceDigest +pub const fn radroots_storage::projection::RawSourceDigest::as_bytes(&self) -> &[u8; 32] +pub const fn radroots_storage::projection::RawSourceDigest::new([u8; 32]) -> Self +pub struct radroots_storage::projection::RebuildTicket +impl radroots_storage::projection::RebuildTicket +pub const fn radroots_storage::projection::RebuildTicket::checkpoint(&self) -> core::option::Option<&radroots_storage::projection::ProjectionCheckpoint> +pub const fn radroots_storage::projection::RebuildTicket::failure(&self) -> core::option::Option<radroots_storage::projection::RebuildFailure> +pub fn radroots_storage::projection::RebuildTicket::from_durable_parts(radroots_storage::projection::RebuildTicketId, radroots_storage::projection::ProjectionInvalidation, radroots_storage::projection::ProjectionRevision, radroots_storage::projection::RebuildStage, radroots_storage::event::SourceGeneration, core::option::Option<radroots_storage::event::EventPosition>, radroots_storage::projection::RawSourceDigest, core::option::Option<radroots_storage::projection::ProjectionCheckpoint>, core::option::Option<radroots_storage::projection::RebuildFailure>, u64, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::projection::RebuildTicket::invalidation(&self) -> &radroots_storage::projection::ProjectionInvalidation +pub fn radroots_storage::projection::RebuildTicket::requested(radroots_storage::projection::RebuildTicketId, radroots_storage::projection::ProjectionInvalidation, radroots_storage::event::SourceGeneration, core::option::Option<radroots_storage::event::EventPosition>, radroots_storage::projection::RawSourceDigest) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::projection::RebuildTicket::requested_at_unix_ms(&self) -> u64 +pub const fn radroots_storage::projection::RebuildTicket::revision(&self) -> radroots_storage::projection::ProjectionRevision +pub const fn radroots_storage::projection::RebuildTicket::source_digest(&self) -> radroots_storage::projection::RawSourceDigest +pub const fn radroots_storage::projection::RebuildTicket::source_generation(&self) -> radroots_storage::event::SourceGeneration +pub const fn radroots_storage::projection::RebuildTicket::source_high_water(&self) -> core::option::Option<radroots_storage::event::EventPosition> +pub const fn radroots_storage::projection::RebuildTicket::stage(&self) -> radroots_storage::projection::RebuildStage +pub const fn radroots_storage::projection::RebuildTicket::ticket_id(&self) -> radroots_storage::projection::RebuildTicketId +pub fn radroots_storage::projection::RebuildTicket::transition(&self, radroots_storage::projection::RebuildTransition) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::projection::RebuildTicket::updated_at_unix_ms(&self) -> u64 +pub struct radroots_storage::projection::RebuildTicketId(_) +impl radroots_storage::projection::RebuildTicketId +pub const fn radroots_storage::projection::RebuildTicketId::as_bytes(&self) -> &[u8; 16] +pub const fn radroots_storage::projection::RebuildTicketId::new([u8; 16]) -> core::result::Result<Self, radroots_storage::Error> +pub struct radroots_storage::projection::RebuildTransition +impl radroots_storage::projection::RebuildTransition +pub const fn radroots_storage::projection::RebuildTransition::checkpoint(radroots_storage::projection::RebuildTicketId, radroots_storage::projection::ProjectionRevision, u64, radroots_storage::projection::ProjectionCheckpoint) -> Self +pub const fn radroots_storage::projection::RebuildTransition::complete(radroots_storage::projection::RebuildTicketId, radroots_storage::projection::ProjectionRevision, u64, radroots_storage::projection::ProjectionCheckpoint) -> Self +pub const fn radroots_storage::projection::RebuildTransition::fail(radroots_storage::projection::RebuildTicketId, radroots_storage::projection::ProjectionRevision, u64, radroots_storage::projection::RebuildFailure) -> Self +pub const fn radroots_storage::projection::RebuildTransition::start(radroots_storage::projection::RebuildTicketId, radroots_storage::projection::ProjectionRevision, u64) -> Self +pub const fn radroots_storage::projection::RebuildTransition::ticket_id(&self) -> radroots_storage::projection::RebuildTicketId +pub const radroots_storage::projection::EVENT_INDEX_ARTIFACT_PATH_MAX_BYTES: usize +pub const radroots_storage::projection::EVENT_INDEX_CURSOR_MAX_BYTES: usize +pub const radroots_storage::projection::EVENT_INDEX_SHARDS_MAX: usize +pub const radroots_storage::projection::EVENT_INDEX_SHARD_ID_MAX_BYTES: usize +pub const radroots_storage::projection::PROJECTION_ID_MAX_BYTES: usize +pub trait radroots_storage::projection::ProjectionStore: core::marker::Send + core::marker::Sync +pub fn radroots_storage::projection::ProjectionStore::checkpoint(&self, radroots_storage::projection::ProjectionCheckpoint) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::projection::ProjectionStatus, radroots_storage::Error>> +pub fn radroots_storage::projection::ProjectionStore::event_index_checkpoint(&self, radroots_storage::projection::ProjectionGeneration) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::EventIndexCheckpoint>, radroots_storage::Error>> +pub fn radroots_storage::projection::ProjectionStore::event_index_manifest(&self, radroots_storage::projection::ProjectionGeneration) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::EventIndexManifest>, radroots_storage::Error>> +pub fn radroots_storage::projection::ProjectionStore::invalidate(&self, radroots_storage::projection::ProjectionInvalidation) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::projection::ProjectionStatus, radroots_storage::Error>> +pub fn radroots_storage::projection::ProjectionStore::invalidation(&self, radroots_storage::projection::ProjectionId, radroots_storage::projection::ProjectionGeneration) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::ProjectionInvalidation>, radroots_storage::Error>> +pub fn radroots_storage::projection::ProjectionStore::put_event_index_checkpoint(&self, radroots_storage::projection::EventIndexCheckpoint) -> radroots_transport::source::BoxFuture<'_, core::result::Result<(), radroots_storage::Error>> +pub fn radroots_storage::projection::ProjectionStore::put_event_index_manifest(&self, radroots_storage::projection::EventIndexManifest) -> radroots_transport::source::BoxFuture<'_, core::result::Result<(), radroots_storage::Error>> +pub fn radroots_storage::projection::ProjectionStore::rebuild(&self, radroots_storage::projection::RebuildTicketId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::RebuildTicket>, radroots_storage::Error>> +pub fn radroots_storage::projection::ProjectionStore::request_rebuild(&self, radroots_storage::projection::RebuildTicket) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::projection::RebuildTicket, radroots_storage::Error>> +pub fn radroots_storage::projection::ProjectionStore::status(&self, radroots_storage::projection::ProjectionId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::ProjectionStatus>, radroots_storage::Error>> +pub fn radroots_storage::projection::ProjectionStore::transition_rebuild(&self, radroots_storage::projection::RebuildTransition) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::projection::RebuildTicket, radroots_storage::Error>> +impl radroots_storage::projection::ProjectionStore for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::checkpoint(&self, radroots_storage::projection::ProjectionCheckpoint) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::projection::ProjectionStatus, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::event_index_checkpoint(&self, radroots_storage::projection::ProjectionGeneration) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::EventIndexCheckpoint>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::event_index_manifest(&self, radroots_storage::projection::ProjectionGeneration) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::EventIndexManifest>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::invalidate(&self, radroots_storage::projection::ProjectionInvalidation) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::projection::ProjectionStatus, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::invalidation(&self, radroots_storage::projection::ProjectionId, radroots_storage::projection::ProjectionGeneration) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::ProjectionInvalidation>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::put_event_index_checkpoint(&self, radroots_storage::projection::EventIndexCheckpoint) -> radroots_transport::source::BoxFuture<'_, core::result::Result<(), radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::put_event_index_manifest(&self, radroots_storage::projection::EventIndexManifest) -> radroots_transport::source::BoxFuture<'_, core::result::Result<(), radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::rebuild(&self, radroots_storage::projection::RebuildTicketId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::RebuildTicket>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::request_rebuild(&self, radroots_storage::projection::RebuildTicket) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::projection::RebuildTicket, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::status(&self, radroots_storage::projection::ProjectionId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::ProjectionStatus>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::transition_rebuild(&self, radroots_storage::projection::RebuildTransition) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::projection::RebuildTicket, radroots_storage::Error>> +pub mod radroots_storage::status +pub enum radroots_storage::status::EventStoreHealth +pub radroots_storage::status::EventStoreHealth::Available +pub radroots_storage::status::EventStoreHealth::Degraded +pub radroots_storage::status::EventStoreHealth::Unavailable +pub enum radroots_storage::status::EventStoreMode +pub radroots_storage::status::EventStoreMode::ReadOnly +pub radroots_storage::status::EventStoreMode::ReadWrite +pub enum radroots_storage::status::IntegrityHealth +pub radroots_storage::status::IntegrityHealth::Corrupt +pub radroots_storage::status::IntegrityHealth::Degraded +pub radroots_storage::status::IntegrityHealth::Healthy +pub radroots_storage::status::IntegrityHealth::Unknown +pub enum radroots_storage::status::ShutdownState +pub radroots_storage::status::ShutdownState::Closed +pub radroots_storage::status::ShutdownState::Closing +pub radroots_storage::status::ShutdownState::Open +pub enum radroots_storage::status::StorageBackend +pub radroots_storage::status::StorageBackend::Memory +pub radroots_storage::status::StorageBackend::Sqlite +pub enum radroots_storage::status::StorageOpenMode +pub radroots_storage::status::StorageOpenMode::Create +pub radroots_storage::status::StorageOpenMode::ReadOnly +pub radroots_storage::status::StorageOpenMode::ReadWriteExisting +pub enum radroots_storage::status::WriterPolicy +pub radroots_storage::status::WriterPolicy::AdvisoryProcessLock +pub radroots_storage::status::WriterPolicy::NoWriter +pub struct radroots_storage::status::EventStoreStatus +impl radroots_storage::status::EventStoreStatus +pub const fn radroots_storage::status::EventStoreStatus::generation(&self) -> radroots_storage::event::SourceGeneration +pub const fn radroots_storage::status::EventStoreStatus::health(&self) -> radroots_storage::status::EventStoreHealth +pub const fn radroots_storage::status::EventStoreStatus::mode(&self) -> radroots_storage::status::EventStoreMode +pub const fn radroots_storage::status::EventStoreStatus::new(radroots_storage::event::SourceGeneration, radroots_storage::status::EventStoreMode, radroots_storage::status::EventStoreHealth, u64, u64, u64) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::status::EventStoreStatus::raw_events(&self) -> u64 +pub const fn radroots_storage::status::EventStoreStatus::verified_events(&self) -> u64 +pub const fn radroots_storage::status::EventStoreStatus::visible_events(&self) -> u64 +pub struct radroots_storage::status::IntegrityStatus +impl radroots_storage::status::IntegrityStatus +pub const fn radroots_storage::status::IntegrityStatus::checked_at_unix_ms(self) -> core::option::Option<u64> +pub const fn radroots_storage::status::IntegrityStatus::failed_members(self) -> u32 +pub const fn radroots_storage::status::IntegrityStatus::health(self) -> radroots_storage::status::IntegrityHealth +pub fn radroots_storage::status::IntegrityStatus::new(radroots_storage::status::IntegrityHealth, core::option::Option<u64>, u32, u32) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::status::IntegrityStatus::verified_members(self) -> u32 +pub struct radroots_storage::status::StorageStatus +impl radroots_storage::status::StorageStatus +pub const fn radroots_storage::status::StorageStatus::backend(self) -> radroots_storage::status::StorageBackend +pub const fn radroots_storage::status::StorageStatus::busy_timeout_ms(self) -> u32 +pub const fn radroots_storage::status::StorageStatus::integrity(self) -> radroots_storage::status::IntegrityStatus +pub fn radroots_storage::status::StorageStatus::new(radroots_storage::status::StorageBackend, radroots_storage::status::StorageOpenMode, radroots_storage::status::WriterPolicy, radroots_storage::status::ShutdownState, radroots_storage::status::IntegrityStatus, bool, u32) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::status::StorageStatus::open_mode(self) -> radroots_storage::status::StorageOpenMode +pub const fn radroots_storage::status::StorageStatus::shutdown(self) -> radroots_storage::status::ShutdownState +pub const fn radroots_storage::status::StorageStatus::wal_enabled(self) -> bool +pub const fn radroots_storage::status::StorageStatus::writer_policy(self) -> radroots_storage::status::WriterPolicy +pub trait radroots_storage::status::StorageStatusProvider: core::marker::Send + core::marker::Sync +pub fn radroots_storage::status::StorageStatusProvider::storage_status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::StorageStatus, radroots_storage::Error>> +impl radroots_storage::status::StorageStatusProvider for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::storage_status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::StorageStatus, radroots_storage::Error>> +#[non_exhaustive] pub enum radroots_storage::Error +pub radroots_storage::Error::AdmissionEventMismatch +pub radroots_storage::Error::AdmissionRegression +pub radroots_storage::Error::AtomicCommitConflict +pub radroots_storage::Error::AtomicCommitFailed +pub radroots_storage::Error::AtomicWorkflowMismatch +pub radroots_storage::Error::BackendUnavailable +pub radroots_storage::Error::BackupManifestPlanMismatch +pub radroots_storage::Error::BackupSecretPolicyViolation +pub radroots_storage::Error::CorruptJournalRecord +pub radroots_storage::Error::CorruptOutboxRecord +pub radroots_storage::Error::CorruptPrivateArtifactMetadata +pub radroots_storage::Error::CorruptProjectionRecord +pub radroots_storage::Error::CorruptReliabilityOperation +pub radroots_storage::Error::CorruptStoredEvent +pub radroots_storage::Error::CursorGenerationMismatch +pub radroots_storage::Error::DeliveryAttemptOverflow +pub radroots_storage::Error::DeliveryPlanClaimConflict +pub radroots_storage::Error::DuplicateBackupMember +pub radroots_storage::Error::DuplicateEventIndexShard +pub radroots_storage::Error::DuplicateEventQueryId +pub radroots_storage::Error::EmptyEventQueryIds +pub radroots_storage::Error::EventConflict +pub radroots_storage::Error::EventNotFound +pub radroots_storage::Error::EventPageLimitExceeded +pub radroots_storage::Error::IdempotencyConflict +pub radroots_storage::Error::InvalidAtomicCommitId +pub radroots_storage::Error::InvalidAtomicCommitTimestamp +pub radroots_storage::Error::InvalidAuthoredArtifact +pub radroots_storage::Error::InvalidAuthoredDeliveryPlan +pub radroots_storage::Error::InvalidAuthoredOperation +pub radroots_storage::Error::InvalidAuthoredTransition +pub radroots_storage::Error::InvalidBackupId +pub radroots_storage::Error::InvalidBackupManifest +pub radroots_storage::Error::InvalidBackupMemberLength +pub radroots_storage::Error::InvalidBackupMemberPath +pub radroots_storage::Error::InvalidBackupTimestamp +pub radroots_storage::Error::InvalidBackupTransition +pub radroots_storage::Error::InvalidBackupVersion +pub radroots_storage::Error::InvalidDeliveryAttempt +pub radroots_storage::Error::InvalidDeliveryEvidence +pub radroots_storage::Error::InvalidEventIndexArtifactPath +pub radroots_storage::Error::InvalidEventIndexCheckpoint +pub radroots_storage::Error::InvalidEventIndexCursor +pub radroots_storage::Error::InvalidEventIndexManifest +pub radroots_storage::Error::InvalidEventIndexRange +pub radroots_storage::Error::InvalidEventIndexShardCount +pub radroots_storage::Error::InvalidEventIndexShardId +pub radroots_storage::Error::InvalidEventIndexTimestamp +pub radroots_storage::Error::InvalidEventQueryLimit +pub radroots_storage::Error::InvalidEventSequence +pub radroots_storage::Error::InvalidExpiredArtifactQueryLimit +pub radroots_storage::Error::InvalidIdempotencyKey +pub radroots_storage::Error::InvalidIntegrityStatus +pub radroots_storage::Error::InvalidJournalQueryLimit +pub radroots_storage::Error::InvalidJournalRevision +pub radroots_storage::Error::InvalidJournalTransition +pub radroots_storage::Error::InvalidOperationInstanceId +pub radroots_storage::Error::InvalidOperationTimestamp +pub radroots_storage::Error::InvalidOutboxClaimLimit +pub radroots_storage::Error::InvalidOutboxItemId +pub radroots_storage::Error::InvalidOutboxLease +pub radroots_storage::Error::InvalidOutboxLeaseOwner +pub radroots_storage::Error::InvalidOutboxRevision +pub radroots_storage::Error::InvalidOutboxTimestamp +pub radroots_storage::Error::InvalidPrivateArtifactId +pub radroots_storage::Error::InvalidPrivateArtifactKind +pub radroots_storage::Error::InvalidPrivateArtifactMetadata +pub radroots_storage::Error::InvalidPrivateArtifactResealId +pub radroots_storage::Error::InvalidPrivateArtifactResealRequest +pub radroots_storage::Error::InvalidPrivateArtifactRetention +pub radroots_storage::Error::InvalidPrivateArtifactRevision +pub radroots_storage::Error::InvalidPrivateArtifactSchema +pub radroots_storage::Error::InvalidPrivateArtifactSecretReference +pub radroots_storage::Error::InvalidPrivateArtifactTimestamp +pub radroots_storage::Error::InvalidProjectionGeneration +pub radroots_storage::Error::InvalidProjectionId +pub radroots_storage::Error::InvalidProjectionInvalidation +pub radroots_storage::Error::InvalidProjectionRevision +pub radroots_storage::Error::InvalidProjectionTimestamp +pub radroots_storage::Error::InvalidRebuildTicketId +pub radroots_storage::Error::InvalidRebuildTransition +pub radroots_storage::Error::InvalidRecoveryAttempt +pub radroots_storage::Error::InvalidRecoveryDeadline +pub radroots_storage::Error::InvalidReliabilityRevision +pub radroots_storage::Error::InvalidRestoreTimestamp +pub radroots_storage::Error::InvalidRestoreTransition +pub radroots_storage::Error::InvalidRetrySchedule +pub radroots_storage::Error::InvalidSourceGeneration +pub radroots_storage::Error::InvalidStorageStatus +pub radroots_storage::Error::InvalidWorkClaim +pub radroots_storage::Error::InvalidWorkFailure +pub radroots_storage::Error::JournalOperationCommitted +pub radroots_storage::Error::JournalRevisionConflict +pub radroots_storage::Error::OperationIdentityMismatch +pub radroots_storage::Error::OperationNotFound +pub radroots_storage::Error::OutboxItemNotFound +pub radroots_storage::Error::OutboxItemNotReady +pub radroots_storage::Error::OutboxItemTerminal +pub radroots_storage::Error::OutboxLeaseConflict +pub radroots_storage::Error::OutboxLeaseExpired +pub radroots_storage::Error::OutboxPlanConflict +pub radroots_storage::Error::OutboxRevisionConflict +pub radroots_storage::Error::PrivateArtifactConflict +pub radroots_storage::Error::PrivateArtifactNotExpired +pub radroots_storage::Error::PrivateArtifactNotFound +pub radroots_storage::Error::PrivateArtifactPersistenceIndeterminate +pub radroots_storage::Error::PrivateArtifactResealConflict +pub radroots_storage::Error::PrivateArtifactRetentionActive +pub radroots_storage::Error::PrivateArtifactRevisionConflict +pub radroots_storage::Error::PrivateArtifactTombstoned +pub radroots_storage::Error::ProjectionCheckpointMismatch +pub radroots_storage::Error::ProjectionCheckpointRegression +pub radroots_storage::Error::ProjectionRevisionConflict +pub radroots_storage::Error::RebuildTicketTerminal +pub radroots_storage::Error::ReliabilityOperationTerminal +pub radroots_storage::Error::ReliabilityRevisionConflict +pub radroots_storage::Error::RestoreMemberVerificationFailed +pub radroots_storage::Error::SourceGenerationChanged +pub radroots_storage::Error::TooManyEventQueryIds +impl core::error::Error for radroots_storage::Error +impl core::fmt::Display for radroots_storage::Error +pub fn radroots_storage::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_storage::StorageStatus +impl radroots_storage::status::StorageStatus +pub const fn radroots_storage::status::StorageStatus::backend(self) -> radroots_storage::status::StorageBackend +pub const fn radroots_storage::status::StorageStatus::busy_timeout_ms(self) -> u32 +pub const fn radroots_storage::status::StorageStatus::integrity(self) -> radroots_storage::status::IntegrityStatus +pub fn radroots_storage::status::StorageStatus::new(radroots_storage::status::StorageBackend, radroots_storage::status::StorageOpenMode, radroots_storage::status::WriterPolicy, radroots_storage::status::ShutdownState, radroots_storage::status::IntegrityStatus, bool, u32) -> core::result::Result<Self, radroots_storage::Error> +pub const fn radroots_storage::status::StorageStatus::open_mode(self) -> radroots_storage::status::StorageOpenMode +pub const fn radroots_storage::status::StorageStatus::shutdown(self) -> radroots_storage::status::ShutdownState +pub const fn radroots_storage::status::StorageStatus::wal_enabled(self) -> bool +pub const fn radroots_storage::status::StorageStatus::writer_policy(self) -> radroots_storage::status::WriterPolicy +pub trait radroots_storage::BackupSource: core::marker::Send + core::marker::Sync +pub fn radroots_storage::BackupSource::begin_backup(&self, radroots_storage::backup::BackupPlan) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::backup::BackupOperation, radroots_storage::Error>> +pub fn radroots_storage::BackupSource::begin_restore(&self, radroots_storage::backup::RestorePlan) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::backup::RestoreOperation, radroots_storage::Error>> +pub fn radroots_storage::BackupSource::close(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::StorageStatus, radroots_storage::Error>> +pub fn radroots_storage::BackupSource::integrity(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::IntegrityStatus, radroots_storage::Error>> +pub fn radroots_storage::BackupSource::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::StorageStatus, radroots_storage::Error>> +pub fn radroots_storage::BackupSource::transition_backup(&self, radroots_storage::backup::BackupId, radroots_storage::backup::ReliabilityRevision, radroots_storage::backup::BackupTransition, u64) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::backup::BackupOperation, radroots_storage::Error>> +pub fn radroots_storage::BackupSource::transition_restore(&self, radroots_storage::backup::BackupId, radroots_storage::backup::ReliabilityRevision, radroots_storage::backup::RestoreTransition, u64) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::backup::RestoreOperation, radroots_storage::Error>> +impl radroots_storage::backup::StorageReliability for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::begin_backup(&self, radroots_storage::backup::BackupPlan) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::backup::BackupOperation, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::begin_restore(&self, radroots_storage::backup::RestorePlan) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::backup::RestoreOperation, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::close(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::StorageStatus, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::integrity(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::IntegrityStatus, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::StorageStatus, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::transition_backup(&self, radroots_storage::backup::BackupId, radroots_storage::backup::ReliabilityRevision, radroots_storage::backup::BackupTransition, u64) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::backup::BackupOperation, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::transition_restore(&self, radroots_storage::backup::BackupId, radroots_storage::backup::ReliabilityRevision, radroots_storage::backup::RestoreTransition, u64) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::backup::RestoreOperation, radroots_storage::Error>> +pub trait radroots_storage::EventStore: core::marker::Send + core::marker::Sync +pub fn radroots_storage::EventStore::admit(&self, radroots_storage::event::EventAdmission) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::AdmissionReceipt, radroots_storage::Error>> +pub fn radroots_storage::EventStore::query_provenance(&self, radroots_event::id::EventId, radroots_storage::event::EventQueryBounds) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::EventPage<radroots_storage::event::StoredEventProvenance>, radroots_storage::Error>> +pub fn radroots_storage::EventStore::query_raw(&self, radroots_storage::event::EventQuery) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::EventPage<radroots_storage::event::StoredRawEvent>, radroots_storage::Error>> +pub fn radroots_storage::EventStore::query_verified(&self, radroots_storage::event::EventQuery) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::EventPage<radroots_storage::event::StoredVerifiedEvent>, radroots_storage::Error>> +pub fn radroots_storage::EventStore::query_visible(&self, radroots_storage::event::EventQuery) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::EventPage<radroots_storage::event::StoredVisibleEvent>, radroots_storage::Error>> +pub fn radroots_storage::EventStore::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::EventStoreStatus, radroots_storage::Error>> +impl radroots_storage::event::EventStore for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::admit(&self, radroots_storage::event::EventAdmission) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::AdmissionReceipt, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::query_provenance(&self, radroots_event::id::EventId, radroots_storage::event::EventQueryBounds) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::EventPage<radroots_storage::event::StoredEventProvenance>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::query_raw(&self, radroots_storage::event::EventQuery) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::EventPage<radroots_storage::event::StoredRawEvent>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::query_verified(&self, radroots_storage::event::EventQuery) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::EventPage<radroots_storage::event::StoredVerifiedEvent>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::query_visible(&self, radroots_storage::event::EventQuery) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::event::EventPage<radroots_storage::event::StoredVisibleEvent>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::status::EventStoreStatus, radroots_storage::Error>> +pub trait radroots_storage::Journal: core::marker::Send + core::marker::Sync +pub fn radroots_storage::Journal::by_idempotency_key(&self, radroots_protocol::runtime::v1::OperationId, radroots_storage::journal::IdempotencyKey) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::journal::OperationRecord>, radroots_storage::Error>> +pub fn radroots_storage::Journal::operation(&self, radroots_storage::journal::OperationInstanceId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::journal::OperationRecord>, radroots_storage::Error>> +pub fn radroots_storage::Journal::prepare(&self, radroots_storage::journal::PrepareOperation) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::journal::PrepareReceipt, radroots_storage::Error>> +pub fn radroots_storage::Journal::recoverable(&self, u16) -> radroots_transport::source::BoxFuture<'_, core::result::Result<alloc::vec::Vec<radroots_storage::journal::OperationRecord>, radroots_storage::Error>> +pub fn radroots_storage::Journal::transition(&self, radroots_storage::journal::JournalTransition) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::journal::OperationRecord, radroots_storage::Error>> +impl radroots_storage::journal::Journal for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::by_idempotency_key(&self, radroots_protocol::runtime::v1::OperationId, radroots_storage::journal::IdempotencyKey) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::journal::OperationRecord>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::operation(&self, radroots_storage::journal::OperationInstanceId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::journal::OperationRecord>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::prepare(&self, radroots_storage::journal::PrepareOperation) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::journal::PrepareReceipt, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::recoverable(&self, u16) -> radroots_transport::source::BoxFuture<'_, core::result::Result<alloc::vec::Vec<radroots_storage::journal::OperationRecord>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::transition(&self, radroots_storage::journal::JournalTransition) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::journal::OperationRecord, radroots_storage::Error>> +pub trait radroots_storage::Outbox: core::marker::Send + core::marker::Sync +pub fn radroots_storage::Outbox::claim(&self, radroots_storage::outbox::ClaimOutboxItems) -> radroots_transport::source::BoxFuture<'_, core::result::Result<alloc::vec::Vec<radroots_storage::outbox::ClaimedOutboxItem>, radroots_storage::Error>> +pub fn radroots_storage::Outbox::enqueue(&self, radroots_storage::outbox::EnqueueOutboxItem) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::outbox::EnqueueReceipt, radroots_storage::Error>> +pub fn radroots_storage::Outbox::item(&self, radroots_storage::outbox::OutboxItemId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::outbox::OutboxRecord>, radroots_storage::Error>> +pub fn radroots_storage::Outbox::record_attempt(&self, radroots_storage::outbox::DeliveryAttemptEvidence) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::outbox::OutboxRecord, radroots_storage::Error>> +pub fn radroots_storage::Outbox::release(&self, radroots_storage::outbox::OutboxItemId, radroots_storage::outbox::LeaseId, radroots_storage::outbox::OutboxRevision, u64, core::option::Option<u64>) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::outbox::OutboxRecord, radroots_storage::Error>> +pub fn radroots_storage::Outbox::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::outbox::OutboxStatus, radroots_storage::Error>> +impl radroots_storage::outbox::Outbox for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::claim(&self, radroots_storage::outbox::ClaimOutboxItems) -> radroots_transport::source::BoxFuture<'_, core::result::Result<alloc::vec::Vec<radroots_storage::outbox::ClaimedOutboxItem>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::enqueue(&self, radroots_storage::outbox::EnqueueOutboxItem) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::outbox::EnqueueReceipt, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::item(&self, radroots_storage::outbox::OutboxItemId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::outbox::OutboxRecord>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::record_attempt(&self, radroots_storage::outbox::DeliveryAttemptEvidence) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::outbox::OutboxRecord, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::release(&self, radroots_storage::outbox::OutboxItemId, radroots_storage::outbox::LeaseId, radroots_storage::outbox::OutboxRevision, u64, core::option::Option<u64>) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::outbox::OutboxRecord, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::outbox::OutboxStatus, radroots_storage::Error>> +pub trait radroots_storage::ProjectionStore: core::marker::Send + core::marker::Sync +pub fn radroots_storage::ProjectionStore::checkpoint(&self, radroots_storage::projection::ProjectionCheckpoint) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::projection::ProjectionStatus, radroots_storage::Error>> +pub fn radroots_storage::ProjectionStore::event_index_checkpoint(&self, radroots_storage::projection::ProjectionGeneration) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::EventIndexCheckpoint>, radroots_storage::Error>> +pub fn radroots_storage::ProjectionStore::event_index_manifest(&self, radroots_storage::projection::ProjectionGeneration) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::EventIndexManifest>, radroots_storage::Error>> +pub fn radroots_storage::ProjectionStore::invalidate(&self, radroots_storage::projection::ProjectionInvalidation) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::projection::ProjectionStatus, radroots_storage::Error>> +pub fn radroots_storage::ProjectionStore::invalidation(&self, radroots_storage::projection::ProjectionId, radroots_storage::projection::ProjectionGeneration) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::ProjectionInvalidation>, radroots_storage::Error>> +pub fn radroots_storage::ProjectionStore::put_event_index_checkpoint(&self, radroots_storage::projection::EventIndexCheckpoint) -> radroots_transport::source::BoxFuture<'_, core::result::Result<(), radroots_storage::Error>> +pub fn radroots_storage::ProjectionStore::put_event_index_manifest(&self, radroots_storage::projection::EventIndexManifest) -> radroots_transport::source::BoxFuture<'_, core::result::Result<(), radroots_storage::Error>> +pub fn radroots_storage::ProjectionStore::rebuild(&self, radroots_storage::projection::RebuildTicketId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::RebuildTicket>, radroots_storage::Error>> +pub fn radroots_storage::ProjectionStore::request_rebuild(&self, radroots_storage::projection::RebuildTicket) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::projection::RebuildTicket, radroots_storage::Error>> +pub fn radroots_storage::ProjectionStore::status(&self, radroots_storage::projection::ProjectionId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::ProjectionStatus>, radroots_storage::Error>> +pub fn radroots_storage::ProjectionStore::transition_rebuild(&self, radroots_storage::projection::RebuildTransition) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::projection::RebuildTicket, radroots_storage::Error>> +impl radroots_storage::projection::ProjectionStore for radroots_storage::memory::MemoryStorage +pub fn radroots_storage::memory::MemoryStorage::checkpoint(&self, radroots_storage::projection::ProjectionCheckpoint) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::projection::ProjectionStatus, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::event_index_checkpoint(&self, radroots_storage::projection::ProjectionGeneration) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::EventIndexCheckpoint>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::event_index_manifest(&self, radroots_storage::projection::ProjectionGeneration) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::EventIndexManifest>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::invalidate(&self, radroots_storage::projection::ProjectionInvalidation) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::projection::ProjectionStatus, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::invalidation(&self, radroots_storage::projection::ProjectionId, radroots_storage::projection::ProjectionGeneration) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::ProjectionInvalidation>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::put_event_index_checkpoint(&self, radroots_storage::projection::EventIndexCheckpoint) -> radroots_transport::source::BoxFuture<'_, core::result::Result<(), radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::put_event_index_manifest(&self, radroots_storage::projection::EventIndexManifest) -> radroots_transport::source::BoxFuture<'_, core::result::Result<(), radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::rebuild(&self, radroots_storage::projection::RebuildTicketId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::RebuildTicket>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::request_rebuild(&self, radroots_storage::projection::RebuildTicket) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::projection::RebuildTicket, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::status(&self, radroots_storage::projection::ProjectionId) -> radroots_transport::source::BoxFuture<'_, core::result::Result<core::option::Option<radroots_storage::projection::ProjectionStatus>, radroots_storage::Error>> +pub fn radroots_storage::memory::MemoryStorage::transition_rebuild(&self, radroots_storage::projection::RebuildTransition) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_storage::projection::RebuildTicket, radroots_storage::Error>> +pub trait radroots_storage::Storage: radroots_storage::event::EventStore + radroots_storage::journal::Journal + radroots_storage::outbox::Outbox + radroots_storage::projection::ProjectionStore + radroots_storage::private_artifact::PrivateArtifactStore + radroots_storage::backup::StorageReliability + radroots_storage::atomic::AtomicStorage + radroots_storage::authored_atomic::AuthoredAtomicStorage +impl<T> radroots_storage::Storage for T where T: radroots_storage::event::EventStore + radroots_storage::journal::Journal + radroots_storage::outbox::Outbox + radroots_storage::projection::ProjectionStore + radroots_storage::private_artifact::PrivateArtifactStore + radroots_storage::backup::StorageReliability + radroots_storage::atomic::AtomicStorage + radroots_storage::authored_atomic::AuthoredAtomicStorage diff --git a/contracts/api_baselines/radroots_trade.txt b/contracts/api_baselines/radroots_trade.txt @@ -0,0 +1,354 @@ +pub mod radroots_trade +pub mod radroots_trade::evidence +pub enum radroots_trade::evidence::RadrootsTradeAttestationResultV1 +pub radroots_trade::evidence::RadrootsTradeAttestationResultV1::Invalid +pub radroots_trade::evidence::RadrootsTradeAttestationResultV1::Valid +pub enum radroots_trade::evidence::RadrootsTradeEvidenceStateV1 +pub radroots_trade::evidence::RadrootsTradeEvidenceStateV1::Complete +pub radroots_trade::evidence::RadrootsTradeEvidenceStateV1::Missing +pub radroots_trade::evidence::RadrootsTradeEvidenceStateV1::QueryPartial +pub radroots_trade::evidence::RadrootsTradeEvidenceStateV1::UnsupportedVersion +pub struct radroots_trade::evidence::RadrootsTradeAttestationRecordV1 +impl radroots_trade::evidence::RadrootsTradeAttestationRecordV1 +pub const fn radroots_trade::evidence::RadrootsTradeAttestationRecordV1::claim_mutation_id(&self) -> &radroots_event::id::MutationId +pub const fn radroots_trade::evidence::RadrootsTradeAttestationRecordV1::event_id(&self) -> &radroots_event::id::EventId +pub const fn radroots_trade::evidence::RadrootsTradeAttestationRecordV1::new(radroots_event::id::EventId, radroots_event::id::MutationId, radroots_trade::evidence::RadrootsTradeAttestationResultV1) -> Self +pub const fn radroots_trade::evidence::RadrootsTradeAttestationRecordV1::result(&self) -> radroots_trade::evidence::RadrootsTradeAttestationResultV1 +pub struct radroots_trade::evidence::RadrootsTradeMutationRecordV1 +impl radroots_trade::evidence::RadrootsTradeMutationRecordV1 +pub const fn radroots_trade::evidence::RadrootsTradeMutationRecordV1::mutation(&self) -> &radroots_event::trade::TradeMutationEnvelopeV1 +pub const fn radroots_trade::evidence::RadrootsTradeMutationRecordV1::new(core::option::Option<radroots_event::id::EventId>, radroots_event::trade::TradeMutationEnvelopeV1) -> Self +pub const fn radroots_trade::evidence::RadrootsTradeMutationRecordV1::transport_event_id(&self) -> core::option::Option<&radroots_event::id::EventId> +pub struct radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1 +impl radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1 +pub const fn radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1::candidate_id(&self) -> &radroots_event::id::CandidateId +pub const fn radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1::new(radroots_event::id::CandidateId, radroots_trade::model::RadrootsTradePrivateTermsStateV1) -> Self +pub const fn radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1::state(&self) -> radroots_trade::model::RadrootsTradePrivateTermsStateV1 +pub mod radroots_trade::model +pub enum radroots_trade::model::OrderIdError +pub radroots_trade::model::OrderIdError::Empty +pub radroots_trade::model::OrderIdError::InvalidCharacter +pub radroots_trade::model::OrderIdError::TooLong +pub radroots_trade::model::OrderIdError::TooLong::actual: usize +pub radroots_trade::model::OrderIdError::TooLong::max: usize +impl core::error::Error for radroots_trade::model::OrderIdError +impl core::fmt::Display for radroots_trade::model::OrderIdError +pub fn radroots_trade::model::OrderIdError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub enum radroots_trade::model::RadrootsTradeAgreementStateV1 +pub radroots_trade::model::RadrootsTradeAgreementStateV1::Agreed +pub radroots_trade::model::RadrootsTradeAgreementStateV1::Cancelled +pub radroots_trade::model::RadrootsTradeAgreementStateV1::Contested +pub radroots_trade::model::RadrootsTradeAgreementStateV1::None +pub enum radroots_trade::model::RadrootsTradeAttestationStateV1 +pub radroots_trade::model::RadrootsTradeAttestationStateV1::Conflicting +pub radroots_trade::model::RadrootsTradeAttestationStateV1::None +pub radroots_trade::model::RadrootsTradeAttestationStateV1::PresentInvalid +pub radroots_trade::model::RadrootsTradeAttestationStateV1::PresentValid +pub enum radroots_trade::model::RadrootsTradeConflictStateV1 +pub radroots_trade::model::RadrootsTradeConflictStateV1::CancellationConflict +pub radroots_trade::model::RadrootsTradeConflictStateV1::ConcurrentCandidates +pub radroots_trade::model::RadrootsTradeConflictStateV1::DecisionConflict +pub radroots_trade::model::RadrootsTradeConflictStateV1::DoubleAcceptance +pub radroots_trade::model::RadrootsTradeConflictStateV1::InvalidCausalChain +pub radroots_trade::model::RadrootsTradeConflictStateV1::InventoryAuthorityConflict +pub radroots_trade::model::RadrootsTradeConflictStateV1::None +pub enum radroots_trade::model::RadrootsTradeFulfillmentStateV1 +pub radroots_trade::model::RadrootsTradeFulfillmentStateV1::NotStarted +pub enum radroots_trade::model::RadrootsTradeNegotiationStateV1 +pub radroots_trade::model::RadrootsTradeNegotiationStateV1::ClosedDeclined +pub radroots_trade::model::RadrootsTradeNegotiationStateV1::ClosedExpired +pub radroots_trade::model::RadrootsTradeNegotiationStateV1::None +pub radroots_trade::model::RadrootsTradeNegotiationStateV1::Open +pub enum radroots_trade::model::RadrootsTradePaymentStateV1 +pub radroots_trade::model::RadrootsTradePaymentStateV1::NotTracked +pub enum radroots_trade::model::RadrootsTradePrivateTermsStateV1 +pub radroots_trade::model::RadrootsTradePrivateTermsStateV1::AvailableVerified +pub radroots_trade::model::RadrootsTradePrivateTermsStateV1::CommitmentMismatch +pub radroots_trade::model::RadrootsTradePrivateTermsStateV1::Missing +pub radroots_trade::model::RadrootsTradePrivateTermsStateV1::NotRequired +pub radroots_trade::model::RadrootsTradePrivateTermsStateV1::Undecryptable +pub struct radroots_trade::model::OrderId(_) +impl radroots_trade::model::OrderId +pub fn radroots_trade::model::OrderId::as_str(&self) -> &str +pub fn radroots_trade::model::OrderId::into_string(self) -> alloc::string::String +pub fn radroots_trade::model::OrderId::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_trade::model::OrderIdError> +impl core::convert::AsRef<str> for radroots_trade::model::OrderId +pub fn radroots_trade::model::OrderId::as_ref(&self) -> &str +impl core::convert::From<radroots_trade::model::OrderId> for alloc::string::String +pub fn alloc::string::String::from(radroots_trade::model::OrderId) -> Self +impl core::convert::TryFrom<&str> for radroots_trade::model::OrderId +pub type radroots_trade::model::OrderId::Error = radroots_trade::model::OrderIdError +pub fn radroots_trade::model::OrderId::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_trade::model::OrderId +pub type radroots_trade::model::OrderId::Error = radroots_trade::model::OrderIdError +pub fn radroots_trade::model::OrderId::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_trade::model::OrderId +pub fn radroots_trade::model::OrderId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_trade::model::OrderId +pub type radroots_trade::model::OrderId::Err = radroots_trade::model::OrderIdError +pub fn radroots_trade::model::OrderId::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_trade::model::OrderId +pub fn radroots_trade::model::OrderId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_trade::model::OrderId +pub fn radroots_trade::model::OrderId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_trade::model::RadrootsTradeAgreementClaimV1 +impl radroots_trade::model::RadrootsTradeAgreementClaimV1 +pub const fn radroots_trade::model::RadrootsTradeAgreementClaimV1::accepted_by_pubkey(&self) -> &radroots_identity::key::PublicKey +pub const fn radroots_trade::model::RadrootsTradeAgreementClaimV1::candidate_author_pubkey(&self) -> &radroots_identity::key::PublicKey +pub const fn radroots_trade::model::RadrootsTradeAgreementClaimV1::candidate_id(&self) -> &radroots_event::id::CandidateId +pub const fn radroots_trade::model::RadrootsTradeAgreementClaimV1::claim_mutation_id(&self) -> &radroots_event::id::MutationId +pub const fn radroots_trade::model::RadrootsTradeAgreementClaimV1::proposal_mutation_id(&self) -> &radroots_event::id::MutationId +pub fn radroots_trade::model::RadrootsTradeAgreementClaimV1::reservation_commitment(&self) -> &str +pub struct radroots_trade::model::RadrootsTradeProjectionV1 +impl radroots_trade::Projection +pub fn radroots_trade::Projection::active_agreement_claim_ids(&self) -> &[radroots_event::id::MutationId] +pub fn radroots_trade::Projection::agreement_claims(&self) -> &[radroots_trade::model::RadrootsTradeAgreementClaimV1] +pub const fn radroots_trade::Projection::agreement_state(&self) -> radroots_trade::model::RadrootsTradeAgreementStateV1 +pub const fn radroots_trade::Projection::attestation_state(&self) -> radroots_trade::model::RadrootsTradeAttestationStateV1 +pub fn radroots_trade::Projection::attestations(&self) -> &[radroots_trade::evidence::RadrootsTradeAttestationRecordV1] +pub const fn radroots_trade::Projection::buyer_pubkey(&self) -> core::option::Option<&radroots_identity::key::PublicKey> +pub fn radroots_trade::Projection::cancelled_claim_ids(&self) -> &[radroots_event::id::MutationId] +pub fn radroots_trade::Projection::candidate_heads(&self) -> &[radroots_event::id::MutationId] +pub const fn radroots_trade::Projection::conflict_state(&self) -> radroots_trade::model::RadrootsTradeConflictStateV1 +pub fn radroots_trade::Projection::contested_claim_ids(&self) -> &[radroots_event::id::MutationId] +pub fn radroots_trade::Projection::declined_candidate_ids(&self) -> &[radroots_event::id::CandidateId] +pub const fn radroots_trade::Projection::evidence_state(&self) -> radroots_trade::evidence::RadrootsTradeEvidenceStateV1 +pub const fn radroots_trade::Projection::farm_id(&self) -> core::option::Option<&radroots_event::id::DTag> +pub const fn radroots_trade::Projection::fulfillment_state(&self) -> radroots_trade::model::RadrootsTradeFulfillmentStateV1 +pub fn radroots_trade::Projection::issues(&self) -> &[radroots_trade::ReducerIssue] +pub fn radroots_trade::Projection::missing_parent_ids(&self) -> &[radroots_event::id::MutationId] +pub fn radroots_trade::Projection::missing_proposal_ids(&self) -> &[radroots_event::id::MutationId] +pub const fn radroots_trade::Projection::negotiation_state(&self) -> radroots_trade::model::RadrootsTradeNegotiationStateV1 +pub const fn radroots_trade::Projection::payment_state(&self) -> radroots_trade::model::RadrootsTradePaymentStateV1 +pub const fn radroots_trade::Projection::private_terms_state(&self) -> radroots_trade::model::RadrootsTradePrivateTermsStateV1 +pub fn radroots_trade::Projection::projection_digest(&self) -> &str +pub fn radroots_trade::Projection::reducer_contract_id(&self) -> &str +pub const fn radroots_trade::Projection::reducer_version(&self) -> u16 +pub const fn radroots_trade::Projection::root_mutation_id(&self) -> core::option::Option<&radroots_event::id::MutationId> +pub const fn radroots_trade::Projection::seller_pubkey(&self) -> core::option::Option<&radroots_identity::key::PublicKey> +pub const fn radroots_trade::Projection::trade_id(&self) -> &radroots_event::id::TradeId +pub fn radroots_trade::Projection::unsupported_mutation_ids(&self) -> &[radroots_event::id::MutationId] +pub const radroots_trade::model::ORDER_ID_MAX_LEN: usize +pub mod radroots_trade::reducer +pub enum radroots_trade::reducer::RadrootsTradeReducerIssueV1 +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::CancellationConflict +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::CancellationConflict::cancellation_mutation_id: radroots_event::id::MutationId +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::CandidateIdMismatch +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::CandidateIdMismatch::decision_mutation_id: radroots_event::id::MutationId +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::CandidateIdMismatch::proposal_mutation_id: radroots_event::id::MutationId +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::DecisionAuthorMismatch +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::DecisionAuthorMismatch::decision_mutation_id: radroots_event::id::MutationId +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::DecisionConflict +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::DecisionConflict::proposal_mutation_id: radroots_event::id::MutationId +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::DecisionParentMissing +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::DecisionParentMissing::decision_mutation_id: radroots_event::id::MutationId +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::DecisionParentMissing::proposal_mutation_id: radroots_event::id::MutationId +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::DoubleAcceptance +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::DoubleAcceptance::proposal_mutation_id: radroots_event::id::MutationId +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::InvalidCausalChain +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::InvalidCausalChain::mutation_id: radroots_event::id::MutationId +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::InvalidMutation +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::InvalidMutation::mutation_id: core::option::Option<radroots_event::id::MutationId> +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::InvalidMutation::reason: alloc::string::String +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::MissingMutationId +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::MissingParent +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::MissingParent::mutation_id: radroots_event::id::MutationId +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::MissingParent::parent_mutation_id: radroots_event::id::MutationId +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::MissingProposal +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::MissingProposal::decision_mutation_id: radroots_event::id::MutationId +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::MissingProposal::proposal_mutation_id: radroots_event::id::MutationId +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::MissingRootProposal +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::MissingSellerReservation +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::MissingSellerReservation::decision_mutation_id: radroots_event::id::MutationId +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::MultipleRootProposals +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::PrivateTermsUnavailable +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::PrivateTermsUnavailable::candidate_id: radroots_event::id::CandidateId +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::ProjectionDigestUnavailable +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::ProjectionDigestUnavailable::reason: alloc::string::String +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::ReservationAuthorityMismatch +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::ReservationAuthorityMismatch::decision_mutation_id: radroots_event::id::MutationId +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::ReservationCandidateMismatch +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::ReservationCandidateMismatch::decision_mutation_id: radroots_event::id::MutationId +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::ReservationLineMismatch +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::ReservationLineMismatch::decision_mutation_id: radroots_event::id::MutationId +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::TradeIdentityMismatch +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::TradeIdentityMismatch::mutation_id: radroots_event::id::MutationId +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::UnsupportedSchema +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::UnsupportedSchema::mutation_id: radroots_event::id::MutationId +pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::UnsupportedSchema::schema_version: u16 +pub struct radroots_trade::reducer::RadrootsTradeReductionInputV1 +impl radroots_trade::ReductionInput +pub fn radroots_trade::ReductionInput::attestations(&self) -> &[radroots_trade::evidence::RadrootsTradeAttestationRecordV1] +pub const fn radroots_trade::ReductionInput::evidence_state(&self) -> radroots_trade::evidence::RadrootsTradeEvidenceStateV1 +pub fn radroots_trade::ReductionInput::mutations(&self) -> &[radroots_trade::evidence::RadrootsTradeMutationRecordV1] +pub fn radroots_trade::ReductionInput::new(radroots_event::id::TradeId) -> Self +pub const fn radroots_trade::ReductionInput::observed_at_unix_s(&self) -> core::option::Option<u64> +pub fn radroots_trade::ReductionInput::private_terms(&self) -> &[radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1] +pub const fn radroots_trade::ReductionInput::trade_id(&self) -> &radroots_event::id::TradeId +pub fn radroots_trade::ReductionInput::with_attestations(self, alloc::vec::Vec<radroots_trade::evidence::RadrootsTradeAttestationRecordV1>) -> Self +pub fn radroots_trade::ReductionInput::with_evidence_state(self, radroots_trade::evidence::RadrootsTradeEvidenceStateV1) -> Self +pub fn radroots_trade::ReductionInput::with_mutations(self, alloc::vec::Vec<radroots_trade::evidence::RadrootsTradeMutationRecordV1>) -> Self +pub fn radroots_trade::ReductionInput::with_observed_at_unix_s(self, core::option::Option<u64>) -> Self +pub fn radroots_trade::ReductionInput::with_private_terms(self, alloc::vec::Vec<radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1>) -> Self +pub const radroots_trade::reducer::RADROOTS_TRADE_REDUCER_CONTRACT_ID: &str +pub const radroots_trade::reducer::RADROOTS_TRADE_REDUCER_VERSION: u16 +pub fn radroots_trade::reducer::reduce_trade_records(radroots_trade::ReductionInput) -> radroots_trade::Projection +pub mod radroots_trade::validation +pub struct radroots_trade::validation::ValidationError +impl radroots_trade::workflow::Error +pub const fn radroots_trade::workflow::Error::kind(&self) -> radroots_trade::workflow::ErrorKind +pub const fn radroots_trade::workflow::Error::protocol_error(&self) -> core::option::Option<&radroots_event::trade::TradeProtocolError> +impl core::error::Error for radroots_trade::workflow::Error +pub fn radroots_trade::workflow::Error::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +impl core::fmt::Display for radroots_trade::workflow::Error +pub fn radroots_trade::workflow::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub mod radroots_trade::workflow +#[non_exhaustive] pub enum radroots_trade::workflow::ErrorKind +pub radroots_trade::workflow::ErrorKind::InvalidMutation +pub radroots_trade::workflow::ErrorKind::InvalidPrivateTerms +pub radroots_trade::workflow::ErrorKind::MissingMutationId +pub radroots_trade::workflow::ErrorKind::UnsupportedSchema +#[non_exhaustive] pub enum radroots_trade::workflow::WorkflowAction +pub radroots_trade::workflow::WorkflowAction::Deliver +pub radroots_trade::workflow::WorkflowAction::Persist +pub radroots_trade::workflow::WorkflowAction::Sign +pub radroots_trade::workflow::WorkflowAction::VerifyPrivateTerms +pub struct radroots_trade::workflow::Error +impl radroots_trade::workflow::Error +pub const fn radroots_trade::workflow::Error::kind(&self) -> radroots_trade::workflow::ErrorKind +pub const fn radroots_trade::workflow::Error::protocol_error(&self) -> core::option::Option<&radroots_event::trade::TradeProtocolError> +impl core::error::Error for radroots_trade::workflow::Error +pub fn radroots_trade::workflow::Error::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +impl core::fmt::Display for radroots_trade::workflow::Error +pub fn radroots_trade::workflow::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_trade::workflow::PrivateTermsPlan +impl radroots_trade::workflow::PrivateTermsPlan +pub fn radroots_trade::workflow::PrivateTermsPlan::artifact_id(&self) -> &str +pub const fn radroots_trade::workflow::PrivateTermsPlan::candidate_id(&self) -> &radroots_event::id::CandidateId +pub fn radroots_trade::workflow::PrivateTermsPlan::ciphertext_commitment(&self) -> &str +pub fn radroots_trade::workflow::PrivateTermsPlan::schema_id(&self) -> &str +pub struct radroots_trade::workflow::WorkflowPlan +impl radroots_trade::workflow::WorkflowPlan +pub fn radroots_trade::workflow::WorkflowPlan::into_mutation(self) -> radroots_event::trade::TradeMutationEnvelopeV1 +pub const fn radroots_trade::workflow::WorkflowPlan::kind(&self) -> radroots_event::trade::TradeMutationKindV1 +pub const fn radroots_trade::workflow::WorkflowPlan::mutation(&self) -> &radroots_event::trade::TradeMutationEnvelopeV1 +pub const fn radroots_trade::workflow::WorkflowPlan::mutation_id(&self) -> &radroots_event::id::MutationId +pub fn radroots_trade::workflow::WorkflowPlan::prepare(radroots_event::trade::TradeMutationEnvelopeV1) -> core::result::Result<Self, radroots_trade::workflow::Error> +pub const fn radroots_trade::workflow::WorkflowPlan::private_terms(&self) -> core::option::Option<&radroots_trade::workflow::PrivateTermsPlan> +pub fn radroots_trade::workflow::WorkflowPlan::required_actions(&self) -> &[radroots_trade::workflow::WorkflowAction] +pub const fn radroots_trade::workflow::WorkflowPlan::trade_id(&self) -> &radroots_event::id::TradeId +pub enum radroots_trade::ReducerIssue +pub radroots_trade::ReducerIssue::CancellationConflict +pub radroots_trade::ReducerIssue::CancellationConflict::cancellation_mutation_id: radroots_event::id::MutationId +pub radroots_trade::ReducerIssue::CandidateIdMismatch +pub radroots_trade::ReducerIssue::CandidateIdMismatch::decision_mutation_id: radroots_event::id::MutationId +pub radroots_trade::ReducerIssue::CandidateIdMismatch::proposal_mutation_id: radroots_event::id::MutationId +pub radroots_trade::ReducerIssue::DecisionAuthorMismatch +pub radroots_trade::ReducerIssue::DecisionAuthorMismatch::decision_mutation_id: radroots_event::id::MutationId +pub radroots_trade::ReducerIssue::DecisionConflict +pub radroots_trade::ReducerIssue::DecisionConflict::proposal_mutation_id: radroots_event::id::MutationId +pub radroots_trade::ReducerIssue::DecisionParentMissing +pub radroots_trade::ReducerIssue::DecisionParentMissing::decision_mutation_id: radroots_event::id::MutationId +pub radroots_trade::ReducerIssue::DecisionParentMissing::proposal_mutation_id: radroots_event::id::MutationId +pub radroots_trade::ReducerIssue::DoubleAcceptance +pub radroots_trade::ReducerIssue::DoubleAcceptance::proposal_mutation_id: radroots_event::id::MutationId +pub radroots_trade::ReducerIssue::InvalidCausalChain +pub radroots_trade::ReducerIssue::InvalidCausalChain::mutation_id: radroots_event::id::MutationId +pub radroots_trade::ReducerIssue::InvalidMutation +pub radroots_trade::ReducerIssue::InvalidMutation::mutation_id: core::option::Option<radroots_event::id::MutationId> +pub radroots_trade::ReducerIssue::InvalidMutation::reason: alloc::string::String +pub radroots_trade::ReducerIssue::MissingMutationId +pub radroots_trade::ReducerIssue::MissingParent +pub radroots_trade::ReducerIssue::MissingParent::mutation_id: radroots_event::id::MutationId +pub radroots_trade::ReducerIssue::MissingParent::parent_mutation_id: radroots_event::id::MutationId +pub radroots_trade::ReducerIssue::MissingProposal +pub radroots_trade::ReducerIssue::MissingProposal::decision_mutation_id: radroots_event::id::MutationId +pub radroots_trade::ReducerIssue::MissingProposal::proposal_mutation_id: radroots_event::id::MutationId +pub radroots_trade::ReducerIssue::MissingRootProposal +pub radroots_trade::ReducerIssue::MissingSellerReservation +pub radroots_trade::ReducerIssue::MissingSellerReservation::decision_mutation_id: radroots_event::id::MutationId +pub radroots_trade::ReducerIssue::MultipleRootProposals +pub radroots_trade::ReducerIssue::PrivateTermsUnavailable +pub radroots_trade::ReducerIssue::PrivateTermsUnavailable::candidate_id: radroots_event::id::CandidateId +pub radroots_trade::ReducerIssue::ProjectionDigestUnavailable +pub radroots_trade::ReducerIssue::ProjectionDigestUnavailable::reason: alloc::string::String +pub radroots_trade::ReducerIssue::ReservationAuthorityMismatch +pub radroots_trade::ReducerIssue::ReservationAuthorityMismatch::decision_mutation_id: radroots_event::id::MutationId +pub radroots_trade::ReducerIssue::ReservationCandidateMismatch +pub radroots_trade::ReducerIssue::ReservationCandidateMismatch::decision_mutation_id: radroots_event::id::MutationId +pub radroots_trade::ReducerIssue::ReservationLineMismatch +pub radroots_trade::ReducerIssue::ReservationLineMismatch::decision_mutation_id: radroots_event::id::MutationId +pub radroots_trade::ReducerIssue::TradeIdentityMismatch +pub radroots_trade::ReducerIssue::TradeIdentityMismatch::mutation_id: radroots_event::id::MutationId +pub radroots_trade::ReducerIssue::UnsupportedSchema +pub radroots_trade::ReducerIssue::UnsupportedSchema::mutation_id: radroots_event::id::MutationId +pub radroots_trade::ReducerIssue::UnsupportedSchema::schema_version: u16 +pub struct radroots_trade::Error +impl radroots_trade::workflow::Error +pub const fn radroots_trade::workflow::Error::kind(&self) -> radroots_trade::workflow::ErrorKind +pub const fn radroots_trade::workflow::Error::protocol_error(&self) -> core::option::Option<&radroots_event::trade::TradeProtocolError> +impl core::error::Error for radroots_trade::workflow::Error +pub fn radroots_trade::workflow::Error::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +impl core::fmt::Display for radroots_trade::workflow::Error +pub fn radroots_trade::workflow::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_trade::Projection +impl radroots_trade::Projection +pub fn radroots_trade::Projection::active_agreement_claim_ids(&self) -> &[radroots_event::id::MutationId] +pub fn radroots_trade::Projection::agreement_claims(&self) -> &[radroots_trade::model::RadrootsTradeAgreementClaimV1] +pub const fn radroots_trade::Projection::agreement_state(&self) -> radroots_trade::model::RadrootsTradeAgreementStateV1 +pub const fn radroots_trade::Projection::attestation_state(&self) -> radroots_trade::model::RadrootsTradeAttestationStateV1 +pub fn radroots_trade::Projection::attestations(&self) -> &[radroots_trade::evidence::RadrootsTradeAttestationRecordV1] +pub const fn radroots_trade::Projection::buyer_pubkey(&self) -> core::option::Option<&radroots_identity::key::PublicKey> +pub fn radroots_trade::Projection::cancelled_claim_ids(&self) -> &[radroots_event::id::MutationId] +pub fn radroots_trade::Projection::candidate_heads(&self) -> &[radroots_event::id::MutationId] +pub const fn radroots_trade::Projection::conflict_state(&self) -> radroots_trade::model::RadrootsTradeConflictStateV1 +pub fn radroots_trade::Projection::contested_claim_ids(&self) -> &[radroots_event::id::MutationId] +pub fn radroots_trade::Projection::declined_candidate_ids(&self) -> &[radroots_event::id::CandidateId] +pub const fn radroots_trade::Projection::evidence_state(&self) -> radroots_trade::evidence::RadrootsTradeEvidenceStateV1 +pub const fn radroots_trade::Projection::farm_id(&self) -> core::option::Option<&radroots_event::id::DTag> +pub const fn radroots_trade::Projection::fulfillment_state(&self) -> radroots_trade::model::RadrootsTradeFulfillmentStateV1 +pub fn radroots_trade::Projection::issues(&self) -> &[radroots_trade::ReducerIssue] +pub fn radroots_trade::Projection::missing_parent_ids(&self) -> &[radroots_event::id::MutationId] +pub fn radroots_trade::Projection::missing_proposal_ids(&self) -> &[radroots_event::id::MutationId] +pub const fn radroots_trade::Projection::negotiation_state(&self) -> radroots_trade::model::RadrootsTradeNegotiationStateV1 +pub const fn radroots_trade::Projection::payment_state(&self) -> radroots_trade::model::RadrootsTradePaymentStateV1 +pub const fn radroots_trade::Projection::private_terms_state(&self) -> radroots_trade::model::RadrootsTradePrivateTermsStateV1 +pub fn radroots_trade::Projection::projection_digest(&self) -> &str +pub fn radroots_trade::Projection::reducer_contract_id(&self) -> &str +pub const fn radroots_trade::Projection::reducer_version(&self) -> u16 +pub const fn radroots_trade::Projection::root_mutation_id(&self) -> core::option::Option<&radroots_event::id::MutationId> +pub const fn radroots_trade::Projection::seller_pubkey(&self) -> core::option::Option<&radroots_identity::key::PublicKey> +pub const fn radroots_trade::Projection::trade_id(&self) -> &radroots_event::id::TradeId +pub fn radroots_trade::Projection::unsupported_mutation_ids(&self) -> &[radroots_event::id::MutationId] +pub struct radroots_trade::ReductionInput +impl radroots_trade::ReductionInput +pub fn radroots_trade::ReductionInput::attestations(&self) -> &[radroots_trade::evidence::RadrootsTradeAttestationRecordV1] +pub const fn radroots_trade::ReductionInput::evidence_state(&self) -> radroots_trade::evidence::RadrootsTradeEvidenceStateV1 +pub fn radroots_trade::ReductionInput::mutations(&self) -> &[radroots_trade::evidence::RadrootsTradeMutationRecordV1] +pub fn radroots_trade::ReductionInput::new(radroots_event::id::TradeId) -> Self +pub const fn radroots_trade::ReductionInput::observed_at_unix_s(&self) -> core::option::Option<u64> +pub fn radroots_trade::ReductionInput::private_terms(&self) -> &[radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1] +pub const fn radroots_trade::ReductionInput::trade_id(&self) -> &radroots_event::id::TradeId +pub fn radroots_trade::ReductionInput::with_attestations(self, alloc::vec::Vec<radroots_trade::evidence::RadrootsTradeAttestationRecordV1>) -> Self +pub fn radroots_trade::ReductionInput::with_evidence_state(self, radroots_trade::evidence::RadrootsTradeEvidenceStateV1) -> Self +pub fn radroots_trade::ReductionInput::with_mutations(self, alloc::vec::Vec<radroots_trade::evidence::RadrootsTradeMutationRecordV1>) -> Self +pub fn radroots_trade::ReductionInput::with_observed_at_unix_s(self, core::option::Option<u64>) -> Self +pub fn radroots_trade::ReductionInput::with_private_terms(self, alloc::vec::Vec<radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1>) -> Self +pub struct radroots_trade::ValidationError +impl radroots_trade::workflow::Error +pub const fn radroots_trade::workflow::Error::kind(&self) -> radroots_trade::workflow::ErrorKind +pub const fn radroots_trade::workflow::Error::protocol_error(&self) -> core::option::Option<&radroots_event::trade::TradeProtocolError> +impl core::error::Error for radroots_trade::workflow::Error +pub fn radroots_trade::workflow::Error::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +impl core::fmt::Display for radroots_trade::workflow::Error +pub fn radroots_trade::workflow::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_trade::WorkflowPlan +impl radroots_trade::workflow::WorkflowPlan +pub fn radroots_trade::workflow::WorkflowPlan::into_mutation(self) -> radroots_event::trade::TradeMutationEnvelopeV1 +pub const fn radroots_trade::workflow::WorkflowPlan::kind(&self) -> radroots_event::trade::TradeMutationKindV1 +pub const fn radroots_trade::workflow::WorkflowPlan::mutation(&self) -> &radroots_event::trade::TradeMutationEnvelopeV1 +pub const fn radroots_trade::workflow::WorkflowPlan::mutation_id(&self) -> &radroots_event::id::MutationId +pub fn radroots_trade::workflow::WorkflowPlan::prepare(radroots_event::trade::TradeMutationEnvelopeV1) -> core::result::Result<Self, radroots_trade::workflow::Error> +pub const fn radroots_trade::workflow::WorkflowPlan::private_terms(&self) -> core::option::Option<&radroots_trade::workflow::PrivateTermsPlan> +pub fn radroots_trade::workflow::WorkflowPlan::required_actions(&self) -> &[radroots_trade::workflow::WorkflowAction] +pub const fn radroots_trade::workflow::WorkflowPlan::trade_id(&self) -> &radroots_event::id::TradeId diff --git a/contracts/api_baselines/radroots_transport.txt b/contracts/api_baselines/radroots_transport.txt @@ -0,0 +1,683 @@ +pub mod radroots_transport +pub mod radroots_transport::capability +pub enum radroots_transport::capability::Availability +pub radroots_transport::capability::Availability::Available +pub radroots_transport::capability::Availability::Degraded +pub radroots_transport::capability::Availability::Unavailable +impl core::convert::From<radroots_protocol::capability::v1::Availability> for radroots_transport::capability::Availability +pub fn radroots_transport::capability::Availability::from(radroots_protocol::capability::v1::Availability) -> Self +impl core::convert::From<radroots_transport::capability::Availability> for radroots_protocol::capability::v1::Availability +pub fn radroots_protocol::capability::v1::Availability::from(radroots_transport::capability::Availability) -> Self +pub enum radroots_transport::capability::Maturity +pub radroots_transport::capability::Maturity::Experimental +pub radroots_transport::capability::Maturity::Preview +pub radroots_transport::capability::Maturity::Stable +impl core::convert::From<radroots_protocol::capability::v1::Maturity> for radroots_transport::capability::Maturity +pub fn radroots_transport::capability::Maturity::from(radroots_protocol::capability::v1::Maturity) -> Self +impl core::convert::From<radroots_transport::capability::Maturity> for radroots_protocol::capability::v1::Maturity +pub fn radroots_protocol::capability::v1::Maturity::from(radroots_transport::capability::Maturity) -> Self +pub struct radroots_transport::capability::SinkCapabilities +impl radroots_transport::capability::SinkCapabilities +pub const radroots_transport::capability::SinkCapabilities::DELIVER: Self +pub const radroots_transport::capability::SinkCapabilities::NONE: Self +pub const fn radroots_transport::capability::SinkCapabilities::can_deliver(self) -> bool +pub const fn radroots_transport::capability::SinkCapabilities::can_gateway_forward(self) -> bool +pub const fn radroots_transport::capability::SinkCapabilities::can_observe_receipts(self) -> bool +pub const fn radroots_transport::capability::SinkCapabilities::with_gateway_forwarding(self, bool) -> Self +pub const fn radroots_transport::capability::SinkCapabilities::with_receipt_observation(self, bool) -> Self +impl core::convert::From<&radroots_protocol::capability::v1::TransportDescriptor> for radroots_transport::capability::SinkCapabilities +pub fn radroots_transport::capability::SinkCapabilities::from(&radroots_protocol::capability::v1::TransportDescriptor) -> Self +pub struct radroots_transport::capability::SourceCapabilities +impl radroots_transport::capability::SourceCapabilities +pub const radroots_transport::capability::SourceCapabilities::FETCH: Self +pub const radroots_transport::capability::SourceCapabilities::NONE: Self +pub const fn radroots_transport::capability::SourceCapabilities::can_discover(self) -> bool +pub const fn radroots_transport::capability::SourceCapabilities::can_fetch(self) -> bool +pub const fn radroots_transport::capability::SourceCapabilities::with_discovery(self, bool) -> Self +impl core::convert::From<&radroots_protocol::capability::v1::TransportDescriptor> for radroots_transport::capability::SourceCapabilities +pub fn radroots_transport::capability::SourceCapabilities::from(&radroots_protocol::capability::v1::TransportDescriptor) -> Self +pub mod radroots_transport::endpoint +pub struct radroots_transport::endpoint::EndpointUri(_) +impl radroots_transport::target::EndpointUri +pub fn radroots_transport::target::EndpointUri::as_str(&self) -> &str +pub fn radroots_transport::target::EndpointUri::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_transport::error::Error> +impl core::convert::AsRef<str> for radroots_transport::target::EndpointUri +pub fn radroots_transport::target::EndpointUri::as_ref(&self) -> &str +impl core::convert::TryFrom<&str> for radroots_transport::target::EndpointUri +pub type radroots_transport::target::EndpointUri::Error = radroots_transport::error::Error +pub fn radroots_transport::target::EndpointUri::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_transport::target::EndpointUri +pub fn radroots_transport::target::EndpointUri::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_transport::target::EndpointUri +pub type radroots_transport::target::EndpointUri::Err = radroots_transport::error::Error +pub fn radroots_transport::target::EndpointUri::from_str(&str) -> core::result::Result<Self, Self::Err> +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::target::EndpointUri +pub fn radroots_transport::target::EndpointUri::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::endpoint::TargetLabel(_) +impl radroots_transport::target::TargetLabel +pub fn radroots_transport::target::TargetLabel::as_str(&self) -> &str +pub fn radroots_transport::target::TargetLabel::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_transport::error::Error> +impl core::convert::AsRef<str> for radroots_transport::target::TargetLabel +pub fn radroots_transport::target::TargetLabel::as_ref(&self) -> &str +impl core::convert::TryFrom<&str> for radroots_transport::target::TargetLabel +pub type radroots_transport::target::TargetLabel::Error = radroots_transport::error::Error +pub fn radroots_transport::target::TargetLabel::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_transport::target::TargetLabel +pub fn radroots_transport::target::TargetLabel::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_transport::target::TargetLabel +pub type radroots_transport::target::TargetLabel::Err = radroots_transport::error::Error +pub fn radroots_transport::target::TargetLabel::from_str(&str) -> core::result::Result<Self, Self::Err> +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::target::TargetLabel +pub fn radroots_transport::target::TargetLabel::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::endpoint::TargetScope(_) +impl radroots_transport::target::TargetScope +pub fn radroots_transport::target::TargetScope::as_str(&self) -> &str +pub fn radroots_transport::target::TargetScope::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_transport::error::Error> +impl core::convert::AsRef<str> for radroots_transport::target::TargetScope +pub fn radroots_transport::target::TargetScope::as_ref(&self) -> &str +impl core::convert::TryFrom<&str> for radroots_transport::target::TargetScope +pub type radroots_transport::target::TargetScope::Error = radroots_transport::error::Error +pub fn radroots_transport::target::TargetScope::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_transport::target::TargetScope +pub fn radroots_transport::target::TargetScope::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_transport::target::TargetScope +pub type radroots_transport::target::TargetScope::Err = radroots_transport::error::Error +pub fn radroots_transport::target::TargetScope::from_str(&str) -> core::result::Result<Self, Self::Err> +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::target::TargetScope +pub fn radroots_transport::target::TargetScope::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub const radroots_transport::endpoint::ENDPOINT_URI_MAX_BYTES: usize +pub const radroots_transport::endpoint::TARGET_LABEL_MAX_BYTES: usize +pub const radroots_transport::endpoint::TARGET_SCOPE_MAX_BYTES: usize +pub mod radroots_transport::error +pub enum radroots_transport::error::Error +pub radroots_transport::error::Error::DeliveryReceiptRequestIdMismatch +pub radroots_transport::error::Error::DeliveryReceiptTargetSetMismatch +pub radroots_transport::error::Error::DeliveryTargetReceiptAttemptMismatch +pub radroots_transport::error::Error::DeliveryTargetReceiptStatusMismatch +pub radroots_transport::error::Error::DuplicateDeliveryTargetReceipt +pub radroots_transport::error::Error::DuplicateFetchAuthor +pub radroots_transport::error::Error::DuplicateFetchKind +pub radroots_transport::error::Error::DuplicateFetchTargetOutcome +pub radroots_transport::error::Error::DuplicateRequiredTargetFingerprint +pub radroots_transport::error::Error::DuplicateTargetFingerprint +pub radroots_transport::error::Error::EmptyDeliveryRequestId +pub radroots_transport::error::Error::EmptyFetchCursor +pub radroots_transport::error::Error::EmptyFetchRequestId +pub radroots_transport::error::Error::EmptyPayloadBytes +pub radroots_transport::error::Error::EmptyPayloadId +pub radroots_transport::error::Error::EmptyPayloadLabel +pub radroots_transport::error::Error::EmptyRequiredTargetSet +pub radroots_transport::error::Error::EmptyTargetLabel +pub radroots_transport::error::Error::EmptyTargetScope +pub radroots_transport::error::Error::EmptyTargetSet +pub radroots_transport::error::Error::EmptyTargetUri +pub radroots_transport::error::Error::EmptyTransportKind +pub radroots_transport::error::Error::FetchPageLimitExceeded +pub radroots_transport::error::Error::FetchPageRequestMismatch +pub radroots_transport::error::Error::FetchSelectorTooLarge +pub radroots_transport::error::Error::InvalidDeliveryDeadline +pub radroots_transport::error::Error::InvalidDeliveryOutcome +pub radroots_transport::error::Error::InvalidDeliveryRequestId +pub radroots_transport::error::Error::InvalidDeliveryTimestamp +pub radroots_transport::error::Error::InvalidFetchCursor +pub radroots_transport::error::Error::InvalidFetchDeadline +pub radroots_transport::error::Error::InvalidFetchLimit +pub radroots_transport::error::Error::InvalidFetchRequestId +pub radroots_transport::error::Error::InvalidFetchTimeRange +pub radroots_transport::error::Error::InvalidObservedAt +pub radroots_transport::error::Error::InvalidPayloadBytes +pub radroots_transport::error::Error::InvalidPayloadDigest +pub radroots_transport::error::Error::InvalidPayloadId +pub radroots_transport::error::Error::InvalidPayloadLabel +pub radroots_transport::error::Error::InvalidSatisfactionPolicy +pub radroots_transport::error::Error::InvalidTargetFingerprint +pub radroots_transport::error::Error::InvalidTargetLabel +pub radroots_transport::error::Error::InvalidTargetScope +pub radroots_transport::error::Error::InvalidTargetUri +pub radroots_transport::error::Error::InvalidTransportKind +pub radroots_transport::error::Error::MissingDeliveryTargetReceipt +pub radroots_transport::error::Error::PayloadDigestMismatch +pub radroots_transport::error::Error::RequiredTargetNotRequested +pub radroots_transport::error::Error::TargetSetTooLarge +pub radroots_transport::error::Error::TransportOutcomeStatusMismatch +pub radroots_transport::error::Error::UnexpectedDeliveryTargetReceipt +pub radroots_transport::error::Error::UnexpectedFetchEvent +pub radroots_transport::error::Error::UnexpectedFetchProvenance +pub radroots_transport::error::Error::UnexpectedFetchTargetOutcome +pub radroots_transport::error::Error::UnsupportedOperation +impl core::fmt::Display for radroots_transport::error::Error +pub fn radroots_transport::error::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub mod radroots_transport::outcome +pub enum radroots_transport::outcome::DeliveryOutcomeKind +pub radroots_transport::outcome::DeliveryOutcomeKind::Accepted +pub radroots_transport::outcome::DeliveryOutcomeKind::Delivered +pub radroots_transport::outcome::DeliveryOutcomeKind::Failed +pub radroots_transport::outcome::DeliveryOutcomeKind::Rejected +pub radroots_transport::outcome::DeliveryOutcomeKind::Unavailable +pub enum radroots_transport::outcome::FetchTargetState +pub radroots_transport::outcome::FetchTargetState::Cancelled +pub radroots_transport::outcome::FetchTargetState::Complete +pub radroots_transport::outcome::FetchTargetState::FailedRetryable +pub radroots_transport::outcome::FetchTargetState::FailedTerminal +pub radroots_transport::outcome::FetchTargetState::Partial +pub radroots_transport::outcome::FetchTargetState::Unavailable +impl radroots_transport::outcome::FetchTargetState +pub const fn radroots_transport::outcome::FetchTargetState::is_retryable(self) -> bool +pub const fn radroots_transport::outcome::FetchTargetState::is_terminal(self) -> bool +pub enum radroots_transport::outcome::Retryability +pub radroots_transport::outcome::Retryability::NotApplicable +pub radroots_transport::outcome::Retryability::Retryable +pub radroots_transport::outcome::Retryability::Terminal +pub struct radroots_transport::outcome::DeliveryOutcome +impl radroots_transport::outcome::DeliveryOutcome +pub const fn radroots_transport::outcome::DeliveryOutcome::accepted() -> Self +pub fn radroots_transport::outcome::DeliveryOutcome::code(&self) -> core::option::Option<&str> +pub const fn radroots_transport::outcome::DeliveryOutcome::delivered() -> Self +pub const fn radroots_transport::outcome::DeliveryOutcome::failed(radroots_transport::outcome::Retryability) -> core::result::Result<Self, radroots_transport::error::Error> +pub const fn radroots_transport::outcome::DeliveryOutcome::is_retryable(&self) -> bool +pub const fn radroots_transport::outcome::DeliveryOutcome::is_terminal(&self) -> bool +pub const fn radroots_transport::outcome::DeliveryOutcome::kind(&self) -> radroots_transport::outcome::DeliveryOutcomeKind +pub fn radroots_transport::outcome::DeliveryOutcome::message(&self) -> core::option::Option<&str> +pub const fn radroots_transport::outcome::DeliveryOutcome::rejected() -> Self +pub const fn radroots_transport::outcome::DeliveryOutcome::retryability(&self) -> radroots_transport::outcome::Retryability +pub const fn radroots_transport::outcome::DeliveryOutcome::satisfies(&self, radroots_transport::policy::SatisfactionClass) -> bool +pub const fn radroots_transport::outcome::DeliveryOutcome::unavailable() -> Self +pub fn radroots_transport::outcome::DeliveryOutcome::with_detail(self, impl core::convert::Into<alloc::string::String>, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_transport::error::Error> +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::outcome::DeliveryOutcome +pub fn radroots_transport::outcome::DeliveryOutcome::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::outcome::FetchTargetOutcome +impl radroots_transport::outcome::FetchTargetOutcome +pub fn radroots_transport::outcome::FetchTargetOutcome::message(&self) -> core::option::Option<&str> +pub const fn radroots_transport::outcome::FetchTargetOutcome::new(radroots_transport::target::TargetFingerprint, radroots_transport::outcome::FetchTargetState) -> Self +pub const fn radroots_transport::outcome::FetchTargetOutcome::state(&self) -> radroots_transport::outcome::FetchTargetState +pub const fn radroots_transport::outcome::FetchTargetOutcome::target(&self) -> &radroots_transport::target::TargetFingerprint +pub fn radroots_transport::outcome::FetchTargetOutcome::with_message(self, impl core::convert::Into<alloc::string::String>) -> Self +pub const radroots_transport::outcome::DELIVERY_OUTCOME_CODE_MAX_BYTES: usize +pub const radroots_transport::outcome::DELIVERY_OUTCOME_MESSAGE_MAX_BYTES: usize +pub mod radroots_transport::policy +pub enum radroots_transport::policy::SatisfactionClass +pub radroots_transport::policy::SatisfactionClass::Accepted +pub radroots_transport::policy::SatisfactionClass::Delivered +pub enum radroots_transport::policy::SatisfactionState +pub radroots_transport::policy::SatisfactionState::Exhausted +pub radroots_transport::policy::SatisfactionState::Pending +pub radroots_transport::policy::SatisfactionState::Satisfied +pub struct radroots_transport::policy::SatisfactionPolicy +impl radroots_transport::policy::SatisfactionPolicy +pub const fn radroots_transport::policy::SatisfactionPolicy::class(&self) -> radroots_transport::policy::SatisfactionClass +pub const fn radroots_transport::policy::SatisfactionPolicy::new(radroots_transport::policy::SatisfactionClass, radroots_transport::policy::TargetPolicy) -> Self +pub const fn radroots_transport::policy::SatisfactionPolicy::targets(&self) -> &radroots_transport::policy::TargetPolicy +pub fn radroots_transport::policy::SatisfactionPolicy::validate_for(&self, &radroots_transport::target::TargetSet) -> core::result::Result<(), radroots_transport::error::Error> +pub struct radroots_transport::policy::TargetPolicy +impl radroots_transport::policy::TargetPolicy +pub const fn radroots_transport::policy::TargetPolicy::all() -> Self +pub const fn radroots_transport::policy::TargetPolicy::any() -> Self +pub const fn radroots_transport::policy::TargetPolicy::is_all(&self) -> bool +pub const fn radroots_transport::policy::TargetPolicy::is_any(&self) -> bool +pub const fn radroots_transport::policy::TargetPolicy::quorum(u16) -> core::result::Result<Self, radroots_transport::error::Error> +pub const fn radroots_transport::policy::TargetPolicy::quorum_threshold(&self) -> core::option::Option<u16> +pub fn radroots_transport::policy::TargetPolicy::required(alloc::vec::Vec<radroots_transport::target::TargetFingerprint>) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::policy::TargetPolicy::required_targets(&self) -> core::option::Option<&[radroots_transport::target::TargetFingerprint]> +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::policy::TargetPolicy +pub fn radroots_transport::policy::TargetPolicy::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub fn radroots_transport::policy::evaluate_satisfaction<'a, I>(&radroots_transport::policy::SatisfactionPolicy, &radroots_transport::target::TargetSet, I) -> core::result::Result<radroots_transport::policy::SatisfactionState, radroots_transport::error::Error> where I: core::iter::traits::collect::IntoIterator<Item = (&'a radroots_transport::target::TargetFingerprint, &'a radroots_transport::outcome::DeliveryOutcome)> +pub mod radroots_transport::sink +pub struct radroots_transport::sink::DeliveryPayload +impl radroots_transport::sink::DeliveryPayload +pub const fn radroots_transport::sink::DeliveryPayload::event(&self) -> &radroots_event::draft::SignedEvent +pub const fn radroots_transport::sink::DeliveryPayload::new(radroots_event::draft::SignedEvent) -> Self +pub struct radroots_transport::sink::DeliveryReceipt +impl radroots_transport::sink::DeliveryReceipt +pub fn radroots_transport::sink::DeliveryReceipt::for_request(&radroots_transport::sink::DeliveryRequest, alloc::vec::Vec<radroots_transport::sink::DeliveryTargetReceipt>) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::sink::DeliveryReceipt::is_satisfied(&self, &radroots_transport::sink::DeliveryRequest) -> core::result::Result<bool, radroots_transport::error::Error> +pub const fn radroots_transport::sink::DeliveryReceipt::request_id(&self) -> &radroots_transport::sink::DeliveryRequestId +pub fn radroots_transport::sink::DeliveryReceipt::satisfaction(&self, &radroots_transport::sink::DeliveryRequest) -> core::result::Result<radroots_transport::policy::SatisfactionState, radroots_transport::error::Error> +pub fn radroots_transport::sink::DeliveryReceipt::target_receipts(&self) -> &[radroots_transport::sink::DeliveryTargetReceipt] +pub fn radroots_transport::sink::DeliveryReceipt::validate_for_request(&self, &radroots_transport::sink::DeliveryRequest) -> core::result::Result<(), radroots_transport::error::Error> +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::sink::DeliveryReceipt +pub fn radroots_transport::sink::DeliveryReceipt::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::sink::DeliveryRequest +impl radroots_transport::sink::DeliveryRequest +pub const fn radroots_transport::sink::DeliveryRequest::deadline_unix_ms(&self) -> u64 +pub fn radroots_transport::sink::DeliveryRequest::new(impl core::convert::Into<alloc::string::String>, radroots_transport::sink::DeliveryPayload, radroots_transport::target::TargetSet, radroots_transport::policy::SatisfactionPolicy, u64) -> core::result::Result<Self, radroots_transport::error::Error> +pub const fn radroots_transport::sink::DeliveryRequest::payload(&self) -> &radroots_transport::sink::DeliveryPayload +pub const fn radroots_transport::sink::DeliveryRequest::request_id(&self) -> &radroots_transport::sink::DeliveryRequestId +pub const fn radroots_transport::sink::DeliveryRequest::satisfaction(&self) -> &radroots_transport::policy::SatisfactionPolicy +pub const fn radroots_transport::sink::DeliveryRequest::target_set(&self) -> &radroots_transport::target::TargetSet +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::sink::DeliveryRequest +pub fn radroots_transport::sink::DeliveryRequest::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::sink::DeliveryRequestId(_) +impl radroots_transport::sink::DeliveryRequestId +pub fn radroots_transport::sink::DeliveryRequestId::as_str(&self) -> &str +pub fn radroots_transport::sink::DeliveryRequestId::parse(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_transport::error::Error> +impl serde_core::ser::Serialize for radroots_transport::sink::DeliveryRequestId +pub fn radroots_transport::sink::DeliveryRequestId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::sink::DeliveryRequestId +pub fn radroots_transport::sink::DeliveryRequestId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::sink::DeliveryTargetReceipt +impl radroots_transport::sink::DeliveryTargetReceipt +pub const fn radroots_transport::sink::DeliveryTargetReceipt::attempted(radroots_transport::target::Target, radroots_transport::outcome::DeliveryOutcome) -> Self +pub const fn radroots_transport::sink::DeliveryTargetReceipt::outcome(&self) -> &radroots_transport::outcome::DeliveryOutcome +pub fn radroots_transport::sink::DeliveryTargetReceipt::skipped(radroots_transport::target::Target, radroots_transport::outcome::DeliveryOutcome) -> core::result::Result<Self, radroots_transport::error::Error> +pub const fn radroots_transport::sink::DeliveryTargetReceipt::target(&self) -> &radroots_transport::target::Target +pub const fn radroots_transport::sink::DeliveryTargetReceipt::was_attempted(&self) -> bool +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::sink::DeliveryTargetReceipt +pub fn radroots_transport::sink::DeliveryTargetReceipt::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::sink::SinkFailure +impl radroots_transport::sink::SinkFailure +pub fn radroots_transport::sink::SinkFailure::code(&self) -> &str +pub fn radroots_transport::sink::SinkFailure::for_request(&radroots_transport::sink::DeliveryRequest, impl core::convert::Into<alloc::string::String>, radroots_transport::outcome::Retryability, core::option::Option<u64>, core::option::Option<alloc::string::String>, alloc::vec::Vec<radroots_transport::sink::DeliveryTargetReceipt>) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::sink::SinkFailure::invalid_contract(&radroots_transport::sink::DeliveryRequest) -> Self +pub fn radroots_transport::sink::SinkFailure::message(&self) -> core::option::Option<&str> +pub fn radroots_transport::sink::SinkFailure::partial_evidence(&self) -> &[radroots_transport::sink::DeliveryTargetReceipt] +pub const fn radroots_transport::sink::SinkFailure::retry_after_unix_ms(&self) -> core::option::Option<u64> +pub const fn radroots_transport::sink::SinkFailure::retryability(&self) -> radroots_transport::outcome::Retryability +pub fn radroots_transport::sink::SinkFailure::validate_for_request(&self, &radroots_transport::sink::DeliveryRequest) -> core::result::Result<(), radroots_transport::error::Error> +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::sink::SinkFailure +pub fn radroots_transport::sink::SinkFailure::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::sink::SinkStatus +impl radroots_transport::SinkStatus +pub const fn radroots_transport::SinkStatus::availability(&self) -> radroots_transport::capability::Availability +pub const fn radroots_transport::SinkStatus::capabilities(&self) -> radroots_transport::capability::SinkCapabilities +pub fn radroots_transport::SinkStatus::from_descriptor(&radroots_protocol::capability::v1::TransportDescriptor, bool, impl core::convert::Into<alloc::string::String>) -> Self +pub const fn radroots_transport::SinkStatus::is_configured(&self) -> bool +pub const fn radroots_transport::SinkStatus::maturity(&self) -> radroots_transport::capability::Maturity +pub fn radroots_transport::SinkStatus::message(&self) -> &str +pub fn radroots_transport::SinkStatus::new(radroots_transport::TransportId, bool, radroots_transport::capability::Maturity, radroots_transport::capability::Availability, radroots_transport::capability::SinkCapabilities, impl core::convert::Into<alloc::string::String>) -> Self +pub const fn radroots_transport::SinkStatus::transport_id(&self) -> radroots_transport::TransportId +pub const radroots_transport::sink::DELIVERY_REQUEST_ID_MAX_BYTES: usize +pub trait radroots_transport::sink::EventSink: core::marker::Send + core::marker::Sync +pub fn radroots_transport::sink::EventSink::deliver(&self, radroots_transport::sink::DeliveryRequest) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_transport::sink::DeliveryReceipt, radroots_transport::sink::SinkFailure>> +pub fn radroots_transport::sink::EventSink::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_transport::SinkStatus, radroots_transport::error::Error>> +pub mod radroots_transport::source +pub enum radroots_transport::source::NextPage +pub radroots_transport::source::NextPage::Cancelled +pub radroots_transport::source::NextPage::Cancelled::resume_from: core::option::Option<radroots_transport::source::FetchCursor> +pub radroots_transport::source::NextPage::Complete +pub radroots_transport::source::NextPage::Cursor(radroots_transport::source::FetchCursor) +pub struct radroots_transport::source::EventProvenance +impl radroots_transport::source::EventProvenance +pub const fn radroots_transport::source::EventProvenance::cursor(&self) -> core::option::Option<&radroots_transport::source::FetchCursor> +pub fn radroots_transport::source::EventProvenance::new(radroots_transport::TransportId, radroots_transport::target::TargetFingerprint, u64) -> core::result::Result<Self, radroots_transport::error::Error> +pub const fn radroots_transport::source::EventProvenance::observed_at_unix_ms(&self) -> u64 +pub const fn radroots_transport::source::EventProvenance::target(&self) -> &radroots_transport::target::TargetFingerprint +pub const fn radroots_transport::source::EventProvenance::transport_id(&self) -> radroots_transport::TransportId +pub fn radroots_transport::source::EventProvenance::with_cursor(self, radroots_transport::source::FetchCursor) -> Self +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::source::EventProvenance +pub fn radroots_transport::source::EventProvenance::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::source::FetchBounds +impl radroots_transport::source::FetchBounds +pub const fn radroots_transport::source::FetchBounds::deadline_unix_ms(self) -> u64 +pub const fn radroots_transport::source::FetchBounds::limit(self) -> u16 +pub const fn radroots_transport::source::FetchBounds::new(u16, u64) -> core::result::Result<Self, radroots_transport::error::Error> +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::source::FetchBounds +pub fn radroots_transport::source::FetchBounds::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::source::FetchCursor(_) +impl radroots_transport::source::FetchCursor +pub fn radroots_transport::source::FetchCursor::as_str(&self) -> &str +pub fn radroots_transport::source::FetchCursor::parse(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_transport::error::Error> +impl core::fmt::Display for radroots_transport::source::FetchCursor +pub fn radroots_transport::source::FetchCursor::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl serde_core::ser::Serialize for radroots_transport::source::FetchCursor +pub fn radroots_transport::source::FetchCursor::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::source::FetchCursor +pub fn radroots_transport::source::FetchCursor::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::source::FetchPage +impl radroots_transport::source::FetchPage +pub fn radroots_transport::source::FetchPage::events(&self) -> &[radroots_transport::source::ObservedEvent] +pub fn radroots_transport::source::FetchPage::for_request(&radroots_transport::source::FetchRequest, alloc::vec::Vec<radroots_transport::source::ObservedEvent>, alloc::vec::Vec<radroots_transport::outcome::FetchTargetOutcome>, radroots_transport::source::NextPage) -> core::result::Result<Self, radroots_transport::error::Error> +pub const fn radroots_transport::source::FetchPage::next_page(&self) -> &radroots_transport::source::NextPage +pub const fn radroots_transport::source::FetchPage::request_id(&self) -> &radroots_transport::source::FetchRequestId +pub fn radroots_transport::source::FetchPage::target_outcomes(&self) -> &[radroots_transport::outcome::FetchTargetOutcome] +pub fn radroots_transport::source::FetchPage::validate(&self) -> core::result::Result<(), radroots_transport::error::Error> +pub fn radroots_transport::source::FetchPage::validate_for_request(&self, &radroots_transport::source::FetchRequest) -> core::result::Result<(), radroots_transport::error::Error> +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::source::FetchPage +pub fn radroots_transport::source::FetchPage::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::source::FetchRequest +impl radroots_transport::source::FetchRequest +pub const fn radroots_transport::source::FetchRequest::bounds(&self) -> radroots_transport::source::FetchBounds +pub fn radroots_transport::source::FetchRequest::cursor(&self) -> core::option::Option<&radroots_transport::source::FetchCursor> +pub fn radroots_transport::source::FetchRequest::new(impl core::convert::Into<alloc::string::String>, radroots_transport::target::TargetSet, radroots_transport::source::FetchBounds) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::source::FetchRequest::request_id(&self) -> &radroots_transport::source::FetchRequestId +pub const fn radroots_transport::source::FetchRequest::selector(&self) -> &radroots_transport::source::FetchSelector +pub fn radroots_transport::source::FetchRequest::target_set(&self) -> &radroots_transport::target::TargetSet +pub fn radroots_transport::source::FetchRequest::with_cursor(self, radroots_transport::source::FetchCursor) -> Self +pub fn radroots_transport::source::FetchRequest::with_selector(self, radroots_transport::source::FetchSelector) -> Self +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::source::FetchRequest +pub fn radroots_transport::source::FetchRequest::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::source::FetchRequestId(_) +impl radroots_transport::source::FetchRequestId +pub fn radroots_transport::source::FetchRequestId::as_str(&self) -> &str +pub fn radroots_transport::source::FetchRequestId::parse(impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_transport::error::Error> +impl core::fmt::Display for radroots_transport::source::FetchRequestId +pub fn radroots_transport::source::FetchRequestId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl serde_core::ser::Serialize for radroots_transport::source::FetchRequestId +pub fn radroots_transport::source::FetchRequestId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::source::FetchRequestId +pub fn radroots_transport::source::FetchRequestId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::source::FetchSelector +impl radroots_transport::source::FetchSelector +pub const fn radroots_transport::source::FetchSelector::all() -> Self +pub fn radroots_transport::source::FetchSelector::authors(&self) -> &[radroots_identity::key::PublicKey] +pub fn radroots_transport::source::FetchSelector::kinds(&self) -> &[u32] +pub fn radroots_transport::source::FetchSelector::matches(&self, &radroots_event::draft::SignedEvent) -> bool +pub const fn radroots_transport::source::FetchSelector::since_unix_seconds(&self) -> core::option::Option<u64> +pub const fn radroots_transport::source::FetchSelector::until_unix_seconds(&self) -> core::option::Option<u64> +pub fn radroots_transport::source::FetchSelector::with_authors(self, alloc::vec::Vec<radroots_identity::key::PublicKey>) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::source::FetchSelector::with_kinds(self, alloc::vec::Vec<u32>) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::source::FetchSelector::with_since_unix_seconds(self, u64) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::source::FetchSelector::with_until_unix_seconds(self, u64) -> core::result::Result<Self, radroots_transport::error::Error> +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::source::FetchSelector +pub fn radroots_transport::source::FetchSelector::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::source::ObservedEvent +impl radroots_transport::source::ObservedEvent +pub const fn radroots_transport::source::ObservedEvent::event(&self) -> &radroots_event::draft::SignedEvent +pub const fn radroots_transport::source::ObservedEvent::new(radroots_event::draft::SignedEvent, radroots_transport::source::EventProvenance) -> Self +pub const fn radroots_transport::source::ObservedEvent::provenance(&self) -> &radroots_transport::source::EventProvenance +pub struct radroots_transport::source::SourceStatus +impl radroots_transport::SourceStatus +pub const fn radroots_transport::SourceStatus::availability(&self) -> radroots_transport::capability::Availability +pub const fn radroots_transport::SourceStatus::capabilities(&self) -> radroots_transport::capability::SourceCapabilities +pub fn radroots_transport::SourceStatus::from_descriptor(&radroots_protocol::capability::v1::TransportDescriptor, bool, impl core::convert::Into<alloc::string::String>) -> Self +pub const fn radroots_transport::SourceStatus::is_configured(&self) -> bool +pub const fn radroots_transport::SourceStatus::maturity(&self) -> radroots_transport::capability::Maturity +pub fn radroots_transport::SourceStatus::message(&self) -> &str +pub fn radroots_transport::SourceStatus::new(radroots_transport::TransportId, bool, radroots_transport::capability::Maturity, radroots_transport::capability::Availability, radroots_transport::capability::SourceCapabilities, impl core::convert::Into<alloc::string::String>) -> Self +pub const fn radroots_transport::SourceStatus::transport_id(&self) -> radroots_transport::TransportId +pub const radroots_transport::source::FETCH_CURSOR_MAX_BYTES: usize +pub const radroots_transport::source::FETCH_PAGE_MAX_EVENTS: u16 +pub const radroots_transport::source::FETCH_REQUEST_ID_MAX_BYTES: usize +pub const radroots_transport::source::FETCH_SELECTOR_MAX_AUTHORS: usize +pub const radroots_transport::source::FETCH_SELECTOR_MAX_KINDS: usize +pub trait radroots_transport::source::EventSource: core::marker::Send + core::marker::Sync +pub fn radroots_transport::source::EventSource::fetch(&self, radroots_transport::source::FetchRequest) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_transport::source::FetchPage, radroots_transport::error::Error>> +pub fn radroots_transport::source::EventSource::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_transport::SourceStatus, radroots_transport::error::Error>> +pub type radroots_transport::source::BoxFuture<'a, T> = core::pin::Pin<alloc::boxed::Box<(dyn core::future::future::Future<Output = T> + core::marker::Send + 'a)>> +pub mod radroots_transport::target +pub struct radroots_transport::target::EndpointUri(_) +impl radroots_transport::target::EndpointUri +pub fn radroots_transport::target::EndpointUri::as_str(&self) -> &str +pub fn radroots_transport::target::EndpointUri::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_transport::error::Error> +impl core::convert::AsRef<str> for radroots_transport::target::EndpointUri +pub fn radroots_transport::target::EndpointUri::as_ref(&self) -> &str +impl core::convert::TryFrom<&str> for radroots_transport::target::EndpointUri +pub type radroots_transport::target::EndpointUri::Error = radroots_transport::error::Error +pub fn radroots_transport::target::EndpointUri::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_transport::target::EndpointUri +pub fn radroots_transport::target::EndpointUri::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_transport::target::EndpointUri +pub type radroots_transport::target::EndpointUri::Err = radroots_transport::error::Error +pub fn radroots_transport::target::EndpointUri::from_str(&str) -> core::result::Result<Self, Self::Err> +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::target::EndpointUri +pub fn radroots_transport::target::EndpointUri::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::target::Target +impl radroots_transport::target::Target +pub fn radroots_transport::target::Target::fingerprint(&self) -> &radroots_transport::target::TargetFingerprint +pub fn radroots_transport::target::Target::kind(&self) -> &radroots_transport::TransportId +pub fn radroots_transport::target::Target::label(&self) -> core::option::Option<&radroots_transport::target::TargetLabel> +pub fn radroots_transport::target::Target::local(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::target::Target::local_with_metadata(impl core::convert::AsRef<str>, core::option::Option<radroots_transport::target::TargetScope>, core::option::Option<radroots_transport::target::TargetLabel>) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::target::Target::new(radroots_transport::TransportId, impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::target::Target::new_with_metadata(radroots_transport::TransportId, impl core::convert::AsRef<str>, core::option::Option<radroots_transport::target::TargetScope>, core::option::Option<radroots_transport::target::TargetLabel>) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::target::Target::nostr_relay(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::target::Target::nostr_relay_with_metadata(impl core::convert::AsRef<str>, core::option::Option<radroots_transport::target::TargetScope>, core::option::Option<radroots_transport::target::TargetLabel>) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::target::Target::scope(&self) -> core::option::Option<&radroots_transport::target::TargetScope> +pub fn radroots_transport::target::Target::uri(&self) -> &radroots_transport::target::EndpointUri +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::target::Target +pub fn radroots_transport::target::Target::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::target::TargetFingerprint(_) +impl radroots_transport::target::TargetFingerprint +pub fn radroots_transport::target::TargetFingerprint::as_str(&self) -> &str +pub fn radroots_transport::target::TargetFingerprint::from_target(&radroots_transport::TransportId, &radroots_transport::target::EndpointUri, core::option::Option<&radroots_transport::target::TargetScope>) -> Self +pub fn radroots_transport::target::TargetFingerprint::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_transport::error::Error> +impl core::convert::AsRef<str> for radroots_transport::target::TargetFingerprint +pub fn radroots_transport::target::TargetFingerprint::as_ref(&self) -> &str +impl core::convert::TryFrom<&str> for radroots_transport::target::TargetFingerprint +pub type radroots_transport::target::TargetFingerprint::Error = radroots_transport::error::Error +pub fn radroots_transport::target::TargetFingerprint::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_transport::target::TargetFingerprint +pub fn radroots_transport::target::TargetFingerprint::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_transport::target::TargetFingerprint +pub type radroots_transport::target::TargetFingerprint::Err = radroots_transport::error::Error +pub fn radroots_transport::target::TargetFingerprint::from_str(&str) -> core::result::Result<Self, Self::Err> +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::target::TargetFingerprint +pub fn radroots_transport::target::TargetFingerprint::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::target::TargetLabel(_) +impl radroots_transport::target::TargetLabel +pub fn radroots_transport::target::TargetLabel::as_str(&self) -> &str +pub fn radroots_transport::target::TargetLabel::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_transport::error::Error> +impl core::convert::AsRef<str> for radroots_transport::target::TargetLabel +pub fn radroots_transport::target::TargetLabel::as_ref(&self) -> &str +impl core::convert::TryFrom<&str> for radroots_transport::target::TargetLabel +pub type radroots_transport::target::TargetLabel::Error = radroots_transport::error::Error +pub fn radroots_transport::target::TargetLabel::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_transport::target::TargetLabel +pub fn radroots_transport::target::TargetLabel::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_transport::target::TargetLabel +pub type radroots_transport::target::TargetLabel::Err = radroots_transport::error::Error +pub fn radroots_transport::target::TargetLabel::from_str(&str) -> core::result::Result<Self, Self::Err> +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::target::TargetLabel +pub fn radroots_transport::target::TargetLabel::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::target::TargetScope(_) +impl radroots_transport::target::TargetScope +pub fn radroots_transport::target::TargetScope::as_str(&self) -> &str +pub fn radroots_transport::target::TargetScope::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_transport::error::Error> +impl core::convert::AsRef<str> for radroots_transport::target::TargetScope +pub fn radroots_transport::target::TargetScope::as_ref(&self) -> &str +impl core::convert::TryFrom<&str> for radroots_transport::target::TargetScope +pub type radroots_transport::target::TargetScope::Error = radroots_transport::error::Error +pub fn radroots_transport::target::TargetScope::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_transport::target::TargetScope +pub fn radroots_transport::target::TargetScope::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_transport::target::TargetScope +pub type radroots_transport::target::TargetScope::Err = radroots_transport::error::Error +pub fn radroots_transport::target::TargetScope::from_str(&str) -> core::result::Result<Self, Self::Err> +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::target::TargetScope +pub fn radroots_transport::target::TargetScope::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::target::TargetSet +impl radroots_transport::target::TargetSet +pub fn radroots_transport::target::TargetSet::contains(&self, &radroots_transport::target::TargetFingerprint) -> bool +pub fn radroots_transport::target::TargetSet::is_empty(&self) -> bool +pub fn radroots_transport::target::TargetSet::len(&self) -> usize +pub fn radroots_transport::target::TargetSet::new(alloc::vec::Vec<radroots_transport::target::Target>) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::target::TargetSet::targets(&self) -> &[radroots_transport::target::Target] +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::target::TargetSet +pub fn radroots_transport::target::TargetSet::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub const radroots_transport::target::TARGET_SET_MAX_ITEMS: usize +pub enum radroots_transport::Error +pub radroots_transport::Error::DeliveryReceiptRequestIdMismatch +pub radroots_transport::Error::DeliveryReceiptTargetSetMismatch +pub radroots_transport::Error::DeliveryTargetReceiptAttemptMismatch +pub radroots_transport::Error::DeliveryTargetReceiptStatusMismatch +pub radroots_transport::Error::DuplicateDeliveryTargetReceipt +pub radroots_transport::Error::DuplicateFetchAuthor +pub radroots_transport::Error::DuplicateFetchKind +pub radroots_transport::Error::DuplicateFetchTargetOutcome +pub radroots_transport::Error::DuplicateRequiredTargetFingerprint +pub radroots_transport::Error::DuplicateTargetFingerprint +pub radroots_transport::Error::EmptyDeliveryRequestId +pub radroots_transport::Error::EmptyFetchCursor +pub radroots_transport::Error::EmptyFetchRequestId +pub radroots_transport::Error::EmptyPayloadBytes +pub radroots_transport::Error::EmptyPayloadId +pub radroots_transport::Error::EmptyPayloadLabel +pub radroots_transport::Error::EmptyRequiredTargetSet +pub radroots_transport::Error::EmptyTargetLabel +pub radroots_transport::Error::EmptyTargetScope +pub radroots_transport::Error::EmptyTargetSet +pub radroots_transport::Error::EmptyTargetUri +pub radroots_transport::Error::EmptyTransportKind +pub radroots_transport::Error::FetchPageLimitExceeded +pub radroots_transport::Error::FetchPageRequestMismatch +pub radroots_transport::Error::FetchSelectorTooLarge +pub radroots_transport::Error::InvalidDeliveryDeadline +pub radroots_transport::Error::InvalidDeliveryOutcome +pub radroots_transport::Error::InvalidDeliveryRequestId +pub radroots_transport::Error::InvalidDeliveryTimestamp +pub radroots_transport::Error::InvalidFetchCursor +pub radroots_transport::Error::InvalidFetchDeadline +pub radroots_transport::Error::InvalidFetchLimit +pub radroots_transport::Error::InvalidFetchRequestId +pub radroots_transport::Error::InvalidFetchTimeRange +pub radroots_transport::Error::InvalidObservedAt +pub radroots_transport::Error::InvalidPayloadBytes +pub radroots_transport::Error::InvalidPayloadDigest +pub radroots_transport::Error::InvalidPayloadId +pub radroots_transport::Error::InvalidPayloadLabel +pub radroots_transport::Error::InvalidSatisfactionPolicy +pub radroots_transport::Error::InvalidTargetFingerprint +pub radroots_transport::Error::InvalidTargetLabel +pub radroots_transport::Error::InvalidTargetScope +pub radroots_transport::Error::InvalidTargetUri +pub radroots_transport::Error::InvalidTransportKind +pub radroots_transport::Error::MissingDeliveryTargetReceipt +pub radroots_transport::Error::PayloadDigestMismatch +pub radroots_transport::Error::RequiredTargetNotRequested +pub radroots_transport::Error::TargetSetTooLarge +pub radroots_transport::Error::TransportOutcomeStatusMismatch +pub radroots_transport::Error::UnexpectedDeliveryTargetReceipt +pub radroots_transport::Error::UnexpectedFetchEvent +pub radroots_transport::Error::UnexpectedFetchProvenance +pub radroots_transport::Error::UnexpectedFetchTargetOutcome +pub radroots_transport::Error::UnsupportedOperation +impl core::fmt::Display for radroots_transport::error::Error +pub fn radroots_transport::error::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub struct radroots_transport::DeliveryReceipt +impl radroots_transport::sink::DeliveryReceipt +pub fn radroots_transport::sink::DeliveryReceipt::for_request(&radroots_transport::sink::DeliveryRequest, alloc::vec::Vec<radroots_transport::sink::DeliveryTargetReceipt>) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::sink::DeliveryReceipt::is_satisfied(&self, &radroots_transport::sink::DeliveryRequest) -> core::result::Result<bool, radroots_transport::error::Error> +pub const fn radroots_transport::sink::DeliveryReceipt::request_id(&self) -> &radroots_transport::sink::DeliveryRequestId +pub fn radroots_transport::sink::DeliveryReceipt::satisfaction(&self, &radroots_transport::sink::DeliveryRequest) -> core::result::Result<radroots_transport::policy::SatisfactionState, radroots_transport::error::Error> +pub fn radroots_transport::sink::DeliveryReceipt::target_receipts(&self) -> &[radroots_transport::sink::DeliveryTargetReceipt] +pub fn radroots_transport::sink::DeliveryReceipt::validate_for_request(&self, &radroots_transport::sink::DeliveryRequest) -> core::result::Result<(), radroots_transport::error::Error> +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::sink::DeliveryReceipt +pub fn radroots_transport::sink::DeliveryReceipt::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::DeliveryRequest +impl radroots_transport::sink::DeliveryRequest +pub const fn radroots_transport::sink::DeliveryRequest::deadline_unix_ms(&self) -> u64 +pub fn radroots_transport::sink::DeliveryRequest::new(impl core::convert::Into<alloc::string::String>, radroots_transport::sink::DeliveryPayload, radroots_transport::target::TargetSet, radroots_transport::policy::SatisfactionPolicy, u64) -> core::result::Result<Self, radroots_transport::error::Error> +pub const fn radroots_transport::sink::DeliveryRequest::payload(&self) -> &radroots_transport::sink::DeliveryPayload +pub const fn radroots_transport::sink::DeliveryRequest::request_id(&self) -> &radroots_transport::sink::DeliveryRequestId +pub const fn radroots_transport::sink::DeliveryRequest::satisfaction(&self) -> &radroots_transport::policy::SatisfactionPolicy +pub const fn radroots_transport::sink::DeliveryRequest::target_set(&self) -> &radroots_transport::target::TargetSet +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::sink::DeliveryRequest +pub fn radroots_transport::sink::DeliveryRequest::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::FetchPage +impl radroots_transport::source::FetchPage +pub fn radroots_transport::source::FetchPage::events(&self) -> &[radroots_transport::source::ObservedEvent] +pub fn radroots_transport::source::FetchPage::for_request(&radroots_transport::source::FetchRequest, alloc::vec::Vec<radroots_transport::source::ObservedEvent>, alloc::vec::Vec<radroots_transport::outcome::FetchTargetOutcome>, radroots_transport::source::NextPage) -> core::result::Result<Self, radroots_transport::error::Error> +pub const fn radroots_transport::source::FetchPage::next_page(&self) -> &radroots_transport::source::NextPage +pub const fn radroots_transport::source::FetchPage::request_id(&self) -> &radroots_transport::source::FetchRequestId +pub fn radroots_transport::source::FetchPage::target_outcomes(&self) -> &[radroots_transport::outcome::FetchTargetOutcome] +pub fn radroots_transport::source::FetchPage::validate(&self) -> core::result::Result<(), radroots_transport::error::Error> +pub fn radroots_transport::source::FetchPage::validate_for_request(&self, &radroots_transport::source::FetchRequest) -> core::result::Result<(), radroots_transport::error::Error> +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::source::FetchPage +pub fn radroots_transport::source::FetchPage::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::FetchRequest +impl radroots_transport::source::FetchRequest +pub const fn radroots_transport::source::FetchRequest::bounds(&self) -> radroots_transport::source::FetchBounds +pub fn radroots_transport::source::FetchRequest::cursor(&self) -> core::option::Option<&radroots_transport::source::FetchCursor> +pub fn radroots_transport::source::FetchRequest::new(impl core::convert::Into<alloc::string::String>, radroots_transport::target::TargetSet, radroots_transport::source::FetchBounds) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::source::FetchRequest::request_id(&self) -> &radroots_transport::source::FetchRequestId +pub const fn radroots_transport::source::FetchRequest::selector(&self) -> &radroots_transport::source::FetchSelector +pub fn radroots_transport::source::FetchRequest::target_set(&self) -> &radroots_transport::target::TargetSet +pub fn radroots_transport::source::FetchRequest::with_cursor(self, radroots_transport::source::FetchCursor) -> Self +pub fn radroots_transport::source::FetchRequest::with_selector(self, radroots_transport::source::FetchSelector) -> Self +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::source::FetchRequest +pub fn radroots_transport::source::FetchRequest::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::SinkFailure +impl radroots_transport::sink::SinkFailure +pub fn radroots_transport::sink::SinkFailure::code(&self) -> &str +pub fn radroots_transport::sink::SinkFailure::for_request(&radroots_transport::sink::DeliveryRequest, impl core::convert::Into<alloc::string::String>, radroots_transport::outcome::Retryability, core::option::Option<u64>, core::option::Option<alloc::string::String>, alloc::vec::Vec<radroots_transport::sink::DeliveryTargetReceipt>) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::sink::SinkFailure::invalid_contract(&radroots_transport::sink::DeliveryRequest) -> Self +pub fn radroots_transport::sink::SinkFailure::message(&self) -> core::option::Option<&str> +pub fn radroots_transport::sink::SinkFailure::partial_evidence(&self) -> &[radroots_transport::sink::DeliveryTargetReceipt] +pub const fn radroots_transport::sink::SinkFailure::retry_after_unix_ms(&self) -> core::option::Option<u64> +pub const fn radroots_transport::sink::SinkFailure::retryability(&self) -> radroots_transport::outcome::Retryability +pub fn radroots_transport::sink::SinkFailure::validate_for_request(&self, &radroots_transport::sink::DeliveryRequest) -> core::result::Result<(), radroots_transport::error::Error> +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::sink::SinkFailure +pub fn radroots_transport::sink::SinkFailure::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::SinkStatus +impl radroots_transport::SinkStatus +pub const fn radroots_transport::SinkStatus::availability(&self) -> radroots_transport::capability::Availability +pub const fn radroots_transport::SinkStatus::capabilities(&self) -> radroots_transport::capability::SinkCapabilities +pub fn radroots_transport::SinkStatus::from_descriptor(&radroots_protocol::capability::v1::TransportDescriptor, bool, impl core::convert::Into<alloc::string::String>) -> Self +pub const fn radroots_transport::SinkStatus::is_configured(&self) -> bool +pub const fn radroots_transport::SinkStatus::maturity(&self) -> radroots_transport::capability::Maturity +pub fn radroots_transport::SinkStatus::message(&self) -> &str +pub fn radroots_transport::SinkStatus::new(radroots_transport::TransportId, bool, radroots_transport::capability::Maturity, radroots_transport::capability::Availability, radroots_transport::capability::SinkCapabilities, impl core::convert::Into<alloc::string::String>) -> Self +pub const fn radroots_transport::SinkStatus::transport_id(&self) -> radroots_transport::TransportId +pub struct radroots_transport::SourceStatus +impl radroots_transport::SourceStatus +pub const fn radroots_transport::SourceStatus::availability(&self) -> radroots_transport::capability::Availability +pub const fn radroots_transport::SourceStatus::capabilities(&self) -> radroots_transport::capability::SourceCapabilities +pub fn radroots_transport::SourceStatus::from_descriptor(&radroots_protocol::capability::v1::TransportDescriptor, bool, impl core::convert::Into<alloc::string::String>) -> Self +pub const fn radroots_transport::SourceStatus::is_configured(&self) -> bool +pub const fn radroots_transport::SourceStatus::maturity(&self) -> radroots_transport::capability::Maturity +pub fn radroots_transport::SourceStatus::message(&self) -> &str +pub fn radroots_transport::SourceStatus::new(radroots_transport::TransportId, bool, radroots_transport::capability::Maturity, radroots_transport::capability::Availability, radroots_transport::capability::SourceCapabilities, impl core::convert::Into<alloc::string::String>) -> Self +pub const fn radroots_transport::SourceStatus::transport_id(&self) -> radroots_transport::TransportId +pub struct radroots_transport::Target +impl radroots_transport::target::Target +pub fn radroots_transport::target::Target::fingerprint(&self) -> &radroots_transport::target::TargetFingerprint +pub fn radroots_transport::target::Target::kind(&self) -> &radroots_transport::TransportId +pub fn radroots_transport::target::Target::label(&self) -> core::option::Option<&radroots_transport::target::TargetLabel> +pub fn radroots_transport::target::Target::local(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::target::Target::local_with_metadata(impl core::convert::AsRef<str>, core::option::Option<radroots_transport::target::TargetScope>, core::option::Option<radroots_transport::target::TargetLabel>) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::target::Target::new(radroots_transport::TransportId, impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::target::Target::new_with_metadata(radroots_transport::TransportId, impl core::convert::AsRef<str>, core::option::Option<radroots_transport::target::TargetScope>, core::option::Option<radroots_transport::target::TargetLabel>) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::target::Target::nostr_relay(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::target::Target::nostr_relay_with_metadata(impl core::convert::AsRef<str>, core::option::Option<radroots_transport::target::TargetScope>, core::option::Option<radroots_transport::target::TargetLabel>) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::target::Target::scope(&self) -> core::option::Option<&radroots_transport::target::TargetScope> +pub fn radroots_transport::target::Target::uri(&self) -> &radroots_transport::target::EndpointUri +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::target::Target +pub fn radroots_transport::target::Target::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::TargetSet +impl radroots_transport::target::TargetSet +pub fn radroots_transport::target::TargetSet::contains(&self, &radroots_transport::target::TargetFingerprint) -> bool +pub fn radroots_transport::target::TargetSet::is_empty(&self) -> bool +pub fn radroots_transport::target::TargetSet::len(&self) -> usize +pub fn radroots_transport::target::TargetSet::new(alloc::vec::Vec<radroots_transport::target::Target>) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::target::TargetSet::targets(&self) -> &[radroots_transport::target::Target] +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::target::TargetSet +pub fn radroots_transport::target::TargetSet::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub struct radroots_transport::TransportId(_) +impl radroots_transport::TransportId +pub const radroots_transport::TransportId::LOCAL: Self +pub const radroots_transport::TransportId::NOSTR: Self +pub const radroots_transport::TransportId::RADROOTSD: Self +pub const radroots_transport::TransportId::RETICULUM: Self +pub fn radroots_transport::TransportId::as_str(&self) -> &str +pub fn radroots_transport::TransportId::canonical_label(&self) -> alloc::string::String +pub fn radroots_transport::TransportId::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_transport::error::Error> +pub fn radroots_transport::TransportId::parse_canonical(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_transport::error::Error> +impl core::convert::AsRef<str> for radroots_transport::TransportId +pub fn radroots_transport::TransportId::as_ref(&self) -> &str +impl core::convert::From<radroots_protocol::capability::v1::TransportKind> for radroots_transport::TransportId +pub fn radroots_transport::TransportId::from(radroots_protocol::capability::v1::TransportKind) -> Self +impl core::convert::From<radroots_transport::TransportId> for radroots_protocol::capability::v1::TransportKind +pub fn radroots_protocol::capability::v1::TransportKind::from(radroots_transport::TransportId) -> Self +impl core::convert::TryFrom<&str> for radroots_transport::TransportId +pub type radroots_transport::TransportId::Error = radroots_transport::error::Error +pub fn radroots_transport::TransportId::try_from(&str) -> core::result::Result<Self, Self::Error> +impl core::convert::TryFrom<alloc::string::String> for radroots_transport::TransportId +pub type radroots_transport::TransportId::Error = radroots_transport::error::Error +pub fn radroots_transport::TransportId::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error> +impl core::fmt::Display for radroots_transport::TransportId +pub fn radroots_transport::TransportId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl core::str::traits::FromStr for radroots_transport::TransportId +pub type radroots_transport::TransportId::Err = radroots_transport::error::Error +pub fn radroots_transport::TransportId::from_str(&str) -> core::result::Result<Self, Self::Err> +impl serde_core::ser::Serialize for radroots_transport::TransportId +pub fn radroots_transport::TransportId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer +impl<'de> serde_core::de::Deserialize<'de> for radroots_transport::TransportId +pub fn radroots_transport::TransportId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de> +pub const radroots_transport::TARGET_SET_MAX_ITEMS: usize +pub const radroots_transport::TRANSPORT_ID_MAX_BYTES: usize +pub trait radroots_transport::EventSink: core::marker::Send + core::marker::Sync +pub fn radroots_transport::EventSink::deliver(&self, radroots_transport::sink::DeliveryRequest) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_transport::sink::DeliveryReceipt, radroots_transport::sink::SinkFailure>> +pub fn radroots_transport::EventSink::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_transport::SinkStatus, radroots_transport::error::Error>> +pub trait radroots_transport::EventSource: core::marker::Send + core::marker::Sync +pub fn radroots_transport::EventSource::fetch(&self, radroots_transport::source::FetchRequest) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_transport::source::FetchPage, radroots_transport::error::Error>> +pub fn radroots_transport::EventSource::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_transport::SourceStatus, radroots_transport::error::Error>> +pub type radroots_transport::BoxFuture<'a, T> = core::pin::Pin<alloc::boxed::Box<(dyn core::future::future::Future<Output = T> + core::marker::Send + 'a)>> diff --git a/contracts/api_baselines/radroots_transport_nostr.txt b/contracts/api_baselines/radroots_transport_nostr.txt @@ -0,0 +1,162 @@ +pub mod radroots_transport_nostr +#[non_exhaustive] pub enum radroots_transport_nostr::Error +pub radroots_transport_nostr::Error::AuthChallengeConflict +pub radroots_transport_nostr::Error::AuthChallengeExpired +pub radroots_transport_nostr::Error::AuthChallengeMissing +pub radroots_transport_nostr::Error::AuthRejected +pub radroots_transport_nostr::Error::AuthResponseInvalid +pub radroots_transport_nostr::Error::AuthResponseMismatch +pub radroots_transport_nostr::Error::AuthSignerUnavailable +pub radroots_transport_nostr::Error::AuthStateUnavailable +pub radroots_transport_nostr::Error::AuthTransport +pub radroots_transport_nostr::Error::DuplicateRelayUrl +pub radroots_transport_nostr::Error::DuplicateRelayUrl::url: alloc::string::String +pub radroots_transport_nostr::Error::EmptyRelaySet +pub radroots_transport_nostr::Error::EmptyResolution +pub radroots_transport_nostr::Error::EmptyResolution::url: alloc::string::String +pub radroots_transport_nostr::Error::InvalidAuthChallenge +pub radroots_transport_nostr::Error::InvalidConnectionLimit +pub radroots_transport_nostr::Error::InvalidConnectionLimit::value: usize +pub radroots_transport_nostr::Error::InvalidReconnectBackoff +pub radroots_transport_nostr::Error::InvalidReconnectBackoff::initial_delay_ms: u64 +pub radroots_transport_nostr::Error::InvalidReconnectBackoff::max_delay_ms: u64 +pub radroots_transport_nostr::Error::InvalidRelayCursor +pub radroots_transport_nostr::Error::InvalidRelayUrl +pub radroots_transport_nostr::Error::InvalidRelayUrl::reason: alloc::string::String +pub radroots_transport_nostr::Error::InvalidRelayUrl::url: alloc::string::String +pub radroots_transport_nostr::Error::InvalidTimeout +pub radroots_transport_nostr::Error::InvalidTimeout::field: &'static str +pub radroots_transport_nostr::Error::InvalidTimeout::value_ms: u64 +pub radroots_transport_nostr::Error::RelayDestinationDenied +pub radroots_transport_nostr::Error::RelayDestinationDenied::reason: &'static str +pub radroots_transport_nostr::Error::RelayDestinationDenied::url: alloc::string::String +pub radroots_transport_nostr::Error::RelaySchemeDenied +pub radroots_transport_nostr::Error::RelaySchemeDenied::url: alloc::string::String +pub radroots_transport_nostr::Error::ResolvedAddressDenied +pub radroots_transport_nostr::Error::ResolvedAddressDenied::address: alloc::string::String +pub radroots_transport_nostr::Error::ResolvedAddressDenied::url: alloc::string::String +pub radroots_transport_nostr::Error::Target(alloc::string::String) +pub radroots_transport_nostr::Error::TooManyRelays +pub radroots_transport_nostr::Error::TooManyRelays::actual: usize +pub radroots_transport_nostr::Error::TooManyRelays::max: usize +pub radroots_transport_nostr::Error::UnexpectedTransport +pub radroots_transport_nostr::Error::UnexpectedTransport::actual: alloc::string::String +impl core::error::Error for radroots_transport_nostr::Error +impl core::fmt::Display for radroots_transport_nostr::Error +pub fn radroots_transport_nostr::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +#[non_exhaustive] pub enum radroots_transport_nostr::RelayAccess +pub radroots_transport_nostr::RelayAccess::ReadOnly +pub radroots_transport_nostr::RelayAccess::ReadWrite +impl radroots_transport_nostr::RelayAccess +pub const fn radroots_transport_nostr::RelayAccess::can_read(self) -> bool +pub const fn radroots_transport_nostr::RelayAccess::can_write(self) -> bool +#[non_exhaustive] pub enum radroots_transport_nostr::RelayAggregateState +pub radroots_transport_nostr::RelayAggregateState::Configured +pub radroots_transport_nostr::RelayAggregateState::Connecting +pub radroots_transport_nostr::RelayAggregateState::Degraded +pub radroots_transport_nostr::RelayAggregateState::Failed +pub radroots_transport_nostr::RelayAggregateState::Offline +pub radroots_transport_nostr::RelayAggregateState::ReadOnly +pub radroots_transport_nostr::RelayAggregateState::Writable +#[non_exhaustive] pub enum radroots_transport_nostr::RelayEvidenceState +pub radroots_transport_nostr::RelayEvidenceState::Available +pub radroots_transport_nostr::RelayEvidenceState::Connecting +pub radroots_transport_nostr::RelayEvidenceState::Unavailable +pub radroots_transport_nostr::RelayEvidenceState::Unobserved +pub radroots_transport_nostr::RelayEvidenceState::Unsupported +#[non_exhaustive] pub enum radroots_transport_nostr::RelayProfileKind +pub radroots_transport_nostr::RelayProfileKind::Device +pub radroots_transport_nostr::RelayProfileKind::Public +pub radroots_transport_nostr::RelayProfileKind::Simulator +#[non_exhaustive] pub enum radroots_transport_nostr::RelayUrlPolicy +pub radroots_transport_nostr::RelayUrlPolicy::Local +pub radroots_transport_nostr::RelayUrlPolicy::PrivateNetwork +pub radroots_transport_nostr::RelayUrlPolicy::Public +pub struct radroots_transport_nostr::Config +impl radroots_transport_nostr::Config +pub const fn radroots_transport_nostr::Config::connect_timeout_ms(&self) -> u64 +pub fn radroots_transport_nostr::Config::endpoints(&self) -> &[radroots_transport_nostr::RelayEndpoint] +pub fn radroots_transport_nostr::Config::from_profile(radroots_transport_nostr::RelayProfile) -> Self +pub const fn radroots_transport_nostr::Config::max_connections(&self) -> usize +pub const fn radroots_transport_nostr::Config::profile_kind(&self) -> radroots_transport_nostr::RelayProfileKind +pub fn radroots_transport_nostr::Config::read_relays(&self) -> impl core::iter::traits::iterator::Iterator<Item = &radroots_transport_nostr::RelayUrl> +pub const fn radroots_transport_nostr::Config::reconnect_backoff(&self) -> radroots_transport_nostr::ReconnectBackoff +pub fn radroots_transport_nostr::Config::relays(&self) -> &[radroots_transport_nostr::RelayUrl] +pub const fn radroots_transport_nostr::Config::request_timeout_ms(&self) -> u64 +pub const fn radroots_transport_nostr::Config::status_timeout_ms(&self) -> u64 +pub fn radroots_transport_nostr::Config::with_max_connections(self, usize) -> core::result::Result<Self, radroots_transport_nostr::Error> +pub const fn radroots_transport_nostr::Config::with_reconnect_backoff(self, radroots_transport_nostr::ReconnectBackoff) -> Self +pub fn radroots_transport_nostr::Config::with_timeouts(self, u64, u64, u64) -> core::result::Result<Self, radroots_transport_nostr::Error> +pub fn radroots_transport_nostr::Config::write_relays(&self) -> impl core::iter::traits::iterator::Iterator<Item = &radroots_transport_nostr::RelayUrl> +pub struct radroots_transport_nostr::NostrTransport +impl radroots_transport_nostr::NostrTransport +pub fn radroots_transport_nostr::NostrTransport::begin_authentication(&self, &radroots_transport_nostr::RelayUrl, impl core::convert::AsRef<str>, u64, u64) -> core::result::Result<alloc::string::String, radroots_transport_nostr::Error> +pub fn radroots_transport_nostr::NostrTransport::complete_authentication<'a>(&'a self, &'a radroots_transport_nostr::RelayUrl, &'a str, core::option::Option<&'a str>, u64) -> radroots_transport::source::BoxFuture<'a, core::result::Result<(), radroots_transport_nostr::Error>> +pub fn radroots_transport_nostr::NostrTransport::reject_authentication(&self, &radroots_transport_nostr::RelayUrl, &str) -> core::result::Result<(), radroots_transport_nostr::Error> +impl radroots_transport_nostr::NostrTransport +pub const fn radroots_transport_nostr::NostrTransport::config(&self) -> &radroots_transport_nostr::Config +pub fn radroots_transport_nostr::NostrTransport::new(radroots_transport_nostr::Config) -> Self +pub fn radroots_transport_nostr::NostrTransport::relay_status(&self) -> radroots_transport_nostr::RelayStatusReport +impl core::fmt::Debug for radroots_transport_nostr::NostrTransport +pub fn radroots_transport_nostr::NostrTransport::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +impl radroots_transport::sink::EventSink for radroots_transport_nostr::NostrTransport +pub fn radroots_transport_nostr::NostrTransport::deliver(&self, radroots_transport::sink::DeliveryRequest) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_transport::sink::DeliveryReceipt, radroots_transport::sink::SinkFailure>> +pub fn radroots_transport_nostr::NostrTransport::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_transport::status::SinkStatus, radroots_transport::error::Error>> +impl radroots_transport::source::EventSource for radroots_transport_nostr::NostrTransport +pub fn radroots_transport_nostr::NostrTransport::fetch(&self, radroots_transport::source::FetchRequest) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_transport::source::FetchPage, radroots_transport::error::Error>> +pub fn radroots_transport_nostr::NostrTransport::status(&self) -> radroots_transport::source::BoxFuture<'_, core::result::Result<radroots_transport::status::SourceStatus, radroots_transport::error::Error>> +pub struct radroots_transport_nostr::ReconnectBackoff +impl radroots_transport_nostr::ReconnectBackoff +pub const fn radroots_transport_nostr::ReconnectBackoff::initial_delay_ms(self) -> u64 +pub const fn radroots_transport_nostr::ReconnectBackoff::max_delay_ms(self) -> u64 +pub fn radroots_transport_nostr::ReconnectBackoff::new(u64, u64) -> core::result::Result<Self, radroots_transport_nostr::Error> +impl core::default::Default for radroots_transport_nostr::ReconnectBackoff +pub fn radroots_transport_nostr::ReconnectBackoff::default() -> Self +pub struct radroots_transport_nostr::RelayCapabilityEvidence +impl radroots_transport_nostr::RelayCapabilityEvidence +pub const fn radroots_transport_nostr::RelayCapabilityEvidence::consecutive_failures(&self) -> u32 +pub const fn radroots_transport_nostr::RelayCapabilityEvidence::last_attempt_unix_ms(&self) -> core::option::Option<u64> +pub const fn radroots_transport_nostr::RelayCapabilityEvidence::last_failure_retryable(&self) -> core::option::Option<bool> +pub const fn radroots_transport_nostr::RelayCapabilityEvidence::last_success_unix_ms(&self) -> core::option::Option<u64> +pub const fn radroots_transport_nostr::RelayCapabilityEvidence::next_attempt_unix_ms(&self) -> core::option::Option<u64> +pub const fn radroots_transport_nostr::RelayCapabilityEvidence::state(&self) -> radroots_transport_nostr::RelayEvidenceState +pub struct radroots_transport_nostr::RelayCursor +impl radroots_transport_nostr::RelayCursor +pub const fn radroots_transport_nostr::RelayCursor::created_at_unix_s(&self) -> u64 +pub fn radroots_transport_nostr::RelayCursor::event_id(&self) -> &str +pub fn radroots_transport_nostr::RelayCursor::new(u64, impl core::convert::Into<alloc::string::String>) -> core::result::Result<Self, radroots_transport_nostr::Error> +pub fn radroots_transport_nostr::RelayCursor::precedes(&self, u64, &str) -> bool +pub struct radroots_transport_nostr::RelayEndpoint +impl radroots_transport_nostr::RelayEndpoint +pub const fn radroots_transport_nostr::RelayEndpoint::access(&self) -> radroots_transport_nostr::RelayAccess +pub const fn radroots_transport_nostr::RelayEndpoint::policy(&self) -> radroots_transport_nostr::RelayUrlPolicy +pub const fn radroots_transport_nostr::RelayEndpoint::url(&self) -> &radroots_transport_nostr::RelayUrl +pub struct radroots_transport_nostr::RelayProfile +impl radroots_transport_nostr::RelayProfile +pub fn radroots_transport_nostr::RelayProfile::device<I, S>(I) -> core::result::Result<Self, radroots_transport_nostr::Error> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str> +pub fn radroots_transport_nostr::RelayProfile::endpoints(&self) -> &[radroots_transport_nostr::RelayEndpoint] +pub const fn radroots_transport_nostr::RelayProfile::kind(&self) -> radroots_transport_nostr::RelayProfileKind +pub fn radroots_transport_nostr::RelayProfile::public<I, S>(I) -> core::result::Result<Self, radroots_transport_nostr::Error> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str> +pub fn radroots_transport_nostr::RelayProfile::simulator<I, S>(I) -> core::result::Result<Self, radroots_transport_nostr::Error> where I: core::iter::traits::collect::IntoIterator<Item = S>, S: core::convert::AsRef<str> +pub struct radroots_transport_nostr::RelayStatus +impl radroots_transport_nostr::RelayStatus +pub const fn radroots_transport_nostr::RelayStatus::endpoint(&self) -> &radroots_transport_nostr::RelayEndpoint +pub const fn radroots_transport_nostr::RelayStatus::read(&self) -> &radroots_transport_nostr::RelayCapabilityEvidence +pub const fn radroots_transport_nostr::RelayStatus::write(&self) -> &radroots_transport_nostr::RelayCapabilityEvidence +pub struct radroots_transport_nostr::RelayStatusReport +impl radroots_transport_nostr::RelayStatusReport +pub const fn radroots_transport_nostr::RelayStatusReport::profile_kind(&self) -> radroots_transport_nostr::RelayProfileKind +pub const fn radroots_transport_nostr::RelayStatusReport::read_availability(&self) -> radroots_transport::capability::Availability +pub fn radroots_transport_nostr::RelayStatusReport::relays(&self) -> &[radroots_transport_nostr::RelayStatus] +pub const fn radroots_transport_nostr::RelayStatusReport::state(&self) -> radroots_transport_nostr::RelayAggregateState +pub const fn radroots_transport_nostr::RelayStatusReport::write_availability(&self) -> radroots_transport::capability::Availability +pub struct radroots_transport_nostr::RelayUrl(_) +impl radroots_transport_nostr::RelayUrl +pub fn radroots_transport_nostr::RelayUrl::as_str(&self) -> &str +pub fn radroots_transport_nostr::RelayUrl::from_target(&radroots_transport::target::Target, radroots_transport_nostr::RelayUrlPolicy) -> core::result::Result<Self, radroots_transport_nostr::Error> +pub fn radroots_transport_nostr::RelayUrl::parse(impl core::convert::AsRef<str>, radroots_transport_nostr::RelayUrlPolicy) -> core::result::Result<Self, radroots_transport_nostr::Error> +pub fn radroots_transport_nostr::RelayUrl::to_target(&self) -> core::result::Result<radroots_transport::target::Target, radroots_transport_nostr::Error> +pub fn radroots_transport_nostr::RelayUrl::validate_resolved_addresses(&self, radroots_transport_nostr::RelayUrlPolicy, impl core::iter::traits::collect::IntoIterator<Item = core::net::ip_addr::IpAddr>) -> core::result::Result<(), radroots_transport_nostr::Error> +impl core::fmt::Display for radroots_transport_nostr::RelayUrl +pub fn radroots_transport_nostr::RelayUrl::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub const radroots_transport_nostr::DEFAULT_PUBLIC_RELAY: &str diff --git a/contracts/architecture/decisions/public_api_leakage_migration_baseline.v1.toml b/contracts/architecture/decisions/public_api_leakage_migration_baseline.v1.toml @@ -0,0 +1,39 @@ +schema_version = 1 +decision_id = "radroots.public_api_leakage_migration_baseline.v1" +status = "accepted_historical" +accepted_date = "2026-07-27" +completed_step = 313 +publication_authorized = false +exception_ids = [ + "RCRV1-API-001", + "RCRV1-API-002", + "RCRV1-API-003", + "RCRV1-API-004", + "RCRV1-API-005", + "RCRV1-API-006", + "RCRV1-API-007", + "RCRV1-API-008", +] +active_exception_ids = [] +forbidden_expansion = [ + "broader_aliases", + "keyring", + "new_items", + "new_upstream_paths", + "platform_specific_types", + "reqwest", + "sqlx", + "tokio", +] + +[[removal_milestone]] +package = "radroots_identity" +step = 42 + +[[removal_milestone]] +package = "radroots_nostr" +step = 124 + +[[removal_milestone]] +package = "radroots_nostr_connect" +step = 140 diff --git a/contracts/architecture/deviations.toml b/contracts/architecture/deviations.toml @@ -0,0 +1,327 @@ +schema_version = 1 +architecture_id = "radroots.crates.release.v1" + +[[deviation]] +id = "RCRV1-DEV-001" +date = "2026-07-27" +status = "active" +approval = "Explicit user correction dated 2026-07-27." +affected_steps = [ + "015", + "016", + "017", + "018", + "019", + "020", + "021", + "022", + "023", + "026", +] +spec_anchors = [ + "contracts/crates/release_v1/radroots_crates_release_v1.toml#repositories.lib", + "contracts/crates/release_v1/radroots_crates_release_v1.toml#repository_policy", +] +source_evidence = [ + "The final v1 specification allocates 17 public packages to radrootslabs/lib and 2 to radrootslabs/sdk.", + "Both existing repositories have independent histories, workspaces, lockfiles, remotes, and standalone release boundaries.", +] +replacement_action = "Retain the two existing standalone repositories; replace import and monorepo-unification work with independent workspace, lockfile, metadata, dependency, and release qualification." +verification = [ + "Both repository-local architecture validators resolve every spec anchor.", + "The synchronized architecture catalog enforces the exact 17/2 ownership partition.", + "Each standalone repository owns a required architecture CI adapter over its repository-local command surface.", +] +unresolved_risk = "Parent gitlinks cannot advance until the new standalone commits are public-remote reachable under separate authorization." +normative_architecture_change = false +adr_required = false + +[[deviation]] +id = "RCRV1-DEV-010" +date = "2026-08-03" +status = "closed" +approval = "All code-review recommendations and the full multi-RCLD implementation sequence were explicitly approved by the user." +affected_steps = ["201", "215", "269", "294", "301", "313"] +spec_anchors = [ + "contracts/crates/release_v1/radroots_crates_release_v1.toml#package.radroots_transport_nostr", + "contracts/crates/release_v1/radroots_crates_release_v1.toml#package.radroots_transport", +] +source_evidence = [ + "The Step 294 downstream matrix proved the former app_rt radroots_net_core consumer had migrated and no current first-party manifest retained an edge to radroots_net.", + "Step 301 full workspace qualification proved that the assigned radroots_nostr_runtime Step 215 deletion and radroots_net Step 313 deletion had not been applied even though both removal gates were satisfied.", + "Both obsolete packages failed against the final transport boundary when the complete all-feature workspace closure was checked.", +] +replacement_action = "Delete radroots_nostr_runtime, its NostrDB runtime adapter, and radroots_net during Step 301 qualification; forbid their package, dependency, alias, feature, and source identities from being reintroduced." +verification = [ + "Transport-owned tests reject reintroduction of radroots_nostr_runtime, radroots_net, or the NostrDB runtime-adapter feature.", + "Workspace-wide source tests reject every removed transport-client identifier without a compatibility exception.", + "The full all-target and all-feature workspace qualification compiles without either predecessor package.", +] +unresolved_risk = "None for the two removed packages; historical names remain only in governed specifications, migration evidence, and fail-closed regression assertions." +normative_architecture_change = false +adr_required = false +closure_evidence = [ + "crates/transport_nostr/tests/workspace_consumers.rs proves both package directories and workspace dependency identities are absent.", + "crates/transport_nostr/tests/legacy_quarantine.rs proves release policy and the compatibility ledger no longer classify either package as a retained shim.", +] + +[[deviation]] +id = "RCRV1-DEV-008" +date = "2026-08-01" +status = "closed" +approval = "All code-review recommendations and the full multi-RCLD implementation sequence were explicitly approved by the user." +affected_steps = ["153", "155", "171", "179", "226", "288", "293", "313"] +spec_anchors = [ + "contracts/crates/release_v1/radroots_crates_release_v1.toml#package.radroots_secrets", + "contracts/crates/release_v1/radroots_crates_release_v1.toml#package.radroots_storage_sqlite", +] +source_evidence = [ + "The final radroots_storage_sqlite scaffold can consume radroots_secrets immediately and has no predecessor secret dependency.", + "Step 179, not Step 153, owns transfer of the current SDK private database and its encrypted records into canonical SQLite storage.", + "Mixed publish-frozen runtime, Nostr-account, SimpleX preview, SDK private-store, Myc, and other external hosts still require predecessor vault/store behavior until their ordered migration steps.", +] +replacement_action = "Activate the final radroots_storage_sqlite and SDK dependency edges in Step 153; confine predecessor vault/store imports to exact publish-frozen quarantine packages and the SDK private-store module; Step 179 transfers canonical private storage, Steps 226/288/293 migrate the remaining SDK and downstream consumers, and Step 313 removes every remaining compatibility package and legacy name." +verification = [ + "Consumer-migration tests enumerate every lib package manifest that still names radroots_secret_vault or radroots_protected_store and reject any unapproved or publishable consumer.", + "Storage SQLite package-boundary tests require radroots_secrets and reject all predecessor secret package names.", + "SDK source-boundary tests confine predecessor imports to private_store.rs and require the final optional radroots_secrets dependency edge.", + "Step 155 release-policy validation keeps every quarantine package non-publishable until its exact removal gate.", +] +unresolved_risk = "None; the predecessor packages and all active manifest consumers are absent." +normative_architecture_change = false +adr_required = false +closure_evidence = [ + "crates/secrets/tests/consumer_migration.rs rejects every predecessor package directory, workspace dependency, and active manifest reference.", + "Step 313 source census confirmed the SDK, Myc, CLI, and library runtime paths use only radroots_secrets and final storage owners.", +] + +[[deviation]] +id = "RCRV1-DEV-007" +date = "2026-07-30" +status = "closed" +approval = "All code-review recommendations and the full multi-RCLD implementation sequence were explicitly approved by the user." +affected_steps = ["122", "170", "215", "235", "305"] +spec_anchors = [ + "contracts/crates/release_v1/radroots_crates_release_v1.toml#package.radroots_transport", +] +source_evidence = [ + "Step 120 migrated canonical adapters and registries to independent EventSource and EventSink contracts.", + "Mixed runtime delivery workers still consume predecessor request and receipt models until their ordered RCLD 40 migration.", + "The runtime delivery worker also accepts opaque byte payloads, while the final EventSink contract accepts only verified SignedEvent values; deleting the bridge at Step 170 would silently remove a supported private runtime path before sync orchestration owns that decision.", + "The standalone publish-frozen SDK still maps user-facing target and satisfaction models into predecessor outbox orchestration until Step 235.", + "oss/cli/src/runtime/{config,sync,transport}.rs and oss/radrootsd/src/core/transport_publish.rs still import the predecessor identity aliases and Reticulum target helpers; those standalone repositories are outside the approved crate-surface mutation scope.", +] +replacement_action = "Remove the monolithic trait from radroots_transport in Step 122; retain one explicitly named runtime-owned unpublished shim until Step 215 at the sync-orchestration retirement gate, the SDK-local unpublished target/satisfaction mapping until Step 235, and documentation-hidden external-consumer aliases/helpers until the fail-closed package-realistic Step 305 gate." +verification = [ + "Transport source-boundary tests reject every removed public predecessor name and require the singular runtime-owned shim.", + "Release policy keeps runtime and SDK publication disabled while either downstream shim exists.", + "Steps 215 and 235 are the exact fail-closed final-removal gates for the remaining runtime and SDK mappings.", + "Step 305 rejects publication until oss/cli and oss/radrootsd no longer require the documentation-hidden external-consumer aliases and Reticulum helpers.", +] +unresolved_risk = "None; final consumers use TransportId, Target, TargetScope, TargetLabel, and TargetFingerprint directly." +normative_architecture_change = false +adr_required = false +closure_evidence = [ + "crates/transport/tests/package_boundary.rs rejects the hidden Reticulum constructors, legacy constant spellings, and prefixed target aliases.", + "Step 313 source census confirmed every external-consumer alias and helper is absent after the daemon cutover to final transport identities.", +] + +[[deviation]] +id = "RCRV1-DEV-009" +date = "2026-08-02" +status = "closed" +approval = "All code-review recommendations and the full multi-RCLD implementation sequence were explicitly approved by the user." +affected_steps = [ + "170", + "179", + "189", + "196", + "201", + "213", + "226", + "235", + "263", + "269", + "288", + "292", + "313", +] +spec_anchors = [ + "contracts/crates/release_v1/radroots_crates_release_v1.toml#package.radroots_storage", + "contracts/crates/release_v1/radroots_crates_release_v1.toml#package.radroots_storage_sqlite", + "contracts/crates/release_v1/radroots_crates_release_v1.toml#package.radroots_sdk", +] +source_evidence = [ + "The Step 170 first-party census found radroots_event_index consumers in the standalone CLI, SDK, SDK bindings, and indexer repositories.", + "The census found radroots_event_store and radroots_outbox consumers in the standalone CLI and SDK, plus active library transport_nostr orchestration scheduled to move in Step 196.", + "The census found radroots_runtime_store consumed by the standalone CLI, whose crate cutover is scheduled after the canonical library storage and sync implementations are complete.", + "Deleting these packages before their ordered migrations would make the independently buildable first-party repositories unresolvable and would remove the source data needed by the approved one-shot importer.", +] +replacement_action = "Keep radroots_event_index, radroots_event_store, radroots_outbox, and radroots_runtime_store as documentation-hidden publish-frozen compatibility packages with no new consumers; port durable behavior into radroots_storage_sqlite through Step 189, remove local transport coupling in Step 196, migrate library/SDK/binding/CLI/indexer consumers in their ordered steps, and delete every remaining package at Step 313." +verification = [ + "Package manifests carry machine-readable publish-frozen metadata naming the final replacement, deviation, Step 313 removal gate, and prohibition on new consumers.", + "A storage-owned quarantine test requires the four packages to remain private and absent from the approved publication inventory.", + "Workspace checks and tests prove current migration consumers remain buildable while publication stays frozen.", + "Step 313 performs the all-first-party forbidden-name search and final package deletion.", +] +unresolved_risk = "None; all four predecessor packages and their active dependency edges are absent." +normative_architecture_change = false +adr_required = false +closure_evidence = [ + "crates/storage_sqlite/tests/package_boundary.rs and crates/storage/tests/workspace_consumers.rs reject the four predecessor package identities.", + "Step 313 removed the final library packages, SDK runtime/event-index surfaces, and CLI source dependency branch after all standalone consumers migrated.", +] + +[[deviation]] +id = "RCRV1-DEV-005" +date = "2026-07-28" +status = "active" +approval = "Explicit user Rust version-policy update dated 2026-07-28 17:47 UTC." +affected_steps = [ + "013", + "019", + "020", + "021", + "022", + "023", + "024", + "025", + "026", + "305", +] +spec_anchors = [ + "contracts/crates/release_v1/radroots_crates_release_v1.toml#repositories.lib", +] +source_evidence = [ + "The prior 1.0.0 and mixed 0.1.0 prerelease crate cohorts were explicitly declared incorrect.", + "The user requires every Rust crate in radrootslabs/lib to remain exactly 0.1.0-alpha until further explicit notice.", +] +replacement_action = "Pin every workspace package, lockfile entry, and internal Radroots dependency requirement in radrootslabs/lib to 0.1.0-alpha; preserve independent protocol and sibling-repository versions; reject library cohort drift until new explicit authority is recorded." +verification = [ + "Repository architecture validation rejects any workspace package version other than 0.1.0-alpha.", + "Internal Radroots dependency requirements resolve exactly to =0.1.0-alpha.", + "Synchronized release specifications record the library cohort independently from the SDK repository version.", +] +unresolved_risk = "The prerelease cohort intentionally prevents independent library package version advancement until a future explicit policy change." +normative_architecture_change = false +adr_required = false + +[[deviation]] +id = "RCRV1-DEV-002" +date = "2026-07-27" +status = "active" +approval = "Explicit user correction dated 2026-07-27." +affected_steps = ["249"] +spec_anchors = [ + "contracts/crates/release_v1/radroots_crates_release_v1.toml#package.radroots", + "contracts/crates/release_v1/radroots_crates_release_v1.toml#repositories.sdk", +] +source_evidence = [ + "The final v1 specification assigns the radroots facade to the existing sdk repository.", + "The approved sequence requires radroots to be the first crate-surface mutation after architecture controls are green.", +] +replacement_action = "Scaffold radroots in the sdk repository immediately after Step 014, then execute Steps 250-260 in their original order without repeating the scaffold portion of Step 249." +verification = [ + "The sdk release policy reserves radroots as an approved local package while publication remains frozen.", + "The facade scaffold checkpoint must add radroots only to the sdk workspace and architecture policy.", +] +unresolved_risk = "The facade remains non-publishable until the package-realistic Step 305 enablement gate." +normative_architecture_change = false +adr_required = false + +[[deviation]] +id = "RCRV1-DEV-004" +date = "2026-07-28" +status = "active" +approval = "Explicit user coverage-policy update dated 2026-07-28 17:15 UTC." +affected_steps = [ + "098", + "155", + "225", + "260", + "268", + "294", + "298", + "299", + "301", + "302", + "303", + "304", + "314", +] +spec_anchors = [ + "contracts/crates/release_v1/radroots_crates_release_v1.toml#quality_policy.coverage", +] +source_evidence = [ + "The oss/lib codebase is under heavy development during the multi-RCLD refactor.", + "The user explicitly replaced the active 100% coverage requirement with a uniform 90% module requirement.", +] +replacement_action = "Enforce 90% executable-line, function, region, and branch coverage for every required oss/lib crate; retain only no-branch-record exceptions; defer restoration of 100% until an explicit future contract update after refactor stabilization." +verification = [ + "Contract validation rejects any base coverage dimension other than 90% or disabled required branches.", + "Coverage policy-gate tests prove values below 90% fail and values at or above 90% pass.", + "The required-crate inventory remains complete and crate-specific numeric thresholds below 90% remain forbidden.", +] +unresolved_risk = "A 90% development gate admits untested paths that a later 100% gate would reject; the final restoration remains intentionally unscheduled pending explicit authority." +normative_architecture_change = false +adr_required = false + +[[deviation]] +id = "RCRV1-DEV-011" +date = "2026-08-03" +status = "closed" +approval = "All code-review recommendations and the full multi-RCLD implementation sequence were explicitly approved by the user." +affected_steps = ["225", "226", "248"] +spec_anchors = [ + "contracts/crates/release_v1/radroots_crates_release_v1.toml#package.radroots_geonames", + "contracts/crates/release_v1/radroots_crates_release_v1.toml#package.radroots_sdk", +] +source_evidence = [ + "The standalone SDK manifest and GeoNames module still resolve radroots_geocoder and its test-fixture feature while the final provider package is implemented in this independently versioned repository.", + "The legacy package has no in-repository consumer, is publish disabled, and is already excluded from the exact release-v1 public package inventory.", + "Deleting the package at Step 225 would make the independently buildable SDK repository unresolvable before its ordered manifest and API cutover begins at Step 226.", +] +replacement_action = "Keep radroots_geocoder as a documentation-marked, machine-classified publish-frozen bridge with no new consumers, features, contracts, or behavior; migrate the standalone SDK to radroots_geonames beginning at Step 226 and delete the bridge at the SDK retirement gate in Step 248." +verification = [ + "The predecessor manifest names radroots_geonames as its replacement, RCRV1-DEV-011 as authority, and Step 248 as the exact removal gate.", + "GeoNames package quarantine tests require the predecessor to remain private and absent from the approved publication inventory while the SDK source census remains non-empty.", + "Step 248 must reject every remaining package, dependency, feature, import, and error-adapter reference to radroots_geocoder before deletion.", +] +unresolved_risk = "None; the SDK consumes radroots_geonames and the predecessor package is absent." +normative_architecture_change = false +adr_required = false +closure_evidence = [ + "crates/geonames/tests/package_boundary.rs rejects the superseded package directory and release-policy identity.", + "The SDK Step 248 checkpoint removed every radroots_geocoder dependency, feature, import, and error-adapter reference.", +] + +[[deviation]] +id = "RCRV1-DEV-012" +date = "2026-08-03" +status = "closed" +approval = "All code-review recommendations and the full multi-RCLD implementation sequence were explicitly approved by the user." +affected_steps = ["279", "282", "283"] +spec_anchors = [ + "contracts/crates/release_v1/radroots_crates_release_v1.toml#package.radroots_transport", + "contracts/crates/release_v1/radroots_crates_release_v1.toml#package.radroots_transport_nostr", + "contracts/crates/release_v1/radroots_crates_release_v1.toml#package.radroots_sdk", +] +source_evidence = [ + "The first-party mobile compile gate proved that its real relay-backed identity, profile, and post operations had no equivalent after the initial shared-engine bridge cutover.", + "The generic source request could bound pages and targets but could not express event kind, author, or event-time constraints required for correct profile and feed queries.", + "Restoring the retired parallel runtime or accepting client-side filtering after page truncation would violate the final SDK and transport ownership model.", +] +replacement_action = "Before qualifying the mobile artifact, add bounded transport-neutral fetch selectors, translate them in the concrete Nostr adapter, complete SDK-owned explicit local-signing and Nostr composition, and map the mobile presentation contract over those SDK operations without restoring direct lower-package dependencies." +verification = [ + "Transport selector construction rejects oversized, duplicate, and reversed-range inputs and binds selectors into page validation.", + "The Nostr adapter applies kind, author, and time constraints remotely and defensively filters returned events before page bounds.", + "The shared-engine SDK and mobile integration gates must pass before Steps 282 and 283 are marked complete.", +] +unresolved_risk = "None; the shared-engine and mobile qualification checkpoints completed with the final selector and SDK ownership model." +normative_architecture_change = false +adr_required = false +closure_evidence = [ + "crates/transport/tests/source_contract.rs verifies bounded canonical selector construction and request binding.", + "crates/transport_nostr/src/source.rs tests remote selector translation and defensive result filtering before page bounds.", + "Steps 282 and 283 qualified the SDK-owned signing, Nostr composition, and mobile presentation bridge without lower-package ownership leakage.", +] diff --git a/contracts/architecture/retired_compatibility.v1.toml b/contracts/architecture/retired_compatibility.v1.toml @@ -0,0 +1,43 @@ +schema_version = 1 +contract_id = "radroots.retired_compatibility.v1" +status = "enforced" + +[[retired_bridge]] +id = "radroots_authority" +final_owners = ["radroots_signing"] +removal_step = 313 + +[[retired_bridge]] +id = "radroots_geocoder" +final_owners = ["radroots_geonames"] +removal_step = 313 + +[[retired_bridge]] +id = "radroots_net" +final_owners = ["radroots_transport"] +removal_step = 301 + +[[retired_bridge]] +id = "radroots_nostr_connect_hidden_prelude" +final_owners = ["radroots_nostr_connect"] +removal_step = 313 + +[[retired_bridge]] +id = "radroots_nostr_connect_prefixed_client_bridge" +final_owners = ["radroots_nostr_connect"] +removal_step = 313 + +[[retired_bridge]] +id = "radroots_nostr_signer" +final_owners = ["radroots_nostr_connect", "radroots_signing"] +removal_step = 313 + +[[retired_bridge]] +id = "radroots_nostr_runtime" +final_owners = ["radroots_transport_nostr"] +removal_step = 301 + +[[retired_bridge]] +id = "nostrdb_runtime_adapter" +final_owners = ["radroots_storage_sqlite"] +removal_step = 301 diff --git a/contracts/crates/release.v2.toml b/contracts/crates/release.v2.toml @@ -1,4 +1,4 @@ -schema_version = 1 +schema_version = 2 spec_id = "radroots.crates.release.v2" status = "approved_not_published" supersedes_without_mutation = "radroots.crates.release.v1" @@ -28,22 +28,22 @@ public_packages = [ "radroots", ] -[[v1_artifact]] -path = "docs/specs/radroots_crates_release_v1.md" +[[v1_retired_human_artifact]] +former_path = "docs/specs/radroots_crates_release_v1.md" sha256 = "ea2c1f0f5c53fae56a247ae7519b065c9a0d62dafb998b75a48075f4a875b5eb" [[v1_artifact]] -path = "docs/specs/radroots_crates_release_v1.toml" +path = "contracts/crates/release_v1/radroots_crates_release_v1.toml" sha256 = "1dc18437200dcd65b52090493306f452dade89b5116401d71be4ba4127239b19" [[v1_artifact]] -path = "docs/specs/radroots_crates_release_v1_inventory.csv" +path = "contracts/crates/release_v1/radroots_crates_release_v1_inventory.csv" sha256 = "5020875c2cda4b2c9568c8b3f0fad5cd96756c3c779a72481a9652e558f77891" [[v1_artifact]] -path = "docs/specs/radroots_crates_release_v1.dot" +path = "contracts/crates/release_v1/radroots_crates_release_v1.dot" sha256 = "d47de10be596a4d33fee102a4f0617f66700b49515a75a1f42d62c9710043059" [[v1_artifact]] -path = "docs/specs/radroots_crates_release_v1.sha256" +path = "contracts/crates/release_v1/radroots_crates_release_v1.sha256" sha256 = "5759ceaae30a9435346320c2791cfda9eb1559b779ea79fd2e94810e14efa281" diff --git a/contracts/crates/release_v1/radroots_crates_release_v1.dot b/contracts/crates/release_v1/radroots_crates_release_v1.dot @@ -0,0 +1,102 @@ +digraph radroots_crates_release_v1 { + rankdir="BT"; + graph [label="Radroots Crates Release V1", labelloc="t", fontsize=20]; + node [fontname="Helvetica"]; + "radroots_core" [shape=ellipse]; + "radroots_identity" [shape=ellipse]; + "radroots_blossom" [shape=ellipse]; + "radroots_protocol" [shape=component]; + "radroots_event" [shape=box]; + "radroots_event_codec" [shape=box]; + "radroots_trade" [shape=box]; + "radroots_signing" [shape=hexagon]; + "radroots_transport" [shape=hexagon]; + "radroots_nostr" [shape=component]; + "radroots_nostr_connect" [shape=component]; + "radroots_secrets" [shape=hexagon]; + "radroots_storage" [shape=hexagon]; + "radroots_storage_sqlite" [shape=cylinder]; + "radroots_transport_nostr" [shape=component]; + "radroots_sync" [shape=box3d]; + "radroots_geonames" [shape=component]; + "radroots_sdk" [shape=doubleoctagon]; + "radroots" [shape=doubleoctagon]; + subgraph cluster_lib { + label="radrootslabs/lib (packages 1-17)"; + "radroots_core"; "radroots_identity"; "radroots_blossom"; + "radroots_protocol"; "radroots_event"; "radroots_event_codec"; + "radroots_trade"; "radroots_signing"; "radroots_transport"; + "radroots_nostr"; "radroots_nostr_connect"; "radroots_secrets"; + "radroots_storage"; "radroots_storage_sqlite"; + "radroots_transport_nostr"; "radroots_sync"; "radroots_geonames"; + } + subgraph cluster_sdk { + label="radrootslabs/sdk (packages 18-19)"; + "radroots_sdk"; "radroots"; + } + "radroots_event" -> "radroots_blossom" [style=solid, label="required"]; + "radroots_event" -> "radroots_core" [style=solid, label="required"]; + "radroots_event" -> "radroots_identity" [style=solid, label="required"]; + "radroots_event" -> "radroots_protocol" [style=solid, label="required"]; + "radroots_event_codec" -> "radroots_blossom" [style=solid, label="required"]; + "radroots_event_codec" -> "radroots_event" [style=solid, label="required"]; + "radroots_event_codec" -> "radroots_protocol" [style=solid, label="required"]; + "radroots_trade" -> "radroots_core" [style=solid, label="required"]; + "radroots_trade" -> "radroots_event" [style=solid, label="required"]; + "radroots_trade" -> "radroots_identity" [style=solid, label="required"]; + "radroots_signing" -> "radroots_event" [style=solid, label="required"]; + "radroots_signing" -> "radroots_identity" [style=solid, label="required"]; + "radroots_signing" -> "radroots_protocol" [style=solid, label="required"]; + "radroots_transport" -> "radroots_event" [style=solid, label="required"]; + "radroots_transport" -> "radroots_identity" [style=solid, label="required"]; + "radroots_transport" -> "radroots_protocol" [style=solid, label="required"]; + "radroots_nostr" -> "radroots_blossom" [style=dashed, label="optional"]; + "radroots_nostr" -> "radroots_signing" [style=dashed, label="optional"]; + "radroots_nostr" -> "radroots_event" [style=solid, label="required"]; + "radroots_nostr" -> "radroots_event_codec" [style=solid, label="required"]; + "radroots_nostr" -> "radroots_identity" [style=solid, label="required"]; + "radroots_nostr_connect" -> "radroots_event" [style=solid, label="required"]; + "radroots_nostr_connect" -> "radroots_identity" [style=solid, label="required"]; + "radroots_nostr_connect" -> "radroots_nostr" [style=solid, label="required"]; + "radroots_nostr_connect" -> "radroots_protocol" [style=solid, label="required"]; + "radroots_storage" -> "radroots_event" [style=solid, label="required"]; + "radroots_storage" -> "radroots_protocol" [style=solid, label="required"]; + "radroots_storage" -> "radroots_trade" [style=solid, label="required"]; + "radroots_storage" -> "radroots_transport" [style=solid, label="required"]; + "radroots_storage_sqlite" -> "radroots_event_codec" [style=solid, label="required"]; + "radroots_storage_sqlite" -> "radroots_secrets" [style=solid, label="required"]; + "radroots_storage_sqlite" -> "radroots_storage" [style=solid, label="required"]; + "radroots_transport_nostr" -> "radroots_event_codec" [style=solid, label="required"]; + "radroots_transport_nostr" -> "radroots_nostr" [style=solid, label="required"]; + "radroots_transport_nostr" -> "radroots_protocol" [style=solid, label="required"]; + "radroots_transport_nostr" -> "radroots_transport" [style=solid, label="required"]; + "radroots_sync" -> "radroots_event" [style=solid, label="required"]; + "radroots_sync" -> "radroots_event_codec" [style=solid, label="required"]; + "radroots_sync" -> "radroots_protocol" [style=solid, label="required"]; + "radroots_sync" -> "radroots_signing" [style=solid, label="required"]; + "radroots_sync" -> "radroots_storage" [style=solid, label="required"]; + "radroots_sync" -> "radroots_trade" [style=solid, label="required"]; + "radroots_sync" -> "radroots_transport" [style=solid, label="required"]; + "radroots_sdk" -> "radroots_geonames" [style=dashed, label="optional"]; + "radroots_sdk" -> "radroots_nostr" [style=dashed, label="optional"]; + "radroots_sdk" -> "radroots_nostr_connect" [style=dashed, label="optional"]; + "radroots_sdk" -> "radroots_secrets" [style=dashed, label="optional"]; + "radroots_sdk" -> "radroots_storage_sqlite" [style=dashed, label="optional"]; + "radroots_sdk" -> "radroots_sync" [style=dashed, label="optional"]; + "radroots_sdk" -> "radroots_transport_nostr" [style=dashed, label="optional"]; + "radroots_sdk" -> "radroots_core" [style=solid, label="required"]; + "radroots_sdk" -> "radroots_event" [style=solid, label="required"]; + "radroots_sdk" -> "radroots_event_codec" [style=solid, label="required"]; + "radroots_sdk" -> "radroots_identity" [style=solid, label="required"]; + "radroots_sdk" -> "radroots_protocol" [style=solid, label="required"]; + "radroots_sdk" -> "radroots_signing" [style=solid, label="required"]; + "radroots_sdk" -> "radroots_storage" [style=solid, label="required"]; + "radroots_sdk" -> "radroots_trade" [style=solid, label="required"]; + "radroots_sdk" -> "radroots_transport" [style=solid, label="required"]; + "radroots" -> "radroots_core" [style=solid, label="required"]; + "radroots" -> "radroots_event" [style=solid, label="required"]; + "radroots" -> "radroots_identity" [style=solid, label="required"]; + "radroots" -> "radroots_sdk" [style=solid, label="required"]; + "radroots" -> "radroots_trade" [style=solid, label="required"]; + "radroots" -> "radroots_transport" [style=solid, label="required"]; +} diff --git a/contracts/crates/release_v1/radroots_crates_release_v1.sha256 b/contracts/crates/release_v1/radroots_crates_release_v1.sha256 @@ -0,0 +1,4 @@ +5a11c6ad90cf03162ca2ce4d1692192d01fa57a31c03fd07d61f70093da5e703 radroots_crates_release_v1.md +7db533f32c70306b29adea35f85686e67287ae33abd33d1013a61590449f1296 radroots_crates_release_v1.toml +5020875c2cda4b2c9568c8b3f0fad5cd96756c3c779a72481a9652e558f77891 radroots_crates_release_v1_inventory.csv +d47de10be596a4d33fee102a4f0617f66700b49515a75a1f42d62c9710043059 radroots_crates_release_v1.dot diff --git a/contracts/crates/release_v1/radroots_crates_release_v1.toml b/contracts/crates/release_v1/radroots_crates_release_v1.toml @@ -0,0 +1,668 @@ +spec_id = "radroots.crates.release.v1" +status = "final_architecture" +date = "2026-07-26" +package_count = 19 +edition = "2024" +resolver = "3" +rust_version = "1.97.1" +license = "MIT OR Apache-2.0" +canonical_repositories = [ + "https://github.com/radrootslabs/lib", + "https://github.com/radrootslabs/sdk", +] + +[repositories.lib] +url = "https://github.com/radrootslabs/lib" +version = "0.1.0-alpha" +packages = [ + "radroots_core", + "radroots_identity", + "radroots_blossom", + "radroots_protocol", + "radroots_event", + "radroots_event_codec", + "radroots_trade", + "radroots_signing", + "radroots_transport", + "radroots_nostr", + "radroots_nostr_connect", + "radroots_secrets", + "radroots_storage", + "radroots_storage_sqlite", + "radroots_transport_nostr", + "radroots_sync", + "radroots_geonames", +] + +[repositories.sdk] +url = "https://github.com/radrootslabs/sdk" +version = "0.1.0-alpha" +packages = ["radroots_sdk", "radroots"] + +[repository_policy] +new_repository_forbidden = true +history_merge_forbidden = true +cross_repository_dependency = "registry_version" +synchronized_contract_copies_required = true + +[release_policy] +sdk_facade_lockstep = true +lower_packages_independent_semver = true +public_codegen_features_forbidden = true +public_to_private_edges_forbidden = true +same_repository_path_and_version_required = true +package_realistic_validation_required = true +preview_packages_withheld = true + +[quality_policy.coverage] +status = "temporary_heavy_development" +repository = "radrootslabs/lib" +scope = "all_required_workspace_crates" +minimum_percent = 90.0 +metrics = ["executable_lines", "functions", "regions", "branches"] +require_measurable_branches = true +numeric_overrides_below_minimum_forbidden = true +reinstatement = "future_explicit_contract_and_spec_update" + +[[package]] +name = "radroots_core" +crate = "radroots_core" +publish_order_hint = 1 +tier = "foundation" +platform = "no_std + alloc; std feature" +responsibility = "Foundational value objects and deterministic invariants: decimal, currency, money, percentage, quantity, units, and pricing." +default_features = ["std", "serde"] +features = ["std", "serde"] +required_radroots_dependencies = [] +optional_radroots_dependencies = [] +modules = [ + "currency", + "decimal", + "money", + "percent", + "pricing", + "quantity", + "unit", +] +root_exports = [ + "Currency", + "Decimal", + "Money", + "Percent", + "Quantity", + "QuantityPrice", + "Unit", + "Error", +] +forbidden = "Identifiers, identities, event kinds, networking, persistence, clocks, filesystem paths, process behavior, or application configuration." + +[[package]] +name = "radroots_identity" +crate = "radroots_identity" +publish_order_hint = 2 +tier = "foundation" +platform = "no_std + alloc; std feature" +responsibility = "Public identity and account value types: canonical public keys, identity IDs, account IDs, public profiles, and usernames." +default_features = ["std", "serde"] +features = ["std", "serde"] +required_radroots_dependencies = [] +optional_radroots_dependencies = [] +modules = ["account", "key", "profile", "username"] +root_exports = [ + "AccountId", + "IdentityId", + "PublicIdentity", + "PublicKey", + "Profile", + "Username", + "Error", +] +forbidden = "Secret keys, key generation, NIP-49 encryption, keyrings, files, SQLite, runtime paths, upstream nostr::Event values, signer sessions, or host account selection." + +[[package]] +name = "radroots_blossom" +crate = "radroots_blossom" +publish_order_hint = 3 +tier = "protocol primitive" +platform = "no_std + alloc; std feature" +responsibility = "Portable Blossom protocol primitives: canonical blob URLs, hashes, media descriptors, byte-verification typestates, and authorization claims." +default_features = ["std", "serde"] +features = ["std", "serde"] +required_radroots_dependencies = [] +optional_radroots_dependencies = [] +modules = ["authorization", "descriptor", "hash", "media_type", "url"] +root_exports = [ + "BlobUrl", + "Sha256", + "MediaType", + "BlobDescriptor", + "ByteVerifiedDescriptor", + "AuthorizationClaim", + "Error", +] +forbidden = "HTTP clients, upload scheduling, cache management, filesystem traversal, application media policy, or global authentication state." + +[[package]] +name = "radroots_protocol" +crate = "radroots_protocol" +publish_order_hint = 4 +tier = "versioned wire contract" +platform = "no_std + alloc; std feature" +responsibility = "Versioned cross-process and cross-language schemas, capability catalogs, operation descriptors, stable error reports, schema IDs, and structural validation." +default_features = ["std", "serde"] +features = ["std", "serde"] +required_radroots_dependencies = [] +optional_radroots_dependencies = [] +modules = [ + "capability::v1", + "error::v1", + "event::v1", + "runtime::v1", + "radrootsd::transport_publish::v5", + "schema", +] +root_exports = [] +forbidden = "Native clients, storage, network I/O, executor/runtime ownership, domain reducers, upstream dependency types, unversioned serialized DTOs, or package names containing protocol generations." + +[[package]] +name = "radroots_event" +crate = "radroots_event" +publish_order_hint = 5 +tier = "domain protocol model" +platform = "no_std + alloc; std feature" +responsibility = "Canonical Radroots event-domain models, validated event identifiers, tags, event contracts, authoring drafts, signed/verified typestates, and NIP-01 wire-neutral representations." +default_features = ["std", "serde"] +features = ["std", "serde", "knowledge"] +required_radroots_dependencies = [ + "radroots_core", + "radroots_identity", + "radroots_blossom", + "radroots_protocol", +] +optional_radroots_dependencies = [] +modules = [ + "admission", + "calendar", + "contract", + "draft", + "envelope", + "farm", + "food", + "id", + "knowledge", + "listing", + "media", + "post", + "profile", + "social", + "tag", + "trade", + "wire", +] +root_exports = [ + "Event", + "GenericEventDraft", + "SignedEvent", + "VerifiedEvent", + "EventId", + "EventKind", + "EventTag", + "Error", +] +forbidden = "Live Nostr clients, relay pools, signing backends, SQLite, outbox claims, retry scheduling, application state, or duplicate trade/order identifier concepts." + +[[package]] +name = "radroots_event_codec" +crate = "radroots_event_codec" +publish_order_hint = 6 +tier = "deterministic algorithm" +platform = "no_std + alloc where selected features permit; std feature" +responsibility = "Deterministic canonical encoding, decoding, ID/signature verification, contract validation, admission, and manifest generation for Radroots events." +default_features = ["std", "json"] +features = ["std", "serde", "json", "knowledge", "manifests"] +required_radroots_dependencies = [ + "radroots_event", + "radroots_blossom", + "radroots_protocol", +] +optional_radroots_dependencies = [] +modules = ["admission", "canonical", "decode", "encode", "manifest", "verify"] +root_exports = ["Codec", "DecodeError", "EncodeError", "VerificationError"] +forbidden = "nostr-sdk clients, relay networking, persistence, background work, upstream client errors, or host configuration." + +[[package]] +name = "radroots_trade" +crate = "radroots_trade" +publish_order_hint = 7 +tier = "domain algorithm" +platform = "no_std + alloc for model/reducer; std feature" +responsibility = "Trade validation, evidence models, deterministic reduction, conflict analysis, and side-effect-free workflow plans over the canonical event trade model." +default_features = ["std", "serde", "json"] +features = ["std", "serde", "json"] +required_radroots_dependencies = [ + "radroots_core", + "radroots_identity", + "radroots_event", +] +optional_radroots_dependencies = [] +modules = ["evidence", "model", "reducer", "validation", "workflow"] +root_exports = [ + "Projection", + "ReductionInput", + "ReducerIssue", + "WorkflowPlan", + "ValidationError", + "Error", +] +forbidden = "A second TradeId definition, actor authorization, signers, event-store access, SQLx, filesystem state, transport delivery, outbox mutation, or process scheduling." + +[[package]] +name = "radroots_signing" +crate = "radroots_signing" +publish_order_hint = 8 +tier = "host SPI" +platform = "no_std + alloc core; std feature" +responsibility = "Object-safe author/signing SPI, actor provenance, authorization checks, requests, receipts, progress, capabilities, and normalized signing errors." +default_features = ["std", "serde"] +features = ["std", "serde"] +required_radroots_dependencies = [ + "radroots_identity", + "radroots_event", + "radroots_protocol", +] +optional_radroots_dependencies = [] +modules = [ + "actor", + "capability", + "error", + "request", + "receipt", + "signer", + "status", +] +root_exports = [ + "Actor", + "Signer", + "SignRequest", + "SignReceipt", + "SignerStatus", + "Error", +] +forbidden = "Raw secret-key ownership, keyrings, relay networking, NIP-46 session persistence, SQL, UI prompts, or executor creation." + +[[package]] +name = "radroots_transport" +crate = "radroots_transport" +publish_order_hint = 9 +tier = "network SPI" +platform = "no_std + alloc data model; std feature" +responsibility = "Transport-neutral target identities, capability/status models, source and sink SPIs, delivery/fetch policies, bounded requests, provenance, and normalized outcomes." +default_features = ["std", "serde"] +features = ["std", "serde"] +required_radroots_dependencies = [ + "radroots_identity", + "radroots_event", + "radroots_protocol", +] +optional_radroots_dependencies = [] +modules = [ + "capability", + "endpoint", + "error", + "outcome", + "policy", + "sink", + "source", + "target", +] +root_exports = [ + "TransportId", + "Target", + "TargetSet", + "EventSource", + "EventSink", + "DeliveryRequest", + "DeliveryReceipt", + "FetchRequest", + "FetchPage", + "Error", +] +forbidden = "Closed enums that prevent new transports, Reticulum-specific constants, Nostr URLs at the generic root, storage/outbox access, retries, scheduler ownership, or silent fallback." + +[[package]] +name = "radroots_nostr" +crate = "radroots_nostr" +publish_order_hint = 10 +tier = "protocol adapter" +platform = "no_std + alloc for conversion surface; std feature" +responsibility = "Portable conversion between Radroots native event/identity types and Nostr protocol types, typed NIP helpers, and concrete local signing adapters; no live relay client." +default_features = ["std", "events"] +features = ["std", "events", "signing", "nip17", "blossom"] +required_radroots_dependencies = [ + "radroots_identity", + "radroots_event", + "radroots_event_codec", +] +optional_radroots_dependencies = ["radroots_signing", "radroots_blossom"] +modules = ["blossom", "event", "filter", "key", "nip17", "signing", "tag"] +root_exports = ["Error"] +forbidden = "nostr-sdk relay pools, reqwest clients, runtime ownership, broad aliases of upstream nostr types at the root, account persistence, or outbox orchestration." + +[[package]] +name = "radroots_nostr_connect" +crate = "radroots_nostr_connect" +publish_order_hint = 11 +tier = "security protocol" +platform = "std for v1; protocol data kept portable" +responsibility = "Nostr Connect/NIP-46 URIs, methods, permissions, requests, responses, client/server state machines, timeout-independent protocol validation, and normalized errors." +default_features = ["serde"] +features = ["serde"] +required_radroots_dependencies = [ + "radroots_identity", + "radroots_event", + "radroots_nostr", + "radroots_protocol", +] +optional_radroots_dependencies = [] +modules = [ + "client", + "error", + "message", + "method", + "permission", + "server", + "uri", +] +root_exports = [ + "Client", + "Server", + "Method", + "Permission", + "Request", + "Response", + "BunkerUri", + "ClientUri", + "Error", +] +forbidden = "Relay-pool implementation, secret persistence, approval UI, global sessions, Tokio runtime ownership, or Myc-specific service storage." + +[[package]] +name = "radroots_secrets" +crate = "radroots_secrets" +publish_order_hint = 12 +tier = "security SPI" +platform = "no_std + alloc core; std adapters" +responsibility = "Secret references, provider and key-wrapping SPIs, versioned encrypted envelopes, zeroization-safe secret handling, and explicit memory/file/keyring adapters." +default_features = ["std", "serde"] +features = ["std", "serde", "memory", "file", "keyring"] +required_radroots_dependencies = [] +optional_radroots_dependencies = [] +modules = [ + "envelope", + "error", + "id", + "provider", + "wrapping", + "memory", + "file", + "keyring", +] +root_exports = [ + "SecretId", + "SecretRef", + "SecretProvider", + "KeyWrapping", + "EncryptedEnvelope", + "Error", +] +forbidden = "Public secret bytes, Clone/Debug/Serialize for secret-bearing values, identity profiles, domain tables, arbitrary key/value storage, hidden key generation, or process-global vaults." + +[[package]] +name = "radroots_storage" +crate = "radroots_storage" +publish_order_hint = 13 +tier = "storage SPI" +platform = "std for v1" +responsibility = "Backend-neutral canonical event, operation journal, outbox, transport evidence, projection, private-artifact metadata, backup, status, and atomic commit interfaces, plus an in-memory reference backend." +default_features = ["memory", "serde"] +features = ["memory", "serde"] +required_radroots_dependencies = [ + "radroots_event", + "radroots_trade", + "radroots_transport", + "radroots_protocol", +] +optional_radroots_dependencies = [] +modules = [ + "atomic", + "backup", + "event", + "journal", + "memory", + "outbox", + "private_artifact", + "projection", + "status", +] +root_exports = [ + "Storage", + "EventStore", + "Journal", + "Outbox", + "ProjectionStore", + "BackupSource", + "StorageStatus", + "Error", +] +forbidden = "SQL text, SQLx pools or transactions, filesystem paths, application UI state, concrete retry loops, Nostr clients, or unconstrained raw key/value escape hatches." + +[[package]] +name = "radroots_storage_sqlite" +crate = "radroots_storage_sqlite" +publish_order_hint = 14 +tier = "native storage backend" +platform = "std-only native backend" +responsibility = "SQLite implementation of the storage SPIs with schema migration, WAL, locking, integrity, backup/restore, crash recovery, and encrypted private storage." +default_features = [] +features = [] +required_radroots_dependencies = [ + "radroots_storage", + "radroots_event_codec", + "radroots_secrets", +] +optional_radroots_dependencies = [] +modules = [ + "backup", + "config", + "integrity", + "lock", + "migration", + "open", + "status", +] +root_exports = ["SqliteStorage", "OpenOptions", "OpenMode", "Paths", "Error"] +forbidden = "Public SqlitePool/Connection/Transaction handles, caller-supplied arbitrary SQL, Studio state, global connection pools, runtime installation, or silent schema downgrade." + +[[package]] +name = "radroots_transport_nostr" +crate = "radroots_transport_nostr" +publish_order_hint = 15 +tier = "native network adapter" +platform = "std-only; Tokio implementation detail in v1" +responsibility = "Concrete Nostr EventSource/EventSink implementation: relay URL policy, connection, NIP-42 authentication, bounded fetch pages, delivery, status, and relay-outcome normalization." +default_features = [] +features = [] +required_radroots_dependencies = [ + "radroots_transport", + "radroots_nostr", + "radroots_event_codec", + "radroots_protocol", +] +optional_radroots_dependencies = [] +modules = ["auth", "client", "relay", "sink", "source", "status"] +root_exports = [ + "NostrTransport", + "Config", + "RelayUrl", + "RelayUrlPolicy", + "Error", +] +forbidden = "Event-store ingestion, outbox claiming, retry scheduling, projection refresh, global relay clients, direct SQL, or transport fallback." + +[[package]] +name = "radroots_sync" +crate = "radroots_sync" +publish_order_hint = 16 +tier = "local-first orchestration" +platform = "std-only in v1; executor-neutral public API" +responsibility = "Shared pull, verification, canonical admission, duplicate handling, projection refresh, outbox signing/delivery, status, and retry-decision orchestration without owning scheduling." +default_features = ["serde"] +features = ["serde"] +required_radroots_dependencies = [ + "radroots_event", + "radroots_event_codec", + "radroots_signing", + "radroots_transport", + "radroots_storage", + "radroots_trade", + "radroots_protocol", +] +optional_radroots_dependencies = [] +modules = ["ingest", "policy", "projection", "pull", "push", "status"] +root_exports = [ + "Engine", + "PullRequest", + "PullReceipt", + "PushRequest", + "PushPreparation", + "PushStatus", + "SigningRunReceipt", + "AdmissionRunReceipt", + "DeliveryExecutionReceipt", + "SyncStatus", + "Error", +] +forbidden = "Creating an executor, spawning hidden workers, installing timers globally, owning process lifecycle, storing UI state, or transport-specific branches outside adapters." + +[[package]] +name = "radroots_geonames" +crate = "radroots_geonames" +publish_order_hint = 17 +tier = "concrete data provider" +platform = "std-only" +responsibility = "GeoNames asset specification, authenticated/integrity-checked acquisition, database lifecycle, and forward/reverse locality lookup using provider-owned types." +default_features = [] +features = [] +required_radroots_dependencies = [] +optional_radroots_dependencies = [] +modules = ["asset", "database", "download", "model", "query"] +root_exports = [ + "Geocoder", + "AssetSpec", + "AssetStatus", + "Query", + "Candidate", + "Point", + "Error", +] +forbidden = "Generic multi-provider abstraction before a second provider exists, runtime-path policy, hidden downloads, SDK configuration types, SQLx/reqwest types in the public API, or test-fixture features." + +[[package]] +name = "radroots_sdk" +crate = "radroots_sdk" +publish_order_hint = 18 +tier = "advanced front door" +platform = "std-only native engine" +responsibility = "Host-neutral asynchronous client engine, product operations, capability reporting, explicit storage/signing/transport composition, diagnostics, backup/restore, and safe commit semantics." +default_features = ["memory"] +features = [ + "memory", + "sqlite", + "sync", + "nostr", + "nip46", + "local-signing", + "radrootsd", + "geonames", + "knowledge", + "native", + "full", +] +required_radroots_dependencies = [ + "radroots_core", + "radroots_identity", + "radroots_protocol", + "radroots_event", + "radroots_event_codec", + "radroots_trade", + "radroots_signing", + "radroots_transport", + "radroots_storage", +] +optional_radroots_dependencies = [ + "radroots_secrets", + "radroots_storage_sqlite", + "radroots_nostr", + "radroots_nostr_connect", + "radroots_transport_nostr", + "radroots_sync", + "radroots_geonames", +] +modules = [ + "capability", + "client", + "diagnostics", + "error", + "farm", + "listing", + "signing", + "storage", + "sync", + "trade", + "transport", +] +root_exports = ["Client", "ClientBuilder", "Error", "Result"] +forbidden = "Global runtimes or subscribers, hidden workers, process signals, CLI parsing, UI state, Studio databases, raw SQLx/upstream client types, broad wildcard reexports, or a nominal no_std claim." + +[[package]] +name = "radroots" +crate = "radroots" +publish_order_hint = 19 +tier = "ordinary-user front door" +platform = "std-only" +responsibility = "Canonical Rust onboarding package with curated modules, safe defaults, stable convenience builders, domain aggregation, examples, and primary documentation." +default_features = ["client"] +features = [ + "client", + "native", + "nostr", + "nip46", + "radrootsd", + "geonames", + "knowledge", + "full", +] +required_radroots_dependencies = [ + "radroots_sdk", + "radroots_core", + "radroots_identity", + "radroots_event", + "radroots_trade", + "radroots_transport", +] +optional_radroots_dependencies = [] +modules = [ + "client", + "event", + "farm", + "identity", + "knowledge", + "listing", + "signing", + "storage", + "sync", + "trade", + "transport", +] +root_exports = ["Client", "ClientBuilder", "Error", "Result"] +forbidden = "A public radroots::sdk namespace, wildcard reexport of radroots_sdk, duplicate engine implementation, CLI binary, hidden network/filesystem/keychain side effects, or exposure of every lower-crate symbol." diff --git a/contracts/crates/release_v1/radroots_crates_release_v1_inventory.csv b/contracts/crates/release_v1/radroots_crates_release_v1_inventory.csv @@ -0,0 +1,20 @@ +publish_order_hint,package,crate,repository,tier,platform,initial_version,default_features,features,required_radroots_dependencies,optional_radroots_dependencies,direct_consumers,responsibility,forbidden +1,radroots_core,radroots_core,lib,foundation,no_std + alloc; std feature,0.1.0-alpha,std;serde,std;serde,,,radroots_event;radroots_trade;radroots_sdk;radroots,"Foundational value objects and deterministic invariants: decimal, currency, money, percentage, quantity, units, and pricing.","Identifiers, identities, event kinds, networking, persistence, clocks, filesystem paths, process behavior, or application configuration." +2,radroots_identity,radroots_identity,lib,foundation,no_std + alloc; std feature,0.1.0-alpha,std;serde,std;serde,,,radroots_event;radroots_signing;radroots_transport;radroots_nostr;radroots_nostr_connect;radroots_sdk;services,"Public identity and account value types: canonical public keys, identity IDs, account IDs, public profiles, and usernames.","Secret keys, key generation, NIP-49 encryption, keyrings, files, SQLite, runtime paths, upstream nostr::Event values, signer sessions, or host account selection." +3,radroots_blossom,radroots_blossom,lib,protocol primitive,no_std + alloc; std feature,0.1.0-alpha,std;serde,std;serde,,,radroots_event;radroots_event_codec;radroots_nostr;media clients,"Portable Blossom protocol primitives: canonical blob URLs, hashes, media descriptors, byte-verification typestates, and authorization claims.","HTTP clients, upload scheduling, cache management, filesystem traversal, application media policy, or global authentication state." +4,radroots_protocol,radroots_protocol,lib,versioned wire contract,no_std + alloc; std feature,0.1.0-alpha,std;serde,std;serde,,,radroots_event;radroots_signing;radroots_transport;radroots_storage;radroots_sync;radroots_sdk;radrootsd;bindings,"Versioned cross-process and cross-language schemas, capability catalogs, operation descriptors, stable error reports, schema IDs, and structural validation.","Native clients, storage, network I/O, executor/runtime ownership, domain reducers, upstream dependency types, unversioned serialized DTOs, or package names containing protocol generations." +5,radroots_event,radroots_event,lib,domain protocol model,no_std + alloc; std feature,0.1.0-alpha,std;serde,std;serde;knowledge,radroots_core;radroots_identity;radroots_blossom;radroots_protocol,,radroots_event_codec;radroots_trade;radroots_signing;radroots_transport;radroots_storage;radroots_sync;radroots_nostr;radroots_sdk;indexers,"Canonical Radroots event-domain models, validated event identifiers, tags, event contracts, authoring drafts, signed/verified typestates, and NIP-01 wire-neutral representations.","Live Nostr clients, relay pools, signing backends, SQLite, outbox claims, retry scheduling, application state, or duplicate trade/order identifier concepts." +6,radroots_event_codec,radroots_event_codec,lib,deterministic algorithm,no_std + alloc where selected features permit; std feature,0.1.0-alpha,std;json,std;serde;json;knowledge;manifests,radroots_event;radroots_blossom;radroots_protocol,,radroots_nostr;radroots_storage_sqlite;radroots_transport_nostr;radroots_sync;radroots_sdk;bindings,"Deterministic canonical encoding, decoding, ID/signature verification, contract validation, admission, and manifest generation for Radroots events.","nostr-sdk clients, relay networking, persistence, background work, upstream client errors, or host configuration." +7,radroots_trade,radroots_trade,lib,domain algorithm,no_std + alloc for model/reducer; std feature,0.1.0-alpha,std;serde;json,std;serde;json,radroots_core;radroots_identity;radroots_event,,radroots_storage;radroots_sync;radroots_sdk;RHI;applications,"Trade validation, evidence models, deterministic reduction, conflict analysis, and side-effect-free workflow plans over the canonical event trade model.","A second TradeId definition, actor authorization, signers, event-store access, SQLx, filesystem state, transport delivery, outbox mutation, or process scheduling." +8,radroots_signing,radroots_signing,lib,host SPI,no_std + alloc core; std feature,0.1.0-alpha,std;serde,std;serde,radroots_identity;radroots_event;radroots_protocol,,radroots_nostr;radroots_sync;radroots_sdk;CLI;Studio;FFI hosts,"Object-safe author/signing SPI, actor provenance, authorization checks, requests, receipts, progress, capabilities, and normalized signing errors.","Raw secret-key ownership, keyrings, relay networking, NIP-46 session persistence, SQL, UI prompts, or executor creation." +9,radroots_transport,radroots_transport,lib,network SPI,no_std + alloc data model; std feature,0.1.0-alpha,std;serde,std;serde,radroots_identity;radroots_event;radroots_protocol,,radroots_storage;radroots_transport_nostr;radroots_sync;radroots_sdk;services;future adapters,"Transport-neutral target identities, capability/status models, source and sink SPIs, delivery/fetch policies, bounded requests, provenance, and normalized outcomes.","Closed enums that prevent new transports, Reticulum-specific constants, Nostr URLs at the generic root, storage/outbox access, retries, scheduler ownership, or silent fallback." +10,radroots_nostr,radroots_nostr,lib,protocol adapter,no_std + alloc for conversion surface; std feature,0.1.0-alpha,std;events,std;events;signing;nip17;blossom,radroots_identity;radroots_event;radroots_event_codec,radroots_signing;radroots_blossom,radroots_nostr_connect;radroots_transport_nostr;radroots_sdk;Myc;radrootsd,"Portable conversion between Radroots native event/identity types and Nostr protocol types, typed NIP helpers, and concrete local signing adapters; no live relay client.","nostr-sdk relay pools, reqwest clients, runtime ownership, broad aliases of upstream nostr types at the root, account persistence, or outbox orchestration." +11,radroots_nostr_connect,radroots_nostr_connect,lib,security protocol,std for v1; protocol data kept portable,0.1.0-alpha,serde,serde,radroots_identity;radroots_event;radroots_nostr;radroots_protocol,,radroots_sdk;Myc;remote signer tooling,"Nostr Connect/NIP-46 URIs, methods, permissions, requests, responses, client/server state machines, timeout-independent protocol validation, and normalized errors.","Relay-pool implementation, secret persistence, approval UI, global sessions, Tokio runtime ownership, or Myc-specific service storage." +12,radroots_secrets,radroots_secrets,lib,security SPI,no_std + alloc core; std adapters,0.1.0-alpha,std;serde,std;serde;memory;file;keyring,,,radroots_storage_sqlite;radroots_sdk;signing hosts;services,"Secret references, provider and key-wrapping SPIs, versioned encrypted envelopes, zeroization-safe secret handling, and explicit memory/file/keyring adapters.","Public secret bytes, Clone/Debug/Serialize for secret-bearing values, identity profiles, domain tables, arbitrary key/value storage, hidden key generation, or process-global vaults." +13,radroots_storage,radroots_storage,lib,storage SPI,std for v1,0.1.0-alpha,memory;serde,memory;serde,radroots_event;radroots_trade;radroots_transport;radroots_protocol,,radroots_storage_sqlite;radroots_sync;radroots_sdk;indexers;tests;future backends,"Backend-neutral canonical event, operation journal, outbox, transport evidence, projection, private-artifact metadata, backup, status, and atomic commit interfaces, plus an in-memory reference backend.","SQL text, SQLx pools or transactions, filesystem paths, application UI state, concrete retry loops, Nostr clients, or unconstrained raw key/value escape hatches." +14,radroots_storage_sqlite,radroots_storage_sqlite,lib,native storage backend,std-only native backend,0.1.0-alpha,,,radroots_storage;radroots_event_codec;radroots_secrets,,radroots_sdk;CLI;Studio;mobile/FFI,"SQLite implementation of the storage SPIs with schema migration, WAL, locking, integrity, backup/restore, crash recovery, and encrypted private storage.","Public SqlitePool/Connection/Transaction handles, caller-supplied arbitrary SQL, Studio state, global connection pools, runtime installation, or silent schema downgrade." +15,radroots_transport_nostr,radroots_transport_nostr,lib,native network adapter,std-only; Tokio implementation detail in v1,0.1.0-alpha,,,radroots_transport;radroots_nostr;radroots_event_codec;radroots_protocol,,radroots_sdk;CLI;radrootsd;advanced hosts,"Concrete Nostr EventSource/EventSink implementation: relay URL policy, connection, NIP-42 authentication, bounded fetch pages, delivery, status, and relay-outcome normalization.","Event-store ingestion, outbox claiming, retry scheduling, projection refresh, global relay clients, direct SQL, or transport fallback." +16,radroots_sync,radroots_sync,lib,local-first orchestration,std-only in v1; executor-neutral public API,0.1.0-alpha,serde,serde,radroots_event;radroots_event_codec;radroots_signing;radroots_transport;radroots_storage;radroots_trade;radroots_protocol,,radroots_sdk;CLI;Studio;mobile/FFI;advanced hosts,"Shared pull, verification, canonical admission, duplicate handling, projection refresh, outbox signing/delivery, status, and retry-decision orchestration without owning scheduling.","Creating an executor, spawning hidden workers, installing timers globally, owning process lifecycle, storing UI state, or transport-specific branches outside adapters." +17,radroots_geonames,radroots_geonames,lib,concrete data provider,std-only,0.1.0-alpha,,,,,radroots_sdk;CLI;geocoding applications,"GeoNames asset specification, authenticated/integrity-checked acquisition, database lifecycle, and forward/reverse locality lookup using provider-owned types.","Generic multi-provider abstraction before a second provider exists, runtime-path policy, hidden downloads, SDK configuration types, SQLx/reqwest types in the public API, or test-fixture features." +18,radroots_sdk,radroots_sdk,sdk,advanced front door,std-only native engine,0.1.0-alpha,memory,memory;sqlite;sync;nostr;nip46;local-signing;radrootsd;geonames;knowledge;native;full,radroots_core;radroots_identity;radroots_protocol;radroots_event;radroots_event_codec;radroots_trade;radroots_signing;radroots_transport;radroots_storage,radroots_secrets;radroots_storage_sqlite;radroots_nostr;radroots_nostr_connect;radroots_transport_nostr;radroots_sync;radroots_geonames,CLI;Studio;FFI/mobile;advanced native applications,"Host-neutral asynchronous client engine, product operations, capability reporting, explicit storage/signing/transport composition, diagnostics, backup/restore, and safe commit semantics.","Global runtimes or subscribers, hidden workers, process signals, CLI parsing, UI state, Studio databases, raw SQLx/upstream client types, broad wildcard reexports, or a nominal no_std claim." +19,radroots,radroots,sdk,ordinary-user front door,std-only,0.1.0-alpha,client,client;native;nostr;nip46;radrootsd;geonames;knowledge;full,radroots_sdk;radroots_core;radroots_identity;radroots_event;radroots_trade;radroots_transport,,ordinary Rust applications;examples;documentation,"Canonical Rust onboarding package with curated modules, safe defaults, stable convenience builders, domain aggregation, examples, and primary documentation.","A public radroots::sdk namespace, wildcard reexport of radroots_sdk, duplicate engine implementation, CLI binary, hidden network/filesystem/keychain side effects, or exposure of every lower-crate symbol." diff --git a/contracts/releases/api_boundaries.toml b/contracts/releases/api_boundaries.toml @@ -97,60 +97,3 @@ allowed_public_paths = [] [[package]] name = "radroots" allowed_public_paths = [] -[[exception]] -id = "RCRV1-API-006" -package = "radroots_nostr_connect" -source = "src/client.rs" -forbidden_path = "nostr" -items = [ - "client::RadrootsNostrConnectClientTarget", - "client::RadrootsNostrConnectClientTarget::new", - "client::RadrootsNostrConnectClientTransport", - "client::build_request_event", - "client::execute_request_with_transport", - "client::parse_response_event", -] -observed_paths = [ - "nostr::Event", - "nostr::Keys", - "nostr::PublicKey", - "nostr::RelayUrl", -] -adr = "docs/decisions/0001-public-api-leakage-migration-baseline.md" -removal_step = 313 -rationale = "Hidden, publish-frozen client signatures remain only for CLI, Myc, and residual first-party cutovers in Steps 271, 288, and 293." - -[[exception]] -id = "RCRV1-API-007" -package = "radroots_nostr_connect" -source = "src/message.rs" -forbidden_path = "nostr" -items = [ - "message::RadrootsNostrConnectPendingConnectionPollOutcome", - "message::RadrootsNostrConnectRemoteSessionCapability", - "message::RadrootsNostrConnectRequest", - "message::RadrootsNostrConnectResponse", -] -observed_paths = [ - "nostr::Event", - "nostr::PublicKey", - "nostr::RelayUrl", - "nostr::UnsignedEvent", -] -adr = "docs/decisions/0001-public-api-leakage-migration-baseline.md" -removal_step = 313 -rationale = "Hidden, publish-frozen aliases remain only for CLI, Myc, and residual first-party cutovers in Steps 271, 288, and 293." - -[[exception]] -id = "RCRV1-API-008" -package = "radroots_nostr_connect" -source = "src/uri.rs" -forbidden_path = "nostr" -items = [ - "uri::RadrootsNostrConnectBunkerUri", - "uri::RadrootsNostrConnectClientUri", -] -observed_paths = ["nostr::PublicKey", "nostr::RelayUrl"] -adr = "docs/decisions/0001-public-api-leakage-migration-baseline.md" -removal_step = 313 -rationale = "Hidden, publish-frozen URI aliases remain only for CLI, Myc, and residual first-party cutovers in Steps 271, 288, and 293." diff --git a/crates/blossom/README.md b/crates/blossom/README.md @@ -59,9 +59,9 @@ Supporting states and constructors remain in these modules: - `url` — structural blob URLs and the stricter approved-reference state. The normative responsibility and dependency boundary are defined by the -[`radroots_blossom` package charter](../../docs/specs/radroots_crates_release_v1.md). -The reviewed pre-release surface is recorded in -[`docs/api`](../../docs/api/README.md). +[`radroots_blossom` package charter](../../contracts/crates/release_v1/radroots_crates_release_v1.toml). +The reviewed pre-release surface is recorded in the +[`radroots_blossom` API baseline](../../contracts/api_baselines/radroots_blossom.txt). ## Features diff --git a/crates/core/README.md b/crates/core/README.md @@ -46,9 +46,9 @@ Focused errors and operations remain in these modules: - `unit` — unit parsing, dimensions, and deterministic conversions. The normative responsibility and dependency boundary are defined by the -[`radroots_core` package charter](../../docs/specs/radroots_crates_release_v1.md). -The reviewed pre-release surface is recorded in -[`docs/api`](../../docs/api/README.md). +[`radroots_core` package charter](../../contracts/crates/release_v1/radroots_crates_release_v1.toml). +The reviewed pre-release surface is recorded in the +[`radroots_core` API baseline](../../contracts/api_baselines/radroots_core.txt). ## Features diff --git a/crates/event/tests/package_boundary.rs b/crates/event/tests/package_boundary.rs @@ -22,7 +22,7 @@ const RELAY_HINT: &str = include_str!("../src/relay_hint.rs"); const TRADE: &str = include_str!("../src/trade.rs"); const ADMISSION: &str = include_str!("../src/admission.rs"); const VERIFICATION: &str = include_str!("../src/verification.rs"); -const PUBLIC_API: &str = include_str!("../../../docs/api/radroots_event.txt"); +const PUBLIC_API: &str = include_str!("../../../contracts/api_baselines/radroots_event.txt"); const CODEC_MANIFEST: &str = include_str!("../../event_codec/Cargo.toml"); #[test] diff --git a/crates/event/tests/source_boundary.rs b/crates/event/tests/source_boundary.rs @@ -116,7 +116,7 @@ fn public_api_has_no_redundant_radroots_type_prefixes() { .parent() .and_then(Path::parent) .expect("lib repo root"); - let baseline = fs::read_to_string(repo_root.join("docs/api/radroots_event.txt")) + let baseline = fs::read_to_string(repo_root.join("contracts/api_baselines/radroots_event.txt")) .expect("read radroots_event public API baseline"); let mut prefixed = baseline .split(|character: char| !is_identifier_character(character)) diff --git a/crates/event_codec/README.md b/crates/event_codec/README.md @@ -29,7 +29,7 @@ The Release V1 canonical root consists of `Codec`, `DecodeError`, canonical modules so each import states whether it encodes, decodes, verifies, or admits data. Legacy top-level domain routes are not exposed. The canonical surface is recorded in the -[public API baseline](../../docs/api/radroots_event_codec.txt). +[public API baseline](../../contracts/api_baselines/radroots_event_codec.txt). ## Verification pipeline @@ -146,9 +146,9 @@ responsibilities belong to adapter and runtime crates. 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). +[Radroots crates Release V1 specification](../../contracts/crates/release_v1/radroots_crates_release_v1.toml). +The reviewed surface is the +[`radroots_event_codec` API baseline](../../contracts/api_baselines/radroots_event_codec.txt). ## Copyright diff --git a/crates/event_codec/tests/package_boundary.rs b/crates/event_codec/tests/package_boundary.rs @@ -10,7 +10,7 @@ const VERIFICATION: &str = include_str!("../src/verification/v1.rs"); const EXAMPLE: &str = include_str!("../examples/verify_profile.rs"); const FUZZ_LOCK: &str = include_str!("../../../fuzz/event_codec/Cargo.lock"); const FUZZ_MANIFEST: &str = include_str!("../../../fuzz/event_codec/Cargo.toml"); -const PUBLIC_API: &str = include_str!("../../../docs/api/radroots_event_codec.txt"); +const PUBLIC_API: &str = include_str!("../../../contracts/api_baselines/radroots_event_codec.txt"); #[test] fn manifest_has_final_identity_and_required_radroots_dependencies() { diff --git a/crates/geonames/README.md b/crates/geonames/README.md @@ -11,9 +11,9 @@ client types, or define a generic geocoder SPI. Publication remains disabled during the `0.1.0-alpha` refactor. The authoritative package charter is the -[`radroots_geonames` section of the Release V1 specification](https://github.com/radrootslabs/lib/blob/master/docs/specs/radroots_crates_release_v1.md#17-radroots_geonames). +[`radroots_geonames` section of the Release V1 specification](../../contracts/crates/release_v1/radroots_crates_release_v1.toml). The reviewed Rust surface is recorded in the -[public API baseline](../../docs/api/radroots_geonames.txt). +[public API baseline](../../contracts/api_baselines/radroots_geonames.txt). ## Prepare a query without I/O diff --git a/crates/geonames/tests/package_boundary.rs b/crates/geonames/tests/package_boundary.rs @@ -5,8 +5,7 @@ use std::path::Path; const MANIFEST: &str = include_str!("../Cargo.toml"); const README: &str = include_str!("../README.md"); const EXAMPLE: &str = include_str!("../examples/prepare_query.rs"); -const PUBLIC_API: &str = include_str!("../../../docs/api/radroots_geonames.txt"); -const API_INDEX: &str = include_str!("../../../docs/api/README.md"); +const PUBLIC_API: &str = include_str!("../../../contracts/api_baselines/radroots_geonames.txt"); const ROOT: &str = include_str!("../src/lib.rs"); const PUBLISH_POLICY: &str = include_str!("../../../contracts/releases/publish_policy.toml"); @@ -49,9 +48,9 @@ fn documentation_example_and_reviewed_api_baseline_are_complete() { "## Database and query behavior", "## Errors, serialization, and side effects", "## Intended consumers", - "radroots_crates_release_v1.md#17-radroots_geonames", + "radroots_crates_release_v1.toml", "examples/prepare_query.rs", - "docs/api/radroots_geonames.txt", + "contracts/api_baselines/radroots_geonames.txt", ] { assert!(README.contains(required), "README is missing `{required}`"); } @@ -97,10 +96,6 @@ fn documentation_example_and_reviewed_api_baseline_are_complete() { "public API exposes `{forbidden}`" ); } - assert!( - API_INDEX - .contains("| `radroots_geonames` | [`radroots_geonames.txt`](radroots_geonames.txt) |") - ); } #[test] diff --git a/crates/identity/README.md b/crates/identity/README.md @@ -51,11 +51,11 @@ Focused values remain in these modules: - `username` — canonical username parsing, bounds, and normalization. The normative responsibility and dependency boundary are defined by the -[`radroots_identity` package charter](../../docs/specs/radroots_crates_release_v1.md). -The reviewed pre-release surface is recorded in -[`docs/api`](../../docs/api/README.md). Signing, Nostr-key, secret-provider, -and storage ownership is documented in the -[`identity` migration boundary](../../docs/migration/identity.md). +[`radroots_identity` package charter](../../contracts/crates/release_v1/radroots_crates_release_v1.toml). +The reviewed pre-release surface is recorded in the +[`radroots_identity` API baseline](../../contracts/api_baselines/radroots_identity.txt). +Signing, Nostr-key, secret-provider, and storage ownership remains outside +this public-only identity package as described by the package boundary above. ## Features diff --git a/crates/nostr/README.md b/crates/nostr/README.md @@ -11,7 +11,7 @@ state. Live Nostr transport belongs in `radroots_transport_nostr`; application composition belongs in `radroots_sdk` or an advanced host. The authoritative package charter is the -[`radroots_nostr` section of the Release V1 specification](https://github.com/radrootslabs/lib/blob/master/docs/specs/radroots_crates_release_v1.md#10-radroots_nostr). +[`radroots_nostr` section of the Release V1 specification](../../contracts/crates/release_v1/radroots_crates_release_v1.toml). ## Quick start diff --git a/crates/nostr/tests/package_boundary.rs b/crates/nostr/tests/package_boundary.rs @@ -22,7 +22,7 @@ const README: &str = include_str!("../README.md"); const SIGNING_MODULE: &str = include_str!("../src/signing.rs"); const TAG_MODULE: &str = include_str!("../src/tag.rs"); const TYPES_MODULE: &str = include_str!("../src/types.rs"); -const PUBLIC_API: &str = include_str!("../../../docs/api/radroots_nostr.txt"); +const PUBLIC_API: &str = include_str!("../../../contracts/api_baselines/radroots_nostr.txt"); const IDENTITY_MANIFEST: &str = include_str!("../../identity/Cargo.toml"); const IDENTITY_KEY_MODULE: &str = include_str!("../../identity/src/key.rs"); const TRANSPORT_MANIFEST: &str = include_str!("../../transport_nostr/Cargo.toml"); diff --git a/crates/nostr_connect/README.md b/crates/nostr_connect/README.md @@ -26,7 +26,7 @@ The curated root exports are `Client`, `Server`, `Method`, `Permission`, `Request`, `Response`, `BunkerUri`, `ClientUri`, and `Error`. Supporting types remain in their owning modules so callers make protocol boundaries explicit. The reviewed Rust surface is recorded in the -[public API baseline](../../docs/api/radroots_nostr_connect.txt). +[public API baseline](../../contracts/api_baselines/radroots_nostr_connect.txt). ## Preparing a client request @@ -130,9 +130,9 @@ applications, and host runtimes. The authoritative responsibility, dependency, feature, module, root-export, and forbidden-scope contract is the -[Radroots crates Release V1 specification](../../docs/specs/radroots_crates_release_v1.md). -The baseline generation procedure and pinned toolchain are documented in -[`docs/api/README.md`](../../docs/api/README.md). +[Radroots crates Release V1 specification](../../contracts/crates/release_v1/radroots_crates_release_v1.toml). +The reviewed surface is the +[`radroots_nostr_connect` API baseline](../../contracts/api_baselines/radroots_nostr_connect.txt). ## Copyright diff --git a/crates/nostr_connect/tests/package_boundary.rs b/crates/nostr_connect/tests/package_boundary.rs @@ -8,7 +8,8 @@ use radroots_nostr_connect::{ const MANIFEST: &str = include_str!("../Cargo.toml"); const README: &str = include_str!("../README.md"); const EXAMPLE: &str = include_str!("../examples/prepare_request.rs"); -const PUBLIC_API: &str = include_str!("../../../docs/api/radroots_nostr_connect.txt"); +const PUBLIC_API: &str = + include_str!("../../../contracts/api_baselines/radroots_nostr_connect.txt"); const CLIENT: &str = include_str!("../src/client.rs"); const METHOD: &str = include_str!("../src/method.rs"); const PERMISSION: &str = include_str!("../src/permission.rs"); diff --git a/crates/protocol/README.md b/crates/protocol/README.md @@ -82,6 +82,6 @@ tools. Applications should normally enter through `radroots` or a versioned boundary. The package charter is the -[Release V1 specification](../../docs/specs/radroots_crates_release_v1.md). +[Release V1 specification](../../contracts/crates/release_v1/radroots_crates_release_v1.toml). The reviewed Rust surface is recorded in the -[public API baseline](../../docs/api/radroots_protocol.txt). +[public API baseline](../../contracts/api_baselines/radroots_protocol.txt). diff --git a/crates/radroots/README.md b/crates/radroots/README.md @@ -90,6 +90,6 @@ use radroots::sdk; ``` The normative package charter is the [`radroots` release-v1 -specification](../../docs/specs/radroots_crates_release_v1.md#19-radroots). +specification](../../contracts/crates/release_v1/radroots_crates_release_v1.toml). The reviewed pre-release public API is recorded in the -[`radroots` baseline](../../docs/api/radroots.txt). +[`radroots` baseline](../../contracts/api_baselines/radroots.txt). diff --git a/crates/sdk/README.md b/crates/sdk/README.md @@ -11,7 +11,7 @@ and `Result`. Advanced operations live in the `farm`, `listing`, `trade`, modules. The package charter is the normative [`radroots_sdk` crate -specification](../../docs/specs/radroots_crates_release_v1.md#18-radroots_sdk). +specification](../../contracts/crates/release_v1/radroots_crates_release_v1.toml). This advanced front door is intended for CLI, Studio, FFI/mobile, and native applications that need to compose storage, signing, transport, or sync capabilities directly. Ordinary Rust applications should use the curated @@ -171,4 +171,4 @@ publication remains blocked pending the approval packet and a separately authorized operator step. The crate is licensed under `MIT OR Apache-2.0`. The reviewed all-features public API baseline is recorded at -[`docs/api/radroots_sdk.txt`](../../docs/api/radroots_sdk.txt). +[`contracts/api_baselines/radroots_sdk.txt`](../../contracts/api_baselines/radroots_sdk.txt). diff --git a/crates/secrets/README.md b/crates/secrets/README.md @@ -26,7 +26,7 @@ The curated root exports only `EncryptedEnvelope`, `Error`, `SecretId`, `SecretRef`, `SecretProvider`, and `KeyWrapping`. Supporting request, policy, adapter, and value types remain in their owning modules so security boundaries stay explicit. The reviewed Rust surface is recorded in the -[public API baseline](../../docs/api/radroots_secrets.txt). +[public API baseline](../../contracts/api_baselines/radroots_secrets.txt). ## Explicit provider and envelope flow @@ -172,9 +172,9 @@ remain with their dedicated packages and hosts. The authoritative responsibility, dependency, feature, module, root-export, and forbidden-scope contract is the -[Radroots crates Release V1 specification](../../docs/specs/radroots_crates_release_v1.md). -The baseline generation procedure and pinned toolchain are documented in -[`docs/api/README.md`](../../docs/api/README.md). +[Radroots crates Release V1 specification](../../contracts/crates/release_v1/radroots_crates_release_v1.toml). +The reviewed surface is the +[`radroots_secrets` API baseline](../../contracts/api_baselines/radroots_secrets.txt). ## Copyright diff --git a/crates/secrets/tests/security_contract.rs b/crates/secrets/tests/security_contract.rs @@ -9,7 +9,7 @@ use radroots_secrets::{Error, SecretId, SecretRef}; use std::fs; use std::path::{Path, PathBuf}; -const PUBLIC_API: &str = include_str!("../../../docs/api/radroots_secrets.txt"); +const PUBLIC_API: &str = include_str!("../../../contracts/api_baselines/radroots_secrets.txt"); #[test] fn reviewed_api_forbids_secret_bearing_clone_serialize_and_byte_access() { diff --git a/crates/signing/README.md b/crates/signing/README.md @@ -12,7 +12,7 @@ belongs in `radroots_nostr_connect`; applications compose those adapters in `radroots_sdk` or their own host layer. The authoritative package charter is the -[`radroots_signing` section of the Release V1 specification](https://github.com/radrootslabs/lib/blob/master/docs/specs/radroots_crates_release_v1.md#8-radroots_signing). +[`radroots_signing` section of the Release V1 specification](../../contracts/crates/release_v1/radroots_crates_release_v1.toml). ## Typical flow diff --git a/crates/signing/tests/package_boundary.rs b/crates/signing/tests/package_boundary.rs @@ -9,7 +9,7 @@ use radroots_signing::{ const MANIFEST: &str = include_str!("../Cargo.toml"); const EXAMPLE: &str = include_str!("../examples/host_signer.rs"); -const PUBLIC_API: &str = include_str!("../../../docs/api/radroots_signing.txt"); +const PUBLIC_API: &str = include_str!("../../../contracts/api_baselines/radroots_signing.txt"); const README: &str = include_str!("../README.md"); const ROOT: &str = include_str!("../src/lib.rs"); @@ -150,7 +150,7 @@ fn package_documentation_and_reviewed_api_baseline_are_complete() { "## Security and side effects", "## Features", "## Intended consumers", - "radroots_crates_release_v1.md#8-radroots_signing", + "radroots_crates_release_v1.toml", "examples/host_signer.rs", ] { assert!(README.contains(required), "README is missing {required}"); diff --git a/crates/storage/README.md b/crates/storage/README.md @@ -12,7 +12,7 @@ is the native durable backend and the opt-in [`memory`] module is the bounded deterministic reference implementation. The authoritative package charter is the -[`radroots_storage` section of the Release V1 specification](https://github.com/radrootslabs/lib/blob/master/docs/specs/radroots_crates_release_v1.md#13-radroots_storage). +[`radroots_storage` section of the Release V1 specification](../../contracts/crates/release_v1/radroots_crates_release_v1.toml). ## Typical flow diff --git a/crates/trade/README.md b/crates/trade/README.md @@ -29,7 +29,7 @@ human or business-workflow identifier and has no conversion to or from Operational-listing host planning and binding-generation machinery are outside this algorithm package. The reviewed Rust surface is recorded in the -[public API baseline](../../docs/api/radroots_trade.txt). +[public API baseline](../../contracts/api_baselines/radroots_trade.txt). ## Deterministic reduction @@ -140,9 +140,9 @@ storage, orchestration, and front-door packages. The authoritative Release V1 responsibility, dependency, feature, module, root-export, 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). +[Radroots crates Release V1 specification](../../contracts/crates/release_v1/radroots_crates_release_v1.toml). +The reviewed surface is the +[`radroots_trade` API baseline](../../contracts/api_baselines/radroots_trade.txt). ## Copyright diff --git a/crates/trade/tests/package_boundary.rs b/crates/trade/tests/package_boundary.rs @@ -18,7 +18,7 @@ const WORKFLOW: &str = include_str!("../src/workflow.rs"); const PACKAGE_TIERS: &str = include_str!("../../../contracts/releases/package_tiers.toml"); const README: &str = include_str!("../README.md"); const EXAMPLE: &str = include_str!("../examples/reduce_trade.rs"); -const PUBLIC_API: &str = include_str!("../../../docs/api/radroots_trade.txt"); +const PUBLIC_API: &str = include_str!("../../../contracts/api_baselines/radroots_trade.txt"); #[test] fn manifest_has_final_identity_and_required_radroots_dependencies() { diff --git a/crates/transport/README.md b/crates/transport/README.md @@ -11,7 +11,7 @@ adapters such as `radroots_transport_nostr` implement the SPI; applications compose those adapters in `radroots_sdk` or their own host layer. The authoritative package charter is the -[`radroots_transport` section of the Release V1 specification](https://github.com/radrootslabs/lib/blob/master/docs/specs/radroots_crates_release_v1.md#9-radroots_transport). +[`radroots_transport` section of the Release V1 specification](../../contracts/crates/release_v1/radroots_crates_release_v1.toml). ## Typical flow diff --git a/crates/transport/tests/package_boundary.rs b/crates/transport/tests/package_boundary.rs @@ -10,14 +10,14 @@ use radroots_transport::{ const MANIFEST: &str = include_str!("../Cargo.toml"); const EXAMPLE: &str = include_str!("../examples/host_transport.rs"); -const PUBLIC_API: &str = include_str!("../../../docs/api/radroots_transport.txt"); +const PUBLIC_API: &str = include_str!("../../../contracts/api_baselines/radroots_transport.txt"); const README: &str = include_str!("../README.md"); const ROOT: &str = include_str!("../src/lib.rs"); const SOURCE: &str = include_str!("../src/source.rs"); const SINK: &str = include_str!("../src/sink.rs"); const ID: &str = include_str!("../src/id.rs"); const TARGET: &str = include_str!("../src/target.rs"); -const DEVIATIONS: &str = include_str!("../../../docs/implementation/deviations.toml"); +const DEVIATIONS: &str = include_str!("../../../contracts/architecture/deviations.toml"); #[test] fn manifest_has_final_identity_features_and_required_radroots_dependencies() { @@ -81,7 +81,7 @@ fn package_documentation_and_reviewed_api_baseline_are_complete() { "## Security and side effects", "## Features", "## Intended consumers", - "radroots_crates_release_v1.md#9-radroots_transport", + "radroots_crates_release_v1.toml", "examples/host_transport.rs", ] { assert!(README.contains(required), "README is missing {required}"); diff --git a/crates/transport_nostr/README.md b/crates/transport_nostr/README.md @@ -13,9 +13,9 @@ policies belong to `radroots_sync` and host applications. It does own bounded relay profiles, per-relay reconnect suppression, and evidence-based status. The authoritative package charter is the -[`radroots_transport_nostr` section of the Release V1 specification](https://github.com/radrootslabs/lib/blob/master/docs/specs/radroots_crates_release_v1.md#15-radroots_transport_nostr). +[`radroots_transport_nostr` section of the Release V1 specification](../../contracts/crates/release_v1/radroots_crates_release_v1.toml). The reviewed Rust surface is recorded in the -[public API baseline](../../docs/api/radroots_transport_nostr.txt). +[public API baseline](../../contracts/api_baselines/radroots_transport_nostr.txt). ## Configure without connecting diff --git a/crates/transport_nostr/tests/legacy_quarantine.rs b/crates/transport_nostr/tests/legacy_quarantine.rs @@ -1,8 +1,9 @@ use std::fs; use std::path::Path; -const DEVIATIONS: &str = include_str!("../../../docs/implementation/deviations.toml"); -const SHIMS: &str = include_str!("../../../docs/implementation/COMPATIBILITY_SHIMS.md"); +const DEVIATIONS: &str = include_str!("../../../contracts/architecture/deviations.toml"); +const RETIRED_COMPATIBILITY: &str = + include_str!("../../../contracts/architecture/retired_compatibility.v1.toml"); const PUBLISH_POLICY: &str = include_str!("../../../contracts/releases/publish_policy.toml"); #[test] @@ -29,7 +30,7 @@ fn superseded_transport_packages_are_removed_from_release_authority() { assert!(!workspace_manifest.contains(package)); assert!(!approved.contains(package)); assert!(!private.contains(&format!("\"{package}\""))); - assert!(!SHIMS.contains(&format!("| `{package}` |"))); + assert!(RETIRED_COMPATIBILITY.contains(&format!("id = \"{package}\""))); } } diff --git a/crates/transport_nostr/tests/package_boundary.rs b/crates/transport_nostr/tests/package_boundary.rs @@ -5,8 +5,8 @@ use std::path::Path; const MANIFEST: &str = include_str!("../Cargo.toml"); const README: &str = include_str!("../README.md"); const EXAMPLE: &str = include_str!("../examples/configure_transport.rs"); -const PUBLIC_API: &str = include_str!("../../../docs/api/radroots_transport_nostr.txt"); -const API_INDEX: &str = include_str!("../../../docs/api/README.md"); +const PUBLIC_API: &str = + include_str!("../../../contracts/api_baselines/radroots_transport_nostr.txt"); const ROOT: &str = include_str!("../src/lib.rs"); #[test] @@ -60,9 +60,9 @@ fn documentation_example_and_reviewed_api_baseline_are_complete() { "## Serialization and diagnostics", "## Features and runtime requirements", "## Intended consumers", - "radroots_crates_release_v1.md#15-radroots_transport_nostr", + "radroots_crates_release_v1.toml", "examples/configure_transport.rs", - "docs/api/radroots_transport_nostr.txt", + "contracts/api_baselines/radroots_transport_nostr.txt", ] { assert!(README.contains(required), "README is missing `{required}`"); } @@ -113,9 +113,6 @@ fn documentation_example_and_reviewed_api_baseline_are_complete() { "reviewed public API baseline exposes `{forbidden}`" ); } - assert!(API_INDEX.contains( - "| `radroots_transport_nostr` | [`radroots_transport_nostr.txt`](radroots_transport_nostr.txt) |" - )); } fn radroots_dependency_keys(manifest: &str) -> BTreeSet<&str> { diff --git a/crates/transport_nostr/tests/workspace_consumers.rs b/crates/transport_nostr/tests/workspace_consumers.rs @@ -33,7 +33,7 @@ fn superseded_transport_packages_and_nostrdb_adapter_are_removed() { fs::read_to_string(workspace.join("Cargo.toml")).expect("workspace manifest"); let nostrdb_manifest = fs::read_to_string(workspace.join("crates/nostrdb/Cargo.toml")).expect("nostrdb manifest"); - let deviations = fs::read_to_string(workspace.join("docs/implementation/deviations.toml")) + let deviations = fs::read_to_string(workspace.join("contracts/architecture/deviations.toml")) .expect("deviation authority"); assert!(!workspace_manifest.contains("radroots_nostr_runtime")); diff --git a/tools/xtask/src/architecture.rs b/tools/xtask/src/architecture.rs @@ -9,9 +9,10 @@ use serde::Deserialize; mod api_leakage; mod core_contract; mod dependency_boundary; +mod retired_compatibility; -const DEVIATIONS_RELATIVE: &str = "docs/implementation/deviations.toml"; -const ARCHITECTURE_RELATIVE: &str = "docs/specs/radroots_crates_release_v1.toml"; +const DEVIATIONS_RELATIVE: &str = "contracts/architecture/deviations.toml"; +const ARCHITECTURE_RELATIVE: &str = "contracts/crates/release_v1/radroots_crates_release_v1.toml"; const ARCHITECTURE_ID: &str = "radroots.crates.release.v1"; const PUBLIC_HOMEPAGE: &str = "https://radroots.org"; const PUBLIC_README: &str = "README.md"; @@ -168,6 +169,7 @@ pub fn validate(workspace_root: &Path) -> Result<(), String> { core_contract::validate(workspace_root)?; api_leakage::validate_policy_catalog(workspace_root, &architecture_packages)?; dependency_boundary::validate_policy_catalog(workspace_root, &architecture_packages)?; + retired_compatibility::validate(workspace_root)?; validate_workspace_toolchain(workspace_root, &architecture)?; validate_public_package_metadata(workspace_root, &architecture)?; validate_no_production_sibling_paths(workspace_root)?; @@ -1105,7 +1107,7 @@ fn validate_spec_anchor( let (relative, fragment) = anchor .split_once('#') .map_or((anchor, None), |(path, fragment)| (path, Some(fragment))); - if relative.trim().is_empty() || fragment.is_some_and(|value| value.trim().is_empty()) { + if relative.trim().is_empty() || fragment.is_none_or(|value| value.trim().is_empty()) { return Err(format!( "deviation {deviation_id} has invalid spec anchor {anchor}" )); @@ -1121,14 +1123,64 @@ fn validate_spec_anchor( "deviation {deviation_id} spec anchor must be repository-relative: {anchor}" )); } - if !relative.starts_with("docs/specs/") || !workspace_root.join(path).is_file() { + if relative != ARCHITECTURE_RELATIVE { return Err(format!( - "deviation {deviation_id} spec anchor does not resolve to a local spec: {anchor}" + "deviation {deviation_id} spec anchor must target {ARCHITECTURE_RELATIVE}: {anchor}" + )); + } + let machine_path = workspace_root.join(path); + let raw = fs::read_to_string(&machine_path) + .map_err(|error| format!("read {}: {error}", machine_path.display()))?; + let machine = toml::from_str::<toml::Value>(&raw) + .map_err(|error| format!("parse {}: {error}", machine_path.display()))?; + let selector = fragment.expect("fragment is required above"); + if !machine_selector_exists(&machine, selector) { + return Err(format!( + "deviation {deviation_id} spec anchor has unknown machine selector {selector}" )); } Ok(()) } +fn machine_selector_exists(machine: &toml::Value, selector: &str) -> bool { + let segments = selector.split('.').collect::<Vec<_>>(); + if segments.iter().any(|segment| segment.is_empty()) { + return false; + } + let root = match machine.as_table() { + Some(root) => root, + None => return false, + }; + match segments.as_slice() { + ["repositories", repository] => root + .get("repositories") + .and_then(toml::Value::as_table) + .and_then(|repositories| repositories.get(*repository)) + .is_some_and(toml::Value::is_table), + ["repository_policy"] | ["release_policy"] => { + root.get(segments[0]).is_some_and(toml::Value::is_table) + } + ["quality_policy", "coverage"] => root + .get("quality_policy") + .and_then(toml::Value::as_table) + .and_then(|quality| quality.get("coverage")) + .is_some_and(toml::Value::is_table), + ["package", package] => root + .get("package") + .and_then(toml::Value::as_array) + .is_some_and(|packages| { + packages.iter().any(|candidate| { + candidate + .as_table() + .and_then(|table| table.get("name")) + .and_then(toml::Value::as_str) + == Some(*package) + }) + }), + _ => false, + } +} + fn require_text(deviation_id: &str, field: &str, value: &str) -> Result<(), String> { if value.trim().is_empty() { return Err(format!( @@ -1184,10 +1236,10 @@ mod tests { .expect("clock") .as_nanos(); let root = std::env::temp_dir().join(format!("radroots_architecture_{label}_{nonce}")); - fs::create_dir_all(root.join("docs/specs")).expect("create spec root"); + fs::create_dir_all(root.join("contracts/crates/release_v1")).expect("create spec root"); fs::write( - root.join("docs/specs/radroots_crates_release_v1.md"), - "# Architecture\n", + root.join("contracts/crates/release_v1/radroots_crates_release_v1.toml"), + "spec_id = \"radroots.crates.release.v1\"\n\n[repositories.sdk]\nurl = \"https://github.com/radrootslabs/sdk\"\n", ) .expect("write spec"); root @@ -1203,7 +1255,7 @@ date = "2026-07-27" status = "active" approval = "Explicit user correction dated 2026-07-27." affected_steps = ["015", "016"] -spec_anchors = ["docs/specs/radroots_crates_release_v1.md#repository-topology"] +spec_anchors = ["contracts/crates/release_v1/radroots_crates_release_v1.toml#repositories.sdk"] source_evidence = ["The approved architecture assigns packages to the existing lib and sdk repositories."] replacement_action = "Keep both standalone repositories and verify them independently." verification = ["Repository-local architecture validation passes."] @@ -1253,7 +1305,7 @@ adr_required = false fn rejects_incomplete_active_deviation() { let root = test_root("incomplete"); let incomplete = complete_ledger().replace( - "spec_anchors = [\"docs/specs/radroots_crates_release_v1.md#repository-topology\"]", + "spec_anchors = [\"contracts/crates/release_v1/radroots_crates_release_v1.toml#repositories.sdk\"]", "spec_anchors = []", ); let error = validate_ledger(&root, "radroots.crates.release.v1", &incomplete) @@ -1263,6 +1315,22 @@ adr_required = false } #[test] + fn deviation_anchors_require_resolving_machine_selectors() { + let root = test_root("machine_selector"); + let invalid = complete_ledger().replace("#repositories.sdk", "#garbage"); + let error = validate_ledger(&root, "radroots.crates.release.v1", &invalid) + .expect_err("arbitrary fragment must fail"); + assert!(error.contains("unknown machine selector garbage")); + + let markdown_slug = + complete_ledger().replace("#repositories.sdk", "#20-current-to-target-migration-map"); + let error = validate_ledger(&root, "radroots.crates.release.v1", &markdown_slug) + .expect_err("Markdown heading slug must fail"); + assert!(error.contains("unknown machine selector")); + let _ = fs::remove_dir_all(root); + } + + #[test] fn workspace_membership_requires_every_local_package_root() { let root = test_root("workspace_members"); for path in ["crates/a", "tools/xtask"] { diff --git a/tools/xtask/src/architecture/api_leakage.rs b/tools/xtask/src/architecture/api_leakage.rs @@ -12,9 +12,38 @@ use syn::{ }; const API_BOUNDARIES_RELATIVE: &str = "contracts/releases/api_boundaries.toml"; +const API_DECISION_RELATIVE: &str = + "contracts/architecture/decisions/public_api_leakage_migration_baseline.v1.toml"; +const API_DECISION_ID: &str = "radroots.public_api_leakage_migration_baseline.v1"; const SPEC_ID: &str = "radroots.crates.release.v1"; const POLICY_SCHEMA_VERSION: u16 = 1; -const CURRENT_STEP: u16 = 25; +const DECISION_SCHEMA_VERSION: u16 = 1; +const CURRENT_STEP: u16 = 313; +const HISTORICAL_EXCEPTION_IDS: [&str; 8] = [ + "RCRV1-API-001", + "RCRV1-API-002", + "RCRV1-API-003", + "RCRV1-API-004", + "RCRV1-API-005", + "RCRV1-API-006", + "RCRV1-API-007", + "RCRV1-API-008", +]; +const FORBIDDEN_EXPANSION: [&str; 8] = [ + "broader_aliases", + "keyring", + "new_items", + "new_upstream_paths", + "platform_specific_types", + "reqwest", + "sqlx", + "tokio", +]; +const REMOVAL_MILESTONES: [(&str, u16); 3] = [ + ("radroots_identity", 42), + ("radroots_nostr", 124), + ("radroots_nostr_connect", 140), +]; #[derive(Debug, Deserialize)] #[serde(deny_unknown_fields)] @@ -43,12 +72,34 @@ struct ApiException { forbidden_path: String, items: Vec<String>, observed_paths: Vec<String>, - adr: String, + decision: String, removal_step: u16, rationale: String, } #[derive(Debug, Deserialize)] +#[serde(deny_unknown_fields)] +struct ApiLeakageDecision { + schema_version: u16, + decision_id: String, + status: String, + accepted_date: String, + completed_step: u16, + publication_authorized: bool, + exception_ids: Vec<String>, + active_exception_ids: Vec<String>, + forbidden_expansion: Vec<String>, + removal_milestone: Vec<ApiRemovalMilestone>, +} + +#[derive(Debug, Deserialize)] +#[serde(deny_unknown_fields)] +struct ApiRemovalMilestone { + package: String, + step: u16, +} + +#[derive(Debug, Deserialize)] struct CargoMetadata { packages: Vec<CargoPackage>, workspace_members: Vec<String>, @@ -151,6 +202,7 @@ fn validate_policy( "{API_BOUNDARIES_RELATIVE} spec_id must be {SPEC_ID}" )); } + let decision = load_and_validate_decision(workspace_root)?; let forbidden = sorted_unique( "forbidden_public_paths", @@ -293,7 +345,7 @@ fn validate_policy( exception.id )); } - validate_adr(workspace_root, exception)?; + validate_decision_reference(exception, &decision)?; for item in &exception.items { let key = ( exception.package.as_str(), @@ -309,6 +361,16 @@ fn validate_policy( } } } + let active_exception_ids = decision + .active_exception_ids + .iter() + .map(String::as_str) + .collect::<BTreeSet<_>>(); + if exception_ids != active_exception_ids { + return Err(format!( + "{API_BOUNDARIES_RELATIVE} active exception ids must exactly match {API_DECISION_RELATIVE}" + )); + } Ok(()) } @@ -352,32 +414,87 @@ fn validate_relative_source(id: &str, source: &str) -> Result<(), String> { Ok(()) } -fn validate_adr(workspace_root: &Path, exception: &ApiException) -> Result<(), String> { - let path = Path::new(&exception.adr); - if path.is_absolute() - || !exception.adr.starts_with("docs/decisions/") +fn load_and_validate_decision(workspace_root: &Path) -> Result<ApiLeakageDecision, String> { + let path = workspace_root.join(API_DECISION_RELATIVE); + let raw = + fs::read_to_string(&path).map_err(|error| format!("read {}: {error}", path.display()))?; + let decision = toml::from_str::<ApiLeakageDecision>(&raw) + .map_err(|error| format!("parse {}: {error}", path.display()))?; + + if decision.schema_version != DECISION_SCHEMA_VERSION + || decision.decision_id != API_DECISION_ID + || decision.status != "accepted_historical" + || decision.accepted_date != "2026-07-27" + || decision.completed_step != CURRENT_STEP + || decision.publication_authorized + { + return Err(format!( + "{API_DECISION_RELATIVE} identity, lifecycle, or publication policy drifted" + )); + } + if decision + .exception_ids + .iter() + .map(String::as_str) + .ne(HISTORICAL_EXCEPTION_IDS) + { + return Err(format!( + "{API_DECISION_RELATIVE} must preserve the exact historical exception ids" + )); + } + if !decision.active_exception_ids.is_empty() { + return Err(format!( + "{API_DECISION_RELATIVE} must not authorize active exceptions after Step {CURRENT_STEP}" + )); + } + if decision + .forbidden_expansion + .iter() + .map(String::as_str) + .ne(FORBIDDEN_EXPANSION) + { + return Err(format!( + "{API_DECISION_RELATIVE} forbidden expansion set drifted" + )); + } + if decision + .removal_milestone + .iter() + .map(|milestone| (milestone.package.as_str(), milestone.step)) + .ne(REMOVAL_MILESTONES) + { + return Err(format!( + "{API_DECISION_RELATIVE} removal milestones drifted" + )); + } + Ok(decision) +} + +fn validate_decision_reference( + exception: &ApiException, + decision: &ApiLeakageDecision, +) -> Result<(), String> { + let path = Path::new(&exception.decision); + if exception.decision != API_DECISION_RELATIVE + || path.is_absolute() || path .components() .any(|component| !matches!(component, Component::Normal(_))) - || path.extension().and_then(|extension| extension.to_str()) != Some("md") + || path.extension().and_then(|extension| extension.to_str()) != Some("toml") { return Err(format!( - "{API_BOUNDARIES_RELATIVE} exception {} ADR must be a normalized docs/decisions/*.md path", + "{API_BOUNDARIES_RELATIVE} exception {} decision must be {API_DECISION_RELATIVE}", exception.id )); } - let full = workspace_root.join(path); - let raw = fs::read_to_string(&full).map_err(|error| { - format!( - "{API_BOUNDARIES_RELATIVE} exception {} ADR {} is not readable: {error}", - exception.id, - full.display() - ) - })?; - if !raw.contains(&exception.id) { + if !decision + .active_exception_ids + .iter() + .any(|id| id == &exception.id) + { return Err(format!( - "{API_BOUNDARIES_RELATIVE} exception {} ADR {} must cite the exception id", - exception.id, exception.adr + "{API_BOUNDARIES_RELATIVE} exception {} is not active in {API_DECISION_RELATIVE}", + exception.id )); } Ok(()) @@ -1264,15 +1381,18 @@ fn module_label(module: &[String]) -> String { #[cfg(test)] mod tests { use super::{ - ApiBoundaryPolicy, ApiException, CargoMetadata, exception_matches, scan_workspace, + API_DECISION_RELATIVE, ApiBoundaryPolicy, ApiException, CargoMetadata, scan_workspace, validate_policy, }; use serde::Deserialize; use std::{collections::BTreeSet, fs}; const POLICY: &str = include_str!("../../../../contracts/releases/api_boundaries.toml"); + const DECISION: &str = include_str!( + "../../../../contracts/architecture/decisions/public_api_leakage_migration_baseline.v1.toml" + ); const ARCHITECTURE: &str = - include_str!("../../../../docs/specs/radroots_crates_release_v1.toml"); + include_str!("../../../../contracts/crates/release_v1/radroots_crates_release_v1.toml"); const GENERIC_SQLX: &str = include_str!("../../tests/fixtures/api-leakage/generic-sqlx.rs"); const GENERIC_RENAMED_TOKIO: &str = include_str!("../../tests/fixtures/api-leakage/generic-renamed-tokio.rs"); @@ -1280,8 +1400,6 @@ mod tests { include_str!("../../tests/fixtures/api-leakage/allowed-concrete-adapter.rs"); const PRIVATE_IMPLEMENTATION: &str = include_str!("../../tests/fixtures/api-leakage/private-implementation.rs"); - const ADR_EXCEPTION: &str = include_str!("../../tests/fixtures/api-leakage/adr-exception.rs"); - #[derive(Deserialize)] struct ArchitectureCatalog { package: Vec<ArchitecturePackage>, @@ -1345,19 +1463,22 @@ mod tests { .expect("scan fixture") } - fn write_baseline_adr(root: &std::path::Path) { - fs::create_dir_all(root.join("docs/decisions")).expect("baseline ADR directory"); + fn write_baseline_decision(root: &std::path::Path) { + fs::create_dir_all(root.join("contracts/architecture/decisions")) + .expect("baseline decision directory"); fs::write( - root.join("docs/decisions/0001-public-api-leakage-migration-baseline.md"), - "RCRV1-API-001 RCRV1-API-002 RCRV1-API-003 RCRV1-API-004 RCRV1-API-005 RCRV1-API-006 RCRV1-API-007 RCRV1-API-008\n", + root.join( + "contracts/architecture/decisions/public_api_leakage_migration_baseline.v1.toml", + ), + DECISION, ) - .expect("baseline ADR"); + .expect("baseline decision"); } #[test] fn policy_covers_exact_architecture_catalog() { let root = tempfile::TempDir::new().expect("policy root"); - write_baseline_adr(root.path()); + write_baseline_decision(root.path()); validate_policy(root.path(), &policy(), &expected_packages()) .expect("policy without exceptions"); } @@ -1393,15 +1514,9 @@ mod tests { } #[test] - fn exact_item_exception_requires_resolving_adr() { + fn invented_exception_is_rejected_by_the_completed_decision() { let root = tempfile::TempDir::new().expect("exception root"); - write_baseline_adr(root.path()); - fs::create_dir_all(root.path().join("docs/decisions")).expect("ADR directory"); - fs::write( - root.path().join("docs/decisions/0001-test.md"), - "# Test\n\nRCRV1-API-999\n", - ) - .expect("ADR"); + write_baseline_decision(root.path()); let mut policy = policy(); policy.exception.push(ApiException { id: "RCRV1-API-999".to_owned(), @@ -1410,24 +1525,56 @@ mod tests { forbidden_path: "reqwest".to_owned(), items: vec!["temporary_client".to_owned()], observed_paths: vec!["reqwest::Client".to_owned()], - adr: "docs/decisions/0001-test.md".to_owned(), - removal_step: 226, + decision: API_DECISION_RELATIVE.to_owned(), + removal_step: 400, rationale: "test-only exception".to_owned(), }); - validate_policy(root.path(), &policy, &expected_packages()).expect("resolving ADR"); - let finding = scan_workspace( - root.path(), - &policy, - &fixture_metadata(root.path(), "radroots_sdk", ADR_EXCEPTION), - ) - .expect("scan exception fixture") - .pop() - .expect("finding"); - assert!(exception_matches(&policy.exception, &finding)); + let error = validate_policy(root.path(), &policy, &expected_packages()) + .expect_err("invented exception must fail"); + assert!(error.contains("is not active")); + } - fs::remove_file(root.path().join("docs/decisions/0001-test.md")).expect("remove ADR"); + #[test] + fn expired_historical_exception_cannot_return() { + let root = tempfile::TempDir::new().expect("expired exception root"); + write_baseline_decision(root.path()); + let mut policy = policy(); + policy.exception.push(ApiException { + id: "RCRV1-API-006".to_owned(), + package: "radroots_nostr_connect".to_owned(), + source: "src/client.rs".to_owned(), + forbidden_path: "nostr".to_owned(), + items: vec!["client::RadrootsNostrConnectClientTarget".to_owned()], + observed_paths: vec!["nostr::PublicKey".to_owned()], + decision: API_DECISION_RELATIVE.to_owned(), + removal_step: 313, + rationale: "retired historical exception".to_owned(), + }); let error = validate_policy(root.path(), &policy, &expected_packages()) - .expect_err("missing ADR must fail"); - assert!(error.contains("is not readable")); + .expect_err("expired historical exception must fail"); + assert!(error.contains("expired at Step 313")); + } + + #[test] + fn malformed_or_publication_authorizing_decision_fails_closed() { + let root = tempfile::TempDir::new().expect("decision validation root"); + write_baseline_decision(root.path()); + let decision_path = root.path().join(API_DECISION_RELATIVE); + fs::write(&decision_path, "not valid toml = [\n").expect("malformed decision"); + let malformed = validate_policy(root.path(), &policy(), &expected_packages()) + .expect_err("malformed decision must fail"); + assert!(malformed.contains("parse")); + + fs::write( + &decision_path, + DECISION.replace( + "publication_authorized = false", + "publication_authorized = true", + ), + ) + .expect("publication-authorizing decision"); + let authorized = validate_policy(root.path(), &policy(), &expected_packages()) + .expect_err("publication authorization must fail"); + assert!(authorized.contains("publication policy drifted")); } } diff --git a/tools/xtask/src/architecture/core_contract.rs b/tools/xtask/src/architecture/core_contract.rs @@ -6,7 +6,7 @@ use std::{ use syn::{Item, UseTree, Visibility}; -const ARCHITECTURE_RELATIVE: &str = "docs/specs/radroots_crates_release_v1.toml"; +const ARCHITECTURE_RELATIVE: &str = "contracts/crates/release_v1/radroots_crates_release_v1.toml"; const CORE_MANIFEST_RELATIVE: &str = "crates/core/Cargo.toml"; const CORE_LIB_RELATIVE: &str = "crates/core/src/lib.rs"; @@ -485,11 +485,12 @@ serde_json = { workspace = true } fn fixture() -> tempfile::TempDir { let root = tempdir().expect("temporary workspace"); - fs::create_dir_all(root.path().join("docs/specs")).expect("spec directory"); + fs::create_dir_all(root.path().join("contracts/crates/release_v1")) + .expect("spec directory"); fs::create_dir_all(root.path().join("crates/core/src")).expect("core directory"); fs::write( root.path() - .join("docs/specs/radroots_crates_release_v1.toml"), + .join("contracts/crates/release_v1/radroots_crates_release_v1.toml"), SPEC, ) .expect("architecture spec"); diff --git a/tools/xtask/src/architecture/dependency_boundary.rs b/tools/xtask/src/architecture/dependency_boundary.rs @@ -570,7 +570,7 @@ mod tests { const POLICY: &str = include_str!("../../../../contracts/releases/package_tiers.toml"); const ARCHITECTURE: &str = - include_str!("../../../../docs/specs/radroots_crates_release_v1.toml"); + include_str!("../../../../contracts/crates/release_v1/radroots_crates_release_v1.toml"); const DOMAIN_TO_STORAGE: &str = include_str!("../../tests/fixtures/dependency-boundaries/domain-to-storage.json"); const SPI_TO_ADAPTER: &str = diff --git a/tools/xtask/src/architecture/retired_compatibility.rs b/tools/xtask/src/architecture/retired_compatibility.rs @@ -0,0 +1,150 @@ +use std::{collections::BTreeMap, fs, path::Path}; + +use serde::Deserialize; + +const CONTRACT_RELATIVE: &str = "contracts/architecture/retired_compatibility.v1.toml"; +const CONTRACT_ID: &str = "radroots.retired_compatibility.v1"; +const SCHEMA_VERSION: u16 = 1; + +#[derive(Debug, Deserialize)] +#[serde(deny_unknown_fields)] +struct RetiredCompatibility { + schema_version: u16, + contract_id: String, + status: String, + retired_bridge: Vec<RetiredBridge>, +} + +#[derive(Debug, Deserialize)] +#[serde(deny_unknown_fields)] +struct RetiredBridge { + id: String, + final_owners: Vec<String>, + removal_step: u16, +} + +pub(super) fn validate(workspace_root: &Path) -> Result<(), String> { + let path = workspace_root.join(CONTRACT_RELATIVE); + let raw = + fs::read_to_string(&path).map_err(|error| format!("read {}: {error}", path.display()))?; + validate_raw(&raw).map_err(|error| format!("{CONTRACT_RELATIVE}: {error}")) +} + +fn validate_raw(raw: &str) -> Result<(), String> { + let contract = toml::from_str::<RetiredCompatibility>(raw) + .map_err(|error| format!("invalid TOML: {error}"))?; + if contract.schema_version != SCHEMA_VERSION + || contract.contract_id != CONTRACT_ID + || contract.status != "enforced" + { + return Err("identity or lifecycle drifted".to_owned()); + } + + let mut actual = BTreeMap::new(); + for bridge in contract.retired_bridge { + if bridge.id.trim().is_empty() || bridge.final_owners.is_empty() { + return Err("bridge ids and final owners must not be empty".to_owned()); + } + if bridge + .final_owners + .windows(2) + .any(|pair| pair[0] >= pair[1]) + { + return Err(format!( + "bridge {} final owners must be sorted and unique", + bridge.id + )); + } + if actual + .insert( + bridge.id.clone(), + (bridge.final_owners, bridge.removal_step), + ) + .is_some() + { + return Err(format!("bridge {} is duplicated", bridge.id)); + } + } + + let expected = BTreeMap::from([ + ( + "nostrdb_runtime_adapter".to_owned(), + (vec!["radroots_storage_sqlite".to_owned()], 301), + ), + ( + "radroots_authority".to_owned(), + (vec!["radroots_signing".to_owned()], 313), + ), + ( + "radroots_geocoder".to_owned(), + (vec!["radroots_geonames".to_owned()], 313), + ), + ( + "radroots_net".to_owned(), + (vec!["radroots_transport".to_owned()], 301), + ), + ( + "radroots_nostr_connect_hidden_prelude".to_owned(), + (vec!["radroots_nostr_connect".to_owned()], 313), + ), + ( + "radroots_nostr_connect_prefixed_client_bridge".to_owned(), + (vec!["radroots_nostr_connect".to_owned()], 313), + ), + ( + "radroots_nostr_runtime".to_owned(), + (vec!["radroots_transport_nostr".to_owned()], 301), + ), + ( + "radroots_nostr_signer".to_owned(), + ( + vec![ + "radroots_nostr_connect".to_owned(), + "radroots_signing".to_owned(), + ], + 313, + ), + ), + ]); + if actual != expected { + return Err("retired bridge inventory, final owners, or removal steps drifted".to_owned()); + } + Ok(()) +} + +#[cfg(test)] +mod tests { + use super::validate_raw; + + const CONTRACT: &str = + include_str!("../../../../contracts/architecture/retired_compatibility.v1.toml"); + + #[test] + fn current_retirement_contract_is_complete() { + validate_raw(CONTRACT).expect("complete retirement contract"); + } + + #[test] + fn malformed_or_incomplete_retirement_contract_fails_closed() { + let malformed = validate_raw("not toml = [\n").expect_err("malformed contract must fail"); + assert!(malformed.contains("invalid TOML")); + + let geocoder = r#"[[retired_bridge]] +id = "radroots_geocoder" +final_owners = ["radroots_geonames"] +removal_step = 313 + +"#; + let incomplete = validate_raw(&CONTRACT.replace(geocoder, "")) + .expect_err("missing geocoder retirement must fail"); + assert!(incomplete.contains("inventory")); + + let no_prefixed_bridge = CONTRACT.replace( + "radroots_nostr_connect_prefixed_client_bridge", + "radroots_nostr_connect_unknown_bridge", + ); + let prefixed = validate_raw(&no_prefixed_bridge) + .expect_err("missing prefixed-client retirement must fail"); + assert!(prefixed.contains("inventory")); + } +} diff --git a/tools/xtask/src/catalog.rs b/tools/xtask/src/catalog.rs @@ -85,6 +85,7 @@ struct ReleaseV2 { publication_authorized: bool, public_packages: Vec<String>, v1_artifact: Vec<V1Artifact>, + v1_retired_human_artifact: Vec<RetiredV1HumanArtifact>, } #[derive(Debug, Deserialize)] @@ -96,6 +97,13 @@ struct V1Artifact { #[derive(Debug, Deserialize)] #[serde(deny_unknown_fields)] +struct RetiredV1HumanArtifact { + former_path: String, + sha256: String, +} + +#[derive(Debug, Deserialize)] +#[serde(deny_unknown_fields)] struct ConsolidationV1 { schema_version: u16, consolidation_id: String, @@ -567,7 +575,7 @@ fn validate_release( catalog: &Catalog, workspace_root: &Path, ) -> Result<(), String> { - if release.schema_version != 1 + if release.schema_version != 2 || release.spec_id != RELEASE_ID || release.status != "approved_not_published" || release.supersedes_without_mutation != "radroots.crates.release.v1" @@ -602,14 +610,24 @@ fn validate_release( } } let expected = BTreeSet::from([ - "docs/specs/radroots_crates_release_v1.dot", - "docs/specs/radroots_crates_release_v1.md", - "docs/specs/radroots_crates_release_v1.sha256", - "docs/specs/radroots_crates_release_v1.toml", - "docs/specs/radroots_crates_release_v1_inventory.csv", + "contracts/crates/release_v1/radroots_crates_release_v1.dot", + "contracts/crates/release_v1/radroots_crates_release_v1.sha256", + "contracts/crates/release_v1/radroots_crates_release_v1.toml", + "contracts/crates/release_v1/radroots_crates_release_v1_inventory.csv", ]); if paths != expected { - return Err("release v2 must pin every historical v1 authority artifact".to_owned()); + return Err("release v2 must pin every historical v1 machine artifact".to_owned()); + } + if release.v1_retired_human_artifact.len() != 1 { + return Err("release v2 must record the retired v1 human artifact".to_owned()); + } + let retired = &release.v1_retired_human_artifact[0]; + validate_relative_path(&retired.former_path)?; + validate_sha256(&retired.sha256, "retired v1 human artifact digest")?; + if retired.former_path != "docs/specs/radroots_crates_release_v1.md" + || retired.sha256 != "ea2c1f0f5c53fae56a247ae7519b065c9a0d62dafb998b75a48075f4a875b5eb" + { + return Err("release v2 retired v1 human artifact drifted".to_owned()); } Ok(()) } diff --git a/tools/xtask/src/contract.rs b/tools/xtask/src/contract.rs @@ -155,7 +155,7 @@ const KNOWLEDGE_BETA_CONTRACT_IDS: [&str; 3] = [ "radroots.knowledge.change_proposal.v1", "radroots.knowledge.contribution_attestation.v1", ]; -const EVENT_BOUNDARY_MATRIX_ENV: &str = "RADROOTS_EVENT_BOUNDARY_MATRIX"; +const EVENT_BOUNDARY_MATRIX_RELATIVE: &str = "contracts/event_boundary_matrix.md"; const COVERAGE_REQUIRED_THRESHOLD: f64 = 90.0; const COVERAGE_REQUIRED_THRESHOLD_LABEL: &str = "90/90/90/90"; const COVERAGE_REPORT_EPSILON: f64 = 0.000_001; @@ -1271,11 +1271,6 @@ const FOOD_AVAILABILITY_VECTOR_EXPECTATIONS: [(&str, &str); 40] = [ "food_availability.validate_revision.valid", ), ]; -const EVENT_BOUNDARY_MATRIX_RELATIVES: [&str; 2] = [ - "contracts/event_boundary_matrix.md", - "docs/platform/canonical/open_source/radroots_v1_spec/02_public_contract_and_runtime/08_event_boundary_matrix.md", -]; - #[derive(Debug, Deserialize)] #[serde(deny_unknown_fields)] pub struct ContractManifest { @@ -3212,37 +3207,16 @@ fn parse_json<T: for<'de> Deserialize<'de>>(path: &Path) -> Result<T, String> { } } -fn resolve_event_boundary_matrix_path_with_override( - workspace_root: &Path, - event_boundary_override: Option<PathBuf>, -) -> Result<PathBuf, String> { - if let Some(path) = event_boundary_override { - if !path.is_file() { - return Err(format!( - "{EVENT_BOUNDARY_MATRIX_ENV} points to a missing canonical event matrix file: {}", - path.display() - )); - } - return Ok(path); +fn resolve_event_boundary_matrix_path(workspace_root: &Path) -> Result<PathBuf, String> { + let candidate = workspace_root.join(EVENT_BOUNDARY_MATRIX_RELATIVE); + if candidate.is_file() { + return Ok(candidate); } - - for ancestor in workspace_root.ancestors() { - for relative in EVENT_BOUNDARY_MATRIX_RELATIVES { - let candidate = ancestor.join(relative); - if candidate.is_file() { - return Ok(candidate); - } - } - } - resolve_missing_event_boundary_matrix_path(workspace_root) } fn missing_event_boundary_matrix_error() -> String { - format!( - "canonical event matrix not found; set {EVENT_BOUNDARY_MATRIX_ENV} or provide one of: {}", - EVENT_BOUNDARY_MATRIX_RELATIVES.join(", ") - ) + format!("canonical event matrix not found at {EVENT_BOUNDARY_MATRIX_RELATIVE}") } #[cfg(not(test))] @@ -3389,13 +3363,11 @@ fn validate_event_boundary_source_witness( Ok(()) } -fn validate_canonical_event_boundary_with_override( +fn validate_canonical_event_boundary_at_path( workspace_root: &Path, - event_boundary_override: Option<PathBuf>, + matrix_path: &Path, ) -> Result<(), String> { - let matrix_path = - resolve_event_boundary_matrix_path_with_override(workspace_root, event_boundary_override)?; - let rows = parse_event_boundary_matrix(&matrix_path)?; + let rows = parse_event_boundary_matrix(matrix_path)?; let expected_domains = CANONICAL_EVENT_BOUNDARY_EXPECTATIONS .iter() .map(|row| row.domain.to_string()) @@ -3460,7 +3432,8 @@ fn validate_canonical_event_boundary_with_override( } pub fn validate_canonical_event_boundary(workspace_root: &Path) -> Result<(), String> { - validate_canonical_event_boundary_with_override(workspace_root, None) + let matrix_path = resolve_event_boundary_matrix_path(workspace_root)?; + validate_canonical_event_boundary_at_path(workspace_root, &matrix_path) } fn contract_root(workspace_root: &Path) -> PathBuf { @@ -3812,7 +3785,8 @@ fn validate_workspace_version_lockstep( ) -> Result<(), String> { let workspace_manifest = parse_toml::<WorkspaceVersionCargoManifest>(&workspace_root.join("Cargo.toml"))?; - let architecture_path = workspace_root.join("docs/specs/radroots_crates_release_v1.toml"); + let architecture_path = + workspace_root.join("contracts/crates/release_v1/radroots_crates_release_v1.toml"); let governed_version = if architecture_path.is_file() { parse_toml::<CratesReleaseArchitecture>(&architecture_path)? .repositories @@ -8533,7 +8507,8 @@ fn validate_v1_release_policy( return Ok(None); } - let architecture_path = workspace_root.join("docs/specs/radroots_crates_release_v1.toml"); + let architecture_path = + workspace_root.join("contracts/crates/release_v1/radroots_crates_release_v1.toml"); let architecture = parse_toml::<CratesReleaseArchitecture>(&architecture_path)?; let expected_approved = collect_unique_set( &architecture @@ -9583,7 +9558,7 @@ mod tests { fn create_synthetic_workspace(prefix: &str) -> PathBuf { let root = temp_root(prefix); write_file( - &root.join("docs/specs/radroots_crates_release_v1.toml"), + &root.join("contracts/crates/release_v1/radroots_crates_release_v1.toml"), r#"spec_id = "radroots.crates.release.v1" package_count = 2 @@ -11023,7 +10998,7 @@ crates = ["radroots_a", "radroots_b", "radroots_c", "radroots_d", "radroots_e"] assert!(lock_error.contains("Cargo.lock package radroots_a version")); write_file( - &root.join("docs/specs/radroots_crates_release_v1.toml"), + &root.join("contracts/crates/release_v1/radroots_crates_release_v1.toml"), r#"spec_id = "radroots.crates.release.v1" package_count = 0 package = [] @@ -11532,8 +11507,7 @@ packages = [] #[test] fn canonical_event_boundary_reports_row_drift() { let root = workspace_root(); - let matrix_path = - resolve_event_boundary_matrix_path_with_override(&root, None).expect("matrix path"); + let matrix_path = resolve_event_boundary_matrix_path(&root).expect("matrix path"); let raw = fs::read_to_string(&matrix_path).expect("read matrix"); let drifted = raw.replacen( "| message | 14 | Message |", @@ -11544,7 +11518,7 @@ packages = [] let override_path = temp.join("spec-coverage.md"); write_file(&override_path, &drifted); - let err = validate_canonical_event_boundary_with_override(&root, Some(override_path)) + let err = validate_canonical_event_boundary_at_path(&root, &override_path) .expect_err("message kind drift should fail"); assert!(err.contains("message kind drift")); @@ -11554,8 +11528,7 @@ packages = [] #[test] fn canonical_event_boundary_rejects_deletion_operation_drift() { let root = workspace_root(); - let matrix_path = - resolve_event_boundary_matrix_path_with_override(&root, None).expect("matrix path"); + let matrix_path = resolve_event_boundary_matrix_path(&root).expect("matrix path"); let raw = fs::read_to_string(&matrix_path).expect("read matrix"); let (preamble, table) = raw .split_once("## Coverage matrix") @@ -11572,7 +11545,7 @@ packages = [] let override_path = temp.join("spec-coverage.md"); write_file(&override_path, &drifted); - let error = validate_canonical_event_boundary_with_override(&root, Some(override_path)) + let error = validate_canonical_event_boundary_at_path(&root, &override_path) .expect_err("deletion operation drift must fail"); assert!(error.contains("deletion_request rpc drift"), "{error}"); @@ -11580,6 +11553,22 @@ packages = [] } #[test] + fn event_boundary_never_falls_back_to_parent_human_documentation() { + let parent = temp_root("event_boundary_parent_docs"); + let capsule = parent.join("oss/lib"); + fs::create_dir_all(&capsule).expect("capsule root"); + let parent_doc = parent.join( + "docs/platform/canonical/open_source/radroots_v1_spec/02_public_contract_and_runtime/08_event_boundary_matrix.md", + ); + write_file(&parent_doc, &synthetic_event_boundary_matrix()); + + let error = resolve_event_boundary_matrix_path(&capsule) + .expect_err("parent human documentation must not become contract input"); + assert!(error.contains(EVENT_BOUNDARY_MATRIX_RELATIVE)); + let _ = fs::remove_dir_all(parent); + } + + #[test] fn validate_synthetic_operation_contract_bundle() { let root = create_synthetic_workspace("operation_contract_bundle"); add_operation_contract_files(&root); @@ -12884,7 +12873,7 @@ crates = ["radroots_a"] architecture.push_str(&format!("\n[[package]]\nname = \"{name}\"\n")); } write_file( - &root.join("docs/specs/radroots_crates_release_v1.toml"), + &root.join("contracts/crates/release_v1/radroots_crates_release_v1.toml"), &architecture, ); diff --git a/tools/xtask/tests/fixtures/api-leakage/adr-exception.rs b/tools/xtask/tests/fixtures/api-leakage/adr-exception.rs @@ -1,3 +0,0 @@ -pub fn temporary_client() -> reqwest::Client { - unreachable!() -}