Skip to main content

SetMirrorAdvertiseUrlsParams

Struct SetMirrorAdvertiseUrlsParams 

Source
pub struct SetMirrorAdvertiseUrlsParams {
    pub urls: Option<Vec<String>>,
}
Expand description

control.config.setMirrorAdvertiseUrls params.

§The three states this ONE optional field carries, and why an empty list is refused

  • None (absent, or JSON null) CLEARS the override, reverting to dig-node#562’s DERIVED default — this node’s own discovered public address.
  • Some(urls) with at least one entry SETS the override to exactly those URLs.
  • Some(vec![]) — an EXPLICIT empty list — is REFUSED as -32602 INVALID_PARAMS rather than silently taken to mean either of the above. It is genuinely ambiguous between “advertise nothing” (forfeiting every mirror reward this node could otherwise earn this epoch) and “go back to automatic” — and guessing wrong either forfeits money the operator did not intend to give up, or silently overrides a deliberate choice to stop advertising. See Self::validated.

Fields§

§urls: Option<Vec<String>>

The URLs to advertise, or None to clear the override and revert to the derived default. See the type doc for why Some(vec![]) is refused rather than accepted as either meaning.

Implementations§

Source§

impl SetMirrorAdvertiseUrlsParams

Source

pub fn validated(self) -> Result<Self, ControlError>

Refuse an explicit empty list, and refuse any entry that is not a well-formed absolute URL, both as -32602 INVALID_PARAMS. None and a non-empty list of well-formed URLs both pass through unchanged.

Refused rather than guessed at, for the same reason CollateralMarginSetParams::validated refuses rather than clamps: a caller is stating an intent right now, and silently applying a different meaning than the one requested would make a subsequent MirrorAdvertiseView disagree with what the caller believes it set — on a surface that gates real mirror-coin rewards.

Trait Implementations§

Source§

impl Clone for SetMirrorAdvertiseUrlsParams

Source§

fn clone(&self) -> SetMirrorAdvertiseUrlsParams

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 ControlCall for SetMirrorAdvertiseUrlsParams

Source§

const METHOD: ControlMethod = ControlMethod::ConfigSetMirrorAdvertiseUrls

The wire method this call invokes.
Source§

type Output = SetMirrorAdvertiseUrlsResult

The typed result this call returns on success.
Source§

impl Debug for SetMirrorAdvertiseUrlsParams

Source§

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

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

impl<'de> Deserialize<'de> for SetMirrorAdvertiseUrlsParams

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 Eq for SetMirrorAdvertiseUrlsParams

Source§

impl PartialEq for SetMirrorAdvertiseUrlsParams

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl Serialize for SetMirrorAdvertiseUrlsParams

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 StructuralPartialEq for SetMirrorAdvertiseUrlsParams

Auto Trait Implementations§

Blanket Implementations§

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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

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> 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 = !

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

fn try_from(value: U) -> Result<T, !>

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.