pub struct OperatorIdentity { /* private fields */ }Expand description
Operator identity. Phase 1 holds the operator key as an
EntityKeypair (the same ed25519 type daemons use) plus a
derived 64-bit operator id. The signing seam will widen here
when the substrate slice that adds operator-key channel-auth
lands; until then commits ride the local loop and the SDK
records the operator id for audit correlation.
Implementations§
Source§impl OperatorIdentity
impl OperatorIdentity
Sourcepub fn from_keypair(keypair: EntityKeypair) -> Self
pub fn from_keypair(keypair: EntityKeypair) -> Self
Wrap an existing keypair as an operator identity. The
operator id derives from the keypair’s origin_hash.
Sourcepub fn generate() -> Self
pub fn generate() -> Self
Generate a fresh keypair + identity. Convenience for tests and the tooling that bootstraps a one-shot operator.
Sourcepub fn operator_id(&self) -> u64
pub fn operator_id(&self) -> u64
64-bit operator id derived from the underlying keypair’s
origin_hash. Stable across the operator’s lifetime.
Sourcepub fn keypair(&self) -> &EntityKeypair
pub fn keypair(&self) -> &EntityKeypair
Borrow the underlying keypair. Use sparingly. The
SDK’s own signing helpers
(Self::sign_proposal, Self::sign_admin_event)
cover the canonical signing flows; reach for this only
when implementing a cross-language signing seam (e.g. a
FFI binding that needs to call its own ed25519 lib over
the same (domain || issued_at || blast_hash || postcard)
payload shape). Calls outside that envelope risk
drift between the SDK’s signing bytes and what the
substrate verifier rebuilds.
Source§impl OperatorIdentity
impl OperatorIdentity
Sourcepub fn sign_proposal(
&self,
proposal: &IceActionProposal,
issued_at_ms: u64,
blast_hash: &BlastRadiusHash,
) -> OperatorSignature
pub fn sign_proposal( &self, proposal: &IceActionProposal, issued_at_ms: u64, blast_hash: &BlastRadiusHash, ) -> OperatorSignature
Sign proposal with this operator’s ed25519 key, stamped
at issued_at_ms and bound to the simulator’s
pre-execution preview hash blast_hash. Thin
SDK-ergonomic wrapper over the substrate’s
OperatorSignature::sign constructor.
The substrate verifier rebuilds the same domain-tagged
payload — including blast_hash — and rejects bundles
whose hash is the
super::meshos::SIMULATION_REQUIRED_SENTINEL
(substrate enforcement of locked decision #4) or whose
freshness window has expired. Coordinators collecting
signatures from multiple operators must share the same
(issued_at_ms, blast_hash) pair across the bundle —
fetch both from the IceProposal handle.
Sourcepub fn sign_admin_event(
&self,
event: &AdminEvent,
issued_at_ms: u64,
) -> OperatorSignature
pub fn sign_admin_event( &self, event: &AdminEvent, issued_at_ms: u64, ) -> OperatorSignature
Sign an ordinary AdminEvent for the single-signature
SignedAdminCommit path, stamped at issued_at_ms. The
signature covers the substrate’s
[super::meshos::admin_event_signing_payload(event, issued_at_ms)]
so the loop verifier and the SDK agree on the byte
sequence.
Trait Implementations§
Source§impl Clone for OperatorIdentity
impl Clone for OperatorIdentity
Source§fn clone(&self) -> OperatorIdentity
fn clone(&self) -> OperatorIdentity
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more