Struct AddressableEntity

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

Methods and type signatures supported by a contract.

Implementations§

Source§

impl AddressableEntity

Source

pub fn new( package_hash: PackageHash, byte_code_hash: ByteCodeHash, protocol_version: ProtocolVersion, main_purse: URef, associated_keys: AssociatedKeys, action_thresholds: ActionThresholds, entity_kind: EntityKind, ) -> Self

AddressableEntity constructor.

Source

pub fn entity_addr(&self, entity_hash: AddressableEntityHash) -> EntityAddr

Get the entity addr for this entity from the corresponding hash.

Source

pub fn entity_kind(&self) -> EntityKind

Source

pub fn package_hash(&self) -> PackageHash

Hash for accessing contract package

Source

pub fn byte_code_hash(&self) -> ByteCodeHash

Hash for accessing contract WASM

Source

pub fn protocol_version(&self) -> ProtocolVersion

Get the protocol version this header is targeting.

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 addressable entity.

Source

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

Removes an associated key from an addressable entity.

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( &mut self, action_type: ActionType, weight: Weight, ) -> Result<(), SetThresholdFailure>

Sets new action threshold for a given action type for the addressable entity.

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

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 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 addressable entity.

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.

Source

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

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

Source

pub fn byte_code_addr(&self) -> HashAddr

Addr for accessing wasm bytes

Source

pub fn set_protocol_version(&mut self, protocol_version: ProtocolVersion)

Set protocol_version.

Source

pub fn is_compatible_protocol_version( &self, protocol_version: ProtocolVersion, ) -> bool

Determines if AddressableEntity is compatible with a given ProtocolVersion.

Source

pub fn kind(&self) -> EntityKind

Returns the kind of AddressableEntity.

Source

pub fn is_account_kind(&self) -> bool

Is this an account?

Source

pub fn entity_key(&self, entity_hash: AddressableEntityHash) -> Key

Key for the addressable entity

Source

pub fn extract_access_rights( &self, entity_hash: AddressableEntityHash, named_keys: &NamedKeys, ) -> ContextAccessRights

Extracts the access rights from the named keys of the addressable entity.

Trait Implementations§

Source§

impl Clone for AddressableEntity

Source§

fn clone(&self) -> AddressableEntity

Returns a duplicate 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 AddressableEntity

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 AddressableEntity

Source§

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

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

impl Default for AddressableEntity

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for AddressableEntity

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<AddressableEntity> for (PackageHash, ByteCodeHash, ProtocolVersion, URef, AssociatedKeys, ActionThresholds)

Source§

fn from(entity: AddressableEntity) -> Self

Converts to this type from the input type.
Source§

impl From<AddressableEntity> for StoredValue

Source§

fn from(value: AddressableEntity) -> StoredValue

Converts to this type from the input type.
Source§

impl From<Contract> for AddressableEntity

Source§

fn from(value: Contract) -> Self

Converts to this type from the input type.
Source§

impl FromBytes for AddressableEntity

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 AddressableEntity

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 AddressableEntity

Source§

fn eq(&self, other: &AddressableEntity) -> 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 AddressableEntity

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 AddressableEntity

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 AddressableEntity

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 AddressableEntity

Source§

impl StructuralPartialEq for AddressableEntity

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>,