Struct concordium_contracts_common::Policy[][src]

pub struct Policy<Attributes> {
    pub identity_provider: IdentityProvider,
    pub created_at: Timestamp,
    pub valid_to: Timestamp,
    pub items: Attributes,
}
Expand description

Policy on the credential of the account.

This is one of the key features of the Concordium blockchain. Each account on the chain is backed by an identity. The policy is verified and signed by the identity provider before an account can be created on the chain.

The type is parameterized by the choice of Attributes. These are either borrowed or owned, in the form of an iterator over key-value pairs or a vector of such. This flexibility is needed so that attributes can be accessed efficiently, as well as constructed conveniently for testing.

Fields

identity_provider: IdentityProvider
Expand description

Identity of the identity provider who signed the identity object that this policy is derived from.

created_at: Timestamp
Expand description

Timestamp at the beginning of the month when the identity object backing this policy was created. This timestamp has very coarse granularity in order for the identity provider to not be able to link identities they have created with accounts that users created on the chain. as a timestamp (which has millisecond granularity) in order to make it easier to compare with, e.g., slot_time.

valid_to: Timestamp
Expand description

Beginning of the month where the identity is no longer valid.

items: Attributes
Expand description

List of attributes, in ascending order of the tag.

Trait Implementations

impl<Attributes: Clone> Clone for Policy<Attributes>[src]

fn clone(&self) -> Policy<Attributes>[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<Attributes: Debug> Debug for Policy<Attributes>[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl<Attributes> RefUnwindSafe for Policy<Attributes> where
    Attributes: RefUnwindSafe

impl<Attributes> Send for Policy<Attributes> where
    Attributes: Send

impl<Attributes> Sync for Policy<Attributes> where
    Attributes: Sync

impl<Attributes> Unpin for Policy<Attributes> where
    Attributes: Unpin

impl<Attributes> UnwindSafe for Policy<Attributes> where
    Attributes: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.