Struct noble_node_authorization::Module[][src]

pub struct Module<T: Config>(_);

Implementations

impl<T: Config + 'static> Module<T>[src]

pub fn well_known_nodes() -> BTreeSet<PeerId>[src]

The set of well known nodes. This is stored sorted (just by value).

pub fn owners<K: EncodeLike<PeerId>>(key: K) -> T::AccountId[src]

A map that maintains the ownership of each node.

pub fn additional_connection<K: EncodeLike<PeerId>>(key: K) -> BTreeSet<PeerId>[src]

The additional adapative connections of each node.

impl<T: Config> Module<T>[src]

Can also be called using Call.

pub fn add_well_known_node(
    origin: T::Origin,
    node: PeerId,
    owner: T::AccountId
) -> DispatchResult
[src]

Add a node to the set of well known nodes. If the node is already claimed, the owner will be updated and keep the existing additional connection unchanged.

May only be called from T::AddOrigin.

  • node: identifier of the node.

NOTE: Calling this function will bypass origin filters.

pub fn remove_well_known_node(origin: T::Origin, node: PeerId) -> DispatchResult[src]

Remove a node from the set of well known nodes. The ownership and additional connections of the node will also be removed.

May only be called from T::RemoveOrigin.

  • node: identifier of the node.

NOTE: Calling this function will bypass origin filters.

pub fn swap_well_known_node(
    origin: T::Origin,
    remove: PeerId,
    add: PeerId
) -> DispatchResult
[src]

Swap a well known node to another. Both the ownership and additional connections stay untouched.

May only be called from T::SwapOrigin.

  • remove: the node which will be moved out from the list.
  • add: the node which will be put in the list.

NOTE: Calling this function will bypass origin filters.

pub fn reset_well_known_nodes(
    origin: T::Origin,
    nodes: Vec<(PeerId, T::AccountId)>
) -> DispatchResult
[src]

Reset all the well known nodes. This will not remove the ownership and additional connections for the removed nodes. The node owner can perform further cleaning if they decide to leave the network.

May only be called from T::ResetOrigin.

  • nodes: the new nodes for the allow list.

NOTE: Calling this function will bypass origin filters.

pub fn claim_node(origin: T::Origin, node: PeerId) -> DispatchResult[src]

A given node can be claimed by anyone. The owner should be the first to know its PeerId, so claim it right away!

  • node: identifier of the node.

NOTE: Calling this function will bypass origin filters.

pub fn remove_claim(origin: T::Origin, node: PeerId) -> DispatchResult[src]

A claim can be removed by its owner and get back the reservation. The additional connections are also removed. You can’t remove a claim on well known nodes, as it needs to reach consensus among the network participants.

  • node: identifier of the node.

NOTE: Calling this function will bypass origin filters.

pub fn transfer_node(
    origin: T::Origin,
    node: PeerId,
    owner: T::AccountId
) -> DispatchResult
[src]

A node can be transferred to a new owner.

  • node: identifier of the node.
  • owner: new owner of the node.

NOTE: Calling this function will bypass origin filters.

pub fn add_connections(
    origin: T::Origin,
    node: PeerId,
    connections: Vec<PeerId>
) -> DispatchResult
[src]

Add additional connections to a given node.

  • node: identifier of the node.
  • connections: additonal nodes from which the connections are allowed.

NOTE: Calling this function will bypass origin filters.

pub fn remove_connections(
    origin: T::Origin,
    node: PeerId,
    connections: Vec<PeerId>
) -> DispatchResult
[src]

Remove additional connections of a given node.

  • node: identifier of the node.
  • connections: additonal nodes from which the connections are not allowed anymore.

NOTE: Calling this function will bypass origin filters.

Trait Implementations

impl<T: Config> Callable<T> for Module<T>[src]

type Call = Call<T>

impl<T: Clone + Config> Clone for Module<T>[src]

impl<T: Copy + Config> Copy for Module<T>[src]

impl<T: Config> Debug for Module<T> where
    T: Debug
[src]

impl<T: Eq + Config> Eq for Module<T>[src]

impl<T: Config> GetNobleVersion for Module<T>[src]

impl<T: Config> IntegrityTest for Module<T>[src]

impl<T: Config> ModuleErrorMetadata for Module<T>[src]

impl<T: Config + Config> OffchainWorker<<T as Config>::BlockNumber> for Module<T>[src]

impl<T: Config + Config> OnFinalize<<T as Config>::BlockNumber> for Module<T>[src]

impl<T: Config> OnGenesis for Module<T>[src]

impl<T: Config + Config> OnInitialize<<T as Config>::BlockNumber> for Module<T>[src]

impl<T: Config> OnRuntimeUpgrade for Module<T>[src]

impl<T: PartialEq + Config> PartialEq<Module<T>> for Module<T>[src]

impl<T: Config> StructuralEq for Module<T>[src]

impl<T: Config> StructuralPartialEq for Module<T>[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for Module<T> where
    T: RefUnwindSafe

impl<T> Send for Module<T> where
    T: Send

impl<T> Sync for Module<T> where
    T: Sync

impl<T> Unpin for Module<T> where
    T: Unpin

impl<T> UnwindSafe for Module<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CheckedConversion for T[src]

impl<T> Downcast for T where
    T: Any

impl<T> DowncastSync for T where
    T: Any + Send + Sync

impl<T> DynClone for T where
    T: Clone
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IsType<T> for T[src]

impl<T, Outer> IsWrappedBy<Outer> for T where
    T: From<Outer>,
    Outer: AsRef<T> + AsMut<T> + From<T>, 
[src]

pub fn from_ref(outer: &Outer) -> &T[src]

Get a reference to the inner from the outer.

pub fn from_mut(outer: &mut Outer) -> &mut T[src]

Get a mutable reference to the inner from the outer.

impl<T> MaybeDebug for T where
    T: Debug

impl<T> MaybeDebug for T where
    T: Debug

impl<T> MaybeRefUnwindSafe for T where
    T: RefUnwindSafe

impl<T> Member for T where
    T: 'static + Send + Sync + Debug + Eq + PartialEq<T> + Clone
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> SaturatedConversion for T

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, 
[src]

impl<T, S> UniqueSaturatedInto<T> for S where
    T: Bounded,
    S: TryInto<T>, 

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,