JsMorpheusPrivate

Struct JsMorpheusPrivate 

Source
pub struct JsMorpheusPrivate { /* private fields */ }
Expand description

Private keys of the Morpheus subtree in a vault.

@see MorpheusPlugin.priv

Implementations§

Source§

impl JsMorpheusPrivate

Source

pub fn public(&self) -> JsMorpheusPublic

Access to the public keys of the subtree. Same as {@link MorpheusPlugin.pub} would return.

Source

pub fn bip32_path(&self) -> String

Accessor for the BIP32 path of the Morpheus subtree.

Source

pub fn kind(&self, did_kind: &str) -> Result<JsMorpheusPrivateKind, JsValue>

There can be several usages of DIDs differentiated inside the vault invisible externally, e.g. on a blockchain. Each represents a separate subtree under the Morpheus subtree in the vault.

Use ‘persona’, ‘device’, ‘group’ or ‘resource’ in singular as a parameter.

Source

pub fn personas(&self) -> Result<JsMorpheusPrivateKind, JsValue>

Alias for {@link kind(‘persona’)}

Source

pub fn devices(&self) -> Result<JsMorpheusPrivateKind, JsValue>

Alias for {@link kind(‘device’)}

Source

pub fn groups(&self) -> Result<JsMorpheusPrivateKind, JsValue>

Alias for {@link kind(‘group’)}

Source

pub fn resources(&self) -> Result<JsMorpheusPrivateKind, JsValue>

Alias for {@link kind(‘resource’)}

Source

pub fn key_by_pk( &self, pk: &JsMPublicKey, ) -> Result<JsMorpheusPrivateKey, JsValue>

Finds the {@link MorpheusPrivateKey} that belongs to the given multicipher {@link PublicKey}. You can check the DID kind or index of the key or get the actual {@link PrivateKey} from the returned object.

An error will be thrown if the public key has never been used yet in this vault.

Source

pub fn key_by_id(&self, id: &JsMKeyId) -> Result<JsMorpheusPrivateKey, JsValue>

Finds the {@link MorpheusPrivateKey} that belongs to the given multicipher {@link KeyId}. You can check the DID kind or index of the key or get the actual {@link PrivateKey} from the returned object.

An error will be thrown if the key identifier has never been used yet in this vault.

Source

pub fn sign_did_operations( &self, id: &JsMKeyId, message: &[u8], ) -> Result<JsSignedBytes, JsValue>

Signs some binary payload with a private key that belongs to the given multicipher {@link KeyId}.

The returned {@link SignedBytes} has separate properties for signature and public key.

Note, that usually it is usually a bad security to let the user sign a binary content that was not reviewed by the user on a trusted user interface before serialization into that binary format.

@see keyById

Source

pub fn sign_witness_request( &self, id: &JsMKeyId, js_req: &JsValue, ) -> Result<JsSignedJson, JsValue>

Signs a witness request for a verifiable claim with a private key that belongs to the given multicipher {@link KeyId}. An error will be thrown if the JSON does not conform to the schema of a witness request.

The returned {@link SignedJson} has separate properties for signature and public key, but can be serialized into a JSON format widely used in the IOP Stack™.

@see keyById

Source

pub fn sign_witness_statement( &self, id: &JsMKeyId, js_stmt: &JsValue, ) -> Result<JsSignedJson, JsValue>

Signs a witness statemet for a verifiable claim with a private key that belongs to the given multicipher {@link KeyId}. An error will be thrown if the JSON does not conform to the schema of a witness statement.

The returned {@link SignedJson} has separate properties for signature and public key, but can be serialized into a JSON format widely used in the IOP Stack™.

@see keyById

Source

pub fn sign_claim_presentation( &self, id: &JsMKeyId, js_presentation: &JsValue, ) -> Result<JsSignedJson, JsValue>

Signs a claim presentation for verifiable claims with a private key that belongs to the given multicipher {@link KeyId}. An error will be thrown if the JSON does not conform to the schema of a claim presentation.

The returned {@link SignedJson} has separate properties for signature and public key, but can be serialized into a JSON format widely used in the IOP Stack™.

@see keyById

Trait Implementations§

Source§

impl From<JsMorpheusPrivate> for JsValue

Source§

fn from(value: JsMorpheusPrivate) -> Self

Converts to this type from the input type.
Source§

impl From<Private> for JsMorpheusPrivate

Source§

fn from(inner: Private) -> Self

Converts to this type from the input type.
Source§

impl FromWasmAbi for JsMorpheusPrivate

Source§

type Abi = u32

The Wasm ABI type that this converts from when coming back out from the ABI boundary.
Source§

unsafe fn from_abi(js: u32) -> Self

Recover a Self from Self::Abi. Read more
Source§

impl IntoWasmAbi for JsMorpheusPrivate

Source§

type Abi = u32

The Wasm ABI type that this converts into when crossing the ABI boundary.
Source§

fn into_abi(self) -> u32

Convert self into Self::Abi so that it can be sent across the wasm ABI boundary.
Source§

impl LongRefFromWasmAbi for JsMorpheusPrivate

Source§

type Abi = u32

Same as RefFromWasmAbi::Abi
Source§

type Anchor = RcRef<JsMorpheusPrivate>

Same as RefFromWasmAbi::Anchor
Source§

unsafe fn long_ref_from_abi(js: Self::Abi) -> Self::Anchor

Same as RefFromWasmAbi::ref_from_abi
Source§

impl OptionFromWasmAbi for JsMorpheusPrivate

Source§

fn is_none(abi: &Self::Abi) -> bool

Tests whether the argument is a “none” instance. If so it will be deserialized as None, and otherwise it will be passed to FromWasmAbi.
Source§

impl OptionIntoWasmAbi for JsMorpheusPrivate

Source§

fn none() -> Self::Abi

Returns an ABI instance indicating “none”, which JS will interpret as the None branch of this option. Read more
Source§

impl RefFromWasmAbi for JsMorpheusPrivate

Source§

type Abi = u32

The Wasm ABI type references to Self are recovered from.
Source§

type Anchor = RcRef<JsMorpheusPrivate>

The type that holds the reference to Self for the duration of the invocation of the function that has an &Self parameter. This is required to ensure that the lifetimes don’t persist beyond one function call, and so that they remain anonymous.
Source§

unsafe fn ref_from_abi(js: Self::Abi) -> Self::Anchor

Recover a Self::Anchor from Self::Abi. Read more
Source§

impl RefMutFromWasmAbi for JsMorpheusPrivate

Source§

type Abi = u32

Same as RefFromWasmAbi::Abi
Source§

type Anchor = RcRefMut<JsMorpheusPrivate>

Same as RefFromWasmAbi::Anchor
Source§

unsafe fn ref_mut_from_abi(js: Self::Abi) -> Self::Anchor

Same as RefFromWasmAbi::ref_from_abi
Source§

impl TryFromJsValue for JsMorpheusPrivate

Source§

type Error = JsValue

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

fn try_from_js_value(value: JsValue) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl VectorFromWasmAbi for JsMorpheusPrivate

Source§

impl VectorIntoWasmAbi for JsMorpheusPrivate

Source§

impl WasmDescribe for JsMorpheusPrivate

Source§

impl WasmDescribeVector for JsMorpheusPrivate

Source§

impl Wraps<Private> for JsMorpheusPrivate

Source§

fn inner(&self) -> &Private

Converts a reference to a WASM type to a reference to the underlying Rust type.
Source§

impl SupportsConstructor for JsMorpheusPrivate

Source§

impl SupportsInstanceProperty for JsMorpheusPrivate

Source§

impl SupportsStaticProperty for JsMorpheusPrivate

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> 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> ReturnWasmAbi for T
where T: IntoWasmAbi,

Source§

type Abi = <T as IntoWasmAbi>::Abi

Same as IntoWasmAbi::Abi
Source§

fn return_abi(self) -> <T as ReturnWasmAbi>::Abi

Same as IntoWasmAbi::into_abi, except that it may throw and never return in the case of Err.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V