Struct Account

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

Represents an Account in the global state.

Implementations§

Source§

impl Account

Source

pub fn new( account_hash: AccountHash, named_keys: NamedKeys, main_purse: URef, associated_keys: AssociatedKeys, action_thresholds: ActionThresholds, ) -> Self

Creates a new account.

Source

pub fn create( account: AccountHash, named_keys: NamedKeys, main_purse: URef, ) -> Self

An Account constructor with presets for associated_keys and action_thresholds.

An account created with this method is valid and can be used as the target of a transaction. It will be created with an AssociatedKeys with a Weight of 1, and a default ActionThresholds.

Source

pub fn named_keys_append(&mut self, keys: NamedKeys)

Appends named keys to an account’s named_keys field.

Source

pub fn named_keys(&self) -> &NamedKeys

Returns named keys.

Source

pub fn named_keys_mut(&mut self) -> &mut NamedKeys

Returns a mutable reference to named keys.

Source

pub fn remove_named_key(&mut self, name: &str) -> Option<Key>

Removes the key under the given name from named keys.

Source

pub fn account_hash(&self) -> AccountHash

Returns account hash.

Source

pub fn main_purse(&self) -> URef

Returns main purse.

Source

pub fn main_purse_add_only(&self) -> URef

Returns an AccessRights::ADD-only version of the main purse’s URef.

Source

pub fn associated_keys(&self) -> &AssociatedKeys

Returns associated keys.

Source

pub fn action_thresholds(&self) -> &ActionThresholds

Returns action thresholds.

Source

pub fn add_associated_key( &mut self, account_hash: AccountHash, weight: Weight, ) -> Result<(), AddKeyFailure>

Adds an associated key to an account.

Source

pub fn remove_associated_key( &mut self, account_hash: AccountHash, ) -> Result<(), RemoveKeyFailure>

Removes an associated key from an account.

Verifies that removing the key will not cause the remaining weight to fall below any action thresholds.

Source

pub fn update_associated_key( &mut self, account_hash: AccountHash, weight: Weight, ) -> Result<(), UpdateKeyFailure>

Updates an associated key.

Returns an error if the update would result in a violation of the key management thresholds.

Source

pub fn set_action_threshold_unchecked( &mut self, action_type: ActionType, threshold: Weight, ) -> Result<(), SetThresholdFailure>

Sets a new action threshold for a given action type for the account without checking against the total weight of the associated keys.

This should only be called when authorized by an administrator account.

Returns an error if setting the action would cause the ActionType::Deployment threshold to be greater than any of the other action types.

Source

pub fn set_action_threshold( &mut self, action_type: ActionType, weight: Weight, ) -> Result<(), SetThresholdFailure>

Sets a new action threshold for a given action type for the account.

Returns an error if the new action threshold weight is greater than the total weight of the account’s associated keys.

Source

pub fn can_set_threshold( &self, new_threshold: Weight, ) -> Result<(), SetThresholdFailure>

Verifies if user can set action threshold.

Source

pub fn can_authorize(&self, authorization_keys: &BTreeSet<AccountHash>) -> bool

Checks whether all authorization keys are associated with this account.

Source

pub fn can_deploy_with( &self, authorization_keys: &BTreeSet<AccountHash>, ) -> bool

Checks whether the sum of the weights of all authorization keys is greater or equal to deploy threshold.

Source

pub fn can_manage_keys_with( &self, authorization_keys: &BTreeSet<AccountHash>, ) -> bool

Checks whether the sum of the weights of all authorization keys is greater or equal to key management threshold.

Trait Implementations§

Source§

impl Clone for Account

Source§

fn clone(&self) -> Account

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 DataSize for Account

Source§

const IS_DYNAMIC: bool = true

If true, the type has a heap size that can vary at runtime, depending on the actual value.
Source§

const STATIC_HEAP_SIZE: usize = 0usize

The amount of space a value of the type always occupies. If IS_DYNAMIC is false, this is the total amount of heap memory occupied by the value. Otherwise this is a lower bound.
Source§

fn estimate_heap_size(&self) -> usize

Estimates the size of heap memory taken up by this value. Read more
Source§

impl Debug for Account

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for Account

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl From<Account> for AddressableEntity

Source§

fn from(value: Account) -> Self

Converts to this type from the input type.
Source§

impl From<Account> for StoredValue

Source§

fn from(value: Account) -> StoredValue

Converts to this type from the input type.
Source§

impl FromBytes for Account

Source§

fn from_bytes(bytes: &[u8]) -> Result<(Self, &[u8]), Error>

Deserializes the slice into Self.
Source§

fn from_vec(bytes: Vec<u8>) -> Result<(Self, Vec<u8>), Error>

Deserializes the Vec<u8> into Self.
Source§

impl JsonSchema for Account

Source§

fn schema_name() -> String

The name of the generated JSON Schema. Read more
Source§

fn schema_id() -> Cow<'static, str>

Returns a string that uniquely identifies the schema produced by this type. Read more
Source§

fn json_schema(generator: &mut SchemaGenerator) -> Schema

Generates a JSON Schema for this type. Read more
Source§

fn is_referenceable() -> bool

Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
Source§

impl PartialEq for Account

Source§

fn eq(&self, other: &Account) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Account

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl ToBytes for Account

Source§

fn to_bytes(&self) -> Result<Vec<u8>, Error>

Serializes &self to a Vec<u8>.
Source§

fn serialized_length(&self) -> usize

Returns the length of the Vec<u8> which would be returned from a successful call to to_bytes() or into_bytes(). The data is not actually serialized, so this call is relatively cheap.
Source§

fn write_bytes(&self, writer: &mut Vec<u8>) -> Result<(), Error>

Writes &self into a mutable writer.
Source§

fn into_bytes(self) -> Result<Vec<u8>, Error>
where Self: Sized,

Consumes self and serializes to a Vec<u8>.
Source§

impl TryFrom<StoredValue> for Account

Source§

type Error = TypeMismatch

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

fn try_from(stored_value: StoredValue) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl Eq for Account

Source§

impl StructuralPartialEq for Account

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> 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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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<T> Same for T

Source§

type Output = T

Should always be Self
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<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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,