dharitri_vm_executor

Trait VMHooks

Source
pub trait VMHooks: Debug + 'static {
Show 256 methods // Required methods fn set_vm_hooks_ptr(&mut self, vm_hooks_ptr: *mut c_void); fn get_gas_left(&self) -> i64; fn get_sc_address(&self, result_offset: MemPtr); fn get_owner_address(&self, result_offset: MemPtr); fn get_shard_of_address(&self, address_offset: MemPtr) -> i32; fn is_smart_contract(&self, address_offset: MemPtr) -> i32; fn signal_error(&self, message_offset: MemPtr, message_length: MemLength); fn get_external_balance( &self, address_offset: MemPtr, result_offset: MemPtr, ); fn get_block_hash(&self, nonce: i64, result_offset: MemPtr) -> i32; fn get_dcdt_balance( &self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, nonce: i64, result_offset: MemPtr, ) -> i32; fn get_dcdt_nft_name_length( &self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, nonce: i64, ) -> i32; fn get_dcdt_nft_attribute_length( &self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, nonce: i64, ) -> i32; fn get_dcdt_nft_uri_length( &self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, nonce: i64, ) -> i32; fn get_dcdt_token_data( &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, ) -> i32; fn get_dcdt_local_roles(&self, token_id_handle: i32) -> i64; fn validate_token_identifier(&self, token_id_handle: i32) -> i32; fn transfer_value( &self, dest_offset: MemPtr, value_offset: MemPtr, data_offset: MemPtr, length: MemLength, ) -> i32; fn transfer_value_execute( &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, ) -> i32; fn transfer_dcdt_execute( &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, ) -> i32; fn transfer_dcdt_nft_execute( &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, ) -> i32; fn multi_transfer_dcdt_nft_execute( &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, ) -> i32; fn create_async_call( &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, ) -> i32; fn set_async_context_callback( &self, callback: MemPtr, callback_length: MemLength, data: MemPtr, data_length: MemLength, gas: i64, ) -> i32; fn upgrade_contract( &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, ); fn upgrade_from_source_contract( &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, ); fn delete_contract( &self, dest_offset: MemPtr, gas_limit: i64, num_arguments: i32, arguments_length_offset: MemPtr, data_offset: MemPtr, ); fn async_call( &self, dest_offset: MemPtr, value_offset: MemPtr, data_offset: MemPtr, length: MemLength, ); fn get_argument_length(&self, id: i32) -> i32; fn get_argument(&self, id: i32, arg_offset: MemPtr) -> i32; fn get_function(&self, function_offset: MemPtr) -> i32; fn get_num_arguments(&self) -> i32; fn storage_store( &self, key_offset: MemPtr, key_length: MemLength, data_offset: MemPtr, data_length: MemLength, ) -> i32; fn storage_load_length( &self, key_offset: MemPtr, key_length: MemLength, ) -> i32; fn storage_load_from_address( &self, address_offset: MemPtr, key_offset: MemPtr, key_length: MemLength, data_offset: MemPtr, ) -> i32; fn storage_load( &self, key_offset: MemPtr, key_length: MemLength, data_offset: MemPtr, ) -> i32; fn set_storage_lock( &self, key_offset: MemPtr, key_length: MemLength, lock_timestamp: i64, ) -> i32; fn get_storage_lock(&self, key_offset: MemPtr, key_length: MemLength) -> i64; fn is_storage_locked( &self, key_offset: MemPtr, key_length: MemLength, ) -> i32; fn clear_storage_lock( &self, key_offset: MemPtr, key_length: MemLength, ) -> i32; fn get_caller(&self, result_offset: MemPtr); fn check_no_payment(&self); fn get_call_value(&self, result_offset: MemPtr) -> i32; fn get_dcdt_value(&self, result_offset: MemPtr) -> i32; fn get_dcdt_value_by_index(&self, result_offset: MemPtr, index: i32) -> i32; fn get_dcdt_token_name(&self, result_offset: MemPtr) -> i32; fn get_dcdt_token_name_by_index( &self, result_offset: MemPtr, index: i32, ) -> i32; fn get_dcdt_token_nonce(&self) -> i64; fn get_dcdt_token_nonce_by_index(&self, index: i32) -> i64; fn get_current_dcdt_nft_nonce( &self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, ) -> i64; fn get_dcdt_token_type(&self) -> i32; fn get_dcdt_token_type_by_index(&self, index: i32) -> i32; fn get_num_dcdt_transfers(&self) -> i32; fn get_call_value_token_name( &self, call_value_offset: MemPtr, token_name_offset: MemPtr, ) -> i32; fn get_call_value_token_name_by_index( &self, call_value_offset: MemPtr, token_name_offset: MemPtr, index: i32, ) -> i32; fn write_log( &self, data_pointer: MemPtr, data_length: MemLength, topic_ptr: MemPtr, num_topics: i32, ); fn write_event_log( &self, num_topics: i32, topic_lengths_offset: MemPtr, topic_offset: MemPtr, data_offset: MemPtr, data_length: MemLength, ); fn get_block_timestamp(&self) -> i64; fn get_block_nonce(&self) -> i64; fn get_block_round(&self) -> i64; fn get_block_epoch(&self) -> i64; fn get_block_random_seed(&self, pointer: MemPtr); fn get_state_root_hash(&self, pointer: MemPtr); fn get_prev_block_timestamp(&self) -> i64; fn get_prev_block_nonce(&self) -> i64; fn get_prev_block_round(&self) -> i64; fn get_prev_block_epoch(&self) -> i64; fn get_prev_block_random_seed(&self, pointer: MemPtr); fn finish(&self, pointer: MemPtr, length: MemLength); fn execute_on_same_context( &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, ) -> i32; fn execute_on_dest_context( &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, ) -> i32; fn execute_read_only( &self, gas_limit: i64, address_offset: MemPtr, function_offset: MemPtr, function_length: MemLength, num_arguments: i32, arguments_length_offset: MemPtr, data_offset: MemPtr, ) -> i32; fn create_contract( &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, ) -> i32; fn deploy_from_source_contract( &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, ) -> i32; fn get_num_return_data(&self) -> i32; fn get_return_data_size(&self, result_id: i32) -> i32; fn get_return_data(&self, result_id: i32, data_offset: MemPtr) -> i32; fn clean_return_data(&self); fn delete_from_return_data(&self, result_id: i32); fn get_original_tx_hash(&self, data_offset: MemPtr); fn get_current_tx_hash(&self, data_offset: MemPtr); fn get_prev_tx_hash(&self, data_offset: MemPtr); fn managed_sc_address(&self, destination_handle: i32); fn managed_owner_address(&self, destination_handle: i32); fn managed_caller(&self, destination_handle: i32); fn managed_signal_error(&self, err_handle: i32); fn managed_write_log(&self, topics_handle: i32, data_handle: i32); fn managed_get_original_tx_hash(&self, result_handle: i32); fn managed_get_state_root_hash(&self, result_handle: i32); fn managed_get_block_random_seed(&self, result_handle: i32); fn managed_get_prev_block_random_seed(&self, result_handle: i32); fn managed_get_return_data(&self, result_id: i32, result_handle: i32); fn managed_get_multi_dcdt_call_value(&self, multi_call_value_handle: i32); fn managed_get_back_transfers( &self, dcdt_transfers_value_handle: i32, call_value_handle: i32, ); fn managed_get_dcdt_balance( &self, address_handle: i32, token_id_handle: i32, nonce: i64, value_handle: i32, ); fn managed_get_dcdt_token_data( &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, ); fn managed_async_call( &self, dest_handle: i32, value_handle: i32, function_handle: i32, arguments_handle: i32, ); fn managed_create_async_call( &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, ) -> i32; fn managed_get_callback_closure(&self, callback_closure_handle: i32); fn managed_upgrade_from_source_contract( &self, dest_handle: i32, gas: i64, value_handle: i32, address_handle: i32, code_metadata_handle: i32, arguments_handle: i32, result_handle: i32, ); fn managed_upgrade_contract( &self, dest_handle: i32, gas: i64, value_handle: i32, code_handle: i32, code_metadata_handle: i32, arguments_handle: i32, result_handle: i32, ); fn managed_delete_contract( &self, dest_handle: i32, gas_limit: i64, arguments_handle: i32, ); fn managed_deploy_from_source_contract( &self, gas: i64, value_handle: i32, address_handle: i32, code_metadata_handle: i32, arguments_handle: i32, result_address_handle: i32, result_handle: i32, ) -> i32; fn managed_create_contract( &self, gas: i64, value_handle: i32, code_handle: i32, code_metadata_handle: i32, arguments_handle: i32, result_address_handle: i32, result_handle: i32, ) -> i32; fn managed_execute_read_only( &self, gas: i64, address_handle: i32, function_handle: i32, arguments_handle: i32, result_handle: i32, ) -> i32; fn managed_execute_on_same_context( &self, gas: i64, address_handle: i32, value_handle: i32, function_handle: i32, arguments_handle: i32, result_handle: i32, ) -> i32; fn managed_execute_on_dest_context( &self, gas: i64, address_handle: i32, value_handle: i32, function_handle: i32, arguments_handle: i32, result_handle: i32, ) -> i32; fn managed_multi_transfer_dcdt_nft_execute( &self, dst_handle: i32, token_transfers_handle: i32, gas_limit: i64, function_handle: i32, arguments_handle: i32, ) -> i32; fn managed_transfer_value_execute( &self, dst_handle: i32, value_handle: i32, gas_limit: i64, function_handle: i32, arguments_handle: i32, ) -> i32; fn managed_is_dcdt_frozen( &self, address_handle: i32, token_id_handle: i32, nonce: i64, ) -> i32; fn managed_is_dcdt_limited_transfer(&self, token_id_handle: i32) -> i32; fn managed_is_dcdt_paused(&self, token_id_handle: i32) -> i32; fn managed_buffer_to_hex(&self, source_handle: i32, dest_handle: i32); fn managed_get_code_metadata( &self, address_handle: i32, response_handle: i32, ); fn managed_is_builtin_function(&self, function_name_handle: i32) -> i32; fn big_float_new_from_parts( &self, integral_part: i32, fractional_part: i32, exponent: i32, ) -> i32; fn big_float_new_from_frac(&self, numerator: i64, denominator: i64) -> i32; fn big_float_new_from_sci(&self, significand: i64, exponent: i64) -> i32; fn big_float_add( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ); fn big_float_sub( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ); fn big_float_mul( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ); fn big_float_div( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ); fn big_float_neg(&self, destination_handle: i32, op_handle: i32); fn big_float_clone(&self, destination_handle: i32, op_handle: i32); fn big_float_cmp(&self, op1_handle: i32, op2_handle: i32) -> i32; fn big_float_abs(&self, destination_handle: i32, op_handle: i32); fn big_float_sign(&self, op_handle: i32) -> i32; fn big_float_sqrt(&self, destination_handle: i32, op_handle: i32); fn big_float_pow( &self, destination_handle: i32, op_handle: i32, exponent: i32, ); fn big_float_floor(&self, dest_big_int_handle: i32, op_handle: i32); fn big_float_ceil(&self, dest_big_int_handle: i32, op_handle: i32); fn big_float_truncate(&self, dest_big_int_handle: i32, op_handle: i32); fn big_float_set_int64(&self, destination_handle: i32, value: i64); fn big_float_is_int(&self, op_handle: i32) -> i32; fn big_float_set_big_int( &self, destination_handle: i32, big_int_handle: i32, ); fn big_float_get_const_pi(&self, destination_handle: i32); fn big_float_get_const_e(&self, destination_handle: i32); fn big_int_get_unsigned_argument(&self, id: i32, destination_handle: i32); fn big_int_get_signed_argument(&self, id: i32, destination_handle: i32); fn big_int_storage_store_unsigned( &self, key_offset: MemPtr, key_length: MemLength, source_handle: i32, ) -> i32; fn big_int_storage_load_unsigned( &self, key_offset: MemPtr, key_length: MemLength, destination_handle: i32, ) -> i32; fn big_int_get_call_value(&self, destination_handle: i32); fn big_int_get_dcdt_call_value(&self, destination: i32); fn big_int_get_dcdt_call_value_by_index( &self, destination_handle: i32, index: i32, ); fn big_int_get_external_balance(&self, address_offset: MemPtr, result: i32); fn big_int_get_dcdt_external_balance( &self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, nonce: i64, result_handle: i32, ); fn big_int_new(&self, small_value: i64) -> i32; fn big_int_unsigned_byte_length(&self, reference_handle: i32) -> i32; fn big_int_signed_byte_length(&self, reference_handle: i32) -> i32; fn big_int_get_unsigned_bytes( &self, reference_handle: i32, byte_offset: MemPtr, ) -> i32; fn big_int_get_signed_bytes( &self, reference_handle: i32, byte_offset: MemPtr, ) -> i32; fn big_int_set_unsigned_bytes( &self, destination_handle: i32, byte_offset: MemPtr, byte_length: MemLength, ); fn big_int_set_signed_bytes( &self, destination_handle: i32, byte_offset: MemPtr, byte_length: MemLength, ); fn big_int_is_int64(&self, destination_handle: i32) -> i32; fn big_int_get_int64(&self, destination_handle: i32) -> i64; fn big_int_set_int64(&self, destination_handle: i32, value: i64); fn big_int_add( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ); fn big_int_sub( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ); fn big_int_mul( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ); fn big_int_tdiv( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ); fn big_int_tmod( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ); fn big_int_ediv( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ); fn big_int_emod( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ); fn big_int_sqrt(&self, destination_handle: i32, op_handle: i32); fn big_int_pow( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ); fn big_int_log2(&self, op1_handle: i32) -> i32; fn big_int_abs(&self, destination_handle: i32, op_handle: i32); fn big_int_neg(&self, destination_handle: i32, op_handle: i32); fn big_int_sign(&self, op_handle: i32) -> i32; fn big_int_cmp(&self, op1_handle: i32, op2_handle: i32) -> i32; fn big_int_not(&self, destination_handle: i32, op_handle: i32); fn big_int_and( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ); fn big_int_or( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ); fn big_int_xor( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, ); fn big_int_shr(&self, destination_handle: i32, op_handle: i32, bits: i32); fn big_int_shl(&self, destination_handle: i32, op_handle: i32, bits: i32); fn big_int_finish_unsigned(&self, reference_handle: i32); fn big_int_finish_signed(&self, reference_handle: i32); fn big_int_to_string(&self, big_int_handle: i32, destination_handle: i32); fn mbuffer_new(&self) -> i32; fn mbuffer_new_from_bytes( &self, data_offset: MemPtr, data_length: MemLength, ) -> i32; fn mbuffer_get_length(&self, m_buffer_handle: i32) -> i32; fn mbuffer_get_bytes( &self, m_buffer_handle: i32, result_offset: MemPtr, ) -> i32; fn mbuffer_get_byte_slice( &self, source_handle: i32, starting_position: i32, slice_length: i32, result_offset: MemPtr, ) -> i32; fn mbuffer_copy_byte_slice( &self, source_handle: i32, starting_position: i32, slice_length: i32, destination_handle: i32, ) -> i32; fn mbuffer_eq(&self, m_buffer_handle1: i32, m_buffer_handle2: i32) -> i32; fn mbuffer_set_bytes( &self, m_buffer_handle: i32, data_offset: MemPtr, data_length: MemLength, ) -> i32; fn mbuffer_set_byte_slice( &self, m_buffer_handle: i32, starting_position: i32, data_length: MemLength, data_offset: MemPtr, ) -> i32; fn mbuffer_append(&self, accumulator_handle: i32, data_handle: i32) -> i32; fn mbuffer_append_bytes( &self, accumulator_handle: i32, data_offset: MemPtr, data_length: MemLength, ) -> i32; fn mbuffer_to_big_int_unsigned( &self, m_buffer_handle: i32, big_int_handle: i32, ) -> i32; fn mbuffer_to_big_int_signed( &self, m_buffer_handle: i32, big_int_handle: i32, ) -> i32; fn mbuffer_from_big_int_unsigned( &self, m_buffer_handle: i32, big_int_handle: i32, ) -> i32; fn mbuffer_from_big_int_signed( &self, m_buffer_handle: i32, big_int_handle: i32, ) -> i32; fn mbuffer_to_big_float( &self, m_buffer_handle: i32, big_float_handle: i32, ) -> i32; fn mbuffer_from_big_float( &self, m_buffer_handle: i32, big_float_handle: i32, ) -> i32; fn mbuffer_storage_store(&self, key_handle: i32, source_handle: i32) -> i32; fn mbuffer_storage_load( &self, key_handle: i32, destination_handle: i32, ) -> i32; fn mbuffer_storage_load_from_address( &self, address_handle: i32, key_handle: i32, destination_handle: i32, ); fn mbuffer_get_argument(&self, id: i32, destination_handle: i32) -> i32; fn mbuffer_finish(&self, source_handle: i32) -> i32; fn mbuffer_set_random(&self, destination_handle: i32, length: i32) -> i32; fn managed_map_new(&self) -> i32; fn managed_map_put( &self, m_map_handle: i32, key_handle: i32, value_handle: i32, ) -> i32; fn managed_map_get( &self, m_map_handle: i32, key_handle: i32, out_value_handle: i32, ) -> i32; fn managed_map_remove( &self, m_map_handle: i32, key_handle: i32, out_value_handle: i32, ) -> i32; fn managed_map_contains(&self, m_map_handle: i32, key_handle: i32) -> i32; fn small_int_get_unsigned_argument(&self, id: i32) -> i64; fn small_int_get_signed_argument(&self, id: i32) -> i64; fn small_int_finish_unsigned(&self, value: i64); fn small_int_finish_signed(&self, value: i64); fn small_int_storage_store_unsigned( &self, key_offset: MemPtr, key_length: MemLength, value: i64, ) -> i32; fn small_int_storage_store_signed( &self, key_offset: MemPtr, key_length: MemLength, value: i64, ) -> i32; fn small_int_storage_load_unsigned( &self, key_offset: MemPtr, key_length: MemLength, ) -> i64; fn small_int_storage_load_signed( &self, key_offset: MemPtr, key_length: MemLength, ) -> i64; fn int64get_argument(&self, id: i32) -> i64; fn int64finish(&self, value: i64); fn int64storage_store( &self, key_offset: MemPtr, key_length: MemLength, value: i64, ) -> i32; fn int64storage_load( &self, key_offset: MemPtr, key_length: MemLength, ) -> i64; fn sha256( &self, data_offset: MemPtr, length: MemLength, result_offset: MemPtr, ) -> i32; fn managed_sha256(&self, input_handle: i32, output_handle: i32) -> i32; fn keccak256( &self, data_offset: MemPtr, length: MemLength, result_offset: MemPtr, ) -> i32; fn managed_keccak256(&self, input_handle: i32, output_handle: i32) -> i32; fn ripemd160( &self, data_offset: MemPtr, length: MemLength, result_offset: MemPtr, ) -> i32; fn managed_ripemd160(&self, input_handle: i32, output_handle: i32) -> i32; fn verify_bls( &self, key_offset: MemPtr, message_offset: MemPtr, message_length: MemLength, sig_offset: MemPtr, ) -> i32; fn managed_verify_bls( &self, key_handle: i32, message_handle: i32, sig_handle: i32, ) -> i32; fn verify_ed25519( &self, key_offset: MemPtr, message_offset: MemPtr, message_length: MemLength, sig_offset: MemPtr, ) -> i32; fn managed_verify_ed25519( &self, key_handle: i32, message_handle: i32, sig_handle: i32, ) -> i32; fn verify_custom_secp256k1( &self, key_offset: MemPtr, key_length: MemLength, message_offset: MemPtr, message_length: MemLength, sig_offset: MemPtr, hash_type: i32, ) -> i32; fn managed_verify_custom_secp256k1( &self, key_handle: i32, message_handle: i32, sig_handle: i32, hash_type: i32, ) -> i32; fn verify_secp256k1( &self, key_offset: MemPtr, key_length: MemLength, message_offset: MemPtr, message_length: MemLength, sig_offset: MemPtr, ) -> i32; fn managed_verify_secp256k1( &self, key_handle: i32, message_handle: i32, sig_handle: i32, ) -> i32; fn encode_secp256k1_der_signature( &self, r_offset: MemPtr, r_length: MemLength, s_offset: MemPtr, s_length: MemLength, sig_offset: MemPtr, ) -> i32; fn managed_encode_secp256k1_der_signature( &self, r_handle: i32, s_handle: i32, sig_handle: i32, ) -> i32; fn add_ec( &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, ); fn double_ec( &self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, point_xhandle: i32, point_yhandle: i32, ); fn is_on_curve_ec( &self, ec_handle: i32, point_xhandle: i32, point_yhandle: i32, ) -> i32; fn scalar_base_mult_ec( &self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, data_offset: MemPtr, length: MemLength, ) -> i32; fn managed_scalar_base_mult_ec( &self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, data_handle: i32, ) -> i32; fn scalar_mult_ec( &self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, point_xhandle: i32, point_yhandle: i32, data_offset: MemPtr, length: MemLength, ) -> i32; fn managed_scalar_mult_ec( &self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, point_xhandle: i32, point_yhandle: i32, data_handle: i32, ) -> i32; fn marshal_ec( &self, x_pair_handle: i32, y_pair_handle: i32, ec_handle: i32, result_offset: MemPtr, ) -> i32; fn managed_marshal_ec( &self, x_pair_handle: i32, y_pair_handle: i32, ec_handle: i32, result_handle: i32, ) -> i32; fn marshal_compressed_ec( &self, x_pair_handle: i32, y_pair_handle: i32, ec_handle: i32, result_offset: MemPtr, ) -> i32; fn managed_marshal_compressed_ec( &self, x_pair_handle: i32, y_pair_handle: i32, ec_handle: i32, result_handle: i32, ) -> i32; fn unmarshal_ec( &self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, data_offset: MemPtr, length: MemLength, ) -> i32; fn managed_unmarshal_ec( &self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, data_handle: i32, ) -> i32; fn unmarshal_compressed_ec( &self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, data_offset: MemPtr, length: MemLength, ) -> i32; fn managed_unmarshal_compressed_ec( &self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, data_handle: i32, ) -> i32; fn generate_key_ec( &self, x_pub_key_handle: i32, y_pub_key_handle: i32, ec_handle: i32, result_offset: MemPtr, ) -> i32; fn managed_generate_key_ec( &self, x_pub_key_handle: i32, y_pub_key_handle: i32, ec_handle: i32, result_handle: i32, ) -> i32; fn create_ec(&self, data_offset: MemPtr, data_length: MemLength) -> i32; fn managed_create_ec(&self, data_handle: i32) -> i32; fn get_curve_length_ec(&self, ec_handle: i32) -> i32; fn get_priv_key_byte_length_ec(&self, ec_handle: i32) -> i32; fn elliptic_curve_get_values( &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, ) -> i32;
}

Required Methods§

Source

fn set_vm_hooks_ptr(&mut self, vm_hooks_ptr: *mut c_void)

Source

fn get_gas_left(&self) -> i64

Source

fn get_sc_address(&self, result_offset: MemPtr)

Source

fn get_owner_address(&self, result_offset: MemPtr)

Source

fn get_shard_of_address(&self, address_offset: MemPtr) -> i32

Source

fn is_smart_contract(&self, address_offset: MemPtr) -> i32

Source

fn signal_error(&self, message_offset: MemPtr, message_length: MemLength)

Source

fn get_external_balance(&self, address_offset: MemPtr, result_offset: MemPtr)

Source

fn get_block_hash(&self, nonce: i64, result_offset: MemPtr) -> i32

Source

fn get_dcdt_balance( &self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, nonce: i64, result_offset: MemPtr, ) -> i32

Source

fn get_dcdt_nft_name_length( &self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, nonce: i64, ) -> i32

Source

fn get_dcdt_nft_attribute_length( &self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, nonce: i64, ) -> i32

Source

fn get_dcdt_nft_uri_length( &self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, nonce: i64, ) -> i32

Source

fn get_dcdt_token_data( &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, ) -> i32

Source

fn get_dcdt_local_roles(&self, token_id_handle: i32) -> i64

Source

fn validate_token_identifier(&self, token_id_handle: i32) -> i32

Source

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

Source

fn transfer_value_execute( &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, ) -> i32

Source

fn transfer_dcdt_execute( &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, ) -> i32

Source

fn transfer_dcdt_nft_execute( &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, ) -> i32

Source

fn multi_transfer_dcdt_nft_execute( &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, ) -> i32

Source

fn create_async_call( &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, ) -> i32

Source

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

Source

fn upgrade_contract( &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, )

Source

fn upgrade_from_source_contract( &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, )

Source

fn delete_contract( &self, dest_offset: MemPtr, gas_limit: i64, num_arguments: i32, arguments_length_offset: MemPtr, data_offset: MemPtr, )

Source

fn async_call( &self, dest_offset: MemPtr, value_offset: MemPtr, data_offset: MemPtr, length: MemLength, )

Source

fn get_argument_length(&self, id: i32) -> i32

Source

fn get_argument(&self, id: i32, arg_offset: MemPtr) -> i32

Source

fn get_function(&self, function_offset: MemPtr) -> i32

Source

fn get_num_arguments(&self) -> i32

Source

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

Source

fn storage_load_length(&self, key_offset: MemPtr, key_length: MemLength) -> i32

Source

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

Source

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

Source

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

Source

fn get_storage_lock(&self, key_offset: MemPtr, key_length: MemLength) -> i64

Source

fn is_storage_locked(&self, key_offset: MemPtr, key_length: MemLength) -> i32

Source

fn clear_storage_lock(&self, key_offset: MemPtr, key_length: MemLength) -> i32

Source

fn get_caller(&self, result_offset: MemPtr)

Source

fn check_no_payment(&self)

Source

fn get_call_value(&self, result_offset: MemPtr) -> i32

Source

fn get_dcdt_value(&self, result_offset: MemPtr) -> i32

Source

fn get_dcdt_value_by_index(&self, result_offset: MemPtr, index: i32) -> i32

Source

fn get_dcdt_token_name(&self, result_offset: MemPtr) -> i32

Source

fn get_dcdt_token_name_by_index(&self, result_offset: MemPtr, index: i32) -> i32

Source

fn get_dcdt_token_nonce(&self) -> i64

Source

fn get_dcdt_token_nonce_by_index(&self, index: i32) -> i64

Source

fn get_current_dcdt_nft_nonce( &self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, ) -> i64

Source

fn get_dcdt_token_type(&self) -> i32

Source

fn get_dcdt_token_type_by_index(&self, index: i32) -> i32

Source

fn get_num_dcdt_transfers(&self) -> i32

Source

fn get_call_value_token_name( &self, call_value_offset: MemPtr, token_name_offset: MemPtr, ) -> i32

Source

fn get_call_value_token_name_by_index( &self, call_value_offset: MemPtr, token_name_offset: MemPtr, index: i32, ) -> i32

Source

fn write_log( &self, data_pointer: MemPtr, data_length: MemLength, topic_ptr: MemPtr, num_topics: i32, )

Source

fn write_event_log( &self, num_topics: i32, topic_lengths_offset: MemPtr, topic_offset: MemPtr, data_offset: MemPtr, data_length: MemLength, )

Source

fn get_block_timestamp(&self) -> i64

Source

fn get_block_nonce(&self) -> i64

Source

fn get_block_round(&self) -> i64

Source

fn get_block_epoch(&self) -> i64

Source

fn get_block_random_seed(&self, pointer: MemPtr)

Source

fn get_state_root_hash(&self, pointer: MemPtr)

Source

fn get_prev_block_timestamp(&self) -> i64

Source

fn get_prev_block_nonce(&self) -> i64

Source

fn get_prev_block_round(&self) -> i64

Source

fn get_prev_block_epoch(&self) -> i64

Source

fn get_prev_block_random_seed(&self, pointer: MemPtr)

Source

fn finish(&self, pointer: MemPtr, length: MemLength)

Source

fn execute_on_same_context( &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, ) -> i32

Source

fn execute_on_dest_context( &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, ) -> i32

Source

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

Source

fn create_contract( &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, ) -> i32

Source

fn deploy_from_source_contract( &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, ) -> i32

Source

fn get_num_return_data(&self) -> i32

Source

fn get_return_data_size(&self, result_id: i32) -> i32

Source

fn get_return_data(&self, result_id: i32, data_offset: MemPtr) -> i32

Source

fn clean_return_data(&self)

Source

fn delete_from_return_data(&self, result_id: i32)

Source

fn get_original_tx_hash(&self, data_offset: MemPtr)

Source

fn get_current_tx_hash(&self, data_offset: MemPtr)

Source

fn get_prev_tx_hash(&self, data_offset: MemPtr)

Source

fn managed_sc_address(&self, destination_handle: i32)

Source

fn managed_owner_address(&self, destination_handle: i32)

Source

fn managed_caller(&self, destination_handle: i32)

Source

fn managed_signal_error(&self, err_handle: i32)

Source

fn managed_write_log(&self, topics_handle: i32, data_handle: i32)

Source

fn managed_get_original_tx_hash(&self, result_handle: i32)

Source

fn managed_get_state_root_hash(&self, result_handle: i32)

Source

fn managed_get_block_random_seed(&self, result_handle: i32)

Source

fn managed_get_prev_block_random_seed(&self, result_handle: i32)

Source

fn managed_get_return_data(&self, result_id: i32, result_handle: i32)

Source

fn managed_get_multi_dcdt_call_value(&self, multi_call_value_handle: i32)

Source

fn managed_get_back_transfers( &self, dcdt_transfers_value_handle: i32, call_value_handle: i32, )

Source

fn managed_get_dcdt_balance( &self, address_handle: i32, token_id_handle: i32, nonce: i64, value_handle: i32, )

Source

fn managed_get_dcdt_token_data( &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, )

Source

fn managed_async_call( &self, dest_handle: i32, value_handle: i32, function_handle: i32, arguments_handle: i32, )

Source

fn managed_create_async_call( &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, ) -> i32

Source

fn managed_get_callback_closure(&self, callback_closure_handle: i32)

Source

fn managed_upgrade_from_source_contract( &self, dest_handle: i32, gas: i64, value_handle: i32, address_handle: i32, code_metadata_handle: i32, arguments_handle: i32, result_handle: i32, )

Source

fn managed_upgrade_contract( &self, dest_handle: i32, gas: i64, value_handle: i32, code_handle: i32, code_metadata_handle: i32, arguments_handle: i32, result_handle: i32, )

Source

fn managed_delete_contract( &self, dest_handle: i32, gas_limit: i64, arguments_handle: i32, )

Source

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

Source

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

Source

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

Source

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

Source

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

Source

fn managed_multi_transfer_dcdt_nft_execute( &self, dst_handle: i32, token_transfers_handle: i32, gas_limit: i64, function_handle: i32, arguments_handle: i32, ) -> i32

Source

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

Source

fn managed_is_dcdt_frozen( &self, address_handle: i32, token_id_handle: i32, nonce: i64, ) -> i32

Source

fn managed_is_dcdt_limited_transfer(&self, token_id_handle: i32) -> i32

Source

fn managed_is_dcdt_paused(&self, token_id_handle: i32) -> i32

Source

fn managed_buffer_to_hex(&self, source_handle: i32, dest_handle: i32)

Source

fn managed_get_code_metadata(&self, address_handle: i32, response_handle: i32)

Source

fn managed_is_builtin_function(&self, function_name_handle: i32) -> i32

Source

fn big_float_new_from_parts( &self, integral_part: i32, fractional_part: i32, exponent: i32, ) -> i32

Source

fn big_float_new_from_frac(&self, numerator: i64, denominator: i64) -> i32

Source

fn big_float_new_from_sci(&self, significand: i64, exponent: i64) -> i32

Source

fn big_float_add( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, )

Source

fn big_float_sub( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, )

Source

fn big_float_mul( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, )

Source

fn big_float_div( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, )

Source

fn big_float_neg(&self, destination_handle: i32, op_handle: i32)

Source

fn big_float_clone(&self, destination_handle: i32, op_handle: i32)

Source

fn big_float_cmp(&self, op1_handle: i32, op2_handle: i32) -> i32

Source

fn big_float_abs(&self, destination_handle: i32, op_handle: i32)

Source

fn big_float_sign(&self, op_handle: i32) -> i32

Source

fn big_float_sqrt(&self, destination_handle: i32, op_handle: i32)

Source

fn big_float_pow(&self, destination_handle: i32, op_handle: i32, exponent: i32)

Source

fn big_float_floor(&self, dest_big_int_handle: i32, op_handle: i32)

Source

fn big_float_ceil(&self, dest_big_int_handle: i32, op_handle: i32)

Source

fn big_float_truncate(&self, dest_big_int_handle: i32, op_handle: i32)

Source

fn big_float_set_int64(&self, destination_handle: i32, value: i64)

Source

fn big_float_is_int(&self, op_handle: i32) -> i32

Source

fn big_float_set_big_int(&self, destination_handle: i32, big_int_handle: i32)

Source

fn big_float_get_const_pi(&self, destination_handle: i32)

Source

fn big_float_get_const_e(&self, destination_handle: i32)

Source

fn big_int_get_unsigned_argument(&self, id: i32, destination_handle: i32)

Source

fn big_int_get_signed_argument(&self, id: i32, destination_handle: i32)

Source

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

Source

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

Source

fn big_int_get_call_value(&self, destination_handle: i32)

Source

fn big_int_get_dcdt_call_value(&self, destination: i32)

Source

fn big_int_get_dcdt_call_value_by_index( &self, destination_handle: i32, index: i32, )

Source

fn big_int_get_external_balance(&self, address_offset: MemPtr, result: i32)

Source

fn big_int_get_dcdt_external_balance( &self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, nonce: i64, result_handle: i32, )

Source

fn big_int_new(&self, small_value: i64) -> i32

Source

fn big_int_unsigned_byte_length(&self, reference_handle: i32) -> i32

Source

fn big_int_signed_byte_length(&self, reference_handle: i32) -> i32

Source

fn big_int_get_unsigned_bytes( &self, reference_handle: i32, byte_offset: MemPtr, ) -> i32

Source

fn big_int_get_signed_bytes( &self, reference_handle: i32, byte_offset: MemPtr, ) -> i32

Source

fn big_int_set_unsigned_bytes( &self, destination_handle: i32, byte_offset: MemPtr, byte_length: MemLength, )

Source

fn big_int_set_signed_bytes( &self, destination_handle: i32, byte_offset: MemPtr, byte_length: MemLength, )

Source

fn big_int_is_int64(&self, destination_handle: i32) -> i32

Source

fn big_int_get_int64(&self, destination_handle: i32) -> i64

Source

fn big_int_set_int64(&self, destination_handle: i32, value: i64)

Source

fn big_int_add(&self, destination_handle: i32, op1_handle: i32, op2_handle: i32)

Source

fn big_int_sub(&self, destination_handle: i32, op1_handle: i32, op2_handle: i32)

Source

fn big_int_mul(&self, destination_handle: i32, op1_handle: i32, op2_handle: i32)

Source

fn big_int_tdiv( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, )

Source

fn big_int_tmod( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, )

Source

fn big_int_ediv( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, )

Source

fn big_int_emod( &self, destination_handle: i32, op1_handle: i32, op2_handle: i32, )

Source

fn big_int_sqrt(&self, destination_handle: i32, op_handle: i32)

Source

fn big_int_pow(&self, destination_handle: i32, op1_handle: i32, op2_handle: i32)

Source

fn big_int_log2(&self, op1_handle: i32) -> i32

Source

fn big_int_abs(&self, destination_handle: i32, op_handle: i32)

Source

fn big_int_neg(&self, destination_handle: i32, op_handle: i32)

Source

fn big_int_sign(&self, op_handle: i32) -> i32

Source

fn big_int_cmp(&self, op1_handle: i32, op2_handle: i32) -> i32

Source

fn big_int_not(&self, destination_handle: i32, op_handle: i32)

Source

fn big_int_and(&self, destination_handle: i32, op1_handle: i32, op2_handle: i32)

Source

fn big_int_or(&self, destination_handle: i32, op1_handle: i32, op2_handle: i32)

Source

fn big_int_xor(&self, destination_handle: i32, op1_handle: i32, op2_handle: i32)

Source

fn big_int_shr(&self, destination_handle: i32, op_handle: i32, bits: i32)

Source

fn big_int_shl(&self, destination_handle: i32, op_handle: i32, bits: i32)

Source

fn big_int_finish_unsigned(&self, reference_handle: i32)

Source

fn big_int_finish_signed(&self, reference_handle: i32)

Source

fn big_int_to_string(&self, big_int_handle: i32, destination_handle: i32)

Source

fn mbuffer_new(&self) -> i32

Source

fn mbuffer_new_from_bytes( &self, data_offset: MemPtr, data_length: MemLength, ) -> i32

Source

fn mbuffer_get_length(&self, m_buffer_handle: i32) -> i32

Source

fn mbuffer_get_bytes(&self, m_buffer_handle: i32, result_offset: MemPtr) -> i32

Source

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

Source

fn mbuffer_copy_byte_slice( &self, source_handle: i32, starting_position: i32, slice_length: i32, destination_handle: i32, ) -> i32

Source

fn mbuffer_eq(&self, m_buffer_handle1: i32, m_buffer_handle2: i32) -> i32

Source

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

Source

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

Source

fn mbuffer_append(&self, accumulator_handle: i32, data_handle: i32) -> i32

Source

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

Source

fn mbuffer_to_big_int_unsigned( &self, m_buffer_handle: i32, big_int_handle: i32, ) -> i32

Source

fn mbuffer_to_big_int_signed( &self, m_buffer_handle: i32, big_int_handle: i32, ) -> i32

Source

fn mbuffer_from_big_int_unsigned( &self, m_buffer_handle: i32, big_int_handle: i32, ) -> i32

Source

fn mbuffer_from_big_int_signed( &self, m_buffer_handle: i32, big_int_handle: i32, ) -> i32

Source

fn mbuffer_to_big_float( &self, m_buffer_handle: i32, big_float_handle: i32, ) -> i32

Source

fn mbuffer_from_big_float( &self, m_buffer_handle: i32, big_float_handle: i32, ) -> i32

Source

fn mbuffer_storage_store(&self, key_handle: i32, source_handle: i32) -> i32

Source

fn mbuffer_storage_load(&self, key_handle: i32, destination_handle: i32) -> i32

Source

fn mbuffer_storage_load_from_address( &self, address_handle: i32, key_handle: i32, destination_handle: i32, )

Source

fn mbuffer_get_argument(&self, id: i32, destination_handle: i32) -> i32

Source

fn mbuffer_finish(&self, source_handle: i32) -> i32

Source

fn mbuffer_set_random(&self, destination_handle: i32, length: i32) -> i32

Source

fn managed_map_new(&self) -> i32

Source

fn managed_map_put( &self, m_map_handle: i32, key_handle: i32, value_handle: i32, ) -> i32

Source

fn managed_map_get( &self, m_map_handle: i32, key_handle: i32, out_value_handle: i32, ) -> i32

Source

fn managed_map_remove( &self, m_map_handle: i32, key_handle: i32, out_value_handle: i32, ) -> i32

Source

fn managed_map_contains(&self, m_map_handle: i32, key_handle: i32) -> i32

Source

fn small_int_get_unsigned_argument(&self, id: i32) -> i64

Source

fn small_int_get_signed_argument(&self, id: i32) -> i64

Source

fn small_int_finish_unsigned(&self, value: i64)

Source

fn small_int_finish_signed(&self, value: i64)

Source

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

Source

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

Source

fn small_int_storage_load_unsigned( &self, key_offset: MemPtr, key_length: MemLength, ) -> i64

Source

fn small_int_storage_load_signed( &self, key_offset: MemPtr, key_length: MemLength, ) -> i64

Source

fn int64get_argument(&self, id: i32) -> i64

Source

fn int64finish(&self, value: i64)

Source

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

Source

fn int64storage_load(&self, key_offset: MemPtr, key_length: MemLength) -> i64

Source

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

Source

fn managed_sha256(&self, input_handle: i32, output_handle: i32) -> i32

Source

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

Source

fn managed_keccak256(&self, input_handle: i32, output_handle: i32) -> i32

Source

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

Source

fn managed_ripemd160(&self, input_handle: i32, output_handle: i32) -> i32

Source

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

Source

fn managed_verify_bls( &self, key_handle: i32, message_handle: i32, sig_handle: i32, ) -> i32

Source

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

Source

fn managed_verify_ed25519( &self, key_handle: i32, message_handle: i32, sig_handle: i32, ) -> i32

Source

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

Source

fn managed_verify_custom_secp256k1( &self, key_handle: i32, message_handle: i32, sig_handle: i32, hash_type: i32, ) -> i32

Source

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

Source

fn managed_verify_secp256k1( &self, key_handle: i32, message_handle: i32, sig_handle: i32, ) -> i32

Source

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

Source

fn managed_encode_secp256k1_der_signature( &self, r_handle: i32, s_handle: i32, sig_handle: i32, ) -> i32

Source

fn add_ec( &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, )

Source

fn double_ec( &self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, point_xhandle: i32, point_yhandle: i32, )

Source

fn is_on_curve_ec( &self, ec_handle: i32, point_xhandle: i32, point_yhandle: i32, ) -> i32

Source

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

Source

fn managed_scalar_base_mult_ec( &self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, data_handle: i32, ) -> i32

Source

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

Source

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

Source

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

Source

fn managed_marshal_ec( &self, x_pair_handle: i32, y_pair_handle: i32, ec_handle: i32, result_handle: i32, ) -> i32

Source

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

Source

fn managed_marshal_compressed_ec( &self, x_pair_handle: i32, y_pair_handle: i32, ec_handle: i32, result_handle: i32, ) -> i32

Source

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

Source

fn managed_unmarshal_ec( &self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, data_handle: i32, ) -> i32

Source

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

Source

fn managed_unmarshal_compressed_ec( &self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, data_handle: i32, ) -> i32

Source

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

Source

fn managed_generate_key_ec( &self, x_pub_key_handle: i32, y_pub_key_handle: i32, ec_handle: i32, result_handle: i32, ) -> i32

Source

fn create_ec(&self, data_offset: MemPtr, data_length: MemLength) -> i32

Source

fn managed_create_ec(&self, data_handle: i32) -> i32

Source

fn get_curve_length_ec(&self, ec_handle: i32) -> i32

Source

fn get_priv_key_byte_length_ec(&self, ec_handle: i32) -> i32

Source

fn elliptic_curve_get_values( &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, ) -> i32

Implementors§