Struct sol_did::state::DidAccount

source ·
pub struct DidAccount {
    pub version: u8,
    pub bump: u8,
    pub nonce: u64,
    pub initial_verification_method: VerificationMethod,
    pub verification_methods: Vec<VerificationMethod>,
    pub services: Vec<Service>,
    pub native_controllers: Vec<Pubkey>,
    pub other_controllers: Vec<String>,
}

Fields§

§version: u8

Version identifier

§bump: u8

Bump

§nonce: u64

Nonce, for protecting against replay attacks around secp256k1 signatures.

§initial_verification_method: VerificationMethod

The initial authority key, automatically being added to the array of all Verification Methods.

§verification_methods: Vec<VerificationMethod>

All verification methods

§services: Vec<Service>

Services

§native_controllers: Vec<Pubkey>

Controller (native) - did:sol:

§other_controllers: Vec<String>

Controller (others) - all others

Implementations§

Accessor for all verification methods (including the initial one) Enables to pass several filters that are ANDed together.

Accessor for all verification methods (including the initial one) Enables to pass several filters that are ANDed together. Mutable Version

Returns true if other is a valid controller of this DID

returns true if the controller chain is valid. The chain must be provided in the following order: this -> chain[0] -> … -> chain[n] where ‘->’ represents the relationship “is controlled by”. NOTE: an empty chain returns true.

Trait Implementations§

Deserializes previously initialized account data. Should fail for all uninitialized accounts, where the bytes are zeroed. Implementations should be unique to a particular account type so that one can never successfully deserialize the data of one account type into another. For example, if the SPL token program were to implement this trait, it should be impossible to deserialize a Mint account into a token Account. Read more
Deserializes account data without checking the account discriminator. This should only be used on account initialization, when the bytes of the account are zeroed. Read more
Serializes the account data into writer.
Deserializes this instance from a given slice of bytes. Updates the buffer to point at the remaining bytes. Read more
Deserialize this instance from a slice of bytes.
Serialize this instance into a vector of bytes.
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The alignment of pointer.
The type for initializers.
Initializes a with the given initializer. Read more
Dereferences the given pointer. Read more
Mutably dereferences the given pointer. Read more
Drops the object pointed to by the given pointer. Read more
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.