Struct dock_runtime::did::pallet::Pallet

source ·
pub struct Pallet<T>(_);
Expand description

The pallet implementing the on-chain logic.

Implementations§

source§

impl<T> Pallet<T>where T: Config,

source

pub fn is_offchain_did(did: &Did) -> Result<bool, Error<T>>

source

pub fn offchain_did_details( did: &Did ) -> Result<OffChainDidDetails<T>, Error<T>>

Get DID detail of an off-chain DID. Throws error if DID does not exist or is on-chain.

source§

impl<T> Pallet<T>where T: Config,

source

pub fn is_onchain_did(did: &Did) -> Result<bool, Error<T>>

source

pub fn onchain_did_details( did: &Did ) -> Result<WithNonce<T, OnChainDidDetails>, Error<T>>

Get DID detail of an on-chain DID. Throws error if DID does not exist or is off-chain.

source§

impl<T> Pallet<T>where T: Config,

source

pub fn ensure_controller( controlled: &Did, controller: &Controller ) -> Result<(), Error<T>>

Throws an error if controller is not the controller of controlled

source

pub fn is_controller(controlled: &Did, controller: &Controller) -> bool

Returns true if given controlled DID is controlled by the controller DID.

source

pub fn is_self_controlled(did: &Did) -> bool

Returns true if DID controls itself, else false.

source§

impl<T> Pallet<T>where T: Config,

source

pub fn aggregate_did_details( did: &Did, params: AggregatedDidDetailsRequestParams ) -> Option<AggregatedDidDetailsResponse<T>>

Request aggregated DID details containing specified information.

source§

impl<T> Pallet<T>where T: Config,

source

pub fn new_offchain( origin: <T as Config>::Origin, did: Did, did_doc_ref: OffChainDidDocRef<T> ) -> Result<(), DispatchError>

Creates a new offchain DID (Decentralized Identifier) entry.

This function is used to create a new offchain DID entry by providing a reference to an offchain DID document.

Parameters
  • origin: The origin of the call, which determines who is making the request.
  • did: The decentralized identifier (DID) that uniquely identifies the entity.
  • did_doc_ref: The new reference to the offchain DID document. It can be one of the following:
    • CID: A Content Identifier as per multiformats/cid.
    • URL: A URL pointing to the DID document.
    • Custom: A custom encoding of the reference.
source

pub fn set_offchain_did_doc_ref( origin: <T as Config>::Origin, did: Did, did_doc_ref: OffChainDidDocRef<T> ) -> Result<(), DispatchError>

Updates the offchain DID document reference for an existing DID.

This function is used to set or update the reference to the offchain DID document for a given DID. The offchain DID document reference can be one of the following types: CID, URL, or Custom.

Parameters
  • origin: The origin of the call, which determines who is making the request and their permissions.
  • did: The decentralized identifier (DID) that uniquely identifies the entity whose DID document reference is being updated.
  • did_doc_ref: The new reference to the offchain DID document. It can be one of the following:
    • CID: A Content Identifier as per multiformats/cid.
    • URL: A URL pointing to the DID document.
    • Custom: A custom encoding of the reference.
source

pub fn remove_offchain_did( origin: <T as Config>::Origin, did: Did ) -> Result<(), DispatchError>

Removes an existing offchain DID entry.

This function is used to remove an offchain DID entry from the system. This operation deletes the DID and its associated offchain DID document reference.

Parameters
  • origin: The origin of the call, which determines who is making the request and their permissions.
  • did: The decentralized identifier (DID) that uniquely identifies the entity to be removed.
source

pub fn new_onchain( origin: <T as Config>::Origin, did: Did, keys: Vec<UncheckedDidKey, Global>, controllers: BTreeSet<Controller, Global> ) -> Result<(), DispatchError>

Create new DID. At least 1 control key or 1 controller must be provided. If any supplied key has an empty ver_rel, then it will use all verification relationships available for its key type.

source

pub fn add_keys( origin: <T as Config>::Origin, keys: AddKeys<T>, sig: DidOrDidMethodKeySignature<Controller> ) -> Result<(), DispatchError>

Add more keys from DID doc. Does not check if the key was already added.

source

pub fn remove_keys( origin: <T as Config>::Origin, keys: RemoveKeys<T>, sig: DidOrDidMethodKeySignature<Controller> ) -> Result<(), DispatchError>

Remove keys from DID doc. This is an atomic operation meaning that it will either remove all keys or do nothing. Note that removing all keys might make DID unusable.

source

pub fn add_controllers( origin: <T as Config>::Origin, controllers: AddControllers<T>, sig: DidOrDidMethodKeySignature<Controller> ) -> Result<(), DispatchError>

Add new controllers to the signer DID. Does not require provided controllers to

  • have any key
  • exist on- or off-chain
source

pub fn remove_controllers( origin: <T as Config>::Origin, controllers: RemoveControllers<T>, sig: DidOrDidMethodKeySignature<Controller> ) -> Result<(), DispatchError>

Remove controllers from the signer DID. This is an atomic operation meaning that it will either remove all keys or do nothing. Note that removing all controllers might make DID unusable.

source

pub fn add_service_endpoint( origin: <T as Config>::Origin, service_endpoint: AddServiceEndpoint<T>, sig: DidOrDidMethodKeySignature<Controller> ) -> Result<(), DispatchError>

Add a single service endpoint to the signer DID.

source

pub fn remove_service_endpoint( origin: <T as Config>::Origin, service_endpoint: RemoveServiceEndpoint<T>, sig: DidOrDidMethodKeySignature<Controller> ) -> Result<(), DispatchError>

Remove a single service endpoint.

source

pub fn remove_onchain_did( origin: <T as Config>::Origin, removal: DidRemoval<T>, sig: DidOrDidMethodKeySignature<Controller> ) -> Result<(), DispatchError>

Remove the on-chain DID along with its keys, controllers, service endpoints and BBS+ keys. Other DID-controlled entities won’t be removed. However, the authorization logic ensures that once a DID is removed, it loses its ability to control any DID.

source

pub fn new_did_method_key( origin: <T as Config>::Origin, did_key: DidMethodKey ) -> Result<(), DispatchError>

Adds an on-chain state storing the nonce for the provided DID method key. After this state is set, this DID method key will be able to submit a DID transaction.

source§

impl<T> Pallet<T>where T: Config,

source

pub fn did<KArg>(k: KArg) -> Option<StoredDidDetails<T>>where KArg: EncodeLike<Did>,

Stores details of off-chain and on-chain DIDs

source§

impl<T> Pallet<T>where T: Config,

source

pub fn did_method_key<KArg>(k: KArg) -> Option<WithNonce<T, ()>>where KArg: EncodeLike<DidMethodKey>,

Stores nonce for did:key DIDs.

source§

impl<T> Pallet<T>where T: Config,

source

pub fn did_key<KArg1, KArg2>(k1: KArg1, k2: KArg2) -> Option<DidKey>where KArg1: EncodeLike<Did>, KArg2: EncodeLike<IncId>,

Stores keys of a DID as (DID, IncId) -> DidKey. Does not check if the same key is being added multiple times to the same DID.

source§

impl<T> Pallet<T>where T: Config,

source

pub fn bound_controller<KArg1, KArg2>(k1: KArg1, k2: KArg2) -> Option<()>where KArg1: EncodeLike<Did>, KArg2: EncodeLike<Controller>,

Stores controlled - controller pairs of a DID as (DID, DID) -> zero-sized record. If a record exists, then the controller is bound.

source§

impl<T> Pallet<T>where T: Config,

source

pub fn did_service_endpoint<KArg1, KArg2>( k1: KArg1, k2: KArg2 ) -> Option<ServiceEndpoint<T>>where KArg1: EncodeLike<Did>, KArg2: EncodeLike<ServiceEndpointId<T>>,

Stores service endpoints of a DID as (DID, endpoint id) -> ServiceEndpoint.

source§

impl<T> Pallet<T>where T: Config,

Trait Implementations§

source§

impl<T> Callable<T> for Pallet<T>where T: Config,

§

type Call = Call<T>

source§

impl<T> Clone for Pallet<T>

source§

fn clone(&self) -> Pallet<T>

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl<T> Debug for Pallet<T>

source§

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

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

impl From<<Pallet<Runtime> as Callable<Runtime>>::Call> for Call

source§

fn from(call: CallableCallFor<DIDModule, Runtime>) -> Self

Converts to this type from the input type.
source§

impl<T> GetStorageVersion for Pallet<T>where T: Config,

source§

fn current_storage_version() -> StorageVersion

Returns the current storage version as supported by the pallet.
source§

fn on_chain_storage_version() -> StorageVersion

Returns the on-chain storage version of the pallet as stored in the storage.
source§

impl<T> Hooks<<T as Config>::BlockNumber> for Pallet<T>where T: Config,

§

fn on_finalize(_n: BlockNumber)

The block is being finalized. Implement to have something happen.
§

fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight

This will be run when the block is being finalized (before on_finalize). Implement to have something happen using the remaining weight. Will not fire if the remaining weight is 0. Return the weight used, the hook will subtract it from current weight used and pass the result to the next on_idle hook if it exists.
§

fn on_initialize(_n: BlockNumber) -> Weight

The block is being initialized. Implement to have something happen. Read more
§

fn on_runtime_upgrade() -> Weight

Perform a module upgrade. Read more
§

fn offchain_worker(_n: BlockNumber)

Implementing this function on a module allows you to perform long-running tasks that make (by default) validators generate transactions that feed results of those long-running computations back on chain. Read more
§

fn integrity_test()

Run integrity test. Read more
source§

impl<T> IntegrityTest for Pallet<T>where T: Config,

source§

fn integrity_test()

Run integrity test. Read more
source§

impl IsSubType<<Pallet<Runtime> as Callable<Runtime>>::Call> for Call

source§

fn is_sub_type(&self) -> Option<&CallableCallFor<DIDModule, Runtime>>

Returns Some(_) if self is an instance of sub type T.
source§

impl<T> OffchainWorker<<T as Config>::BlockNumber> for Pallet<T>where T: Config,

source§

fn offchain_worker(n: <T as Config>::BlockNumber)

This function is being called after every block import (when fully synced). Read more
source§

impl<T> OnFinalize<<T as Config>::BlockNumber> for Pallet<T>where T: Config,

source§

fn on_finalize(n: <T as Config>::BlockNumber)

The block is being finalized. Implement to have something happen. Read more
source§

impl<T> OnGenesis for Pallet<T>where T: Config,

source§

fn on_genesis()

Something that should happen at genesis.
source§

impl<T> OnIdle<<T as Config>::BlockNumber> for Pallet<T>where T: Config,

source§

fn on_idle(n: <T as Config>::BlockNumber, remaining_weight: Weight) -> Weight

The block is being finalized. Implement to have something happen in case there is leftover weight. Check the passed remaining_weight to make sure it is high enough to allow for your pallet’s extra computation. Read more
source§

impl<T> OnInitialize<<T as Config>::BlockNumber> for Pallet<T>where T: Config,

source§

fn on_initialize(n: <T as Config>::BlockNumber) -> Weight

The block is being initialized. Implement to have something happen. Read more
source§

impl<T> OnRuntimeUpgrade for Pallet<T>where T: Config,

source§

fn on_runtime_upgrade() -> Weight

Perform a module upgrade. Read more
source§

impl<T> PalletInfoAccess for Pallet<T>where T: Config,

source§

fn index() -> usize

Index of the pallet as configured in the runtime.
source§

fn name() -> &'static str

Name of the pallet as configured in the runtime.
source§

fn module_name() -> &'static str

Name of the Rust module containing the pallet.
source§

fn crate_version() -> CrateVersion

Version of the crate containing the pallet.
source§

impl<T> PalletsInfoAccess for Pallet<T>where T: Config,

source§

fn count() -> usize

The number of pallets’ information that this type represents. Read more
source§

fn infos() -> Vec<PalletInfoData, Global>

All of the pallets’ information that this type represents.
source§

impl<T> PartialEq<Pallet<T>> for Pallet<T>

source§

fn eq(&self, other: &Pallet<T>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<T> StorageInfoTrait for Pallet<T>where T: Config,

source§

fn storage_info() -> Vec<StorageInfo, Global>

source§

impl<T> Eq for Pallet<T>

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for Pallet<T>where T: RefUnwindSafe,

§

impl<T> Send for Pallet<T>where T: Send,

§

impl<T> Sync for Pallet<T>where T: Sync,

§

impl<T> Unpin for Pallet<T>where T: Unpin,

§

impl<T> UnwindSafe for Pallet<T>where T: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CanUpdate<()> for T

source§

fn can_add(&self, _entity: &()) -> bool

Checks whether the new entity can be added.
source§

fn can_remove(&self, _entity: &()) -> bool

Checks whether the existing entity can be removed.
source§

fn can_replace(&self, _new: &(), _entity: &()) -> bool

Checks whether the provided entity can replace the existing one.
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>where Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> Downcast for Twhere T: Any,

§

fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> DowncastSync for Twhere T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send + 'static>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> DynClone for Twhere T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

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

const: unstable · 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.

§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

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

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

§

impl<T> PalletVersionToStorageVersionHelper for Twhere T: GetStorageVersion + PalletInfoAccess,

§

fn migrate(db_weight: &RuntimeDbWeight) -> Weight

§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
§

impl<T> SaturatedConversion for T

§

fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,

Convert from a value of T into an equivalent instance of Self. Read more
§

fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,

Consume self to return an equivalent value of T. Read more
source§

impl<T> ToOwned for Twhere T: Clone,

§

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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

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

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for Twhere T: Debug,

§

impl<T> MaybeDebug for Twhere T: Debug,

§

impl<T> MaybeRefUnwindSafe for Twhere T: RefUnwindSafe,

§

impl<T> Member for Twhere T: Send + Sync + Debug + Eq + PartialEq<T> + Clone + 'static,