pub struct Contract { /* private fields */ }
Expand description
Methods and type signatures supported by a contract.
Implementations§
Source§impl Contract
impl Contract
Sourcepub fn new(
contract_package_hash: ContractPackageHash,
contract_wasm_hash: ContractWasmHash,
named_keys: NamedKeys,
entry_points: EntryPoints,
protocol_version: ProtocolVersion,
) -> Self
pub fn new( contract_package_hash: ContractPackageHash, contract_wasm_hash: ContractWasmHash, named_keys: NamedKeys, entry_points: EntryPoints, protocol_version: ProtocolVersion, ) -> Self
Contract
constructor.
Sourcepub fn contract_package_hash(&self) -> ContractPackageHash
pub fn contract_package_hash(&self) -> ContractPackageHash
Hash for accessing contract package
Sourcepub fn contract_wasm_hash(&self) -> ContractWasmHash
pub fn contract_wasm_hash(&self) -> ContractWasmHash
Hash for accessing contract WASM
Sourcepub fn has_entry_point(&self, name: &str) -> bool
pub fn has_entry_point(&self, name: &str) -> bool
Checks whether there is a method with the given name
Sourcepub fn entry_point(&self, method: &str) -> Option<&EntryPoint>
pub fn entry_point(&self, method: &str) -> Option<&EntryPoint>
Returns the type signature for the given method
.
Sourcepub fn protocol_version(&self) -> ProtocolVersion
pub fn protocol_version(&self) -> ProtocolVersion
Get the protocol version this header is targeting.
Sourcepub fn add_entry_point<T: Into<String>>(&mut self, entry_point: EntryPoint)
pub fn add_entry_point<T: Into<String>>(&mut self, entry_point: EntryPoint)
Adds new entry point
Sourcepub fn contract_wasm_key(&self) -> Key
pub fn contract_wasm_key(&self) -> Key
Hash for accessing contract bytes
Sourcepub fn entry_points(&self) -> &EntryPoints
pub fn entry_points(&self) -> &EntryPoints
Returns immutable reference to methods
Sourcepub fn take_named_keys(self) -> NamedKeys
pub fn take_named_keys(self) -> NamedKeys
Takes named_keys
Sourcepub fn named_keys(&self) -> &NamedKeys
pub fn named_keys(&self) -> &NamedKeys
Returns a reference to named_keys
Sourcepub fn named_keys_append(&mut self, keys: NamedKeys)
pub fn named_keys_append(&mut self, keys: NamedKeys)
Appends keys
to named_keys
Sourcepub fn remove_named_key(&mut self, key: &str) -> Option<Key>
pub fn remove_named_key(&mut self, key: &str) -> Option<Key>
Removes given named key.
Sourcepub fn set_protocol_version(&mut self, protocol_version: ProtocolVersion)
pub fn set_protocol_version(&mut self, protocol_version: ProtocolVersion)
Set protocol_version.
Sourcepub fn is_compatible_protocol_version(
&self,
protocol_version: ProtocolVersion,
) -> bool
pub fn is_compatible_protocol_version( &self, protocol_version: ProtocolVersion, ) -> bool
Determines if Contract
is compatible with a given ProtocolVersion
.
Trait Implementations§
Source§impl DataSize for Contract
impl DataSize for Contract
Source§const IS_DYNAMIC: bool = true
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
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
fn estimate_heap_size(&self) -> usize
Estimates the size of heap memory taken up by this value. Read more
Source§impl<'de> Deserialize<'de> for Contract
impl<'de> Deserialize<'de> for Contract
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
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<Contract> for AddressableEntity
impl From<Contract> for AddressableEntity
Source§impl From<Contract> for StoredValue
impl From<Contract> for StoredValue
Source§impl JsonSchema for Contract
impl JsonSchema for Contract
Source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
Source§fn schema_id() -> Cow<'static, str>
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
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref
keyword. Read moreSource§impl ToBytes for Contract
impl ToBytes for Contract
Source§fn serialized_length(&self) -> usize
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§impl TryFrom<StoredValue> for Contract
impl TryFrom<StoredValue> for Contract
Source§type Error = TypeMismatch
type Error = TypeMismatch
The type returned in the event of a conversion error.
impl Eq for Contract
impl StructuralPartialEq for Contract
Auto Trait Implementations§
impl Freeze for Contract
impl RefUnwindSafe for Contract
impl Send for Contract
impl Sync for Contract
impl Unpin for Contract
impl UnwindSafe for Contract
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
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
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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