monetize-estate-side 0.3.3

The estate side of the ONE monetize's wire, shared by every product: the box pump (Fleet.Report / Orders / Ask: the box key, verify, run through the product's executor, ack; the jera round) and the front's signed SoldEstate client (Upgrade, Recharge, TakeMaterial, UpdateTake, UpdateReport) behind a swappable transport. The product writes only its executor and its words.
Documentation
//! **The box pump** (feature `pump`; P4a, moved from Holger's `holger-fleet`, A22 W7): every box
//! of an estate (main, twin) calls the ONE monetize the same way —
//!
//! | call | here |
//! |---|---|
//! | the box's own Ed25519 key, `<data>/fleet/box.ed25519` | [`key::BoxKey`] |
//! | where it reports, and as whom (the feed, else a kept enrolment) | [`config::FleetConfig`] |
//! | `Fleet.Report` (health words, acks, twin review, product report) | [`puller::Puller::report`] |
//! | `Fleet.Orders` (long-poll, ≤ 25 s), [`puller::check`] under `monetize_pubkey`, run, ack | [`puller::Puller::pull`] |
//! | `Fleet.Ask` (a pulled growth's `grow_set`) | [`puller::Puller::ask`], [`puller::grow_set`] |
//! | the wire (`monetize.v1.Fleet`, monetize-proto's client) | [`grpc::TonicLink`] |
//! | the jera job that runs one round | [`duty`] |
//!
//! The product writes only its [`puller::PumpBox`]: its health words and what each order kind
//! does on its box. Every signed form is monetize-embed's own ([`monetize_embed::fleet`]).

pub mod config;
pub mod duty;
pub mod grpc;
pub mod key;
pub mod puller;

pub use config::FleetConfig;
pub use key::BoxKey;
pub use puller::{
    check, fetch, grow_set, Addressee, Asked, Asker, Checked, Ctx, Fault, Link, Pull, Pulled,
    Puller, PumpBox, Signed,
};