pub trait MoveObjectExt: Sized + Sealed {
Show 17 methods
// Required methods
fn new_from_execution(
tag: StructTag,
version: SequenceNumber,
contents: Vec<u8>,
protocol_config: &ProtocolConfig,
) -> Result<Self, ExecutionError>;
fn new_from_execution_with_limit(
tag: StructTag,
version: SequenceNumber,
contents: Vec<u8>,
max_move_object_size: u64,
) -> Result<Self, ExecutionError>;
fn new_gas_coin(version: SequenceNumber, id: ObjectID, value: u64) -> Self;
fn new_coin(
coin_type: TypeTag,
version: SequenceNumber,
id: ObjectID,
value: u64,
) -> Self;
fn get_coin_value_unchecked(&self) -> u64;
fn set_coin_value_unchecked(&mut self, value: u64);
fn set_clock_timestamp_ms_unchecked(&mut self, timestamp_ms: u64);
fn update_contents(
&mut self,
new_contents: Vec<u8>,
protocol_config: &ProtocolConfig,
) -> Result<(), ExecutionError>;
fn update_contents_with_limit(
&mut self,
new_contents: Vec<u8>,
max_move_object_size: u64,
) -> Result<(), ExecutionError>;
fn increment_version_to(&mut self, next: SequenceNumber);
fn decrement_version_to(&mut self, prev: SequenceNumber);
fn get_layout(
&self,
resolver: &impl GetModule,
) -> Result<MoveStructLayout, IotaError>;
fn get_struct_layout_from_struct_tag(
struct_tag: StructTag,
resolver: &impl GetModule,
) -> Result<MoveStructLayout, IotaError>;
fn to_move_struct(
&self,
layout: &MoveStructLayout,
) -> Result<MoveStruct, IotaError>;
fn object_size_for_gas_metering(&self) -> usize;
fn get_total_iota(
&self,
layout_resolver: &mut dyn LayoutResolver,
) -> Result<u64, IotaError>;
fn get_coin_balances(
&self,
layout_resolver: &mut dyn LayoutResolver,
) -> Result<BTreeMap<TypeTag, u64>, IotaError>;
}Required Methods§
fn new_from_execution( tag: StructTag, version: SequenceNumber, contents: Vec<u8>, protocol_config: &ProtocolConfig, ) -> Result<Self, ExecutionError>
fn new_from_execution_with_limit( tag: StructTag, version: SequenceNumber, contents: Vec<u8>, max_move_object_size: u64, ) -> Result<Self, ExecutionError>
fn new_gas_coin(version: SequenceNumber, id: ObjectID, value: u64) -> Self
fn new_coin( coin_type: TypeTag, version: SequenceNumber, id: ObjectID, value: u64, ) -> Self
fn get_coin_value_unchecked(&self) -> u64
fn set_coin_value_unchecked(&mut self, value: u64)
fn set_clock_timestamp_ms_unchecked(&mut self, timestamp_ms: u64)
fn update_contents( &mut self, new_contents: Vec<u8>, protocol_config: &ProtocolConfig, ) -> Result<(), ExecutionError>
fn update_contents_with_limit( &mut self, new_contents: Vec<u8>, max_move_object_size: u64, ) -> Result<(), ExecutionError>
fn increment_version_to(&mut self, next: SequenceNumber)
fn decrement_version_to(&mut self, prev: SequenceNumber)
fn get_layout( &self, resolver: &impl GetModule, ) -> Result<MoveStructLayout, IotaError>
fn get_struct_layout_from_struct_tag( struct_tag: StructTag, resolver: &impl GetModule, ) -> Result<MoveStructLayout, IotaError>
fn to_move_struct( &self, layout: &MoveStructLayout, ) -> Result<MoveStruct, IotaError>
fn object_size_for_gas_metering(&self) -> usize
fn get_total_iota( &self, layout_resolver: &mut dyn LayoutResolver, ) -> Result<u64, IotaError>
fn get_coin_balances( &self, layout_resolver: &mut dyn LayoutResolver, ) -> Result<BTreeMap<TypeTag, u64>, IotaError>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.