Skip to main content

GdprEraseUser

Struct GdprEraseUser 

Source
pub struct GdprEraseUser {
    pub schema_version: u16,
    pub user: UserId,
}
Expand description

Request GDPR crypto-erasure for an existing User. Lease — actual cascade runs via the erasure-cascade observer with p95 < 24h SLA.

Fields§

§schema_version: u16

Wire-level schema version tag.

§user: UserId

Target User.

Trait Implementations§

Source§

impl ActionCompute for GdprEraseUser

Source§

fn compute(&self, ctx: &ActionContext<'_>) -> Vec<Op>

Translate this action into a list of Ops the kernel will then authorize, dispatch, and apply. Must be pure — A11 SOCIAL-CONTRACT until the subset-Rust checker promotes it to MACHINE-CHECKED.
Source§

impl ActionCompute for GdprEraseUser

Source§

fn compute<'i>(&self, ctx: &mut ActionContext<'i>) -> Result<(), ActionError>

Run the compute body. Emit events via ctx.emit_event, derive new ids via ctx.next_id, and return Err(ActionError::...) to reject.
Source§

impl ActionDeriv for GdprEraseUser

Source§

const TYPE_CODE: TypeCode

Stable dispatch identifier. Set via #[arkhe(type_code = N, ...)].
Source§

const SCHEMA_VERSION: u32

Version tag for canonical bytes. Bumping invalidates older serialized bodies.
Source§

impl ArkheAction for GdprEraseUser

Source§

const TYPE_CODE: u32 = 65539u32

Runtime TypeCode registry pin.
Source§

const SCHEMA_VERSION: u16 = 1u16

Monotone schema version — bump rules identical to ArkheComponent.
Source§

const BAND: Band = 1u8

Determinism band — 1 (Core) / 2 (Projection) / 3 (Protocol).
Source§

const IDEMPOTENT: bool = false

Opt-in idempotency flag. true iff the deriving struct carries an idempotency_key: Option<[u8; 16]> field (validated at derive time). false by default — non-idempotent Actions are still legal.
Source§

fn type_code() -> TypeCode

Convenience TypeCode accessor.
Source§

impl Clone for GdprEraseUser

Source§

fn clone(&self) -> GdprEraseUser

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for GdprEraseUser

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for GdprEraseUser

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for GdprEraseUser

Source§

fn eq(&self, other: &GdprEraseUser) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for GdprEraseUser

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for GdprEraseUser

Source§

impl Sealed for GdprEraseUser

Source§

impl StructuralPartialEq for GdprEraseUser

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Action for T

Source§

fn canonical_bytes(&self) -> Vec<u8>
where Self: Sized,

Postcard-canonical byte encoding. See Component::canonical_bytes for the contract; identical shape applies here.
Source§

fn from_bytes(version: u32, bytes: &[u8]) -> Result<Box<Self>, DeserializeError>
where Self: Sized,

Inverse of canonical_bytes. SchemaVersionMismatch on unequal version.
Source§

fn approx_size(&self) -> usize
where Self: Sized,

Approximate byte size — defaults to encoded length.
Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,