pub enum RotateKeyTarget {
Iroh,
Eth,
}Expand description
Which of the operator’s keys decdn node rotate-key rotates.
A ValueEnum with no default: the two paths differ by orders of
magnitude in cost and are not interchangeable, so the operator names one.
These are the operator’s only two keys. There is no separate slash-sig
signing key: an operator serves from the EOA it registered, so slash_sig
is signed by the Ethereum key above. Serving from a smart account while a
hot key signs slash_sig is unimplemented
(adr/024-account-abstraction.md § Unimplemented — Operator Custody While
Serving), so there is no third variant to rotate.
Variants§
Iroh
The iroh Ed25519 node key — the wire NodeId. One bindNodeId
transaction; the Ethereum address, bond, declared tier,
firstBondedAt, and every lane funded against this operator survive untouched.
Eth
The secp256k1 Ethereum signing key. No rebinding API exists for the
on-chain address, so this moves the whole identity: deregister →
unbond window → re-bond and re-register from a new address. Costs the
full unbonding window of downtime and resets firstBondedAt.
Trait Implementations§
Source§impl Clone for RotateKeyTarget
impl Clone for RotateKeyTarget
impl Copy for RotateKeyTarget
Source§impl Debug for RotateKeyTarget
impl Debug for RotateKeyTarget
impl Eq for RotateKeyTarget
Source§impl PartialEq for RotateKeyTarget
impl PartialEq for RotateKeyTarget
impl StructuralPartialEq for RotateKeyTarget
Source§impl ValueEnum for RotateKeyTarget
impl ValueEnum for RotateKeyTarget
Auto Trait Implementations§
impl Freeze for RotateKeyTarget
impl RefUnwindSafe for RotateKeyTarget
impl Send for RotateKeyTarget
impl Sync for RotateKeyTarget
impl Unpin for RotateKeyTarget
impl UnsafeUnpin for RotateKeyTarget
impl UnwindSafe for RotateKeyTarget
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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