Struct IdentityCallApi

Source
pub struct IdentityCallApi<'api> { /* private fields */ }

Implementations§

Source§

impl<'api> IdentityCallApi<'api>

Source

pub fn cdd_register_did( &self, target_account: AccountId, secondary_keys: Vec<SecondaryKey<AccountId>>, ) -> Result<WrappedCall>

Register target_account with a new Identity.

§Failure
  • origin has to be a active CDD provider. Inactive CDD providers cannot add new claims.
  • target_account (primary key of the new Identity) can be linked to just one and only one identity.
  • External secondary keys can be linked to just one identity.
Source

pub fn invalidate_cdd_claims( &self, cdd: IdentityId, disable_from: u64, expiry: Option<u64>, ) -> Result<WrappedCall>

Invalidates any claim generated by cdd from disable_from timestamps.

You can also define an expiration time, which will invalidate all claims generated by that cdd and remove it as CDD member group.

Source

pub fn accept_primary_key( &self, rotation_auth_id: u64, optional_cdd_auth_id: Option<u64>, ) -> Result<WrappedCall>

Call this with the new primary key. By invoking this method, caller accepts authorization to become the new primary key of the issuing identity. If a CDD service provider approved this change (or this is not required), primary key of the DID is updated.

The caller (new primary key) must be either a secondary key of the issuing identity, or unlinked to any identity.

Differs from rotate_primary_key_to_secondary in that it will unlink the old primary key instead of leaving it as a secondary key.

§Arguments
  • owner_auth_id Authorization from the owner who initiated the change
  • cdd_auth_id Authorization from a CDD service provider
Source

pub fn change_cdd_requirement_for_mk_rotation( &self, auth_required: bool, ) -> Result<WrappedCall>

Set if CDD authorization is required for updating primary key of an identity. Callable via root (governance)

§Arguments
  • auth_required CDD Authorization required or not
Source

pub fn join_identity_as_key(&self, auth_id: u64) -> Result<WrappedCall>

Join an identity as a secondary key.

Source

pub fn leave_identity_as_key(&self) -> Result<WrappedCall>

Leave the secondary key’s identity.

Source

pub fn add_claim( &self, target: IdentityId, claim: Claim, expiry: Option<u64>, ) -> Result<WrappedCall>

Adds a new claim record or edits an existing one.

Only called by did_issuer’s secondary key.

Source

pub fn revoke_claim( &self, target: IdentityId, claim: Claim, ) -> Result<WrappedCall>

Marks the specified claim as revoked.

Source

pub fn freeze_secondary_keys(&self) -> Result<WrappedCall>

It disables all secondary keys at did identity.

§Errors
Source

pub fn unfreeze_secondary_keys(&self) -> Result<WrappedCall>

Re-enables all secondary keys of the caller’s identity.

Source

pub fn add_authorization( &self, target: Signatory<AccountId>, data: AuthorizationData<AccountId>, expiry: Option<u64>, ) -> Result<WrappedCall>

Adds an authorization.

Source

pub fn remove_authorization( &self, target: Signatory<AccountId>, auth_id: u64, _auth_issuer_pays: bool, ) -> Result<WrappedCall>

Removes an authorization. _auth_issuer_pays determines whether the issuer of the authorisation pays the transaction fee

Source

pub fn gc_add_cdd_claim(&self, target: IdentityId) -> Result<WrappedCall>

Assuming this is executed by the GC voting majority, adds a new cdd claim record.

Source

pub fn gc_revoke_cdd_claim(&self, target: IdentityId) -> Result<WrappedCall>

Assuming this is executed by the GC voting majority, removes an existing cdd claim record.

Source

pub fn revoke_claim_by_index( &self, target: IdentityId, claim_type: ClaimType, scope: Option<Scope>, ) -> Result<WrappedCall>

Revokes a specific claim using its Claim Unique Index composed by target, claim_type, and scope.

Please note that origin must be the issuer of the target claim.

Source

pub fn rotate_primary_key_to_secondary( &self, auth_id: u64, optional_cdd_auth_id: Option<u64>, ) -> Result<WrappedCall>

Call this with the new primary key. By invoking this method, caller accepts authorization to become the new primary key of the issuing identity. If a CDD service provider approved this change, (or this is not required), primary key of the DID is updated.

The caller (new primary key) must be either a secondary key of the issuing identity, or unlinked to any identity.

Differs from accept_primary_key in that it will leave the old primary key as a secondary key with the permissions specified in the corresponding RotatePrimaryKeyToSecondary authorization instead of unlinking the old primary key.

§Arguments
  • owner_auth_id Authorization from the owner who initiated the change
  • cdd_auth_id Authorization from a CDD service provider
Source

pub fn add_secondary_keys_with_authorization( &self, additional_keys: Vec<SecondaryKeyWithAuth<AccountId>>, expires_at: u64, ) -> Result<WrappedCall>

Adds secondary keys to target identity id.

Keys are directly added to identity because each of them has an authorization.

§Arguments:
- `origin` which must be the primary key of the identity `id`.
- `id` to which new secondary keys will be added.
- `additional_keys` which includes secondary keys,
   coupled with authorization data, to add to target identity.
§Errors
- Can only called by primary key owner.
- Keys should be able to linked to any identity.
Source

pub fn set_secondary_key_permissions( &self, key: AccountId, perms: Permissions, ) -> Result<WrappedCall>

Sets permissions for an specific target_key key.

Only the primary key of an identity is able to set secondary key permissions.

Source

pub fn remove_secondary_keys( &self, keys_to_remove: Vec<AccountId>, ) -> Result<WrappedCall>

Removes specified secondary keys of a DID if present.

§Errors

The extrinsic can only called by primary key owner.

Source

pub fn register_custom_claim_type(&self, ty: Vec<u8>) -> Result<WrappedCall>

Register custom claim type.

§Errors
  • CustomClaimTypeAlreadyExists The type that is being registered already exists.
  • CounterOverflow CustomClaimTypeId has overflowed.
  • TooLong The type being registered is too lang.
Source

pub fn cdd_register_did_with_cdd( &self, target_account: AccountId, secondary_keys: Vec<SecondaryKey<AccountId>>, expiry: Option<u64>, ) -> Result<WrappedCall>

Register target_account with a new Identity and issue a CDD claim with a blank CddId

§Failure
  • origin has to be a active CDD provider. Inactive CDD providers cannot add new claims.
  • target_account (primary key of the new Identity) can be linked to just one and only one identity.
  • External secondary keys can be linked to just one identity.
Source

pub fn create_child_identity( &self, secondary_key: AccountId, ) -> Result<WrappedCall>

Create a child identity and make the secondary_key it’s primary key.

Only the primary key can create child identities.

§Arguments
  • secondary_key the secondary key that will become the primary key of the new identity.
§Errors
  • KeyNotAllowed only the primary key can create a new identity.
  • NotASigner the secondary_key is not a secondary key of the caller’s identity.
  • AccountKeyIsBeingUsed the secondary_key can’t be unlinked from it’s current identity.
  • IsChildIdentity the caller’s identity is already a child identity and can’t create child identities.
Source

pub fn create_child_identities( &self, child_keys: Vec<CreateChildIdentityWithAuth<AccountId>>, expires_at: u64, ) -> Result<WrappedCall>

Create a child identities.

The new primary key for each child identity will need to sign (off-chain) an authorization.

Only the primary key can create child identities.

§Arguments
  • child_keys the keys that will become primary keys of their own child identity.
§Errors
  • KeyNotAllowed only the primary key can create a new identity.
  • AlreadyLinked one of the keys is already linked to an identity.
  • DuplicateKey one of the keys is included multiple times.
  • IsChildIdentity the caller’s identity is already a child identity and can’t create child identities.

Unlink a child identity from it’s parent identity.

Only the primary key of the parent or child identities can unlink the identities.

§Arguments
  • child_did the child identity to unlink from its parent identity.
§Errors
  • KeyNotAllowed only the primary key of either the parent or child identity can unlink the identities.
  • NoParentIdentity the identity child_did doesn’t have a parent identity.
  • NotParentOrChildIdentity the caller’s identity isn’t the parent or child identity.

Trait Implementations§

Source§

impl<'api> Clone for IdentityCallApi<'api>

Source§

fn clone(&self) -> IdentityCallApi<'api>

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<'api> From<&'api Api> for IdentityCallApi<'api>

Source§

fn from(api: &'api Api) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<'api> Freeze for IdentityCallApi<'api>

§

impl<'api> !RefUnwindSafe for IdentityCallApi<'api>

§

impl<'api> Send for IdentityCallApi<'api>

§

impl<'api> Sync for IdentityCallApi<'api>

§

impl<'api> Unpin for IdentityCallApi<'api>

§

impl<'api> !UnwindSafe for IdentityCallApi<'api>

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> CheckedConversion for T

Source§

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
Source§

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

Consume self to return Some equivalent value of Option<T>. 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> DynClone for T
where T: Clone,

Source§

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

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

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

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

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 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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<Src, Dest> IntoTuple<Dest> for Src
where Dest: FromTuple<Src>,

Source§

fn into_tuple(self) -> Dest

Source§

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

Source§

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

Get a reference to the inner from the outer.

Source§

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

Get a mutable reference to the inner from the outer.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> SaturatedConversion for T

Source§

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

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

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

Consume self to return an equivalent value of T. Read more
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 = Infallible

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

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

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.
Source§

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

Source§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
Source§

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

Source§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
Source§

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

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> JsonSchemaMaybe for T

Source§

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

Source§

impl<T> MaybeSendSync for T