pub struct HostFunctionCosts {Show 43 fields
pub read_value: HostFunction<[Cost; 3]>,
pub dictionary_get: HostFunction<[Cost; 3]>,
pub write: HostFunction<[Cost; 4]>,
pub dictionary_put: HostFunction<[Cost; 4]>,
pub add: HostFunction<[Cost; 4]>,
pub new_uref: HostFunction<[Cost; 3]>,
pub load_named_keys: HostFunction<[Cost; 2]>,
pub ret: HostFunction<[Cost; 2]>,
pub get_key: HostFunction<[Cost; 5]>,
pub has_key: HostFunction<[Cost; 2]>,
pub put_key: HostFunction<[Cost; 4]>,
pub remove_key: HostFunction<[Cost; 2]>,
pub revert: HostFunction<[Cost; 1]>,
pub is_valid_uref: HostFunction<[Cost; 2]>,
pub add_associated_key: HostFunction<[Cost; 3]>,
pub remove_associated_key: HostFunction<[Cost; 2]>,
pub update_associated_key: HostFunction<[Cost; 3]>,
pub set_action_threshold: HostFunction<[Cost; 2]>,
pub get_caller: HostFunction<[Cost; 1]>,
pub get_blocktime: HostFunction<[Cost; 1]>,
pub create_purse: HostFunction<[Cost; 2]>,
pub transfer_to_account: HostFunction<[Cost; 7]>,
pub transfer_from_purse_to_account: HostFunction<[Cost; 9]>,
pub transfer_from_purse_to_purse: HostFunction<[Cost; 8]>,
pub get_balance: HostFunction<[Cost; 3]>,
pub get_phase: HostFunction<[Cost; 1]>,
pub get_system_contract: HostFunction<[Cost; 3]>,
pub get_main_purse: HostFunction<[Cost; 1]>,
pub read_host_buffer: HostFunction<[Cost; 3]>,
pub create_contract_package_at_hash: HostFunction<[Cost; 2]>,
pub create_contract_user_group: HostFunction<[Cost; 8]>,
pub add_contract_version: HostFunction<[Cost; 10]>,
pub disable_contract_version: HostFunction<[Cost; 4]>,
pub call_contract: HostFunction<[Cost; 7]>,
pub call_versioned_contract: HostFunction<[Cost; 9]>,
pub get_named_arg_size: HostFunction<[Cost; 3]>,
pub get_named_arg: HostFunction<[Cost; 4]>,
pub remove_contract_user_group: HostFunction<[Cost; 4]>,
pub provision_contract_user_group_uref: HostFunction<[Cost; 5]>,
pub remove_contract_user_group_urefs: HostFunction<[Cost; 6]>,
pub print: HostFunction<[Cost; 2]>,
pub blake2b: HostFunction<[Cost; 4]>,
pub random_bytes: HostFunction<[Cost; 2]>,
}
Expand description
Definition of a host function cost table.
Fields§
§read_value: HostFunction<[Cost; 3]>
Cost of calling the read_value
host function.
dictionary_get: HostFunction<[Cost; 3]>
Cost of calling the dictionary_get
host function.
write: HostFunction<[Cost; 4]>
Cost of calling the write
host function.
dictionary_put: HostFunction<[Cost; 4]>
Cost of calling the dictionary_put
host function.
add: HostFunction<[Cost; 4]>
Cost of calling the add
host function.
new_uref: HostFunction<[Cost; 3]>
Cost of calling the new_uref
host function.
load_named_keys: HostFunction<[Cost; 2]>
Cost of calling the load_named_keys
host function.
ret: HostFunction<[Cost; 2]>
Cost of calling the ret
host function.
get_key: HostFunction<[Cost; 5]>
Cost of calling the get_key
host function.
has_key: HostFunction<[Cost; 2]>
Cost of calling the has_key
host function.
put_key: HostFunction<[Cost; 4]>
Cost of calling the put_key
host function.
remove_key: HostFunction<[Cost; 2]>
Cost of calling the remove_key
host function.
revert: HostFunction<[Cost; 1]>
Cost of calling the revert
host function.
is_valid_uref: HostFunction<[Cost; 2]>
Cost of calling the is_valid_uref
host function.
add_associated_key: HostFunction<[Cost; 3]>
Cost of calling the add_associated_key
host function.
remove_associated_key: HostFunction<[Cost; 2]>
Cost of calling the remove_associated_key
host function.
update_associated_key: HostFunction<[Cost; 3]>
Cost of calling the update_associated_key
host function.
set_action_threshold: HostFunction<[Cost; 2]>
Cost of calling the set_action_threshold
host function.
get_caller: HostFunction<[Cost; 1]>
Cost of calling the get_caller
host function.
get_blocktime: HostFunction<[Cost; 1]>
Cost of calling the get_blocktime
host function.
create_purse: HostFunction<[Cost; 2]>
Cost of calling the create_purse
host function.
transfer_to_account: HostFunction<[Cost; 7]>
Cost of calling the transfer_to_account
host function.
transfer_from_purse_to_account: HostFunction<[Cost; 9]>
Cost of calling the transfer_from_purse_to_account
host function.
transfer_from_purse_to_purse: HostFunction<[Cost; 8]>
Cost of calling the transfer_from_purse_to_purse
host function.
get_balance: HostFunction<[Cost; 3]>
Cost of calling the get_balance
host function.
get_phase: HostFunction<[Cost; 1]>
Cost of calling the get_phase
host function.
get_system_contract: HostFunction<[Cost; 3]>
Cost of calling the get_system_contract
host function.
get_main_purse: HostFunction<[Cost; 1]>
Cost of calling the get_main_purse
host function.
read_host_buffer: HostFunction<[Cost; 3]>
Cost of calling the read_host_buffer
host function.
create_contract_package_at_hash: HostFunction<[Cost; 2]>
Cost of calling the create_contract_package_at_hash
host function.
create_contract_user_group: HostFunction<[Cost; 8]>
Cost of calling the create_contract_user_group
host function.
add_contract_version: HostFunction<[Cost; 10]>
Cost of calling the add_contract_version
host function.
disable_contract_version: HostFunction<[Cost; 4]>
Cost of calling the disable_contract_version
host function.
call_contract: HostFunction<[Cost; 7]>
Cost of calling the call_contract
host function.
call_versioned_contract: HostFunction<[Cost; 9]>
Cost of calling the call_versioned_contract
host function.
get_named_arg_size: HostFunction<[Cost; 3]>
Cost of calling the get_named_arg_size
host function.
get_named_arg: HostFunction<[Cost; 4]>
Cost of calling the get_named_arg
host function.
remove_contract_user_group: HostFunction<[Cost; 4]>
Cost of calling the remove_contract_user_group
host function.
provision_contract_user_group_uref: HostFunction<[Cost; 5]>
Cost of calling the provision_contract_user_group_uref
host function.
remove_contract_user_group_urefs: HostFunction<[Cost; 6]>
Cost of calling the remove_contract_user_group_urefs
host function.
print: HostFunction<[Cost; 2]>
Cost of calling the print
host function.
blake2b: HostFunction<[Cost; 4]>
Cost of calling the blake2b
host function.
random_bytes: HostFunction<[Cost; 2]>
Cost of calling the next address
host function.
Trait Implementations§
source§impl Clone for HostFunctionCosts
impl Clone for HostFunctionCosts
source§fn clone(&self) -> HostFunctionCosts
fn clone(&self) -> HostFunctionCosts
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl DataSize for HostFunctionCosts
impl DataSize for HostFunctionCosts
source§const IS_DYNAMIC: bool = false
const IS_DYNAMIC: bool = false
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
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
source§impl Debug for HostFunctionCosts
impl Debug for HostFunctionCosts
source§impl Default for HostFunctionCosts
impl Default for HostFunctionCosts
source§impl<'de> Deserialize<'de> for HostFunctionCosts
impl<'de> Deserialize<'de> for HostFunctionCosts
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>,
source§impl Distribution<HostFunctionCosts> for Standard
impl Distribution<HostFunctionCosts> for Standard
source§fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> HostFunctionCosts
fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> HostFunctionCosts
T
, using rng
as the source of randomness.source§fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T>
fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T>
T
, using rng
as
the source of randomness. Read moresource§impl FromBytes for HostFunctionCosts
impl FromBytes for HostFunctionCosts
source§impl PartialEq for HostFunctionCosts
impl PartialEq for HostFunctionCosts
source§fn eq(&self, other: &HostFunctionCosts) -> bool
fn eq(&self, other: &HostFunctionCosts) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for HostFunctionCosts
impl Serialize for HostFunctionCosts
source§impl ToBytes for HostFunctionCosts
impl ToBytes for HostFunctionCosts
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.impl Copy for HostFunctionCosts
impl Eq for HostFunctionCosts
impl StructuralEq for HostFunctionCosts
impl StructuralPartialEq for HostFunctionCosts
Auto Trait Implementations§
impl RefUnwindSafe for HostFunctionCosts
impl Send for HostFunctionCosts
impl Sync for HostFunctionCosts
impl Unpin for HostFunctionCosts
impl UnwindSafe for HostFunctionCosts
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
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
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
key
and return true
if they are equal.§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.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>
§impl<T> Pipe for T
impl<T> Pipe for T
§impl<T> PipeAsRef for T
impl<T> PipeAsRef for T
§impl<T> PipeBorrow for T
impl<T> PipeBorrow for T
§impl<T> PipeDeref for T
impl<T> PipeDeref for T
§impl<T> PipeRef for T
impl<T> PipeRef for T
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
§fn pipe_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_dbg<F, R>(self, func: F) -> Self
fn tap_dbg<F, R>(self, func: F) -> Self
tap
in debug builds, and does nothing in release builds.§fn tap_mut_dbg<F, R>(self, func: F) -> Self
fn tap_mut_dbg<F, R>(self, func: F) -> Self
tap_mut
in debug builds, and does nothing in release builds.§impl<T, U> TapAsRef<U> for Twhere
U: ?Sized,
impl<T, U> TapAsRef<U> for Twhere
U: ?Sized,
§fn tap_ref_dbg<F, R>(self, func: F) -> Self
fn tap_ref_dbg<F, R>(self, func: F) -> Self
tap_ref
in debug builds, and does nothing in release builds.§fn tap_ref_mut<F, R>(self, func: F) -> Self
fn tap_ref_mut<F, R>(self, func: F) -> Self
§fn tap_ref_mut_dbg<F, R>(self, func: F) -> Self
fn tap_ref_mut_dbg<F, R>(self, func: F) -> Self
tap_ref_mut
in debug builds, and does nothing in release builds.§impl<T, U> TapBorrow<U> for Twhere
U: ?Sized,
impl<T, U> TapBorrow<U> for Twhere
U: ?Sized,
§fn tap_borrow<F, R>(self, func: F) -> Self
fn tap_borrow<F, R>(self, func: F) -> Self
§fn tap_borrow_dbg<F, R>(self, func: F) -> Self
fn tap_borrow_dbg<F, R>(self, func: F) -> Self
tap_borrow
in debug builds, and does nothing in release builds.§fn tap_borrow_mut<F, R>(self, func: F) -> Self
fn tap_borrow_mut<F, R>(self, func: F) -> Self
§fn tap_borrow_mut_dbg<F, R>(self, func: F) -> Self
fn tap_borrow_mut_dbg<F, R>(self, func: F) -> Self
tap_borrow_mut
in debug builds, and does nothing in release
builds.§impl<T> TapDeref for T
impl<T> TapDeref for T
§fn tap_deref_dbg<F, R>(self, func: F) -> Self
fn tap_deref_dbg<F, R>(self, func: F) -> Self
tap_deref
in debug builds, and does nothing in release builds.§fn tap_deref_mut<F, R>(self, func: F) -> Self
fn tap_deref_mut<F, R>(self, func: F) -> Self
self
for modification.§fn tap_deref_mut_dbg<F, R>(self, func: F) -> Self
fn tap_deref_mut_dbg<F, R>(self, func: F) -> Self
tap_deref_mut
in debug builds, and does nothing in release
builds.