7namespace sysio {
namespace chain {
namespace eosvmoc {
11 template <
typename... Args>
13 return std::array<std::string_view,
sizeof...(Args)> { args... };
19 "eosvmoc_internal.unreachable",
20 "eosvmoc_internal.grow_memory",
21 "eosvmoc_internal.div0_or_overflow",
22 "eosvmoc_internal.indirect_call_mismatch",
23 "eosvmoc_internal.indirect_call_oob",
24 "eosvmoc_internal.depth_assert",
25 "sysio_injection.call_depth_assert",
26 "sysio_injection.checktime",
70 "env.is_feature_active",
71 "env.activate_feature",
72 "env.get_resource_limits",
73 "env.set_resource_limits",
74 "env.set_proposed_producers",
75 "env.set_proposed_producers_ex",
76 "env.get_blockchain_parameters_packed",
77 "env.set_blockchain_parameters_packed",
80 "env.preactivate_feature",
81 "env.get_active_producers",
87 "env.db_previous_i64",
89 "env.db_lowerbound_i64",
90 "env.db_upperbound_i64",
93 "env.db_idx64_remove",
94 "env.db_idx64_update",
95 "env.db_idx64_find_primary",
96 "env.db_idx64_find_secondary",
97 "env.db_idx64_lowerbound",
98 "env.db_idx64_upperbound",
101 "env.db_idx64_previous",
102 "env.db_idx128_store",
103 "env.db_idx128_remove",
104 "env.db_idx128_update",
105 "env.db_idx128_find_primary",
106 "env.db_idx128_find_secondary",
107 "env.db_idx128_lowerbound",
108 "env.db_idx128_upperbound",
110 "env.db_idx128_next",
111 "env.db_idx128_previous",
112 "env.db_idx_double_store",
113 "env.db_idx_double_remove",
114 "env.db_idx_double_update",
115 "env.db_idx_double_find_primary",
116 "env.db_idx_double_find_secondary",
117 "env.db_idx_double_lowerbound",
118 "env.db_idx_double_upperbound",
119 "env.db_idx_double_end",
120 "env.db_idx_double_next",
121 "env.db_idx_double_previous",
122 "env.db_idx_long_double_store",
123 "env.db_idx_long_double_remove",
124 "env.db_idx_long_double_update",
125 "env.db_idx_long_double_find_primary",
126 "env.db_idx_long_double_find_secondary",
127 "env.db_idx_long_double_lowerbound",
128 "env.db_idx_long_double_upperbound",
129 "env.db_idx_long_double_end",
130 "env.db_idx_long_double_next",
131 "env.db_idx_long_double_previous",
132 "env.db_idx256_store",
133 "env.db_idx256_remove",
134 "env.db_idx256_update",
135 "env.db_idx256_find_primary",
136 "env.db_idx256_find_secondary",
137 "env.db_idx256_lowerbound",
138 "env.db_idx256_upperbound",
140 "env.db_idx256_next",
141 "env.db_idx256_previous",
142 "env.assert_recover_key",
147 "env.assert_ripemd160",
152 "env.check_transaction_authorization",
153 "env.check_permission_authorization",
154 "env.get_permission_last_used",
155 "env.get_account_creation_time",
157 "env.publication_time",
158 "env.is_feature_activated",
162 "env.sysio_assert_message",
163 "env.sysio_assert_code",
165 "env.read_action_data",
166 "env.action_data_size",
167 "env.current_receiver",
168 "env.require_recipient",
184 "env.read_transaction",
185 "env.transaction_size",
187 "env.tapos_block_prefix",
188 "env.tapos_block_num",
191 "env.send_context_free_inline",
193 "env.cancel_deferred",
194 "env.get_context_free_data",
199 "sysio_injection._sysio_f32_add",
200 "sysio_injection._sysio_f32_sub",
201 "sysio_injection._sysio_f32_mul",
202 "sysio_injection._sysio_f32_div",
203 "sysio_injection._sysio_f32_min",
204 "sysio_injection._sysio_f32_max",
205 "sysio_injection._sysio_f32_copysign",
206 "sysio_injection._sysio_f32_abs",
207 "sysio_injection._sysio_f32_neg",
208 "sysio_injection._sysio_f32_sqrt",
209 "sysio_injection._sysio_f32_ceil",
210 "sysio_injection._sysio_f32_floor",
211 "sysio_injection._sysio_f32_trunc",
212 "sysio_injection._sysio_f32_nearest",
213 "sysio_injection._sysio_f32_eq",
214 "sysio_injection._sysio_f32_ne",
215 "sysio_injection._sysio_f32_lt",
216 "sysio_injection._sysio_f32_le",
217 "sysio_injection._sysio_f32_gt",
218 "sysio_injection._sysio_f32_ge",
219 "sysio_injection._sysio_f64_add",
220 "sysio_injection._sysio_f64_sub",
221 "sysio_injection._sysio_f64_mul",
222 "sysio_injection._sysio_f64_div",
223 "sysio_injection._sysio_f64_min",
224 "sysio_injection._sysio_f64_max",
225 "sysio_injection._sysio_f64_copysign",
226 "sysio_injection._sysio_f64_abs",
227 "sysio_injection._sysio_f64_neg",
228 "sysio_injection._sysio_f64_sqrt",
229 "sysio_injection._sysio_f64_ceil",
230 "sysio_injection._sysio_f64_floor",
231 "sysio_injection._sysio_f64_trunc",
232 "sysio_injection._sysio_f64_nearest",
233 "sysio_injection._sysio_f64_eq",
234 "sysio_injection._sysio_f64_ne",
235 "sysio_injection._sysio_f64_lt",
236 "sysio_injection._sysio_f64_le",
237 "sysio_injection._sysio_f64_gt",
238 "sysio_injection._sysio_f64_ge",
239 "sysio_injection._sysio_f32_promote",
240 "sysio_injection._sysio_f64_demote",
241 "sysio_injection._sysio_f32_trunc_i32s",
242 "sysio_injection._sysio_f64_trunc_i32s",
243 "sysio_injection._sysio_f32_trunc_i32u",
244 "sysio_injection._sysio_f64_trunc_i32u",
245 "sysio_injection._sysio_f32_trunc_i64s",
246 "sysio_injection._sysio_f64_trunc_i64s",
247 "sysio_injection._sysio_f32_trunc_i64u",
248 "sysio_injection._sysio_f64_trunc_i64u",
249 "sysio_injection._sysio_i32_to_f32",
250 "sysio_injection._sysio_i64_to_f32",
251 "sysio_injection._sysio_ui32_to_f32",
252 "sysio_injection._sysio_ui64_to_f32",
253 "sysio_injection._sysio_i32_to_f64",
254 "sysio_injection._sysio_i64_to_f64",
255 "sysio_injection._sysio_ui32_to_f64",
256 "sysio_injection._sysio_ui64_to_f64",
257 "env.set_action_return_value",
258 "env.get_wasm_parameters_packed",
259 "env.set_wasm_parameters_packed",
260 "env.get_parameters_packed",
261 "env.set_parameters_packed",
265 "env.alt_bn128_pair",
275 for ( std::size_t i = 0; i < hosts.size(); ++i )
276 if ( hosts[i] == hf )
278 return std::numeric_limits<std::size_t>::max();
constexpr auto generate_table(Args &&... args)
constexpr std::size_t find_intrinsic_index(std::string_view hf)
constexpr auto get_intrinsic_table()
constexpr std::size_t intrinsic_table_size()