pub trait ChainLoggable {
// Required methods
fn chain_event_source(&self) -> &str;
fn chain_event_kind(&self) -> &str;
fn chain_event_payload(&self) -> Value;
}Expand description
Trait for types that can be logged to the ExoChain audit trail.
Implementors define how they map to a chain event kind string and
a JSON payload. The ChainManager::append_loggable convenience
method uses these to append an event without the caller needing to
hand-craft the source/kind/payload triple.
Required Methods§
Sourcefn chain_event_source(&self) -> &str
fn chain_event_source(&self) -> &str
The source subsystem (e.g. “supervisor”, “governance”, “ipc”).
Sourcefn chain_event_kind(&self) -> &str
fn chain_event_kind(&self) -> &str
The event kind string (e.g. “agent.restart”, “governance.deny”).
Sourcefn chain_event_payload(&self) -> Value
fn chain_event_payload(&self) -> Value
Build the JSON payload for the chain event.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl ChainLoggable for GovernanceDecisionEvent
impl ChainLoggable for IpcDeadLetterEvent
impl ChainLoggable for MemoryPromote
Available on crate feature
exochain only.