pub struct ParsedRekey {
pub rotator: PublicKey,
pub scope: RekeyScope,
pub new_epoch: Epoch,
pub prev_epoch: Epoch,
pub prev_key_commitment: [u8; 32],
pub blobs: Vec<RekeyBlob>,
}Expand description
A parsed, inner-signature-verified Rekey — what open_rekey_event yields. Authority (does the
rotator’s roster rank permit this rotation?) and blob-opening are SEPARATE later steps: the
rotator pubkey here is what the recipient pairs against in open_rekey_blob, and what the
roster check is run against.
Fields§
§rotator: PublicKeyThe verified rotator (the inner event’s real author) — the ECDH identity + the authority actor.
scope: RekeyScopeThe scope this rekey rotates (a channel, or the server root).
new_epoch: EpochThe epoch this rekey introduces.
prev_epoch: EpochThe epoch being rotated FROM (the chain link this extends).
prev_key_commitment: [u8; 32]Commitment to the prior epoch’s key (fork detection); verified against the held prior key by the apply path, not here.
blobs: Vec<RekeyBlob>The per-recipient blobs; the recipient finds theirs by locator and opens it (open_rekey_blob).
Trait Implementations§
Source§impl Clone for ParsedRekey
impl Clone for ParsedRekey
Source§fn clone(&self) -> ParsedRekey
fn clone(&self) -> ParsedRekey
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ParsedRekey
impl RefUnwindSafe for ParsedRekey
impl Send for ParsedRekey
impl Sync for ParsedRekey
impl Unpin for ParsedRekey
impl UnsafeUnpin for ParsedRekey
impl UnwindSafe for ParsedRekey
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more