MoveObjectExt

Trait MoveObjectExt 

Source
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§

Source

fn new_from_execution( tag: StructTag, version: SequenceNumber, contents: Vec<u8>, protocol_config: &ProtocolConfig, ) -> Result<Self, ExecutionError>

Source

fn new_from_execution_with_limit( tag: StructTag, version: SequenceNumber, contents: Vec<u8>, max_move_object_size: u64, ) -> Result<Self, ExecutionError>

Source

fn new_gas_coin(version: SequenceNumber, id: ObjectID, value: u64) -> Self

Source

fn new_coin( coin_type: TypeTag, version: SequenceNumber, id: ObjectID, value: u64, ) -> Self

Source

fn get_coin_value_unchecked(&self) -> u64

Source

fn set_coin_value_unchecked(&mut self, value: u64)

Source

fn set_clock_timestamp_ms_unchecked(&mut self, timestamp_ms: u64)

Source

fn update_contents( &mut self, new_contents: Vec<u8>, protocol_config: &ProtocolConfig, ) -> Result<(), ExecutionError>

Source

fn update_contents_with_limit( &mut self, new_contents: Vec<u8>, max_move_object_size: u64, ) -> Result<(), ExecutionError>

Source

fn increment_version_to(&mut self, next: SequenceNumber)

Source

fn decrement_version_to(&mut self, prev: SequenceNumber)

Source

fn get_layout( &self, resolver: &impl GetModule, ) -> Result<MoveStructLayout, IotaError>

Source

fn get_struct_layout_from_struct_tag( struct_tag: StructTag, resolver: &impl GetModule, ) -> Result<MoveStructLayout, IotaError>

Source

fn to_move_struct( &self, layout: &MoveStructLayout, ) -> Result<MoveStruct, IotaError>

Source

fn object_size_for_gas_metering(&self) -> usize

Source

fn get_total_iota( &self, layout_resolver: &mut dyn LayoutResolver, ) -> Result<u64, IotaError>

Source

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.

Implementors§