pub struct ContractPackage { /* private fields */ }Expand description
Contract definition, metadata, and security container.
Implementations§
Source§impl ContractPackage
impl ContractPackage
Sourcepub fn new(
access_key: URef,
versions: ContractVersions,
disabled_versions: DisabledVersions,
groups: Groups,
lock_status: ContractPackageStatus,
) -> Self
pub fn new( access_key: URef, versions: ContractVersions, disabled_versions: DisabledVersions, groups: Groups, lock_status: ContractPackageStatus, ) -> Self
Create new ContractPackage (with no versions) from given access key.
Sourcepub fn access_key(&self) -> URef
pub fn access_key(&self) -> URef
Get the access key for this contract.
Sourcepub fn groups_mut(&mut self) -> &mut Groups
pub fn groups_mut(&mut self) -> &mut Groups
Get the mutable group definitions for this contract.
Sourcepub fn add_group(&mut self, group: Group, urefs: BTreeSet<URef>)
pub fn add_group(&mut self, group: Group, urefs: BTreeSet<URef>)
Adds new group to this contract.
Sourcepub fn lookup_contract_hash(
&self,
contract_version_key: ContractVersionKey,
) -> Option<&ContractHash>
pub fn lookup_contract_hash( &self, contract_version_key: ContractVersionKey, ) -> Option<&ContractHash>
Lookup the contract hash for a given contract version (if present)
Sourcepub fn is_version_enabled(
&self,
contract_version_key: ContractVersionKey,
) -> bool
pub fn is_version_enabled( &self, contract_version_key: ContractVersionKey, ) -> bool
Returns true if the given contract version exists and is enabled.
Sourcepub fn is_contract_enabled(&self, contract_hash: &ContractHash) -> bool
pub fn is_contract_enabled(&self, contract_hash: &ContractHash) -> bool
Returns true if the given contract hash exists and is enabled.
Sourcepub fn insert_contract_version(
&mut self,
protocol_version_major: ProtocolVersionMajor,
contract_hash: ContractHash,
) -> ContractVersionKey
pub fn insert_contract_version( &mut self, protocol_version_major: ProtocolVersionMajor, contract_hash: ContractHash, ) -> ContractVersionKey
Insert a new contract version; the next sequential version number will be issued.
Sourcepub fn disable_contract_version(
&mut self,
contract_hash: ContractHash,
) -> Result<(), Error>
pub fn disable_contract_version( &mut self, contract_hash: ContractHash, ) -> Result<(), Error>
Disable the contract version corresponding to the given hash (if it exists).
Sourcepub fn enable_contract_version(
&mut self,
contract_hash: ContractHash,
) -> Result<(), Error>
pub fn enable_contract_version( &mut self, contract_hash: ContractHash, ) -> Result<(), Error>
Enable the contract version corresponding to the given hash (if it exists).
Sourcepub fn versions(&self) -> &ContractVersions
pub fn versions(&self) -> &ContractVersions
Returns reference to all of this contract’s versions.
Sourcepub fn enabled_versions(&self) -> ContractVersions
pub fn enabled_versions(&self) -> ContractVersions
Returns all of this contract’s enabled contract versions.
Sourcepub fn versions_mut(&mut self) -> &mut ContractVersions
pub fn versions_mut(&mut self) -> &mut ContractVersions
Returns mutable reference to all of this contract’s versions (enabled and disabled).
Sourcepub fn take_versions(self) -> ContractVersions
pub fn take_versions(self) -> ContractVersions
Consumes the object and returns all of this contract’s versions (enabled and disabled).
Sourcepub fn disabled_versions(&self) -> &DisabledVersions
pub fn disabled_versions(&self) -> &DisabledVersions
Returns all of this contract’s disabled versions.
Sourcepub fn disabled_versions_mut(&mut self) -> &mut DisabledVersions
pub fn disabled_versions_mut(&mut self) -> &mut DisabledVersions
Returns mut reference to all of this contract’s disabled versions.
Sourcepub fn remove_group(&mut self, group: &Group) -> bool
pub fn remove_group(&mut self, group: &Group) -> bool
Removes a group from this contract (if it exists).
Sourcepub fn current_contract_version(&self) -> Option<ContractVersionKey>
pub fn current_contract_version(&self) -> Option<ContractVersionKey>
Return the contract version key for the newest enabled contract version.
Sourcepub fn current_contract_hash(&self) -> Option<ContractHash>
pub fn current_contract_hash(&self) -> Option<ContractHash>
Return the contract hash for the newest enabled contract version.
Sourcepub fn get_lock_status(&self) -> ContractPackageStatus
pub fn get_lock_status(&self) -> ContractPackageStatus
Return the package status itself
Trait Implementations§
Source§impl Clone for ContractPackage
impl Clone for ContractPackage
Source§fn clone(&self) -> ContractPackage
fn clone(&self) -> ContractPackage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ContractPackage
impl Debug for ContractPackage
Source§impl Default for ContractPackage
impl Default for ContractPackage
Source§fn default() -> ContractPackage
fn default() -> ContractPackage
Source§impl From<ContractPackage> for StoredValue
impl From<ContractPackage> for StoredValue
Source§fn from(value: ContractPackage) -> StoredValue
fn from(value: ContractPackage) -> StoredValue
Source§impl FromBytes for ContractPackage
impl FromBytes for ContractPackage
Source§impl PartialEq for ContractPackage
impl PartialEq for ContractPackage
Source§impl Serialize for ContractPackage
impl Serialize for ContractPackage
Source§impl ToBytes for ContractPackage
impl ToBytes for ContractPackage
Source§fn serialized_length(&self) -> usize
fn serialized_length(&self) -> usize
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.