Enum dock_runtime::did::Call
source · pub enum Call<T>where
T: Config,{
Show 13 variants
new_offchain {
did: Did,
did_doc_ref: OffChainDidDocRef<T>,
},
set_offchain_did_doc_ref {
did: Did,
did_doc_ref: OffChainDidDocRef<T>,
},
remove_offchain_did {
did: Did,
},
new_onchain {
did: Did,
keys: Vec<UncheckedDidKey, Global>,
controllers: BTreeSet<Controller, Global>,
},
add_keys {
keys: AddKeys<T>,
sig: DidOrDidMethodKeySignature<Controller>,
},
remove_keys {
keys: RemoveKeys<T>,
sig: DidOrDidMethodKeySignature<Controller>,
},
add_controllers {
controllers: AddControllers<T>,
sig: DidOrDidMethodKeySignature<Controller>,
},
remove_controllers {
controllers: RemoveControllers<T>,
sig: DidOrDidMethodKeySignature<Controller>,
},
add_service_endpoint {
service_endpoint: AddServiceEndpoint<T>,
sig: DidOrDidMethodKeySignature<Controller>,
},
remove_service_endpoint {
service_endpoint: RemoveServiceEndpoint<T>,
sig: DidOrDidMethodKeySignature<Controller>,
},
remove_onchain_did {
removal: DidRemoval<T>,
sig: DidOrDidMethodKeySignature<Controller>,
},
new_did_method_key {
did_key: DidMethodKey,
},
noop {
s: StateChange<'static, T>,
d: AggregatedDidDetailsResponse<T>,
qi: QueryTrustRegistryBy,
qy: QueryTrustRegistriesBy,
a: AggregatedTrustRegistrySchemaMetadata<T>,
},
// some variants omitted
}
Expand description
Contains one variant per dispatchable that can be called by an extrinsic.
Variants§
new_offchain
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.
set_offchain_did_doc_ref
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.
remove_offchain_did
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.
new_onchain
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.
add_keys
Add more keys from DID doc. Does not check if the key was already added.
remove_keys
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.
add_controllers
Add new controllers to the signer DID. Does not require provided controllers to
- have any key
- exist on- or off-chain
remove_controllers
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.
add_service_endpoint
Add a single service endpoint to the signer DID.
remove_service_endpoint
Remove a single service endpoint.
remove_onchain_did
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.
new_did_method_key
Fields
did_key: DidMethodKey
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.
noop
Fields
s: StateChange<'static, T>
Adds StateChange
and AggregatedDidDetailsResponse
to the metadata.
Implementations§
source§impl<T> Call<T>where
T: Config,
impl<T> Call<T>where T: Config,
sourcepub fn new_call_variant_new_offchain(
did: Did,
did_doc_ref: OffChainDidDocRef<T>
) -> Call<T>
pub fn new_call_variant_new_offchain( did: Did, did_doc_ref: OffChainDidDocRef<T> ) -> Call<T>
Create a call with the variant new_offchain
.
sourcepub fn new_call_variant_set_offchain_did_doc_ref(
did: Did,
did_doc_ref: OffChainDidDocRef<T>
) -> Call<T>
pub fn new_call_variant_set_offchain_did_doc_ref( did: Did, did_doc_ref: OffChainDidDocRef<T> ) -> Call<T>
Create a call with the variant set_offchain_did_doc_ref
.
sourcepub fn new_call_variant_remove_offchain_did(did: Did) -> Call<T>
pub fn new_call_variant_remove_offchain_did(did: Did) -> Call<T>
Create a call with the variant remove_offchain_did
.
sourcepub fn new_call_variant_new_onchain(
did: Did,
keys: Vec<UncheckedDidKey, Global>,
controllers: BTreeSet<Controller, Global>
) -> Call<T>
pub fn new_call_variant_new_onchain( did: Did, keys: Vec<UncheckedDidKey, Global>, controllers: BTreeSet<Controller, Global> ) -> Call<T>
Create a call with the variant new_onchain
.
sourcepub fn new_call_variant_add_keys(
keys: AddKeys<T>,
sig: DidOrDidMethodKeySignature<Controller>
) -> Call<T>
pub fn new_call_variant_add_keys( keys: AddKeys<T>, sig: DidOrDidMethodKeySignature<Controller> ) -> Call<T>
Create a call with the variant add_keys
.
sourcepub fn new_call_variant_remove_keys(
keys: RemoveKeys<T>,
sig: DidOrDidMethodKeySignature<Controller>
) -> Call<T>
pub fn new_call_variant_remove_keys( keys: RemoveKeys<T>, sig: DidOrDidMethodKeySignature<Controller> ) -> Call<T>
Create a call with the variant remove_keys
.
sourcepub fn new_call_variant_add_controllers(
controllers: AddControllers<T>,
sig: DidOrDidMethodKeySignature<Controller>
) -> Call<T>
pub fn new_call_variant_add_controllers( controllers: AddControllers<T>, sig: DidOrDidMethodKeySignature<Controller> ) -> Call<T>
Create a call with the variant add_controllers
.
sourcepub fn new_call_variant_remove_controllers(
controllers: RemoveControllers<T>,
sig: DidOrDidMethodKeySignature<Controller>
) -> Call<T>
pub fn new_call_variant_remove_controllers( controllers: RemoveControllers<T>, sig: DidOrDidMethodKeySignature<Controller> ) -> Call<T>
Create a call with the variant remove_controllers
.
sourcepub fn new_call_variant_add_service_endpoint(
service_endpoint: AddServiceEndpoint<T>,
sig: DidOrDidMethodKeySignature<Controller>
) -> Call<T>
pub fn new_call_variant_add_service_endpoint( service_endpoint: AddServiceEndpoint<T>, sig: DidOrDidMethodKeySignature<Controller> ) -> Call<T>
Create a call with the variant add_service_endpoint
.
sourcepub fn new_call_variant_remove_service_endpoint(
service_endpoint: RemoveServiceEndpoint<T>,
sig: DidOrDidMethodKeySignature<Controller>
) -> Call<T>
pub fn new_call_variant_remove_service_endpoint( service_endpoint: RemoveServiceEndpoint<T>, sig: DidOrDidMethodKeySignature<Controller> ) -> Call<T>
Create a call with the variant remove_service_endpoint
.
sourcepub fn new_call_variant_remove_onchain_did(
removal: DidRemoval<T>,
sig: DidOrDidMethodKeySignature<Controller>
) -> Call<T>
pub fn new_call_variant_remove_onchain_did( removal: DidRemoval<T>, sig: DidOrDidMethodKeySignature<Controller> ) -> Call<T>
Create a call with the variant remove_onchain_did
.
sourcepub fn new_call_variant_new_did_method_key(did_key: DidMethodKey) -> Call<T>
pub fn new_call_variant_new_did_method_key(did_key: DidMethodKey) -> Call<T>
Create a call with the variant new_did_method_key
.
sourcepub fn new_call_variant_noop(
s: StateChange<'static, T>,
d: AggregatedDidDetailsResponse<T>,
qi: QueryTrustRegistryBy,
qy: QueryTrustRegistriesBy,
a: AggregatedTrustRegistrySchemaMetadata<T>
) -> Call<T>
pub fn new_call_variant_noop( s: StateChange<'static, T>, d: AggregatedDidDetailsResponse<T>, qi: QueryTrustRegistryBy, qy: QueryTrustRegistriesBy, a: AggregatedTrustRegistrySchemaMetadata<T> ) -> Call<T>
Create a call with the variant noop
.
Trait Implementations§
source§impl<T> Decode for Call<T>where
T: Config,
impl<T> Decode for Call<T>where T: Config,
source§fn decode<__CodecInputEdqy>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Call<T>, Error>where
__CodecInputEdqy: Input,
fn decode<__CodecInputEdqy>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Call<T>, Error>where __CodecInputEdqy: Input,
§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>where I: Input,
§fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error>where I: Input,
§fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
source§impl<T> Encode for Call<T>where
T: Config,
impl<T> Encode for Call<T>where T: Config,
source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
source§fn encode_to<__CodecOutputEdqy>(&self, __codec_dest_edqy: &mut __CodecOutputEdqy)where
__CodecOutputEdqy: Output + ?Sized,
fn encode_to<__CodecOutputEdqy>(&self, __codec_dest_edqy: &mut __CodecOutputEdqy)where __CodecOutputEdqy: Output + ?Sized,
§fn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> Rwhere F: FnOnce(&[u8]) -> R,
§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
source§impl<T> GetCallName for Call<T>where
T: Config,
impl<T> GetCallName for Call<T>where T: Config,
source§fn get_call_name(&self) -> &'static str
fn get_call_name(&self) -> &'static str
source§fn get_call_names() -> &'static [&'static str]
fn get_call_names() -> &'static [&'static str]
source§impl<T> GetDispatchInfo for Call<T>where
T: Config,
impl<T> GetDispatchInfo for Call<T>where T: Config,
source§fn get_dispatch_info(&self) -> DispatchInfo
fn get_dispatch_info(&self) -> DispatchInfo
DispatchInfo
, containing relevant information of this dispatch. Read moresource§impl<T> PartialEq<Call<T>> for Call<T>where
T: Config,
impl<T> PartialEq<Call<T>> for Call<T>where T: Config,
source§impl<T> TypeInfo for Call<T>where
T: Config + 'static,
PhantomData<(T,)>: TypeInfo + 'static,
OffChainDidDocRef<T>: TypeInfo + 'static,
AddKeys<T>: TypeInfo + 'static,
RemoveKeys<T>: TypeInfo + 'static,
AddControllers<T>: TypeInfo + 'static,
RemoveControllers<T>: TypeInfo + 'static,
AddServiceEndpoint<T>: TypeInfo + 'static,
RemoveServiceEndpoint<T>: TypeInfo + 'static,
DidRemoval<T>: TypeInfo + 'static,
StateChange<'static, T>: TypeInfo + 'static,
AggregatedDidDetailsResponse<T>: TypeInfo + 'static,
AggregatedTrustRegistrySchemaMetadata<T>: TypeInfo + 'static,
impl<T> TypeInfo for Call<T>where T: Config + 'static, PhantomData<(T,)>: TypeInfo + 'static, OffChainDidDocRef<T>: TypeInfo + 'static, AddKeys<T>: TypeInfo + 'static, RemoveKeys<T>: TypeInfo + 'static, AddControllers<T>: TypeInfo + 'static, RemoveControllers<T>: TypeInfo + 'static, AddServiceEndpoint<T>: TypeInfo + 'static, RemoveServiceEndpoint<T>: TypeInfo + 'static, DidRemoval<T>: TypeInfo + 'static, StateChange<'static, T>: TypeInfo + 'static, AggregatedDidDetailsResponse<T>: TypeInfo + 'static, AggregatedTrustRegistrySchemaMetadata<T>: TypeInfo + 'static,
source§impl<T> UnfilteredDispatchable for Call<T>where
T: Config,
impl<T> UnfilteredDispatchable for Call<T>where T: Config,
§type Origin = <T as Config>::Origin
type Origin = <T as Config>::Origin
frame_system::Config::Origin
).source§fn dispatch_bypass_filter(
self,
origin: <Call<T> as UnfilteredDispatchable>::Origin
) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
fn dispatch_bypass_filter( self, origin: <Call<T> as UnfilteredDispatchable>::Origin ) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
impl<T> EncodeLike<Call<T>> for Call<T>where T: Config,
impl<T> Eq for Call<T>where T: Config,
Auto Trait Implementations§
impl<T> RefUnwindSafe for Call<T>where T: RefUnwindSafe, <T as Config>::AccountId: RefUnwindSafe, <T as Config>::BlockNumber: RefUnwindSafe, <T as Limits>::MaxAccumulatorAccumulatedSize: RefUnwindSafe, <T as Limits>::MaxAccumulatorLabelSize: RefUnwindSafe, <T as Limits>::MaxAccumulatorParamsSize: RefUnwindSafe, <T as Limits>::MaxAccumulatorPublicKeySize: RefUnwindSafe, <T as Limits>::MaxBBDT16PublicKeySize: RefUnwindSafe, <T as Limits>::MaxBBSPlusPublicKeySize: RefUnwindSafe, <T as Limits>::MaxBBSPublicKeySize: RefUnwindSafe, <T as Limits>::MaxDelegatedIssuers: RefUnwindSafe, <T as Limits>::MaxDidDocRefSize: RefUnwindSafe, <T as Limits>::MaxDidServiceEndpointIdSize: RefUnwindSafe, <T as Limits>::MaxDidServiceEndpointOriginSize: RefUnwindSafe, <T as Limits>::MaxDidServiceEndpointOrigins: RefUnwindSafe, <T as Limits>::MaxIriSize: RefUnwindSafe, <T as Limits>::MaxIssuerPriceCurrencies: RefUnwindSafe, <T as Limits>::MaxIssuerPriceCurrencySymbolSize: RefUnwindSafe, <T as Limits>::MaxOffchainParamsBytesSize: RefUnwindSafe, <T as Limits>::MaxOffchainParamsLabelSize: RefUnwindSafe, <T as Limits>::MaxPSPublicKeySize: RefUnwindSafe, <T as Limits>::MaxStatusListCredentialSize: RefUnwindSafe, <T as Limits>::MaxVerifiersPerSchema: RefUnwindSafe,
impl<T> Send for Call<T>where T: Send + Sync,
impl<T> Sync for Call<T>where T: Sync,
impl<T> Unpin for Call<T>where T: Unpin, <T as Config>::AccountId: Unpin, <T as Config>::BlockNumber: Unpin, <T as Limits>::MaxAccumulatorAccumulatedSize: Unpin, <T as Limits>::MaxAccumulatorLabelSize: Unpin, <T as Limits>::MaxAccumulatorParamsSize: Unpin, <T as Limits>::MaxAccumulatorPublicKeySize: Unpin, <T as Limits>::MaxBBDT16PublicKeySize: Unpin, <T as Limits>::MaxBBSPlusPublicKeySize: Unpin, <T as Limits>::MaxBBSPublicKeySize: Unpin, <T as Limits>::MaxDelegatedIssuers: Unpin, <T as Limits>::MaxDidDocRefSize: Unpin, <T as Limits>::MaxDidServiceEndpointIdSize: Unpin, <T as Limits>::MaxDidServiceEndpointOriginSize: Unpin, <T as Limits>::MaxDidServiceEndpointOrigins: Unpin, <T as Limits>::MaxIriSize: Unpin, <T as Limits>::MaxIssuerPriceCurrencies: Unpin, <T as Limits>::MaxOffchainParamsBytesSize: Unpin, <T as Limits>::MaxOffchainParamsLabelSize: Unpin, <T as Limits>::MaxPSPublicKeySize: Unpin, <T as Limits>::MaxStatusListCredentialSize: Unpin, <T as Limits>::MaxVerifiersPerSchema: Unpin,
impl<T> UnwindSafe for Call<T>where T: UnwindSafe + RefUnwindSafe, <T as Config>::AccountId: UnwindSafe, <T as Config>::BlockNumber: UnwindSafe + RefUnwindSafe, <T as Limits>::MaxAccumulatorAccumulatedSize: UnwindSafe + RefUnwindSafe, <T as Limits>::MaxAccumulatorLabelSize: UnwindSafe + RefUnwindSafe, <T as Limits>::MaxAccumulatorParamsSize: UnwindSafe + RefUnwindSafe, <T as Limits>::MaxAccumulatorPublicKeySize: UnwindSafe + RefUnwindSafe, <T as Limits>::MaxBBDT16PublicKeySize: UnwindSafe + RefUnwindSafe, <T as Limits>::MaxBBSPlusPublicKeySize: UnwindSafe + RefUnwindSafe, <T as Limits>::MaxBBSPublicKeySize: UnwindSafe + RefUnwindSafe, <T as Limits>::MaxDelegatedIssuers: UnwindSafe, <T as Limits>::MaxDidDocRefSize: UnwindSafe, <T as Limits>::MaxDidServiceEndpointIdSize: UnwindSafe + RefUnwindSafe, <T as Limits>::MaxDidServiceEndpointOriginSize: UnwindSafe + RefUnwindSafe, <T as Limits>::MaxDidServiceEndpointOrigins: UnwindSafe + RefUnwindSafe, <T as Limits>::MaxIriSize: UnwindSafe + RefUnwindSafe, <T as Limits>::MaxIssuerPriceCurrencies: UnwindSafe, <T as Limits>::MaxIssuerPriceCurrencySymbolSize: RefUnwindSafe, <T as Limits>::MaxOffchainParamsBytesSize: UnwindSafe + RefUnwindSafe, <T as Limits>::MaxOffchainParamsLabelSize: UnwindSafe + RefUnwindSafe, <T as Limits>::MaxPSPublicKeySize: UnwindSafe + RefUnwindSafe, <T as Limits>::MaxStatusListCredentialSize: UnwindSafe + RefUnwindSafe, <T as Limits>::MaxVerifiersPerSchema: UnwindSafe,
Blanket Implementations§
source§impl<T> CanUpdate<()> for T
impl<T> CanUpdate<()> for T
source§fn can_remove(&self, _entity: &()) -> bool
fn can_remove(&self, _entity: &()) -> bool
§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where Self: TryInto<T>,
§impl<T> DecodeAll for Twhere
T: Decode,
impl<T> DecodeAll for Twhere T: Decode,
§fn decode_all(input: &mut &[u8]) -> Result<T, Error>
fn decode_all(input: &mut &[u8]) -> Result<T, Error>
Self
and consume all of the given input data. Read more§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere T: Decode,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
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)
fn as_any(&self) -> &(dyn Any + 'static)
&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)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Hashable for Twhere
T: Codec,
impl<T> Hashable for Twhere T: Codec,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IsType<T> for T
impl<T> IsType<T> for T
§impl<T> KeyedVec for Twhere
T: Codec,
impl<T> KeyedVec for Twhere T: Codec,
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
T
. Read more§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.