VMHooksDispatcher

Struct VMHooksDispatcher 

Source
pub struct VMHooksDispatcher<C: VMHooksContext> { /* private fields */ }
Expand description

Dispatches messages coming via VMHooks to the underlying implementation (the VMHooksHandler).

Implementations§

Source§

impl<C: VMHooksContext> VMHooksDispatcher<C>

Source

pub fn new(vh_context: C) -> Self

Trait Implementations§

Source§

impl<C: Debug + VMHooksContext> Debug for VMHooksDispatcher<C>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<C: VMHooksContext> VMHooks for VMHooksDispatcher<C>

Source§

fn get_gas_left(&mut self) -> Result<i64, VMHooksEarlyExit>

Source§

fn get_sc_address( &mut self, result_offset: MemPtr, ) -> Result<(), VMHooksEarlyExit>

Source§

fn get_owner_address( &mut self, result_offset: MemPtr, ) -> Result<(), VMHooksEarlyExit>

Source§

fn get_shard_of_address( &mut self, address_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn is_smart_contract( &mut self, address_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn signal_error( &mut self, message_offset: MemPtr, message_length: MemLength, ) -> Result<(), VMHooksEarlyExit>

Source§

fn get_external_balance( &mut self, address_offset: MemPtr, result_offset: MemPtr, ) -> Result<(), VMHooksEarlyExit>

Source§

fn get_block_hash( &mut self, nonce: i64, result_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_esdt_balance( &mut self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, nonce: i64, result_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_esdt_nft_name_length( &mut self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, nonce: i64, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_esdt_nft_attribute_length( &mut self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, nonce: i64, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_esdt_nft_uri_length( &mut self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, nonce: i64, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_esdt_token_data( &mut self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, nonce: i64, value_handle: i32, properties_offset: MemPtr, hash_offset: MemPtr, name_offset: MemPtr, attributes_offset: MemPtr, creator_offset: MemPtr, royalties_handle: i32, uris_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_esdt_local_roles( &mut self, token_id_handle: i32, ) -> Result<i64, VMHooksEarlyExit>

Source§

fn validate_token_identifier( &mut self, token_id_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn transfer_value( &mut self, dest_offset: MemPtr, value_offset: MemPtr, data_offset: MemPtr, length: MemLength, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn transfer_value_execute( &mut self, dest_offset: MemPtr, value_offset: MemPtr, gas_limit: i64, function_offset: MemPtr, function_length: MemLength, num_arguments: i32, arguments_length_offset: MemPtr, data_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn transfer_esdt_execute( &mut self, dest_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, value_offset: MemPtr, gas_limit: i64, function_offset: MemPtr, function_length: MemLength, num_arguments: i32, arguments_length_offset: MemPtr, data_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn transfer_esdt_nft_execute( &mut self, dest_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, value_offset: MemPtr, nonce: i64, gas_limit: i64, function_offset: MemPtr, function_length: MemLength, num_arguments: i32, arguments_length_offset: MemPtr, data_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn multi_transfer_esdt_nft_execute( &mut self, dest_offset: MemPtr, num_token_transfers: i32, token_transfers_args_length_offset: MemPtr, token_transfer_data_offset: MemPtr, gas_limit: i64, function_offset: MemPtr, function_length: MemLength, num_arguments: i32, arguments_length_offset: MemPtr, data_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn create_async_call( &mut self, dest_offset: MemPtr, value_offset: MemPtr, data_offset: MemPtr, data_length: MemLength, success_offset: MemPtr, success_length: MemLength, error_offset: MemPtr, error_length: MemLength, gas: i64, extra_gas_for_callback: i64, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn set_async_context_callback( &mut self, callback: MemPtr, callback_length: MemLength, data: MemPtr, data_length: MemLength, gas: i64, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn upgrade_contract( &mut self, dest_offset: MemPtr, gas_limit: i64, value_offset: MemPtr, code_offset: MemPtr, code_metadata_offset: MemPtr, length: MemLength, num_arguments: i32, arguments_length_offset: MemPtr, data_offset: MemPtr, ) -> Result<(), VMHooksEarlyExit>

Source§

fn upgrade_from_source_contract( &mut self, dest_offset: MemPtr, gas_limit: i64, value_offset: MemPtr, source_contract_address_offset: MemPtr, code_metadata_offset: MemPtr, num_arguments: i32, arguments_length_offset: MemPtr, data_offset: MemPtr, ) -> Result<(), VMHooksEarlyExit>

Source§

fn delete_contract( &mut self, dest_offset: MemPtr, gas_limit: i64, num_arguments: i32, arguments_length_offset: MemPtr, data_offset: MemPtr, ) -> Result<(), VMHooksEarlyExit>

Source§

fn async_call( &mut self, dest_offset: MemPtr, value_offset: MemPtr, data_offset: MemPtr, length: MemLength, ) -> Result<(), VMHooksEarlyExit>

Source§

fn get_argument_length(&mut self, id: i32) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_argument( &mut self, id: i32, arg_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_function( &mut self, function_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_num_arguments(&mut self) -> Result<i32, VMHooksEarlyExit>

Source§

fn storage_store( &mut self, key_offset: MemPtr, key_length: MemLength, data_offset: MemPtr, data_length: MemLength, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn storage_load_length( &mut self, key_offset: MemPtr, key_length: MemLength, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn storage_load_from_address( &mut self, address_offset: MemPtr, key_offset: MemPtr, key_length: MemLength, data_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn storage_load( &mut self, key_offset: MemPtr, key_length: MemLength, data_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn set_storage_lock( &mut self, key_offset: MemPtr, key_length: MemLength, lock_timestamp: i64, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_storage_lock( &mut self, key_offset: MemPtr, key_length: MemLength, ) -> Result<i64, VMHooksEarlyExit>

Source§

fn is_storage_locked( &mut self, key_offset: MemPtr, key_length: MemLength, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn clear_storage_lock( &mut self, key_offset: MemPtr, key_length: MemLength, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_caller(&mut self, result_offset: MemPtr) -> Result<(), VMHooksEarlyExit>

Source§

fn check_no_payment(&mut self) -> Result<(), VMHooksEarlyExit>

Source§

fn get_call_value( &mut self, result_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_esdt_value( &mut self, result_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_esdt_value_by_index( &mut self, result_offset: MemPtr, index: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_esdt_token_name( &mut self, result_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_esdt_token_name_by_index( &mut self, result_offset: MemPtr, index: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_esdt_token_nonce(&mut self) -> Result<i64, VMHooksEarlyExit>

Source§

fn get_esdt_token_nonce_by_index( &mut self, index: i32, ) -> Result<i64, VMHooksEarlyExit>

Source§

fn get_current_esdt_nft_nonce( &mut self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, ) -> Result<i64, VMHooksEarlyExit>

Source§

fn get_esdt_token_type(&mut self) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_esdt_token_type_by_index( &mut self, index: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_num_esdt_transfers(&mut self) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_call_value_token_name( &mut self, call_value_offset: MemPtr, token_name_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_call_value_token_name_by_index( &mut self, call_value_offset: MemPtr, token_name_offset: MemPtr, index: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn write_log( &mut self, data_pointer: MemPtr, data_length: MemLength, topic_ptr: MemPtr, num_topics: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn write_event_log( &mut self, num_topics: i32, topic_lengths_offset: MemPtr, topic_offset: MemPtr, data_offset: MemPtr, data_length: MemLength, ) -> Result<(), VMHooksEarlyExit>

Source§

fn get_block_timestamp(&mut self) -> Result<i64, VMHooksEarlyExit>

Source§

fn get_block_timestamp_ms(&mut self) -> Result<i64, VMHooksEarlyExit>

Source§

fn get_block_nonce(&mut self) -> Result<i64, VMHooksEarlyExit>

Source§

fn get_block_round(&mut self) -> Result<i64, VMHooksEarlyExit>

Source§

fn get_block_epoch(&mut self) -> Result<i64, VMHooksEarlyExit>

Source§

fn get_block_random_seed( &mut self, pointer: MemPtr, ) -> Result<(), VMHooksEarlyExit>

Source§

fn get_state_root_hash( &mut self, pointer: MemPtr, ) -> Result<(), VMHooksEarlyExit>

Source§

fn get_prev_block_timestamp(&mut self) -> Result<i64, VMHooksEarlyExit>

Source§

fn get_prev_block_timestamp_ms(&mut self) -> Result<i64, VMHooksEarlyExit>

Source§

fn get_prev_block_nonce(&mut self) -> Result<i64, VMHooksEarlyExit>

Source§

fn get_prev_block_round(&mut self) -> Result<i64, VMHooksEarlyExit>

Source§

fn get_prev_block_epoch(&mut self) -> Result<i64, VMHooksEarlyExit>

Source§

fn get_prev_block_random_seed( &mut self, pointer: MemPtr, ) -> Result<(), VMHooksEarlyExit>

Source§

fn finish( &mut self, pointer: MemPtr, length: MemLength, ) -> Result<(), VMHooksEarlyExit>

Source§

fn execute_on_same_context( &mut self, gas_limit: i64, address_offset: MemPtr, value_offset: MemPtr, function_offset: MemPtr, function_length: MemLength, num_arguments: i32, arguments_length_offset: MemPtr, data_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn execute_on_dest_context( &mut self, gas_limit: i64, address_offset: MemPtr, value_offset: MemPtr, function_offset: MemPtr, function_length: MemLength, num_arguments: i32, arguments_length_offset: MemPtr, data_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn execute_read_only( &mut self, gas_limit: i64, address_offset: MemPtr, function_offset: MemPtr, function_length: MemLength, num_arguments: i32, arguments_length_offset: MemPtr, data_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn create_contract( &mut self, gas_limit: i64, value_offset: MemPtr, code_offset: MemPtr, code_metadata_offset: MemPtr, length: MemLength, result_offset: MemPtr, num_arguments: i32, arguments_length_offset: MemPtr, data_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn deploy_from_source_contract( &mut self, gas_limit: i64, value_offset: MemPtr, source_contract_address_offset: MemPtr, code_metadata_offset: MemPtr, result_address_offset: MemPtr, num_arguments: i32, arguments_length_offset: MemPtr, data_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_num_return_data(&mut self) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_return_data_size( &mut self, result_id: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_return_data( &mut self, result_id: i32, data_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn clean_return_data(&mut self) -> Result<(), VMHooksEarlyExit>

Source§

fn delete_from_return_data( &mut self, result_id: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn get_original_tx_hash( &mut self, data_offset: MemPtr, ) -> Result<(), VMHooksEarlyExit>

Source§

fn get_current_tx_hash( &mut self, data_offset: MemPtr, ) -> Result<(), VMHooksEarlyExit>

Source§

fn get_prev_tx_hash( &mut self, data_offset: MemPtr, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_sc_address( &mut self, destination_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_owner_address( &mut self, destination_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_caller( &mut self, destination_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_signal_error( &mut self, err_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_write_log( &mut self, topics_handle: i32, data_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_get_original_tx_hash( &mut self, result_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_get_state_root_hash( &mut self, result_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_get_block_random_seed( &mut self, result_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_get_prev_block_random_seed( &mut self, result_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn get_block_round_time_ms(&mut self) -> Result<i64, VMHooksEarlyExit>

Source§

fn epoch_start_block_timestamp_ms(&mut self) -> Result<i64, VMHooksEarlyExit>

Source§

fn epoch_start_block_nonce(&mut self) -> Result<i64, VMHooksEarlyExit>

Source§

fn epoch_start_block_round(&mut self) -> Result<i64, VMHooksEarlyExit>

Source§

fn managed_get_return_data( &mut self, result_id: i32, result_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_get_all_transfers_call_value( &mut self, all_transfers_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_get_multi_esdt_call_value( &mut self, multi_call_value_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_get_esdt_balance( &mut self, address_handle: i32, token_id_handle: i32, nonce: i64, value_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_get_esdt_token_data( &mut self, address_handle: i32, token_id_handle: i32, nonce: i64, value_handle: i32, properties_handle: i32, hash_handle: i32, name_handle: i32, attributes_handle: i32, creator_handle: i32, royalties_handle: i32, uris_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_get_esdt_token_type( &mut self, address_handle: i32, token_id_handle: i32, nonce: i64, type_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_get_back_transfers( &mut self, esdt_transfer_value_handle: i32, call_value_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_async_call( &mut self, dest_handle: i32, value_handle: i32, function_handle: i32, arguments_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_create_async_call( &mut self, dest_handle: i32, value_handle: i32, function_handle: i32, arguments_handle: i32, success_offset: MemPtr, success_length: MemLength, error_offset: MemPtr, error_length: MemLength, gas: i64, extra_gas_for_callback: i64, callback_closure_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_get_callback_closure( &mut self, callback_closure_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_upgrade_from_source_contract( &mut self, dest_handle: i32, gas: i64, value_handle: i32, address_handle: i32, code_metadata_handle: i32, arguments_handle: i32, _result_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_upgrade_contract( &mut self, dest_handle: i32, gas: i64, value_handle: i32, code_handle: i32, code_metadata_handle: i32, arguments_handle: i32, _result_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_delete_contract( &mut self, dest_handle: i32, gas_limit: i64, arguments_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_deploy_from_source_contract( &mut self, gas: i64, value_handle: i32, address_handle: i32, code_metadata_handle: i32, arguments_handle: i32, result_address_handle: i32, result_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_create_contract( &mut self, gas: i64, value_handle: i32, code_handle: i32, code_metadata_handle: i32, arguments_handle: i32, result_address_handle: i32, result_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_execute_read_only( &mut self, gas: i64, address_handle: i32, function_handle: i32, arguments_handle: i32, result_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_execute_on_same_context( &mut self, gas: i64, address_handle: i32, value_handle: i32, function_handle: i32, arguments_handle: i32, result_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_execute_on_dest_context( &mut self, gas: i64, address_handle: i32, value_handle: i32, function_handle: i32, arguments_handle: i32, result_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_execute_on_dest_context_with_error_return( &mut self, gas: i64, address_handle: i32, value_handle: i32, function_handle: i32, arguments_handle: i32, result_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_multi_transfer_esdt_nft_execute( &mut self, dst_handle: i32, token_transfers_handle: i32, gas_limit: i64, function_handle: i32, arguments_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_multi_transfer_esdt_nft_execute_with_return( &mut self, dst_handle: i32, token_transfers_handle: i32, gas_limit: i64, function_handle: i32, arguments_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_transfer_value_execute( &mut self, dst_handle: i32, value_handle: i32, gas_limit: i64, function_handle: i32, arguments_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_is_esdt_frozen( &mut self, address_handle: i32, token_id_handle: i32, nonce: i64, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_is_esdt_limited_transfer( &mut self, _token_id_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_is_esdt_paused( &mut self, _token_id_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_buffer_to_hex( &mut self, source_handle: i32, dest_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_get_code_metadata( &mut self, address_handle: i32, response_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_get_code_hash( &mut self, address_handle: i32, code_hash_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_is_builtin_function( &mut self, function_name_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn big_float_new_from_parts( &mut self, integral_part: i32, fractional_part: i32, exponent: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn big_float_new_from_frac( &mut self, numerator: i64, denominator: i64, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn big_float_new_from_sci( &mut self, significand: i64, exponent: i64, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn big_float_add( &mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_float_sub( &mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_float_mul( &mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_float_div( &mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_float_neg( &mut self, destination_handle: i32, op_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_float_clone( &mut self, destination_handle: i32, op_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_float_cmp( &mut self, op1_handle: i32, op2_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn big_float_abs( &mut self, destination_handle: i32, op_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_float_sign(&mut self, op_handle: i32) -> Result<i32, VMHooksEarlyExit>

Source§

fn big_float_sqrt( &mut self, destination_handle: i32, op_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_float_pow( &mut self, destination_handle: i32, op_handle: i32, exponent: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_float_floor( &mut self, dest_big_int_handle: i32, op_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_float_ceil( &mut self, dest_big_int_handle: i32, op_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_float_truncate( &mut self, dest_big_int_handle: i32, op_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_float_set_int64( &mut self, destination_handle: i32, value: i64, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_float_is_int(&mut self, op_handle: i32) -> Result<i32, VMHooksEarlyExit>

Source§

fn big_float_set_big_int( &mut self, destination_handle: i32, big_int_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_float_get_const_pi( &mut self, destination_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_float_get_const_e( &mut self, destination_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_get_unsigned_argument( &mut self, id: i32, destination_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_get_signed_argument( &mut self, id: i32, destination_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_storage_store_unsigned( &mut self, key_offset: MemPtr, key_length: MemLength, source_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn big_int_storage_load_unsigned( &mut self, key_offset: MemPtr, key_length: MemLength, destination_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn big_int_get_call_value( &mut self, destination_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_get_esdt_call_value( &mut self, destination: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_get_esdt_call_value_by_index( &mut self, destination_handle: i32, index: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_get_external_balance( &mut self, address_offset: MemPtr, result: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_get_esdt_external_balance( &mut self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, nonce: i64, result_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_new(&mut self, small_value: i64) -> Result<i32, VMHooksEarlyExit>

Source§

fn big_int_unsigned_byte_length( &mut self, reference_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn big_int_signed_byte_length( &mut self, reference_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn big_int_get_unsigned_bytes( &mut self, reference_handle: i32, byte_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn big_int_get_signed_bytes( &mut self, reference_handle: i32, byte_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn big_int_set_unsigned_bytes( &mut self, destination_handle: i32, byte_offset: MemPtr, byte_length: MemLength, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_set_signed_bytes( &mut self, destination_handle: i32, byte_offset: MemPtr, byte_length: MemLength, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_is_int64( &mut self, destination_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn big_int_get_int64( &mut self, destination_handle: i32, ) -> Result<i64, VMHooksEarlyExit>

Source§

fn big_int_set_int64( &mut self, destination_handle: i32, value: i64, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_add( &mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_sub( &mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_mul( &mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_tdiv( &mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_tmod( &mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_ediv( &mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_emod( &mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_sqrt( &mut self, destination_handle: i32, op_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_pow( &mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_log2(&mut self, op_handle: i32) -> Result<i32, VMHooksEarlyExit>

Source§

fn big_int_abs( &mut self, destination_handle: i32, op_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_neg( &mut self, destination_handle: i32, op_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_sign(&mut self, op_handle: i32) -> Result<i32, VMHooksEarlyExit>

Source§

fn big_int_cmp( &mut self, op1_handle: i32, op2_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn big_int_not( &mut self, destination_handle: i32, op_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_and( &mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_or( &mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_xor( &mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_shr( &mut self, destination_handle: i32, op_handle: i32, bits: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_shl( &mut self, destination_handle: i32, op_handle: i32, bits: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_finish_unsigned( &mut self, reference_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_finish_signed( &mut self, reference_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn big_int_to_string( &mut self, big_int_handle: i32, destination_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn mbuffer_new(&mut self) -> Result<i32, VMHooksEarlyExit>

Source§

fn mbuffer_new_from_bytes( &mut self, data_offset: MemPtr, data_length: MemLength, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn mbuffer_get_length( &mut self, m_buffer_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn mbuffer_get_bytes( &mut self, m_buffer_handle: i32, result_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn mbuffer_get_byte_slice( &mut self, source_handle: i32, starting_position: i32, slice_length: i32, result_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn mbuffer_copy_byte_slice( &mut self, source_handle: i32, starting_position: i32, slice_length: i32, destination_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn mbuffer_eq( &mut self, m_buffer_handle1: i32, m_buffer_handle2: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn mbuffer_set_bytes( &mut self, m_buffer_handle: i32, data_offset: MemPtr, data_length: MemLength, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn mbuffer_set_byte_slice( &mut self, m_buffer_handle: i32, starting_position: i32, data_length: MemLength, data_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn mbuffer_append( &mut self, accumulator_handle: i32, data_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn mbuffer_append_bytes( &mut self, accumulator_handle: i32, data_offset: MemPtr, data_length: MemLength, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn mbuffer_to_big_int_unsigned( &mut self, m_buffer_handle: i32, big_int_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn mbuffer_to_big_int_signed( &mut self, m_buffer_handle: i32, big_int_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn mbuffer_from_big_int_unsigned( &mut self, m_buffer_handle: i32, big_int_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn mbuffer_from_big_int_signed( &mut self, m_buffer_handle: i32, big_int_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn mbuffer_to_small_int_unsigned( &mut self, m_buffer_handle: i32, ) -> Result<i64, VMHooksEarlyExit>

Source§

fn mbuffer_to_small_int_signed( &mut self, m_buffer_handle: i32, ) -> Result<i64, VMHooksEarlyExit>

Source§

fn mbuffer_from_small_int_unsigned( &mut self, m_buffer_handle: i32, value: i64, ) -> Result<(), VMHooksEarlyExit>

Source§

fn mbuffer_from_small_int_signed( &mut self, m_buffer_handle: i32, value: i64, ) -> Result<(), VMHooksEarlyExit>

Source§

fn mbuffer_to_big_float( &mut self, m_buffer_handle: i32, big_float_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn mbuffer_from_big_float( &mut self, m_buffer_handle: i32, big_float_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn mbuffer_storage_store( &mut self, key_handle: i32, source_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn mbuffer_storage_load( &mut self, key_handle: i32, destination_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn mbuffer_storage_load_from_address( &mut self, address_handle: i32, key_handle: i32, destination_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn mbuffer_get_argument( &mut self, id: i32, destination_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn mbuffer_finish( &mut self, source_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn mbuffer_set_random( &mut self, destination_handle: i32, length: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_map_new(&mut self) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_map_put( &mut self, map_handle: i32, key_handle: i32, value_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_map_get( &mut self, map_handle: i32, key_handle: i32, out_value_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_map_remove( &mut self, map_handle: i32, key_handle: i32, out_value_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_map_contains( &mut self, map_handle: i32, key_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn small_int_get_unsigned_argument( &mut self, id: i32, ) -> Result<i64, VMHooksEarlyExit>

Source§

fn small_int_get_signed_argument( &mut self, id: i32, ) -> Result<i64, VMHooksEarlyExit>

Source§

fn small_int_finish_unsigned( &mut self, value: i64, ) -> Result<(), VMHooksEarlyExit>

Source§

fn small_int_finish_signed( &mut self, value: i64, ) -> Result<(), VMHooksEarlyExit>

Source§

fn small_int_storage_store_unsigned( &mut self, key_offset: MemPtr, key_length: MemLength, value: i64, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn small_int_storage_store_signed( &mut self, key_offset: MemPtr, key_length: MemLength, value: i64, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn small_int_storage_load_unsigned( &mut self, key_offset: MemPtr, key_length: MemLength, ) -> Result<i64, VMHooksEarlyExit>

Source§

fn small_int_storage_load_signed( &mut self, key_offset: MemPtr, key_length: MemLength, ) -> Result<i64, VMHooksEarlyExit>

Source§

fn int64get_argument(&mut self, id: i32) -> Result<i64, VMHooksEarlyExit>

Source§

fn int64finish(&mut self, value: i64) -> Result<(), VMHooksEarlyExit>

Source§

fn int64storage_store( &mut self, key_offset: MemPtr, key_length: MemLength, value: i64, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn int64storage_load( &mut self, key_offset: MemPtr, key_length: MemLength, ) -> Result<i64, VMHooksEarlyExit>

Source§

fn sha256( &mut self, data_offset: MemPtr, length: MemLength, result_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_sha256( &mut self, input_handle: i32, output_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn keccak256( &mut self, data_offset: MemPtr, length: MemLength, result_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_keccak256( &mut self, input_handle: i32, output_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn ripemd160( &mut self, data_offset: MemPtr, length: MemLength, result_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_ripemd160( &mut self, input_handle: i32, output_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn verify_bls( &mut self, key_offset: MemPtr, message_offset: MemPtr, message_length: MemLength, sig_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_verify_bls( &mut self, key_handle: i32, message_handle: i32, sig_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn verify_ed25519( &mut self, key_offset: MemPtr, message_offset: MemPtr, message_length: MemLength, sig_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_verify_ed25519( &mut self, key_handle: i32, message_handle: i32, sig_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn verify_custom_secp256k1( &mut self, key_offset: MemPtr, key_length: MemLength, message_offset: MemPtr, message_length: MemLength, sig_offset: MemPtr, hash_type: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_verify_custom_secp256k1( &mut self, key_handle: i32, message_handle: i32, sig_handle: i32, hash_type: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn verify_secp256k1( &mut self, key_offset: MemPtr, key_length: MemLength, message_offset: MemPtr, message_length: MemLength, sig_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_verify_secp256k1( &mut self, key_handle: i32, message_handle: i32, sig_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn encode_secp256k1_der_signature( &mut self, r_offset: MemPtr, r_length: MemLength, s_offset: MemPtr, s_length: MemLength, sig_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_encode_secp256k1_der_signature( &mut self, r_handle: i32, s_handle: i32, sig_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn add_ec( &mut self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, fst_point_xhandle: i32, fst_point_yhandle: i32, snd_point_xhandle: i32, snd_point_yhandle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn double_ec( &mut self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, point_xhandle: i32, point_yhandle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn is_on_curve_ec( &mut self, ec_handle: i32, point_xhandle: i32, point_yhandle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn scalar_base_mult_ec( &mut self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, data_offset: MemPtr, length: MemLength, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_scalar_base_mult_ec( &mut self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, data_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn scalar_mult_ec( &mut self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, point_xhandle: i32, point_yhandle: i32, data_offset: MemPtr, length: MemLength, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_scalar_mult_ec( &mut self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, point_xhandle: i32, point_yhandle: i32, data_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn marshal_ec( &mut self, x_pair_handle: i32, y_pair_handle: i32, ec_handle: i32, result_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_marshal_ec( &mut self, x_pair_handle: i32, y_pair_handle: i32, ec_handle: i32, result_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn marshal_compressed_ec( &mut self, x_pair_handle: i32, y_pair_handle: i32, ec_handle: i32, result_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_marshal_compressed_ec( &mut self, x_pair_handle: i32, y_pair_handle: i32, ec_handle: i32, result_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn unmarshal_ec( &mut self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, data_offset: MemPtr, length: MemLength, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_unmarshal_ec( &mut self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, data_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn unmarshal_compressed_ec( &mut self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, data_offset: MemPtr, length: MemLength, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_unmarshal_compressed_ec( &mut self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, data_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn generate_key_ec( &mut self, x_pub_key_handle: i32, y_pub_key_handle: i32, ec_handle: i32, result_offset: MemPtr, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_generate_key_ec( &mut self, x_pub_key_handle: i32, y_pub_key_handle: i32, ec_handle: i32, result_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn create_ec( &mut self, data_offset: MemPtr, data_length: MemLength, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_create_ec( &mut self, data_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_curve_length_ec( &mut self, ec_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn get_priv_key_byte_length_ec( &mut self, ec_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn elliptic_curve_get_values( &mut self, ec_handle: i32, field_order_handle: i32, base_point_order_handle: i32, eq_constant_handle: i32, x_base_point_handle: i32, y_base_point_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn is_reserved_function_name( &mut self, name_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_get_original_caller_addr( &mut self, destination_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_get_relayer_addr( &mut self, destination_handle: i32, ) -> Result<(), VMHooksEarlyExit>

Source§

fn managed_multi_transfer_esdt_nft_execute_by_user( &mut self, user_handle: i32, dst_handle: i32, token_transfers_handle: i32, gas_limit: i64, function_handle: i32, arguments_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_verify_secp256r1( &mut self, key_handle: i32, message_handle: i32, sig_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_verify_blssignature_share( &mut self, key_handle: i32, message_handle: i32, sig_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

fn managed_verify_blsaggregated_signature( &mut self, key_handle: i32, message_handle: i32, sig_handle: i32, ) -> Result<i32, VMHooksEarlyExit>

Source§

impl<S> VMHooksSetEarlyExit for VMHooksDispatcher<TxVMHooksContext<S>>

Auto Trait Implementations§

§

impl<C> Freeze for VMHooksDispatcher<C>
where C: Freeze,

§

impl<C> RefUnwindSafe for VMHooksDispatcher<C>
where C: RefUnwindSafe,

§

impl<C> Send for VMHooksDispatcher<C>
where C: Send,

§

impl<C> Sync for VMHooksDispatcher<C>
where C: Sync,

§

impl<C> Unpin for VMHooksDispatcher<C>
where C: Unpin,

§

impl<C> UnwindSafe for VMHooksDispatcher<C>
where C: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.