1use crate::{MemLength, MemPtr, VMHooksEarlyExit};
8
9#[rustfmt::skip]
10#[allow(clippy::too_many_arguments)]
11pub trait VMHooks: core::fmt::Debug {
12 fn get_gas_left(&mut self) -> Result<i64, VMHooksEarlyExit>;
13 fn get_sc_address(&mut self, result_offset: MemPtr) -> Result<(), VMHooksEarlyExit>;
14 fn get_owner_address(&mut self, result_offset: MemPtr) -> Result<(), VMHooksEarlyExit>;
15 fn get_shard_of_address(&mut self, address_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
16 fn is_smart_contract(&mut self, address_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
17 fn signal_error(&mut self, message_offset: MemPtr, message_length: MemLength) -> Result<(), VMHooksEarlyExit>;
18 fn get_external_balance(&mut self, address_offset: MemPtr, result_offset: MemPtr) -> Result<(), VMHooksEarlyExit>;
19 fn get_block_hash(&mut self, nonce: i64, result_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
20 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>;
21 fn get_esdt_nft_name_length(&mut self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, nonce: i64) -> Result<i32, VMHooksEarlyExit>;
22 fn get_esdt_nft_attribute_length(&mut self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, nonce: i64) -> Result<i32, VMHooksEarlyExit>;
23 fn get_esdt_nft_uri_length(&mut self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, nonce: i64) -> Result<i32, VMHooksEarlyExit>;
24 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>;
25 fn get_esdt_local_roles(&mut self, token_id_handle: i32) -> Result<i64, VMHooksEarlyExit>;
26 fn validate_token_identifier(&mut self, token_id_handle: i32) -> Result<i32, VMHooksEarlyExit>;
27 fn transfer_value(&mut self, dest_offset: MemPtr, value_offset: MemPtr, data_offset: MemPtr, length: MemLength) -> Result<i32, VMHooksEarlyExit>;
28 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>;
29 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>;
30 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>;
31 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>;
32 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>;
33 fn set_async_context_callback(&mut self, callback: MemPtr, callback_length: MemLength, data: MemPtr, data_length: MemLength, gas: i64) -> Result<i32, VMHooksEarlyExit>;
34 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>;
35 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>;
36 fn delete_contract(&mut self, dest_offset: MemPtr, gas_limit: i64, num_arguments: i32, arguments_length_offset: MemPtr, data_offset: MemPtr) -> Result<(), VMHooksEarlyExit>;
37 fn async_call(&mut self, dest_offset: MemPtr, value_offset: MemPtr, data_offset: MemPtr, length: MemLength) -> Result<(), VMHooksEarlyExit>;
38 fn get_argument_length(&mut self, id: i32) -> Result<i32, VMHooksEarlyExit>;
39 fn get_argument(&mut self, id: i32, arg_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
40 fn get_function(&mut self, function_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
41 fn get_num_arguments(&mut self) -> Result<i32, VMHooksEarlyExit>;
42 fn storage_store(&mut self, key_offset: MemPtr, key_length: MemLength, data_offset: MemPtr, data_length: MemLength) -> Result<i32, VMHooksEarlyExit>;
43 fn storage_load_length(&mut self, key_offset: MemPtr, key_length: MemLength) -> Result<i32, VMHooksEarlyExit>;
44 fn storage_load_from_address(&mut self, address_offset: MemPtr, key_offset: MemPtr, key_length: MemLength, data_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
45 fn storage_load(&mut self, key_offset: MemPtr, key_length: MemLength, data_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
46 fn set_storage_lock(&mut self, key_offset: MemPtr, key_length: MemLength, lock_timestamp: i64) -> Result<i32, VMHooksEarlyExit>;
47 fn get_storage_lock(&mut self, key_offset: MemPtr, key_length: MemLength) -> Result<i64, VMHooksEarlyExit>;
48 fn is_storage_locked(&mut self, key_offset: MemPtr, key_length: MemLength) -> Result<i32, VMHooksEarlyExit>;
49 fn clear_storage_lock(&mut self, key_offset: MemPtr, key_length: MemLength) -> Result<i32, VMHooksEarlyExit>;
50 fn get_caller(&mut self, result_offset: MemPtr) -> Result<(), VMHooksEarlyExit>;
51 fn check_no_payment(&mut self) -> Result<(), VMHooksEarlyExit>;
52 fn get_call_value(&mut self, result_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
53 fn get_esdt_value(&mut self, result_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
54 fn get_esdt_value_by_index(&mut self, result_offset: MemPtr, index: i32) -> Result<i32, VMHooksEarlyExit>;
55 fn get_esdt_token_name(&mut self, result_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
56 fn get_esdt_token_name_by_index(&mut self, result_offset: MemPtr, index: i32) -> Result<i32, VMHooksEarlyExit>;
57 fn get_esdt_token_nonce(&mut self) -> Result<i64, VMHooksEarlyExit>;
58 fn get_esdt_token_nonce_by_index(&mut self, index: i32) -> Result<i64, VMHooksEarlyExit>;
59 fn get_current_esdt_nft_nonce(&mut self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength) -> Result<i64, VMHooksEarlyExit>;
60 fn get_esdt_token_type(&mut self) -> Result<i32, VMHooksEarlyExit>;
61 fn get_esdt_token_type_by_index(&mut self, index: i32) -> Result<i32, VMHooksEarlyExit>;
62 fn get_num_esdt_transfers(&mut self) -> Result<i32, VMHooksEarlyExit>;
63 fn get_call_value_token_name(&mut self, call_value_offset: MemPtr, token_name_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
64 fn get_call_value_token_name_by_index(&mut self, call_value_offset: MemPtr, token_name_offset: MemPtr, index: i32) -> Result<i32, VMHooksEarlyExit>;
65 fn is_reserved_function_name(&mut self, name_handle: i32) -> Result<i32, VMHooksEarlyExit>;
66 fn write_log(&mut self, data_pointer: MemPtr, data_length: MemLength, topic_ptr: MemPtr, num_topics: i32) -> Result<(), VMHooksEarlyExit>;
67 fn write_event_log(&mut self, num_topics: i32, topic_lengths_offset: MemPtr, topic_offset: MemPtr, data_offset: MemPtr, data_length: MemLength) -> Result<(), VMHooksEarlyExit>;
68 fn get_block_timestamp(&mut self) -> Result<i64, VMHooksEarlyExit>;
69 fn get_block_timestamp_ms(&mut self) -> Result<i64, VMHooksEarlyExit>;
70 fn get_block_nonce(&mut self) -> Result<i64, VMHooksEarlyExit>;
71 fn get_block_round(&mut self) -> Result<i64, VMHooksEarlyExit>;
72 fn get_block_epoch(&mut self) -> Result<i64, VMHooksEarlyExit>;
73 fn get_block_random_seed(&mut self, pointer: MemPtr) -> Result<(), VMHooksEarlyExit>;
74 fn get_state_root_hash(&mut self, pointer: MemPtr) -> Result<(), VMHooksEarlyExit>;
75 fn get_prev_block_timestamp(&mut self) -> Result<i64, VMHooksEarlyExit>;
76 fn get_prev_block_timestamp_ms(&mut self) -> Result<i64, VMHooksEarlyExit>;
77 fn get_prev_block_nonce(&mut self) -> Result<i64, VMHooksEarlyExit>;
78 fn get_prev_block_round(&mut self) -> Result<i64, VMHooksEarlyExit>;
79 fn get_prev_block_epoch(&mut self) -> Result<i64, VMHooksEarlyExit>;
80 fn get_prev_block_random_seed(&mut self, pointer: MemPtr) -> Result<(), VMHooksEarlyExit>;
81 fn get_block_round_time_ms(&mut self) -> Result<i64, VMHooksEarlyExit>;
82 fn epoch_start_block_timestamp_ms(&mut self) -> Result<i64, VMHooksEarlyExit>;
83 fn epoch_start_block_nonce(&mut self) -> Result<i64, VMHooksEarlyExit>;
84 fn epoch_start_block_round(&mut self) -> Result<i64, VMHooksEarlyExit>;
85 fn finish(&mut self, pointer: MemPtr, length: MemLength) -> Result<(), VMHooksEarlyExit>;
86 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>;
87 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>;
88 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>;
89 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>;
90 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>;
91 fn get_num_return_data(&mut self) -> Result<i32, VMHooksEarlyExit>;
92 fn get_return_data_size(&mut self, result_id: i32) -> Result<i32, VMHooksEarlyExit>;
93 fn get_return_data(&mut self, result_id: i32, data_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
94 fn clean_return_data(&mut self) -> Result<(), VMHooksEarlyExit>;
95 fn delete_from_return_data(&mut self, result_id: i32) -> Result<(), VMHooksEarlyExit>;
96 fn get_original_tx_hash(&mut self, data_offset: MemPtr) -> Result<(), VMHooksEarlyExit>;
97 fn get_current_tx_hash(&mut self, data_offset: MemPtr) -> Result<(), VMHooksEarlyExit>;
98 fn get_prev_tx_hash(&mut self, data_offset: MemPtr) -> Result<(), VMHooksEarlyExit>;
99 fn managed_sc_address(&mut self, destination_handle: i32) -> Result<(), VMHooksEarlyExit>;
100 fn managed_owner_address(&mut self, destination_handle: i32) -> Result<(), VMHooksEarlyExit>;
101 fn managed_caller(&mut self, destination_handle: i32) -> Result<(), VMHooksEarlyExit>;
102 fn managed_get_original_caller_addr(&mut self, destination_handle: i32) -> Result<(), VMHooksEarlyExit>;
103 fn managed_get_relayer_addr(&mut self, destination_handle: i32) -> Result<(), VMHooksEarlyExit>;
104 fn managed_signal_error(&mut self, err_handle: i32) -> Result<(), VMHooksEarlyExit>;
105 fn managed_write_log(&mut self, topics_handle: i32, data_handle: i32) -> Result<(), VMHooksEarlyExit>;
106 fn managed_get_original_tx_hash(&mut self, result_handle: i32) -> Result<(), VMHooksEarlyExit>;
107 fn managed_get_state_root_hash(&mut self, result_handle: i32) -> Result<(), VMHooksEarlyExit>;
108 fn managed_get_block_random_seed(&mut self, result_handle: i32) -> Result<(), VMHooksEarlyExit>;
109 fn managed_get_prev_block_random_seed(&mut self, result_handle: i32) -> Result<(), VMHooksEarlyExit>;
110 fn managed_get_return_data(&mut self, result_id: i32, result_handle: i32) -> Result<(), VMHooksEarlyExit>;
111 fn managed_get_multi_esdt_call_value(&mut self, multi_call_value_handle: i32) -> Result<(), VMHooksEarlyExit>;
112 fn managed_get_all_transfers_call_value(&mut self, transfer_call_values_list_handle: i32) -> Result<(), VMHooksEarlyExit>;
113 fn managed_get_back_transfers(&mut self, esdt_transfers_value_handle: i32, egld_value_handle: i32) -> Result<(), VMHooksEarlyExit>;
114 fn managed_get_esdt_balance(&mut self, address_handle: i32, token_id_handle: i32, nonce: i64, value_handle: i32) -> Result<(), VMHooksEarlyExit>;
115 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>;
116 fn managed_get_esdt_token_type(&mut self, address_handle: i32, token_id_handle: i32, nonce: i64, type_handle: i32) -> Result<(), VMHooksEarlyExit>;
117 fn managed_async_call(&mut self, dest_handle: i32, value_handle: i32, function_handle: i32, arguments_handle: i32) -> Result<(), VMHooksEarlyExit>;
118 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>;
119 fn managed_get_callback_closure(&mut self, callback_closure_handle: i32) -> Result<(), VMHooksEarlyExit>;
120 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>;
121 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>;
122 fn managed_delete_contract(&mut self, dest_handle: i32, gas_limit: i64, arguments_handle: i32) -> Result<(), VMHooksEarlyExit>;
123 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>;
124 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>;
125 fn managed_execute_read_only(&mut self, gas: i64, address_handle: i32, function_handle: i32, arguments_handle: i32, result_handle: i32) -> Result<i32, VMHooksEarlyExit>;
126 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>;
127 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>;
128 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>;
129 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>;
130 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>;
131 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>;
132 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>;
133 fn managed_is_esdt_frozen(&mut self, address_handle: i32, token_id_handle: i32, nonce: i64) -> Result<i32, VMHooksEarlyExit>;
134 fn managed_is_esdt_limited_transfer(&mut self, token_id_handle: i32) -> Result<i32, VMHooksEarlyExit>;
135 fn managed_is_esdt_paused(&mut self, token_id_handle: i32) -> Result<i32, VMHooksEarlyExit>;
136 fn managed_buffer_to_hex(&mut self, source_handle: i32, dest_handle: i32) -> Result<(), VMHooksEarlyExit>;
137 fn managed_get_code_metadata(&mut self, address_handle: i32, response_handle: i32) -> Result<(), VMHooksEarlyExit>;
138 fn managed_get_code_hash(&mut self, address_handle: i32, code_hash_handle: i32) -> Result<(), VMHooksEarlyExit>;
139 fn managed_is_builtin_function(&mut self, function_name_handle: i32) -> Result<i32, VMHooksEarlyExit>;
140 fn big_float_new_from_parts(&mut self, integral_part: i32, fractional_part: i32, exponent: i32) -> Result<i32, VMHooksEarlyExit>;
141 fn big_float_new_from_frac(&mut self, numerator: i64, denominator: i64) -> Result<i32, VMHooksEarlyExit>;
142 fn big_float_new_from_sci(&mut self, significand: i64, exponent: i64) -> Result<i32, VMHooksEarlyExit>;
143 fn big_float_add(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit>;
144 fn big_float_sub(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit>;
145 fn big_float_mul(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit>;
146 fn big_float_div(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit>;
147 fn big_float_neg(&mut self, destination_handle: i32, op_handle: i32) -> Result<(), VMHooksEarlyExit>;
148 fn big_float_clone(&mut self, destination_handle: i32, op_handle: i32) -> Result<(), VMHooksEarlyExit>;
149 fn big_float_cmp(&mut self, op1_handle: i32, op2_handle: i32) -> Result<i32, VMHooksEarlyExit>;
150 fn big_float_abs(&mut self, destination_handle: i32, op_handle: i32) -> Result<(), VMHooksEarlyExit>;
151 fn big_float_sign(&mut self, op_handle: i32) -> Result<i32, VMHooksEarlyExit>;
152 fn big_float_sqrt(&mut self, destination_handle: i32, op_handle: i32) -> Result<(), VMHooksEarlyExit>;
153 fn big_float_pow(&mut self, destination_handle: i32, op_handle: i32, exponent: i32) -> Result<(), VMHooksEarlyExit>;
154 fn big_float_floor(&mut self, dest_big_int_handle: i32, op_handle: i32) -> Result<(), VMHooksEarlyExit>;
155 fn big_float_ceil(&mut self, dest_big_int_handle: i32, op_handle: i32) -> Result<(), VMHooksEarlyExit>;
156 fn big_float_truncate(&mut self, dest_big_int_handle: i32, op_handle: i32) -> Result<(), VMHooksEarlyExit>;
157 fn big_float_set_int64(&mut self, destination_handle: i32, value: i64) -> Result<(), VMHooksEarlyExit>;
158 fn big_float_is_int(&mut self, op_handle: i32) -> Result<i32, VMHooksEarlyExit>;
159 fn big_float_set_big_int(&mut self, destination_handle: i32, big_int_handle: i32) -> Result<(), VMHooksEarlyExit>;
160 fn big_float_get_const_pi(&mut self, destination_handle: i32) -> Result<(), VMHooksEarlyExit>;
161 fn big_float_get_const_e(&mut self, destination_handle: i32) -> Result<(), VMHooksEarlyExit>;
162 fn big_int_get_unsigned_argument(&mut self, id: i32, destination_handle: i32) -> Result<(), VMHooksEarlyExit>;
163 fn big_int_get_signed_argument(&mut self, id: i32, destination_handle: i32) -> Result<(), VMHooksEarlyExit>;
164 fn big_int_storage_store_unsigned(&mut self, key_offset: MemPtr, key_length: MemLength, source_handle: i32) -> Result<i32, VMHooksEarlyExit>;
165 fn big_int_storage_load_unsigned(&mut self, key_offset: MemPtr, key_length: MemLength, destination_handle: i32) -> Result<i32, VMHooksEarlyExit>;
166 fn big_int_get_call_value(&mut self, destination_handle: i32) -> Result<(), VMHooksEarlyExit>;
167 fn big_int_get_esdt_call_value(&mut self, destination: i32) -> Result<(), VMHooksEarlyExit>;
168 fn big_int_get_esdt_call_value_by_index(&mut self, destination_handle: i32, index: i32) -> Result<(), VMHooksEarlyExit>;
169 fn big_int_get_external_balance(&mut self, address_offset: MemPtr, result: i32) -> Result<(), VMHooksEarlyExit>;
170 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>;
171 fn big_int_new(&mut self, small_value: i64) -> Result<i32, VMHooksEarlyExit>;
172 fn big_int_unsigned_byte_length(&mut self, reference_handle: i32) -> Result<i32, VMHooksEarlyExit>;
173 fn big_int_signed_byte_length(&mut self, reference_handle: i32) -> Result<i32, VMHooksEarlyExit>;
174 fn big_int_get_unsigned_bytes(&mut self, reference_handle: i32, byte_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
175 fn big_int_get_signed_bytes(&mut self, reference_handle: i32, byte_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
176 fn big_int_set_unsigned_bytes(&mut self, destination_handle: i32, byte_offset: MemPtr, byte_length: MemLength) -> Result<(), VMHooksEarlyExit>;
177 fn big_int_set_signed_bytes(&mut self, destination_handle: i32, byte_offset: MemPtr, byte_length: MemLength) -> Result<(), VMHooksEarlyExit>;
178 fn big_int_is_int64(&mut self, destination_handle: i32) -> Result<i32, VMHooksEarlyExit>;
179 fn big_int_get_int64(&mut self, destination_handle: i32) -> Result<i64, VMHooksEarlyExit>;
180 fn big_int_set_int64(&mut self, destination_handle: i32, value: i64) -> Result<(), VMHooksEarlyExit>;
181 fn big_int_add(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit>;
182 fn big_int_sub(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit>;
183 fn big_int_mul(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit>;
184 fn big_int_tdiv(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit>;
185 fn big_int_tmod(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit>;
186 fn big_int_ediv(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit>;
187 fn big_int_emod(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit>;
188 fn big_int_sqrt(&mut self, destination_handle: i32, op_handle: i32) -> Result<(), VMHooksEarlyExit>;
189 fn big_int_pow(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit>;
190 fn big_int_log2(&mut self, op1_handle: i32) -> Result<i32, VMHooksEarlyExit>;
191 fn big_int_abs(&mut self, destination_handle: i32, op_handle: i32) -> Result<(), VMHooksEarlyExit>;
192 fn big_int_neg(&mut self, destination_handle: i32, op_handle: i32) -> Result<(), VMHooksEarlyExit>;
193 fn big_int_sign(&mut self, op_handle: i32) -> Result<i32, VMHooksEarlyExit>;
194 fn big_int_cmp(&mut self, op1_handle: i32, op2_handle: i32) -> Result<i32, VMHooksEarlyExit>;
195 fn big_int_not(&mut self, destination_handle: i32, op_handle: i32) -> Result<(), VMHooksEarlyExit>;
196 fn big_int_and(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit>;
197 fn big_int_or(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit>;
198 fn big_int_xor(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit>;
199 fn big_int_shr(&mut self, destination_handle: i32, op_handle: i32, bits: i32) -> Result<(), VMHooksEarlyExit>;
200 fn big_int_shl(&mut self, destination_handle: i32, op_handle: i32, bits: i32) -> Result<(), VMHooksEarlyExit>;
201 fn big_int_finish_unsigned(&mut self, reference_handle: i32) -> Result<(), VMHooksEarlyExit>;
202 fn big_int_finish_signed(&mut self, reference_handle: i32) -> Result<(), VMHooksEarlyExit>;
203 fn big_int_to_string(&mut self, big_int_handle: i32, destination_handle: i32) -> Result<(), VMHooksEarlyExit>;
204 fn mbuffer_new(&mut self) -> Result<i32, VMHooksEarlyExit>;
205 fn mbuffer_new_from_bytes(&mut self, data_offset: MemPtr, data_length: MemLength) -> Result<i32, VMHooksEarlyExit>;
206 fn mbuffer_get_length(&mut self, m_buffer_handle: i32) -> Result<i32, VMHooksEarlyExit>;
207 fn mbuffer_get_bytes(&mut self, m_buffer_handle: i32, result_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
208 fn mbuffer_get_byte_slice(&mut self, source_handle: i32, starting_position: i32, slice_length: i32, result_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
209 fn mbuffer_copy_byte_slice(&mut self, source_handle: i32, starting_position: i32, slice_length: i32, destination_handle: i32) -> Result<i32, VMHooksEarlyExit>;
210 fn mbuffer_eq(&mut self, m_buffer_handle1: i32, m_buffer_handle2: i32) -> Result<i32, VMHooksEarlyExit>;
211 fn mbuffer_set_bytes(&mut self, m_buffer_handle: i32, data_offset: MemPtr, data_length: MemLength) -> Result<i32, VMHooksEarlyExit>;
212 fn mbuffer_set_byte_slice(&mut self, m_buffer_handle: i32, starting_position: i32, data_length: MemLength, data_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
213 fn mbuffer_append(&mut self, accumulator_handle: i32, data_handle: i32) -> Result<i32, VMHooksEarlyExit>;
214 fn mbuffer_append_bytes(&mut self, accumulator_handle: i32, data_offset: MemPtr, data_length: MemLength) -> Result<i32, VMHooksEarlyExit>;
215 fn mbuffer_to_big_int_unsigned(&mut self, m_buffer_handle: i32, big_int_handle: i32) -> Result<i32, VMHooksEarlyExit>;
216 fn mbuffer_to_big_int_signed(&mut self, m_buffer_handle: i32, big_int_handle: i32) -> Result<i32, VMHooksEarlyExit>;
217 fn mbuffer_from_big_int_unsigned(&mut self, m_buffer_handle: i32, big_int_handle: i32) -> Result<i32, VMHooksEarlyExit>;
218 fn mbuffer_from_big_int_signed(&mut self, m_buffer_handle: i32, big_int_handle: i32) -> Result<i32, VMHooksEarlyExit>;
219 fn mbuffer_to_small_int_unsigned(&mut self, m_buffer_handle: i32) -> Result<i64, VMHooksEarlyExit>;
220 fn mbuffer_to_small_int_signed(&mut self, m_buffer_handle: i32) -> Result<i64, VMHooksEarlyExit>;
221 fn mbuffer_from_small_int_unsigned(&mut self, m_buffer_handle: i32, value: i64) -> Result<(), VMHooksEarlyExit>;
222 fn mbuffer_from_small_int_signed(&mut self, m_buffer_handle: i32, value: i64) -> Result<(), VMHooksEarlyExit>;
223 fn mbuffer_to_big_float(&mut self, m_buffer_handle: i32, big_float_handle: i32) -> Result<i32, VMHooksEarlyExit>;
224 fn mbuffer_from_big_float(&mut self, m_buffer_handle: i32, big_float_handle: i32) -> Result<i32, VMHooksEarlyExit>;
225 fn mbuffer_storage_store(&mut self, key_handle: i32, source_handle: i32) -> Result<i32, VMHooksEarlyExit>;
226 fn mbuffer_storage_load(&mut self, key_handle: i32, destination_handle: i32) -> Result<i32, VMHooksEarlyExit>;
227 fn mbuffer_storage_load_from_address(&mut self, address_handle: i32, key_handle: i32, destination_handle: i32) -> Result<(), VMHooksEarlyExit>;
228 fn mbuffer_get_argument(&mut self, id: i32, destination_handle: i32) -> Result<i32, VMHooksEarlyExit>;
229 fn mbuffer_finish(&mut self, source_handle: i32) -> Result<i32, VMHooksEarlyExit>;
230 fn mbuffer_set_random(&mut self, destination_handle: i32, length: i32) -> Result<i32, VMHooksEarlyExit>;
231 fn managed_map_new(&mut self) -> Result<i32, VMHooksEarlyExit>;
232 fn managed_map_put(&mut self, m_map_handle: i32, key_handle: i32, value_handle: i32) -> Result<i32, VMHooksEarlyExit>;
233 fn managed_map_get(&mut self, m_map_handle: i32, key_handle: i32, out_value_handle: i32) -> Result<i32, VMHooksEarlyExit>;
234 fn managed_map_remove(&mut self, m_map_handle: i32, key_handle: i32, out_value_handle: i32) -> Result<i32, VMHooksEarlyExit>;
235 fn managed_map_contains(&mut self, m_map_handle: i32, key_handle: i32) -> Result<i32, VMHooksEarlyExit>;
236 fn small_int_get_unsigned_argument(&mut self, id: i32) -> Result<i64, VMHooksEarlyExit>;
237 fn small_int_get_signed_argument(&mut self, id: i32) -> Result<i64, VMHooksEarlyExit>;
238 fn small_int_finish_unsigned(&mut self, value: i64) -> Result<(), VMHooksEarlyExit>;
239 fn small_int_finish_signed(&mut self, value: i64) -> Result<(), VMHooksEarlyExit>;
240 fn small_int_storage_store_unsigned(&mut self, key_offset: MemPtr, key_length: MemLength, value: i64) -> Result<i32, VMHooksEarlyExit>;
241 fn small_int_storage_store_signed(&mut self, key_offset: MemPtr, key_length: MemLength, value: i64) -> Result<i32, VMHooksEarlyExit>;
242 fn small_int_storage_load_unsigned(&mut self, key_offset: MemPtr, key_length: MemLength) -> Result<i64, VMHooksEarlyExit>;
243 fn small_int_storage_load_signed(&mut self, key_offset: MemPtr, key_length: MemLength) -> Result<i64, VMHooksEarlyExit>;
244 fn int64get_argument(&mut self, id: i32) -> Result<i64, VMHooksEarlyExit>;
245 fn int64finish(&mut self, value: i64) -> Result<(), VMHooksEarlyExit>;
246 fn int64storage_store(&mut self, key_offset: MemPtr, key_length: MemLength, value: i64) -> Result<i32, VMHooksEarlyExit>;
247 fn int64storage_load(&mut self, key_offset: MemPtr, key_length: MemLength) -> Result<i64, VMHooksEarlyExit>;
248 fn sha256(&mut self, data_offset: MemPtr, length: MemLength, result_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
249 fn managed_sha256(&mut self, input_handle: i32, output_handle: i32) -> Result<i32, VMHooksEarlyExit>;
250 fn keccak256(&mut self, data_offset: MemPtr, length: MemLength, result_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
251 fn managed_keccak256(&mut self, input_handle: i32, output_handle: i32) -> Result<i32, VMHooksEarlyExit>;
252 fn ripemd160(&mut self, data_offset: MemPtr, length: MemLength, result_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
253 fn managed_ripemd160(&mut self, input_handle: i32, output_handle: i32) -> Result<i32, VMHooksEarlyExit>;
254 fn verify_bls(&mut self, key_offset: MemPtr, message_offset: MemPtr, message_length: MemLength, sig_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
255 fn managed_verify_bls(&mut self, key_handle: i32, message_handle: i32, sig_handle: i32) -> Result<i32, VMHooksEarlyExit>;
256 fn verify_ed25519(&mut self, key_offset: MemPtr, message_offset: MemPtr, message_length: MemLength, sig_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
257 fn managed_verify_ed25519(&mut self, key_handle: i32, message_handle: i32, sig_handle: i32) -> Result<i32, VMHooksEarlyExit>;
258 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>;
259 fn managed_verify_custom_secp256k1(&mut self, key_handle: i32, message_handle: i32, sig_handle: i32, hash_type: i32) -> Result<i32, VMHooksEarlyExit>;
260 fn verify_secp256k1(&mut self, key_offset: MemPtr, key_length: MemLength, message_offset: MemPtr, message_length: MemLength, sig_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
261 fn managed_verify_secp256k1(&mut self, key_handle: i32, message_handle: i32, sig_handle: i32) -> Result<i32, VMHooksEarlyExit>;
262 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>;
263 fn managed_encode_secp256k1_der_signature(&mut self, r_handle: i32, s_handle: i32, sig_handle: i32) -> Result<i32, VMHooksEarlyExit>;
264 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>;
265 fn double_ec(&mut self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, point_xhandle: i32, point_yhandle: i32) -> Result<(), VMHooksEarlyExit>;
266 fn is_on_curve_ec(&mut self, ec_handle: i32, point_xhandle: i32, point_yhandle: i32) -> Result<i32, VMHooksEarlyExit>;
267 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>;
268 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>;
269 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>;
270 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>;
271 fn marshal_ec(&mut self, x_pair_handle: i32, y_pair_handle: i32, ec_handle: i32, result_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
272 fn managed_marshal_ec(&mut self, x_pair_handle: i32, y_pair_handle: i32, ec_handle: i32, result_handle: i32) -> Result<i32, VMHooksEarlyExit>;
273 fn marshal_compressed_ec(&mut self, x_pair_handle: i32, y_pair_handle: i32, ec_handle: i32, result_offset: MemPtr) -> Result<i32, VMHooksEarlyExit>;
274 fn managed_marshal_compressed_ec(&mut self, x_pair_handle: i32, y_pair_handle: i32, ec_handle: i32, result_handle: i32) -> Result<i32, VMHooksEarlyExit>;
275 fn unmarshal_ec(&mut self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, data_offset: MemPtr, length: MemLength) -> Result<i32, VMHooksEarlyExit>;
276 fn managed_unmarshal_ec(&mut self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, data_handle: i32) -> Result<i32, VMHooksEarlyExit>;
277 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>;
278 fn managed_unmarshal_compressed_ec(&mut self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, data_handle: i32) -> Result<i32, VMHooksEarlyExit>;
279 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>;
280 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>;
281 fn create_ec(&mut self, data_offset: MemPtr, data_length: MemLength) -> Result<i32, VMHooksEarlyExit>;
282 fn managed_create_ec(&mut self, data_handle: i32) -> Result<i32, VMHooksEarlyExit>;
283 fn get_curve_length_ec(&mut self, ec_handle: i32) -> Result<i32, VMHooksEarlyExit>;
284 fn get_priv_key_byte_length_ec(&mut self, ec_handle: i32) -> Result<i32, VMHooksEarlyExit>;
285 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>;
286 fn managed_verify_secp256r1(&mut self, key_handle: i32, message_handle: i32, sig_handle: i32) -> Result<i32, VMHooksEarlyExit>;
287 fn managed_verify_blssignature_share(&mut self, key_handle: i32, message_handle: i32, sig_handle: i32) -> Result<i32, VMHooksEarlyExit>;
288 fn managed_verify_blsaggregated_signature(&mut self, key_handle: i32, message_handle: i32, sig_handle: i32) -> Result<i32, VMHooksEarlyExit>;
289}
290
291#[derive(Debug)]
293pub struct VMHooksDefault;
294
295#[allow(unused)]
296#[rustfmt::skip]
297impl VMHooks for VMHooksDefault {
298 fn get_gas_left(&mut self) -> Result<i64, VMHooksEarlyExit> {
299 println!("Called: get_gas_left");
300 Ok(0)
301 }
302
303 fn get_sc_address(&mut self, result_offset: MemPtr) -> Result<(), VMHooksEarlyExit> {
304 println!("Called: get_sc_address");
305 Ok(())
306 }
307
308 fn get_owner_address(&mut self, result_offset: MemPtr) -> Result<(), VMHooksEarlyExit> {
309 println!("Called: get_owner_address");
310 Ok(())
311 }
312
313 fn get_shard_of_address(&mut self, address_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
314 println!("Called: get_shard_of_address");
315 Ok(0)
316 }
317
318 fn is_smart_contract(&mut self, address_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
319 println!("Called: is_smart_contract");
320 Ok(0)
321 }
322
323 fn signal_error(&mut self, message_offset: MemPtr, message_length: MemLength) -> Result<(), VMHooksEarlyExit> {
324 println!("Called: signal_error");
325 Ok(())
326 }
327
328 fn get_external_balance(&mut self, address_offset: MemPtr, result_offset: MemPtr) -> Result<(), VMHooksEarlyExit> {
329 println!("Called: get_external_balance");
330 Ok(())
331 }
332
333 fn get_block_hash(&mut self, nonce: i64, result_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
334 println!("Called: get_block_hash");
335 Ok(0)
336 }
337
338 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> {
339 println!("Called: get_esdt_balance");
340 Ok(0)
341 }
342
343 fn get_esdt_nft_name_length(&mut self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, nonce: i64) -> Result<i32, VMHooksEarlyExit> {
344 println!("Called: get_esdt_nft_name_length");
345 Ok(0)
346 }
347
348 fn get_esdt_nft_attribute_length(&mut self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, nonce: i64) -> Result<i32, VMHooksEarlyExit> {
349 println!("Called: get_esdt_nft_attribute_length");
350 Ok(0)
351 }
352
353 fn get_esdt_nft_uri_length(&mut self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength, nonce: i64) -> Result<i32, VMHooksEarlyExit> {
354 println!("Called: get_esdt_nft_uri_length");
355 Ok(0)
356 }
357
358 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> {
359 println!("Called: get_esdt_token_data");
360 Ok(0)
361 }
362
363 fn get_esdt_local_roles(&mut self, token_id_handle: i32) -> Result<i64, VMHooksEarlyExit> {
364 println!("Called: get_esdt_local_roles");
365 Ok(0)
366 }
367
368 fn validate_token_identifier(&mut self, token_id_handle: i32) -> Result<i32, VMHooksEarlyExit> {
369 println!("Called: validate_token_identifier");
370 Ok(0)
371 }
372
373 fn transfer_value(&mut self, dest_offset: MemPtr, value_offset: MemPtr, data_offset: MemPtr, length: MemLength) -> Result<i32, VMHooksEarlyExit> {
374 println!("Called: transfer_value");
375 Ok(0)
376 }
377
378 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> {
379 println!("Called: transfer_value_execute");
380 Ok(0)
381 }
382
383 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> {
384 println!("Called: transfer_esdt_execute");
385 Ok(0)
386 }
387
388 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> {
389 println!("Called: transfer_esdt_nft_execute");
390 Ok(0)
391 }
392
393 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> {
394 println!("Called: multi_transfer_esdt_nft_execute");
395 Ok(0)
396 }
397
398 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> {
399 println!("Called: create_async_call");
400 Ok(0)
401 }
402
403 fn set_async_context_callback(&mut self, callback: MemPtr, callback_length: MemLength, data: MemPtr, data_length: MemLength, gas: i64) -> Result<i32, VMHooksEarlyExit> {
404 println!("Called: set_async_context_callback");
405 Ok(0)
406 }
407
408 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> {
409 println!("Called: upgrade_contract");
410 Ok(())
411 }
412
413 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> {
414 println!("Called: upgrade_from_source_contract");
415 Ok(())
416 }
417
418 fn delete_contract(&mut self, dest_offset: MemPtr, gas_limit: i64, num_arguments: i32, arguments_length_offset: MemPtr, data_offset: MemPtr) -> Result<(), VMHooksEarlyExit> {
419 println!("Called: delete_contract");
420 Ok(())
421 }
422
423 fn async_call(&mut self, dest_offset: MemPtr, value_offset: MemPtr, data_offset: MemPtr, length: MemLength) -> Result<(), VMHooksEarlyExit> {
424 println!("Called: async_call");
425 Ok(())
426 }
427
428 fn get_argument_length(&mut self, id: i32) -> Result<i32, VMHooksEarlyExit> {
429 println!("Called: get_argument_length");
430 Ok(0)
431 }
432
433 fn get_argument(&mut self, id: i32, arg_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
434 println!("Called: get_argument");
435 Ok(0)
436 }
437
438 fn get_function(&mut self, function_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
439 println!("Called: get_function");
440 Ok(0)
441 }
442
443 fn get_num_arguments(&mut self) -> Result<i32, VMHooksEarlyExit> {
444 println!("Called: get_num_arguments");
445 Ok(0)
446 }
447
448 fn storage_store(&mut self, key_offset: MemPtr, key_length: MemLength, data_offset: MemPtr, data_length: MemLength) -> Result<i32, VMHooksEarlyExit> {
449 println!("Called: storage_store");
450 Ok(0)
451 }
452
453 fn storage_load_length(&mut self, key_offset: MemPtr, key_length: MemLength) -> Result<i32, VMHooksEarlyExit> {
454 println!("Called: storage_load_length");
455 Ok(0)
456 }
457
458 fn storage_load_from_address(&mut self, address_offset: MemPtr, key_offset: MemPtr, key_length: MemLength, data_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
459 println!("Called: storage_load_from_address");
460 Ok(0)
461 }
462
463 fn storage_load(&mut self, key_offset: MemPtr, key_length: MemLength, data_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
464 println!("Called: storage_load");
465 Ok(0)
466 }
467
468 fn set_storage_lock(&mut self, key_offset: MemPtr, key_length: MemLength, lock_timestamp: i64) -> Result<i32, VMHooksEarlyExit> {
469 println!("Called: set_storage_lock");
470 Ok(0)
471 }
472
473 fn get_storage_lock(&mut self, key_offset: MemPtr, key_length: MemLength) -> Result<i64, VMHooksEarlyExit> {
474 println!("Called: get_storage_lock");
475 Ok(0)
476 }
477
478 fn is_storage_locked(&mut self, key_offset: MemPtr, key_length: MemLength) -> Result<i32, VMHooksEarlyExit> {
479 println!("Called: is_storage_locked");
480 Ok(0)
481 }
482
483 fn clear_storage_lock(&mut self, key_offset: MemPtr, key_length: MemLength) -> Result<i32, VMHooksEarlyExit> {
484 println!("Called: clear_storage_lock");
485 Ok(0)
486 }
487
488 fn get_caller(&mut self, result_offset: MemPtr) -> Result<(), VMHooksEarlyExit> {
489 println!("Called: get_caller");
490 Ok(())
491 }
492
493 fn check_no_payment(&mut self) -> Result<(), VMHooksEarlyExit> {
494 println!("Called: check_no_payment");
495 Ok(())
496 }
497
498 fn get_call_value(&mut self, result_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
499 println!("Called: get_call_value");
500 Ok(0)
501 }
502
503 fn get_esdt_value(&mut self, result_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
504 println!("Called: get_esdt_value");
505 Ok(0)
506 }
507
508 fn get_esdt_value_by_index(&mut self, result_offset: MemPtr, index: i32) -> Result<i32, VMHooksEarlyExit> {
509 println!("Called: get_esdt_value_by_index");
510 Ok(0)
511 }
512
513 fn get_esdt_token_name(&mut self, result_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
514 println!("Called: get_esdt_token_name");
515 Ok(0)
516 }
517
518 fn get_esdt_token_name_by_index(&mut self, result_offset: MemPtr, index: i32) -> Result<i32, VMHooksEarlyExit> {
519 println!("Called: get_esdt_token_name_by_index");
520 Ok(0)
521 }
522
523 fn get_esdt_token_nonce(&mut self) -> Result<i64, VMHooksEarlyExit> {
524 println!("Called: get_esdt_token_nonce");
525 Ok(0)
526 }
527
528 fn get_esdt_token_nonce_by_index(&mut self, index: i32) -> Result<i64, VMHooksEarlyExit> {
529 println!("Called: get_esdt_token_nonce_by_index");
530 Ok(0)
531 }
532
533 fn get_current_esdt_nft_nonce(&mut self, address_offset: MemPtr, token_id_offset: MemPtr, token_id_len: MemLength) -> Result<i64, VMHooksEarlyExit> {
534 println!("Called: get_current_esdt_nft_nonce");
535 Ok(0)
536 }
537
538 fn get_esdt_token_type(&mut self) -> Result<i32, VMHooksEarlyExit> {
539 println!("Called: get_esdt_token_type");
540 Ok(0)
541 }
542
543 fn get_esdt_token_type_by_index(&mut self, index: i32) -> Result<i32, VMHooksEarlyExit> {
544 println!("Called: get_esdt_token_type_by_index");
545 Ok(0)
546 }
547
548 fn get_num_esdt_transfers(&mut self) -> Result<i32, VMHooksEarlyExit> {
549 println!("Called: get_num_esdt_transfers");
550 Ok(0)
551 }
552
553 fn get_call_value_token_name(&mut self, call_value_offset: MemPtr, token_name_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
554 println!("Called: get_call_value_token_name");
555 Ok(0)
556 }
557
558 fn get_call_value_token_name_by_index(&mut self, call_value_offset: MemPtr, token_name_offset: MemPtr, index: i32) -> Result<i32, VMHooksEarlyExit> {
559 println!("Called: get_call_value_token_name_by_index");
560 Ok(0)
561 }
562
563 fn is_reserved_function_name(&mut self, name_handle: i32) -> Result<i32, VMHooksEarlyExit> {
564 println!("Called: is_reserved_function_name");
565 Ok(0)
566 }
567
568 fn write_log(&mut self, data_pointer: MemPtr, data_length: MemLength, topic_ptr: MemPtr, num_topics: i32) -> Result<(), VMHooksEarlyExit> {
569 println!("Called: write_log");
570 Ok(())
571 }
572
573 fn write_event_log(&mut self, num_topics: i32, topic_lengths_offset: MemPtr, topic_offset: MemPtr, data_offset: MemPtr, data_length: MemLength) -> Result<(), VMHooksEarlyExit> {
574 println!("Called: write_event_log");
575 Ok(())
576 }
577
578 fn get_block_timestamp(&mut self) -> Result<i64, VMHooksEarlyExit> {
579 println!("Called: get_block_timestamp");
580 Ok(0)
581 }
582
583 fn get_block_timestamp_ms(&mut self) -> Result<i64, VMHooksEarlyExit> {
584 println!("Called: get_block_timestamp_ms");
585 Ok(0)
586 }
587
588 fn get_block_nonce(&mut self) -> Result<i64, VMHooksEarlyExit> {
589 println!("Called: get_block_nonce");
590 Ok(0)
591 }
592
593 fn get_block_round(&mut self) -> Result<i64, VMHooksEarlyExit> {
594 println!("Called: get_block_round");
595 Ok(0)
596 }
597
598 fn get_block_epoch(&mut self) -> Result<i64, VMHooksEarlyExit> {
599 println!("Called: get_block_epoch");
600 Ok(0)
601 }
602
603 fn get_block_random_seed(&mut self, pointer: MemPtr) -> Result<(), VMHooksEarlyExit> {
604 println!("Called: get_block_random_seed");
605 Ok(())
606 }
607
608 fn get_state_root_hash(&mut self, pointer: MemPtr) -> Result<(), VMHooksEarlyExit> {
609 println!("Called: get_state_root_hash");
610 Ok(())
611 }
612
613 fn get_prev_block_timestamp(&mut self) -> Result<i64, VMHooksEarlyExit> {
614 println!("Called: get_prev_block_timestamp");
615 Ok(0)
616 }
617
618 fn get_prev_block_timestamp_ms(&mut self) -> Result<i64, VMHooksEarlyExit> {
619 println!("Called: get_prev_block_timestamp_ms");
620 Ok(0)
621 }
622
623 fn get_prev_block_nonce(&mut self) -> Result<i64, VMHooksEarlyExit> {
624 println!("Called: get_prev_block_nonce");
625 Ok(0)
626 }
627
628 fn get_prev_block_round(&mut self) -> Result<i64, VMHooksEarlyExit> {
629 println!("Called: get_prev_block_round");
630 Ok(0)
631 }
632
633 fn get_prev_block_epoch(&mut self) -> Result<i64, VMHooksEarlyExit> {
634 println!("Called: get_prev_block_epoch");
635 Ok(0)
636 }
637
638 fn get_prev_block_random_seed(&mut self, pointer: MemPtr) -> Result<(), VMHooksEarlyExit> {
639 println!("Called: get_prev_block_random_seed");
640 Ok(())
641 }
642
643 fn get_block_round_time_ms(&mut self) -> Result<i64, VMHooksEarlyExit> {
644 println!("Called: get_block_round_time_ms");
645 Ok(0)
646 }
647
648 fn epoch_start_block_timestamp_ms(&mut self) -> Result<i64, VMHooksEarlyExit> {
649 println!("Called: epoch_start_block_timestamp_ms");
650 Ok(0)
651 }
652
653 fn epoch_start_block_nonce(&mut self) -> Result<i64, VMHooksEarlyExit> {
654 println!("Called: epoch_start_block_nonce");
655 Ok(0)
656 }
657
658 fn epoch_start_block_round(&mut self) -> Result<i64, VMHooksEarlyExit> {
659 println!("Called: epoch_start_block_round");
660 Ok(0)
661 }
662
663 fn finish(&mut self, pointer: MemPtr, length: MemLength) -> Result<(), VMHooksEarlyExit> {
664 println!("Called: finish");
665 Ok(())
666 }
667
668 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> {
669 println!("Called: execute_on_same_context");
670 Ok(0)
671 }
672
673 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> {
674 println!("Called: execute_on_dest_context");
675 Ok(0)
676 }
677
678 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> {
679 println!("Called: execute_read_only");
680 Ok(0)
681 }
682
683 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> {
684 println!("Called: create_contract");
685 Ok(0)
686 }
687
688 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> {
689 println!("Called: deploy_from_source_contract");
690 Ok(0)
691 }
692
693 fn get_num_return_data(&mut self) -> Result<i32, VMHooksEarlyExit> {
694 println!("Called: get_num_return_data");
695 Ok(0)
696 }
697
698 fn get_return_data_size(&mut self, result_id: i32) -> Result<i32, VMHooksEarlyExit> {
699 println!("Called: get_return_data_size");
700 Ok(0)
701 }
702
703 fn get_return_data(&mut self, result_id: i32, data_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
704 println!("Called: get_return_data");
705 Ok(0)
706 }
707
708 fn clean_return_data(&mut self) -> Result<(), VMHooksEarlyExit> {
709 println!("Called: clean_return_data");
710 Ok(())
711 }
712
713 fn delete_from_return_data(&mut self, result_id: i32) -> Result<(), VMHooksEarlyExit> {
714 println!("Called: delete_from_return_data");
715 Ok(())
716 }
717
718 fn get_original_tx_hash(&mut self, data_offset: MemPtr) -> Result<(), VMHooksEarlyExit> {
719 println!("Called: get_original_tx_hash");
720 Ok(())
721 }
722
723 fn get_current_tx_hash(&mut self, data_offset: MemPtr) -> Result<(), VMHooksEarlyExit> {
724 println!("Called: get_current_tx_hash");
725 Ok(())
726 }
727
728 fn get_prev_tx_hash(&mut self, data_offset: MemPtr) -> Result<(), VMHooksEarlyExit> {
729 println!("Called: get_prev_tx_hash");
730 Ok(())
731 }
732
733 fn managed_sc_address(&mut self, destination_handle: i32) -> Result<(), VMHooksEarlyExit> {
734 println!("Called: managed_sc_address");
735 Ok(())
736 }
737
738 fn managed_owner_address(&mut self, destination_handle: i32) -> Result<(), VMHooksEarlyExit> {
739 println!("Called: managed_owner_address");
740 Ok(())
741 }
742
743 fn managed_caller(&mut self, destination_handle: i32) -> Result<(), VMHooksEarlyExit> {
744 println!("Called: managed_caller");
745 Ok(())
746 }
747
748 fn managed_get_original_caller_addr(&mut self, destination_handle: i32) -> Result<(), VMHooksEarlyExit> {
749 println!("Called: managed_get_original_caller_addr");
750 Ok(())
751 }
752
753 fn managed_get_relayer_addr(&mut self, destination_handle: i32) -> Result<(), VMHooksEarlyExit> {
754 println!("Called: managed_get_relayer_addr");
755 Ok(())
756 }
757
758 fn managed_signal_error(&mut self, err_handle: i32) -> Result<(), VMHooksEarlyExit> {
759 println!("Called: managed_signal_error");
760 Ok(())
761 }
762
763 fn managed_write_log(&mut self, topics_handle: i32, data_handle: i32) -> Result<(), VMHooksEarlyExit> {
764 println!("Called: managed_write_log");
765 Ok(())
766 }
767
768 fn managed_get_original_tx_hash(&mut self, result_handle: i32) -> Result<(), VMHooksEarlyExit> {
769 println!("Called: managed_get_original_tx_hash");
770 Ok(())
771 }
772
773 fn managed_get_state_root_hash(&mut self, result_handle: i32) -> Result<(), VMHooksEarlyExit> {
774 println!("Called: managed_get_state_root_hash");
775 Ok(())
776 }
777
778 fn managed_get_block_random_seed(&mut self, result_handle: i32) -> Result<(), VMHooksEarlyExit> {
779 println!("Called: managed_get_block_random_seed");
780 Ok(())
781 }
782
783 fn managed_get_prev_block_random_seed(&mut self, result_handle: i32) -> Result<(), VMHooksEarlyExit> {
784 println!("Called: managed_get_prev_block_random_seed");
785 Ok(())
786 }
787
788 fn managed_get_return_data(&mut self, result_id: i32, result_handle: i32) -> Result<(), VMHooksEarlyExit> {
789 println!("Called: managed_get_return_data");
790 Ok(())
791 }
792
793 fn managed_get_multi_esdt_call_value(&mut self, multi_call_value_handle: i32) -> Result<(), VMHooksEarlyExit> {
794 println!("Called: managed_get_multi_esdt_call_value");
795 Ok(())
796 }
797
798 fn managed_get_all_transfers_call_value(&mut self, transfer_call_values_list_handle: i32) -> Result<(), VMHooksEarlyExit> {
799 println!("Called: managed_get_all_transfers_call_value");
800 Ok(())
801 }
802
803 fn managed_get_back_transfers(&mut self, esdt_transfers_value_handle: i32, egld_value_handle: i32) -> Result<(), VMHooksEarlyExit> {
804 println!("Called: managed_get_back_transfers");
805 Ok(())
806 }
807
808 fn managed_get_esdt_balance(&mut self, address_handle: i32, token_id_handle: i32, nonce: i64, value_handle: i32) -> Result<(), VMHooksEarlyExit> {
809 println!("Called: managed_get_esdt_balance");
810 Ok(())
811 }
812
813 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> {
814 println!("Called: managed_get_esdt_token_data");
815 Ok(())
816 }
817
818 fn managed_get_esdt_token_type(&mut self, address_handle: i32, token_id_handle: i32, nonce: i64, type_handle: i32) -> Result<(), VMHooksEarlyExit> {
819 println!("Called: managed_get_esdt_token_type");
820 Ok(())
821 }
822
823 fn managed_async_call(&mut self, dest_handle: i32, value_handle: i32, function_handle: i32, arguments_handle: i32) -> Result<(), VMHooksEarlyExit> {
824 println!("Called: managed_async_call");
825 Ok(())
826 }
827
828 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> {
829 println!("Called: managed_create_async_call");
830 Ok(0)
831 }
832
833 fn managed_get_callback_closure(&mut self, callback_closure_handle: i32) -> Result<(), VMHooksEarlyExit> {
834 println!("Called: managed_get_callback_closure");
835 Ok(())
836 }
837
838 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> {
839 println!("Called: managed_upgrade_from_source_contract");
840 Ok(())
841 }
842
843 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> {
844 println!("Called: managed_upgrade_contract");
845 Ok(())
846 }
847
848 fn managed_delete_contract(&mut self, dest_handle: i32, gas_limit: i64, arguments_handle: i32) -> Result<(), VMHooksEarlyExit> {
849 println!("Called: managed_delete_contract");
850 Ok(())
851 }
852
853 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> {
854 println!("Called: managed_deploy_from_source_contract");
855 Ok(0)
856 }
857
858 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> {
859 println!("Called: managed_create_contract");
860 Ok(0)
861 }
862
863 fn managed_execute_read_only(&mut self, gas: i64, address_handle: i32, function_handle: i32, arguments_handle: i32, result_handle: i32) -> Result<i32, VMHooksEarlyExit> {
864 println!("Called: managed_execute_read_only");
865 Ok(0)
866 }
867
868 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> {
869 println!("Called: managed_execute_on_same_context");
870 Ok(0)
871 }
872
873 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> {
874 println!("Called: managed_execute_on_dest_context");
875 Ok(0)
876 }
877
878 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> {
879 println!("Called: managed_execute_on_dest_context_with_error_return");
880 Ok(0)
881 }
882
883 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> {
884 println!("Called: managed_multi_transfer_esdt_nft_execute");
885 Ok(0)
886 }
887
888 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> {
889 println!("Called: managed_multi_transfer_esdt_nft_execute_with_return");
890 Ok(0)
891 }
892
893 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> {
894 println!("Called: managed_multi_transfer_esdt_nft_execute_by_user");
895 Ok(0)
896 }
897
898 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> {
899 println!("Called: managed_transfer_value_execute");
900 Ok(0)
901 }
902
903 fn managed_is_esdt_frozen(&mut self, address_handle: i32, token_id_handle: i32, nonce: i64) -> Result<i32, VMHooksEarlyExit> {
904 println!("Called: managed_is_esdt_frozen");
905 Ok(0)
906 }
907
908 fn managed_is_esdt_limited_transfer(&mut self, token_id_handle: i32) -> Result<i32, VMHooksEarlyExit> {
909 println!("Called: managed_is_esdt_limited_transfer");
910 Ok(0)
911 }
912
913 fn managed_is_esdt_paused(&mut self, token_id_handle: i32) -> Result<i32, VMHooksEarlyExit> {
914 println!("Called: managed_is_esdt_paused");
915 Ok(0)
916 }
917
918 fn managed_buffer_to_hex(&mut self, source_handle: i32, dest_handle: i32) -> Result<(), VMHooksEarlyExit> {
919 println!("Called: managed_buffer_to_hex");
920 Ok(())
921 }
922
923 fn managed_get_code_metadata(&mut self, address_handle: i32, response_handle: i32) -> Result<(), VMHooksEarlyExit> {
924 println!("Called: managed_get_code_metadata");
925 Ok(())
926 }
927
928 fn managed_get_code_hash(&mut self, address_handle: i32, code_hash_handle: i32) -> Result<(), VMHooksEarlyExit> {
929 println!("Called: managed_get_code_hash");
930 Ok(())
931 }
932
933 fn managed_is_builtin_function(&mut self, function_name_handle: i32) -> Result<i32, VMHooksEarlyExit> {
934 println!("Called: managed_is_builtin_function");
935 Ok(0)
936 }
937
938 fn big_float_new_from_parts(&mut self, integral_part: i32, fractional_part: i32, exponent: i32) -> Result<i32, VMHooksEarlyExit> {
939 println!("Called: big_float_new_from_parts");
940 Ok(0)
941 }
942
943 fn big_float_new_from_frac(&mut self, numerator: i64, denominator: i64) -> Result<i32, VMHooksEarlyExit> {
944 println!("Called: big_float_new_from_frac");
945 Ok(0)
946 }
947
948 fn big_float_new_from_sci(&mut self, significand: i64, exponent: i64) -> Result<i32, VMHooksEarlyExit> {
949 println!("Called: big_float_new_from_sci");
950 Ok(0)
951 }
952
953 fn big_float_add(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit> {
954 println!("Called: big_float_add");
955 Ok(())
956 }
957
958 fn big_float_sub(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit> {
959 println!("Called: big_float_sub");
960 Ok(())
961 }
962
963 fn big_float_mul(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit> {
964 println!("Called: big_float_mul");
965 Ok(())
966 }
967
968 fn big_float_div(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit> {
969 println!("Called: big_float_div");
970 Ok(())
971 }
972
973 fn big_float_neg(&mut self, destination_handle: i32, op_handle: i32) -> Result<(), VMHooksEarlyExit> {
974 println!("Called: big_float_neg");
975 Ok(())
976 }
977
978 fn big_float_clone(&mut self, destination_handle: i32, op_handle: i32) -> Result<(), VMHooksEarlyExit> {
979 println!("Called: big_float_clone");
980 Ok(())
981 }
982
983 fn big_float_cmp(&mut self, op1_handle: i32, op2_handle: i32) -> Result<i32, VMHooksEarlyExit> {
984 println!("Called: big_float_cmp");
985 Ok(0)
986 }
987
988 fn big_float_abs(&mut self, destination_handle: i32, op_handle: i32) -> Result<(), VMHooksEarlyExit> {
989 println!("Called: big_float_abs");
990 Ok(())
991 }
992
993 fn big_float_sign(&mut self, op_handle: i32) -> Result<i32, VMHooksEarlyExit> {
994 println!("Called: big_float_sign");
995 Ok(0)
996 }
997
998 fn big_float_sqrt(&mut self, destination_handle: i32, op_handle: i32) -> Result<(), VMHooksEarlyExit> {
999 println!("Called: big_float_sqrt");
1000 Ok(())
1001 }
1002
1003 fn big_float_pow(&mut self, destination_handle: i32, op_handle: i32, exponent: i32) -> Result<(), VMHooksEarlyExit> {
1004 println!("Called: big_float_pow");
1005 Ok(())
1006 }
1007
1008 fn big_float_floor(&mut self, dest_big_int_handle: i32, op_handle: i32) -> Result<(), VMHooksEarlyExit> {
1009 println!("Called: big_float_floor");
1010 Ok(())
1011 }
1012
1013 fn big_float_ceil(&mut self, dest_big_int_handle: i32, op_handle: i32) -> Result<(), VMHooksEarlyExit> {
1014 println!("Called: big_float_ceil");
1015 Ok(())
1016 }
1017
1018 fn big_float_truncate(&mut self, dest_big_int_handle: i32, op_handle: i32) -> Result<(), VMHooksEarlyExit> {
1019 println!("Called: big_float_truncate");
1020 Ok(())
1021 }
1022
1023 fn big_float_set_int64(&mut self, destination_handle: i32, value: i64) -> Result<(), VMHooksEarlyExit> {
1024 println!("Called: big_float_set_int64");
1025 Ok(())
1026 }
1027
1028 fn big_float_is_int(&mut self, op_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1029 println!("Called: big_float_is_int");
1030 Ok(0)
1031 }
1032
1033 fn big_float_set_big_int(&mut self, destination_handle: i32, big_int_handle: i32) -> Result<(), VMHooksEarlyExit> {
1034 println!("Called: big_float_set_big_int");
1035 Ok(())
1036 }
1037
1038 fn big_float_get_const_pi(&mut self, destination_handle: i32) -> Result<(), VMHooksEarlyExit> {
1039 println!("Called: big_float_get_const_pi");
1040 Ok(())
1041 }
1042
1043 fn big_float_get_const_e(&mut self, destination_handle: i32) -> Result<(), VMHooksEarlyExit> {
1044 println!("Called: big_float_get_const_e");
1045 Ok(())
1046 }
1047
1048 fn big_int_get_unsigned_argument(&mut self, id: i32, destination_handle: i32) -> Result<(), VMHooksEarlyExit> {
1049 println!("Called: big_int_get_unsigned_argument");
1050 Ok(())
1051 }
1052
1053 fn big_int_get_signed_argument(&mut self, id: i32, destination_handle: i32) -> Result<(), VMHooksEarlyExit> {
1054 println!("Called: big_int_get_signed_argument");
1055 Ok(())
1056 }
1057
1058 fn big_int_storage_store_unsigned(&mut self, key_offset: MemPtr, key_length: MemLength, source_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1059 println!("Called: big_int_storage_store_unsigned");
1060 Ok(0)
1061 }
1062
1063 fn big_int_storage_load_unsigned(&mut self, key_offset: MemPtr, key_length: MemLength, destination_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1064 println!("Called: big_int_storage_load_unsigned");
1065 Ok(0)
1066 }
1067
1068 fn big_int_get_call_value(&mut self, destination_handle: i32) -> Result<(), VMHooksEarlyExit> {
1069 println!("Called: big_int_get_call_value");
1070 Ok(())
1071 }
1072
1073 fn big_int_get_esdt_call_value(&mut self, destination: i32) -> Result<(), VMHooksEarlyExit> {
1074 println!("Called: big_int_get_esdt_call_value");
1075 Ok(())
1076 }
1077
1078 fn big_int_get_esdt_call_value_by_index(&mut self, destination_handle: i32, index: i32) -> Result<(), VMHooksEarlyExit> {
1079 println!("Called: big_int_get_esdt_call_value_by_index");
1080 Ok(())
1081 }
1082
1083 fn big_int_get_external_balance(&mut self, address_offset: MemPtr, result: i32) -> Result<(), VMHooksEarlyExit> {
1084 println!("Called: big_int_get_external_balance");
1085 Ok(())
1086 }
1087
1088 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> {
1089 println!("Called: big_int_get_esdt_external_balance");
1090 Ok(())
1091 }
1092
1093 fn big_int_new(&mut self, small_value: i64) -> Result<i32, VMHooksEarlyExit> {
1094 println!("Called: big_int_new");
1095 Ok(0)
1096 }
1097
1098 fn big_int_unsigned_byte_length(&mut self, reference_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1099 println!("Called: big_int_unsigned_byte_length");
1100 Ok(0)
1101 }
1102
1103 fn big_int_signed_byte_length(&mut self, reference_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1104 println!("Called: big_int_signed_byte_length");
1105 Ok(0)
1106 }
1107
1108 fn big_int_get_unsigned_bytes(&mut self, reference_handle: i32, byte_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
1109 println!("Called: big_int_get_unsigned_bytes");
1110 Ok(0)
1111 }
1112
1113 fn big_int_get_signed_bytes(&mut self, reference_handle: i32, byte_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
1114 println!("Called: big_int_get_signed_bytes");
1115 Ok(0)
1116 }
1117
1118 fn big_int_set_unsigned_bytes(&mut self, destination_handle: i32, byte_offset: MemPtr, byte_length: MemLength) -> Result<(), VMHooksEarlyExit> {
1119 println!("Called: big_int_set_unsigned_bytes");
1120 Ok(())
1121 }
1122
1123 fn big_int_set_signed_bytes(&mut self, destination_handle: i32, byte_offset: MemPtr, byte_length: MemLength) -> Result<(), VMHooksEarlyExit> {
1124 println!("Called: big_int_set_signed_bytes");
1125 Ok(())
1126 }
1127
1128 fn big_int_is_int64(&mut self, destination_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1129 println!("Called: big_int_is_int64");
1130 Ok(0)
1131 }
1132
1133 fn big_int_get_int64(&mut self, destination_handle: i32) -> Result<i64, VMHooksEarlyExit> {
1134 println!("Called: big_int_get_int64");
1135 Ok(0)
1136 }
1137
1138 fn big_int_set_int64(&mut self, destination_handle: i32, value: i64) -> Result<(), VMHooksEarlyExit> {
1139 println!("Called: big_int_set_int64");
1140 Ok(())
1141 }
1142
1143 fn big_int_add(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit> {
1144 println!("Called: big_int_add");
1145 Ok(())
1146 }
1147
1148 fn big_int_sub(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit> {
1149 println!("Called: big_int_sub");
1150 Ok(())
1151 }
1152
1153 fn big_int_mul(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit> {
1154 println!("Called: big_int_mul");
1155 Ok(())
1156 }
1157
1158 fn big_int_tdiv(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit> {
1159 println!("Called: big_int_tdiv");
1160 Ok(())
1161 }
1162
1163 fn big_int_tmod(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit> {
1164 println!("Called: big_int_tmod");
1165 Ok(())
1166 }
1167
1168 fn big_int_ediv(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit> {
1169 println!("Called: big_int_ediv");
1170 Ok(())
1171 }
1172
1173 fn big_int_emod(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit> {
1174 println!("Called: big_int_emod");
1175 Ok(())
1176 }
1177
1178 fn big_int_sqrt(&mut self, destination_handle: i32, op_handle: i32) -> Result<(), VMHooksEarlyExit> {
1179 println!("Called: big_int_sqrt");
1180 Ok(())
1181 }
1182
1183 fn big_int_pow(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit> {
1184 println!("Called: big_int_pow");
1185 Ok(())
1186 }
1187
1188 fn big_int_log2(&mut self, op1_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1189 println!("Called: big_int_log2");
1190 Ok(0)
1191 }
1192
1193 fn big_int_abs(&mut self, destination_handle: i32, op_handle: i32) -> Result<(), VMHooksEarlyExit> {
1194 println!("Called: big_int_abs");
1195 Ok(())
1196 }
1197
1198 fn big_int_neg(&mut self, destination_handle: i32, op_handle: i32) -> Result<(), VMHooksEarlyExit> {
1199 println!("Called: big_int_neg");
1200 Ok(())
1201 }
1202
1203 fn big_int_sign(&mut self, op_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1204 println!("Called: big_int_sign");
1205 Ok(0)
1206 }
1207
1208 fn big_int_cmp(&mut self, op1_handle: i32, op2_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1209 println!("Called: big_int_cmp");
1210 Ok(0)
1211 }
1212
1213 fn big_int_not(&mut self, destination_handle: i32, op_handle: i32) -> Result<(), VMHooksEarlyExit> {
1214 println!("Called: big_int_not");
1215 Ok(())
1216 }
1217
1218 fn big_int_and(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit> {
1219 println!("Called: big_int_and");
1220 Ok(())
1221 }
1222
1223 fn big_int_or(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit> {
1224 println!("Called: big_int_or");
1225 Ok(())
1226 }
1227
1228 fn big_int_xor(&mut self, destination_handle: i32, op1_handle: i32, op2_handle: i32) -> Result<(), VMHooksEarlyExit> {
1229 println!("Called: big_int_xor");
1230 Ok(())
1231 }
1232
1233 fn big_int_shr(&mut self, destination_handle: i32, op_handle: i32, bits: i32) -> Result<(), VMHooksEarlyExit> {
1234 println!("Called: big_int_shr");
1235 Ok(())
1236 }
1237
1238 fn big_int_shl(&mut self, destination_handle: i32, op_handle: i32, bits: i32) -> Result<(), VMHooksEarlyExit> {
1239 println!("Called: big_int_shl");
1240 Ok(())
1241 }
1242
1243 fn big_int_finish_unsigned(&mut self, reference_handle: i32) -> Result<(), VMHooksEarlyExit> {
1244 println!("Called: big_int_finish_unsigned");
1245 Ok(())
1246 }
1247
1248 fn big_int_finish_signed(&mut self, reference_handle: i32) -> Result<(), VMHooksEarlyExit> {
1249 println!("Called: big_int_finish_signed");
1250 Ok(())
1251 }
1252
1253 fn big_int_to_string(&mut self, big_int_handle: i32, destination_handle: i32) -> Result<(), VMHooksEarlyExit> {
1254 println!("Called: big_int_to_string");
1255 Ok(())
1256 }
1257
1258 fn mbuffer_new(&mut self) -> Result<i32, VMHooksEarlyExit> {
1259 println!("Called: mbuffer_new");
1260 Ok(0)
1261 }
1262
1263 fn mbuffer_new_from_bytes(&mut self, data_offset: MemPtr, data_length: MemLength) -> Result<i32, VMHooksEarlyExit> {
1264 println!("Called: mbuffer_new_from_bytes");
1265 Ok(0)
1266 }
1267
1268 fn mbuffer_get_length(&mut self, m_buffer_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1269 println!("Called: mbuffer_get_length");
1270 Ok(0)
1271 }
1272
1273 fn mbuffer_get_bytes(&mut self, m_buffer_handle: i32, result_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
1274 println!("Called: mbuffer_get_bytes");
1275 Ok(0)
1276 }
1277
1278 fn mbuffer_get_byte_slice(&mut self, source_handle: i32, starting_position: i32, slice_length: i32, result_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
1279 println!("Called: mbuffer_get_byte_slice");
1280 Ok(0)
1281 }
1282
1283 fn mbuffer_copy_byte_slice(&mut self, source_handle: i32, starting_position: i32, slice_length: i32, destination_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1284 println!("Called: mbuffer_copy_byte_slice");
1285 Ok(0)
1286 }
1287
1288 fn mbuffer_eq(&mut self, m_buffer_handle1: i32, m_buffer_handle2: i32) -> Result<i32, VMHooksEarlyExit> {
1289 println!("Called: mbuffer_eq");
1290 Ok(0)
1291 }
1292
1293 fn mbuffer_set_bytes(&mut self, m_buffer_handle: i32, data_offset: MemPtr, data_length: MemLength) -> Result<i32, VMHooksEarlyExit> {
1294 println!("Called: mbuffer_set_bytes");
1295 Ok(0)
1296 }
1297
1298 fn mbuffer_set_byte_slice(&mut self, m_buffer_handle: i32, starting_position: i32, data_length: MemLength, data_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
1299 println!("Called: mbuffer_set_byte_slice");
1300 Ok(0)
1301 }
1302
1303 fn mbuffer_append(&mut self, accumulator_handle: i32, data_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1304 println!("Called: mbuffer_append");
1305 Ok(0)
1306 }
1307
1308 fn mbuffer_append_bytes(&mut self, accumulator_handle: i32, data_offset: MemPtr, data_length: MemLength) -> Result<i32, VMHooksEarlyExit> {
1309 println!("Called: mbuffer_append_bytes");
1310 Ok(0)
1311 }
1312
1313 fn mbuffer_to_big_int_unsigned(&mut self, m_buffer_handle: i32, big_int_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1314 println!("Called: mbuffer_to_big_int_unsigned");
1315 Ok(0)
1316 }
1317
1318 fn mbuffer_to_big_int_signed(&mut self, m_buffer_handle: i32, big_int_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1319 println!("Called: mbuffer_to_big_int_signed");
1320 Ok(0)
1321 }
1322
1323 fn mbuffer_from_big_int_unsigned(&mut self, m_buffer_handle: i32, big_int_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1324 println!("Called: mbuffer_from_big_int_unsigned");
1325 Ok(0)
1326 }
1327
1328 fn mbuffer_from_big_int_signed(&mut self, m_buffer_handle: i32, big_int_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1329 println!("Called: mbuffer_from_big_int_signed");
1330 Ok(0)
1331 }
1332
1333 fn mbuffer_to_small_int_unsigned(&mut self, m_buffer_handle: i32) -> Result<i64, VMHooksEarlyExit> {
1334 println!("Called: mbuffer_to_small_int_unsigned");
1335 Ok(0)
1336 }
1337
1338 fn mbuffer_to_small_int_signed(&mut self, m_buffer_handle: i32) -> Result<i64, VMHooksEarlyExit> {
1339 println!("Called: mbuffer_to_small_int_signed");
1340 Ok(0)
1341 }
1342
1343 fn mbuffer_from_small_int_unsigned(&mut self, m_buffer_handle: i32, value: i64) -> Result<(), VMHooksEarlyExit> {
1344 println!("Called: mbuffer_from_small_int_unsigned");
1345 Ok(())
1346 }
1347
1348 fn mbuffer_from_small_int_signed(&mut self, m_buffer_handle: i32, value: i64) -> Result<(), VMHooksEarlyExit> {
1349 println!("Called: mbuffer_from_small_int_signed");
1350 Ok(())
1351 }
1352
1353 fn mbuffer_to_big_float(&mut self, m_buffer_handle: i32, big_float_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1354 println!("Called: mbuffer_to_big_float");
1355 Ok(0)
1356 }
1357
1358 fn mbuffer_from_big_float(&mut self, m_buffer_handle: i32, big_float_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1359 println!("Called: mbuffer_from_big_float");
1360 Ok(0)
1361 }
1362
1363 fn mbuffer_storage_store(&mut self, key_handle: i32, source_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1364 println!("Called: mbuffer_storage_store");
1365 Ok(0)
1366 }
1367
1368 fn mbuffer_storage_load(&mut self, key_handle: i32, destination_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1369 println!("Called: mbuffer_storage_load");
1370 Ok(0)
1371 }
1372
1373 fn mbuffer_storage_load_from_address(&mut self, address_handle: i32, key_handle: i32, destination_handle: i32) -> Result<(), VMHooksEarlyExit> {
1374 println!("Called: mbuffer_storage_load_from_address");
1375 Ok(())
1376 }
1377
1378 fn mbuffer_get_argument(&mut self, id: i32, destination_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1379 println!("Called: mbuffer_get_argument");
1380 Ok(0)
1381 }
1382
1383 fn mbuffer_finish(&mut self, source_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1384 println!("Called: mbuffer_finish");
1385 Ok(0)
1386 }
1387
1388 fn mbuffer_set_random(&mut self, destination_handle: i32, length: i32) -> Result<i32, VMHooksEarlyExit> {
1389 println!("Called: mbuffer_set_random");
1390 Ok(0)
1391 }
1392
1393 fn managed_map_new(&mut self) -> Result<i32, VMHooksEarlyExit> {
1394 println!("Called: managed_map_new");
1395 Ok(0)
1396 }
1397
1398 fn managed_map_put(&mut self, m_map_handle: i32, key_handle: i32, value_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1399 println!("Called: managed_map_put");
1400 Ok(0)
1401 }
1402
1403 fn managed_map_get(&mut self, m_map_handle: i32, key_handle: i32, out_value_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1404 println!("Called: managed_map_get");
1405 Ok(0)
1406 }
1407
1408 fn managed_map_remove(&mut self, m_map_handle: i32, key_handle: i32, out_value_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1409 println!("Called: managed_map_remove");
1410 Ok(0)
1411 }
1412
1413 fn managed_map_contains(&mut self, m_map_handle: i32, key_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1414 println!("Called: managed_map_contains");
1415 Ok(0)
1416 }
1417
1418 fn small_int_get_unsigned_argument(&mut self, id: i32) -> Result<i64, VMHooksEarlyExit> {
1419 println!("Called: small_int_get_unsigned_argument");
1420 Ok(0)
1421 }
1422
1423 fn small_int_get_signed_argument(&mut self, id: i32) -> Result<i64, VMHooksEarlyExit> {
1424 println!("Called: small_int_get_signed_argument");
1425 Ok(0)
1426 }
1427
1428 fn small_int_finish_unsigned(&mut self, value: i64) -> Result<(), VMHooksEarlyExit> {
1429 println!("Called: small_int_finish_unsigned");
1430 Ok(())
1431 }
1432
1433 fn small_int_finish_signed(&mut self, value: i64) -> Result<(), VMHooksEarlyExit> {
1434 println!("Called: small_int_finish_signed");
1435 Ok(())
1436 }
1437
1438 fn small_int_storage_store_unsigned(&mut self, key_offset: MemPtr, key_length: MemLength, value: i64) -> Result<i32, VMHooksEarlyExit> {
1439 println!("Called: small_int_storage_store_unsigned");
1440 Ok(0)
1441 }
1442
1443 fn small_int_storage_store_signed(&mut self, key_offset: MemPtr, key_length: MemLength, value: i64) -> Result<i32, VMHooksEarlyExit> {
1444 println!("Called: small_int_storage_store_signed");
1445 Ok(0)
1446 }
1447
1448 fn small_int_storage_load_unsigned(&mut self, key_offset: MemPtr, key_length: MemLength) -> Result<i64, VMHooksEarlyExit> {
1449 println!("Called: small_int_storage_load_unsigned");
1450 Ok(0)
1451 }
1452
1453 fn small_int_storage_load_signed(&mut self, key_offset: MemPtr, key_length: MemLength) -> Result<i64, VMHooksEarlyExit> {
1454 println!("Called: small_int_storage_load_signed");
1455 Ok(0)
1456 }
1457
1458 fn int64get_argument(&mut self, id: i32) -> Result<i64, VMHooksEarlyExit> {
1459 println!("Called: int64get_argument");
1460 Ok(0)
1461 }
1462
1463 fn int64finish(&mut self, value: i64) -> Result<(), VMHooksEarlyExit> {
1464 println!("Called: int64finish");
1465 Ok(())
1466 }
1467
1468 fn int64storage_store(&mut self, key_offset: MemPtr, key_length: MemLength, value: i64) -> Result<i32, VMHooksEarlyExit> {
1469 println!("Called: int64storage_store");
1470 Ok(0)
1471 }
1472
1473 fn int64storage_load(&mut self, key_offset: MemPtr, key_length: MemLength) -> Result<i64, VMHooksEarlyExit> {
1474 println!("Called: int64storage_load");
1475 Ok(0)
1476 }
1477
1478 fn sha256(&mut self, data_offset: MemPtr, length: MemLength, result_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
1479 println!("Called: sha256");
1480 Ok(0)
1481 }
1482
1483 fn managed_sha256(&mut self, input_handle: i32, output_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1484 println!("Called: managed_sha256");
1485 Ok(0)
1486 }
1487
1488 fn keccak256(&mut self, data_offset: MemPtr, length: MemLength, result_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
1489 println!("Called: keccak256");
1490 Ok(0)
1491 }
1492
1493 fn managed_keccak256(&mut self, input_handle: i32, output_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1494 println!("Called: managed_keccak256");
1495 Ok(0)
1496 }
1497
1498 fn ripemd160(&mut self, data_offset: MemPtr, length: MemLength, result_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
1499 println!("Called: ripemd160");
1500 Ok(0)
1501 }
1502
1503 fn managed_ripemd160(&mut self, input_handle: i32, output_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1504 println!("Called: managed_ripemd160");
1505 Ok(0)
1506 }
1507
1508 fn verify_bls(&mut self, key_offset: MemPtr, message_offset: MemPtr, message_length: MemLength, sig_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
1509 println!("Called: verify_bls");
1510 Ok(0)
1511 }
1512
1513 fn managed_verify_bls(&mut self, key_handle: i32, message_handle: i32, sig_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1514 println!("Called: managed_verify_bls");
1515 Ok(0)
1516 }
1517
1518 fn verify_ed25519(&mut self, key_offset: MemPtr, message_offset: MemPtr, message_length: MemLength, sig_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
1519 println!("Called: verify_ed25519");
1520 Ok(0)
1521 }
1522
1523 fn managed_verify_ed25519(&mut self, key_handle: i32, message_handle: i32, sig_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1524 println!("Called: managed_verify_ed25519");
1525 Ok(0)
1526 }
1527
1528 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> {
1529 println!("Called: verify_custom_secp256k1");
1530 Ok(0)
1531 }
1532
1533 fn managed_verify_custom_secp256k1(&mut self, key_handle: i32, message_handle: i32, sig_handle: i32, hash_type: i32) -> Result<i32, VMHooksEarlyExit> {
1534 println!("Called: managed_verify_custom_secp256k1");
1535 Ok(0)
1536 }
1537
1538 fn verify_secp256k1(&mut self, key_offset: MemPtr, key_length: MemLength, message_offset: MemPtr, message_length: MemLength, sig_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
1539 println!("Called: verify_secp256k1");
1540 Ok(0)
1541 }
1542
1543 fn managed_verify_secp256k1(&mut self, key_handle: i32, message_handle: i32, sig_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1544 println!("Called: managed_verify_secp256k1");
1545 Ok(0)
1546 }
1547
1548 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> {
1549 println!("Called: encode_secp256k1_der_signature");
1550 Ok(0)
1551 }
1552
1553 fn managed_encode_secp256k1_der_signature(&mut self, r_handle: i32, s_handle: i32, sig_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1554 println!("Called: managed_encode_secp256k1_der_signature");
1555 Ok(0)
1556 }
1557
1558 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> {
1559 println!("Called: add_ec");
1560 Ok(())
1561 }
1562
1563 fn double_ec(&mut self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, point_xhandle: i32, point_yhandle: i32) -> Result<(), VMHooksEarlyExit> {
1564 println!("Called: double_ec");
1565 Ok(())
1566 }
1567
1568 fn is_on_curve_ec(&mut self, ec_handle: i32, point_xhandle: i32, point_yhandle: i32) -> Result<i32, VMHooksEarlyExit> {
1569 println!("Called: is_on_curve_ec");
1570 Ok(0)
1571 }
1572
1573 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> {
1574 println!("Called: scalar_base_mult_ec");
1575 Ok(0)
1576 }
1577
1578 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> {
1579 println!("Called: managed_scalar_base_mult_ec");
1580 Ok(0)
1581 }
1582
1583 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> {
1584 println!("Called: scalar_mult_ec");
1585 Ok(0)
1586 }
1587
1588 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> {
1589 println!("Called: managed_scalar_mult_ec");
1590 Ok(0)
1591 }
1592
1593 fn marshal_ec(&mut self, x_pair_handle: i32, y_pair_handle: i32, ec_handle: i32, result_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
1594 println!("Called: marshal_ec");
1595 Ok(0)
1596 }
1597
1598 fn managed_marshal_ec(&mut self, x_pair_handle: i32, y_pair_handle: i32, ec_handle: i32, result_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1599 println!("Called: managed_marshal_ec");
1600 Ok(0)
1601 }
1602
1603 fn marshal_compressed_ec(&mut self, x_pair_handle: i32, y_pair_handle: i32, ec_handle: i32, result_offset: MemPtr) -> Result<i32, VMHooksEarlyExit> {
1604 println!("Called: marshal_compressed_ec");
1605 Ok(0)
1606 }
1607
1608 fn managed_marshal_compressed_ec(&mut self, x_pair_handle: i32, y_pair_handle: i32, ec_handle: i32, result_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1609 println!("Called: managed_marshal_compressed_ec");
1610 Ok(0)
1611 }
1612
1613 fn unmarshal_ec(&mut self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, data_offset: MemPtr, length: MemLength) -> Result<i32, VMHooksEarlyExit> {
1614 println!("Called: unmarshal_ec");
1615 Ok(0)
1616 }
1617
1618 fn managed_unmarshal_ec(&mut self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, data_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1619 println!("Called: managed_unmarshal_ec");
1620 Ok(0)
1621 }
1622
1623 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> {
1624 println!("Called: unmarshal_compressed_ec");
1625 Ok(0)
1626 }
1627
1628 fn managed_unmarshal_compressed_ec(&mut self, x_result_handle: i32, y_result_handle: i32, ec_handle: i32, data_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1629 println!("Called: managed_unmarshal_compressed_ec");
1630 Ok(0)
1631 }
1632
1633 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> {
1634 println!("Called: generate_key_ec");
1635 Ok(0)
1636 }
1637
1638 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> {
1639 println!("Called: managed_generate_key_ec");
1640 Ok(0)
1641 }
1642
1643 fn create_ec(&mut self, data_offset: MemPtr, data_length: MemLength) -> Result<i32, VMHooksEarlyExit> {
1644 println!("Called: create_ec");
1645 Ok(0)
1646 }
1647
1648 fn managed_create_ec(&mut self, data_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1649 println!("Called: managed_create_ec");
1650 Ok(0)
1651 }
1652
1653 fn get_curve_length_ec(&mut self, ec_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1654 println!("Called: get_curve_length_ec");
1655 Ok(0)
1656 }
1657
1658 fn get_priv_key_byte_length_ec(&mut self, ec_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1659 println!("Called: get_priv_key_byte_length_ec");
1660 Ok(0)
1661 }
1662
1663 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> {
1664 println!("Called: elliptic_curve_get_values");
1665 Ok(0)
1666 }
1667
1668 fn managed_verify_secp256r1(&mut self, key_handle: i32, message_handle: i32, sig_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1669 println!("Called: managed_verify_secp256r1");
1670 Ok(0)
1671 }
1672
1673 fn managed_verify_blssignature_share(&mut self, key_handle: i32, message_handle: i32, sig_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1674 println!("Called: managed_verify_blssignature_share");
1675 Ok(0)
1676 }
1677
1678 fn managed_verify_blsaggregated_signature(&mut self, key_handle: i32, message_handle: i32, sig_handle: i32) -> Result<i32, VMHooksEarlyExit> {
1679 println!("Called: managed_verify_blsaggregated_signature");
1680 Ok(0)
1681 }
1682}