Skip to main content

monetize_estate_side/pump/
mod.rs

1//! **The box pump** (feature `pump`; P4a, moved from Holger's `holger-fleet`, A22 W7): every box
2//! of an estate (main, twin) calls the ONE monetize the same way —
3//!
4//! | call | here |
5//! |---|---|
6//! | the box's own Ed25519 key, `<data>/fleet/box.ed25519` | [`key::BoxKey`] |
7//! | where it reports, and as whom (the feed, else a kept enrolment) | [`config::FleetConfig`] |
8//! | `Fleet.Report` (health words, acks, twin review, product report) | [`puller::Puller::report`] |
9//! | `Fleet.Orders` (long-poll, ≤ 25 s), [`puller::check`] under `monetize_pubkey`, run, ack | [`puller::Puller::pull`] |
10//! | `Fleet.Ask` (a pulled growth's `grow_set`) | [`puller::Puller::ask`], [`puller::grow_set`] |
11//! | the wire (`monetize.v1.Fleet`, monetize-proto's client) | [`grpc::TonicLink`] |
12//! | the jera job that runs one round | [`duty`] |
13//!
14//! The product writes only its [`puller::PumpBox`]: its health words and what each order kind
15//! does on its box. Every signed form is monetize-embed's own ([`monetize_embed::fleet`]).
16
17pub mod config;
18pub mod duty;
19pub mod grpc;
20pub mod key;
21pub mod puller;
22
23pub use config::FleetConfig;
24pub use key::BoxKey;
25pub use puller::{check, fetch, grow_set, Addressee, Asked, Asker, Checked, Ctx, Fault, Link, Pull, Pulled, Puller, PumpBox, Signed};