pub struct KillSwitchReceipt {
pub receipt_id: String,
pub action: KillSwitchAction,
pub agent_did: String,
pub controller_did: String,
pub reason_code: u16,
pub reason_text: Option<String>,
pub evidence_hash: Option<String>,
pub slash_bps: Option<u16>,
pub cascade: Option<bool>,
pub pause_until: Option<u64>,
pub frozen_at_block: BlockHeight,
pub timestamp: Timestamp,
}Expand description
Receipt written to CF_SETTLEMENTS for every successful kill-switch
precompile execution. Indexed by both agent_did and controller_did
for the listing RPCs.
Fields§
§receipt_id: StringDeterministic 32-byte receipt id (hex-encoded). See module docs.
action: KillSwitchActionWhat was issued.
agent_did: StringDID of the agent the action targeted (did:tenzro:machine:...).
controller_did: StringDID of the controller / committee / governance proposer that authorised the action. For cascaded terminations this is the upstream parent’s controller — the cascaded children inherit the authority of the root termination.
reason_code: u16Canonical reason code (see kill-switch spec §“Reason codes”).
reason_text: Option<String>Optional human-readable reason text, capped at 256 bytes by the transaction validator.
evidence_hash: Option<String>Optional commitment hash to off-chain evidence (32-byte SHA-256
hex). Only meaningful for Quarantine and Terminate.
slash_bps: Option<u16>For Terminate only: basis points of stake to slash, capped per
governance slash_bps_cap. None for Pause / Quarantine.
cascade: Option<bool>For Terminate only: whether the action recursively terminates
descendants under the agent’s children: index.
pause_until: Option<u64>For Pause only: optional auto-resume deadline (Unix seconds).
None means an indefinite pause that requires an explicit resume
action. Always None for Quarantine / Terminate.
frozen_at_block: BlockHeightBlock height at which the action was finalized.
timestamp: TimestampWall-clock timestamp of finalization (informational; the authoritative ordering is the block height).
Implementations§
Source§impl KillSwitchReceipt
impl KillSwitchReceipt
Sourcepub fn is_reversible(&self) -> bool
pub fn is_reversible(&self) -> bool
Returns true if the receipt represents a reversible action.
Trait Implementations§
Source§impl Clone for KillSwitchReceipt
impl Clone for KillSwitchReceipt
Source§fn clone(&self) -> KillSwitchReceipt
fn clone(&self) -> KillSwitchReceipt
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for KillSwitchReceipt
impl Debug for KillSwitchReceipt
Source§impl<'de> Deserialize<'de> for KillSwitchReceipt
impl<'de> Deserialize<'de> for KillSwitchReceipt
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for KillSwitchReceipt
Source§impl PartialEq for KillSwitchReceipt
impl PartialEq for KillSwitchReceipt
Source§fn eq(&self, other: &KillSwitchReceipt) -> bool
fn eq(&self, other: &KillSwitchReceipt) -> bool
self and other values to be equal, and is used by ==.