Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/holger

estate/holger-fleet/src/lib.rs

//! # holger-fleet — the estate side of the ONE monetize's pull channel, for Holger
//!
//! Monetize never calls into an estate (G1-pull, G16: no estate runs a monetize of
//! its own). Every Holger box calls the ONE monetize instead. Since P4a (2026-10-25) the pump
//! itself is SHARED — monetize-estate-side's [`monetize_estate_side::pump`], which Gunnar's
//! boxes take in T16 — and this crate holds only what is Holger's:
//!
//! | call | where |
//! |---|---|
//! | the box's own Ed25519 key, `<data>/fleet/box.ed25519` | [`key::BoxKey`] (shared) |
//! | `Fleet.Report` / `Fleet.Orders` / `Fleet.Ask`, verify, ack | [`puller::Puller`] (shared) |
//! | the wire, the jera round | [`grpc`], [`duty`] (shared) |
//! | Holger's order kinds and their refusals | [`order`] |
//! | the executor over holger's own verbs | [`exec::execute`] over [`exec::HolgerBox`] |
//! | a Holger box as the shared pump runs it | [`pumped::Pumped`] |
//! | joining the ONE monetize (`POST /attach/enrol`) | [`enrol`] |
//!
//! Every signed form is monetize-embed's own ([`monetize_embed::fleet`]), never a copy.

/// The shared pump's modules, under the names Holger's callers already use.
pub use monetize_estate_side::pump::{config, duty, grpc, key, puller};

pub mod enrol;
pub mod exec;
pub mod order;
pub mod pumped;
/// The sign-in-again link (P4c, A28 M11): the shared crate's.
pub use monetize_estate_side::sign_in;

pub use config::FleetConfig;
pub use exec::{execute, Applied, GrowSet, GrowState, HolgerBox, OrderedBy, RechargeAsk};
pub use key::BoxKey;
pub use monetize_estate_side::{hex, key32, now_unix_ms};
pub use order::{accept, Addressee, Order, Verdict};
pub use puller::{Asked, Fault, Link, Pull, Pulled, Puller, Signed};
pub use pumped::Pumped;

/// This product's name on the wire.
pub const PRODUCT: &str = "holger";