pub struct RestoreEvent {
pub timestamp: Timestamp,
pub amount: u128,
pub proposal_id: String,
pub reason: String,
pub authorized_by: Address,
}Expand description
Governance-authorized restoration of previously slashed stake.
Used as an audit trail for the (rare) case where a stake was slashed in error — for example, the testnet equivocation cascade at view=62 on 2026-04-27, where validators self-equivocated due to a missing persistent vote-state and were correctly slashed by the protocol, but the underlying fault was a bug, not Byzantine behavior.
Restoration is gated by an on-chain governance proposal; the
proposal_id field binds the restoration to the proposal that
authorized it for full auditability.
Fields§
§timestamp: TimestampTimestamp of restoration
amount: u128Amount restored
proposal_id: StringGovernance proposal authorizing the restoration
reason: StringReason for restoration
Address that executed the restoration (typically the governance executor / treasury multisig)
Implementations§
Trait Implementations§
Source§impl Clone for RestoreEvent
impl Clone for RestoreEvent
Source§fn clone(&self) -> RestoreEvent
fn clone(&self) -> RestoreEvent
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RestoreEvent
impl Debug for RestoreEvent
Source§impl<'de> Deserialize<'de> for RestoreEvent
impl<'de> Deserialize<'de> for RestoreEvent
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for RestoreEvent
impl RefUnwindSafe for RestoreEvent
impl Send for RestoreEvent
impl Sync for RestoreEvent
impl Unpin for RestoreEvent
impl UnsafeUnpin for RestoreEvent
impl UnwindSafe for RestoreEvent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more