|
| SYS_VM_PRECONDITION (context_free_check, SYS_VM_INVOKE_ONCE([&](auto &&...) { SYS_ASSERT(ctx.get_host().get_context().is_context_free(), unaccessible_api, "this API may only be called from context_free apply");})) |
|
| SYS_VM_PRECONDITION (context_aware_check, SYS_VM_INVOKE_ONCE([&](auto &&...) { SYS_ASSERT(!ctx.get_host().get_context().is_context_free(), unaccessible_api, "only context free api's can be used in this context");})) |
|
| SYS_VM_PRECONDITION (privileged_check, SYS_VM_INVOKE_ONCE([&](auto &&...) { SYS_ASSERT(ctx.get_host().get_context().is_privileged(), unaccessible_api, "${code} does not have permission to call this API",("code", ctx.get_host().get_context().get_receiver()));})) |
|
| SYS_VM_PRECONDITION (core_precondition, SYS_VM_INVOKE_ON_ALL(([&](auto &&arg, auto &&... rest) { using namespace sysio::vm;using arg_t=std::decay_t< decltype(arg)>;static_assert(is_whitelisted_type_v< arg_t >, "whitelisted type violation");if constexpr(is_span_type_v< arg_t >||vm::is_argument_proxy_type_v< arg_t >) { sysio::vm::invoke_on< false, sysio::vm::invoke_on_all_t >([&arg](auto &&narg, auto &&... nrest) { using nested_arg_t=std::decay_t< decltype(narg)>;if constexpr(sysio::vm::is_span_type_v< nested_arg_t >||vm::is_argument_proxy_type_v< nested_arg_t >) SYS_ASSERT(!is_aliasing(detail::to_span(arg), detail::to_span(narg)), wasm_exception, "pointers not allowed to alias");}, rest...);} }))) |
|
| SYS_VM_PRECONDITION (is_nan_check, SYS_VM_INVOKE_ON_ALL([&](auto &&arg, auto &&... rest) { if constexpr(should_check_nan_v< std::remove_cv_t< typename remove_argument_proxy< std::decay_t< decltype(arg)> >::type > >) { SYS_ASSERT(!webassembly::is_nan(*arg), transaction_exception, "NaN is not an allowed value for a secondary key");} })) |
|
| SYS_VM_PRECONDITION (legacy_static_check_wl_args, SYS_VM_INVOKE_ONCE([&](auto &&... args) { static_assert(are_whitelisted_legacy_types_v< std::decay_t< decltype(args)>... >, "legacy whitelisted type violation");})) |
|
void | unpack_provided_keys (flat_set< public_key_type > &keys, const char *pubkeys_data, uint32_t pubkeys_size) |
|
void | unpack_provided_permissions (flat_set< permission_level > &permissions, const char *perms_data, uint32_t perms_size) |
|
int64_t | set_proposed_producers_common (apply_context &context, vector< producer_authority > &&producers, bool validate_keys) |
|
| REGISTER_HOST_FUNCTION (is_feature_active, privileged_check) |
|
| REGISTER_HOST_FUNCTION (activate_feature, privileged_check) |
|
| REGISTER_LEGACY_HOST_FUNCTION (preactivate_feature, privileged_check) |
|
| REGISTER_HOST_FUNCTION (set_resource_limits, privileged_check) |
|
| REGISTER_LEGACY_HOST_FUNCTION (get_resource_limits, privileged_check) |
|
| REGISTER_HOST_FUNCTION (get_parameters_packed, privileged_check) |
|
| REGISTER_HOST_FUNCTION (set_parameters_packed, privileged_check) |
|
| REGISTER_HOST_FUNCTION (get_wasm_parameters_packed, privileged_check) |
|
| REGISTER_HOST_FUNCTION (set_wasm_parameters_packed, privileged_check) |
|
| REGISTER_LEGACY_HOST_FUNCTION (set_proposed_producers, privileged_check) |
|
| REGISTER_LEGACY_HOST_FUNCTION (set_proposed_producers_ex, privileged_check) |
|
| REGISTER_LEGACY_HOST_FUNCTION (get_blockchain_parameters_packed, privileged_check) |
|
| REGISTER_LEGACY_HOST_FUNCTION (set_blockchain_parameters_packed, privileged_check) |
|
| REGISTER_HOST_FUNCTION (is_privileged, privileged_check) |
|
| REGISTER_HOST_FUNCTION (set_privileged, privileged_check) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_add) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_sub) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_div) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_mul) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_min) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_max) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_copysign) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_abs) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_neg) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_sqrt) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_ceil) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_floor) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_trunc) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_nearest) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_eq) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_ne) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_lt) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_le) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_gt) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_ge) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_add) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_sub) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_div) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_mul) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_min) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_max) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_copysign) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_abs) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_neg) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_sqrt) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_ceil) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_floor) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_trunc) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_nearest) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_eq) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_ne) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_lt) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_le) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_gt) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_ge) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_promote) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_demote) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_trunc_i32s) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_trunc_i32s) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_trunc_i32u) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_trunc_i32u) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_trunc_i64s) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_trunc_i64s) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f32_trunc_i64u) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_f64_trunc_i64u) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_i32_to_f32) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_i64_to_f32) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_ui32_to_f32) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_ui64_to_f32) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_i32_to_f64) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_i64_to_f64) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_ui32_to_f64) |
|
| REGISTER_INJECTED_HOST_FUNCTION (_sysio_ui64_to_f64) |
|
| REGISTER_LEGACY_HOST_FUNCTION (get_active_producers) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (assert_recover_key) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (recover_key) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (assert_sha256) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (assert_sha1) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (assert_sha512) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (assert_ripemd160) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (sha256) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (sha1) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (sha512) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (ripemd160) |
|
| REGISTER_LEGACY_HOST_FUNCTION (check_transaction_authorization) |
|
| REGISTER_LEGACY_HOST_FUNCTION (check_permission_authorization) |
|
| REGISTER_HOST_FUNCTION (get_permission_last_used) |
|
| REGISTER_HOST_FUNCTION (get_account_creation_time) |
|
| REGISTER_HOST_FUNCTION (require_auth) |
|
| REGISTER_HOST_FUNCTION (require_auth2) |
|
| REGISTER_HOST_FUNCTION (has_auth) |
|
| REGISTER_HOST_FUNCTION (require_recipient) |
|
| REGISTER_HOST_FUNCTION (is_account) |
|
| REGISTER_HOST_FUNCTION (get_code_hash) |
|
| REGISTER_HOST_FUNCTION (current_time) |
|
| REGISTER_HOST_FUNCTION (publication_time) |
|
| REGISTER_LEGACY_HOST_FUNCTION (is_feature_activated) |
|
| REGISTER_HOST_FUNCTION (get_sender) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (read_action_data) |
|
| REGISTER_CF_HOST_FUNCTION (action_data_size) |
|
| REGISTER_CF_HOST_FUNCTION (current_receiver) |
|
| REGISTER_HOST_FUNCTION (set_action_return_value) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (prints) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (prints_l) |
|
| REGISTER_CF_HOST_FUNCTION (printi) |
|
| REGISTER_CF_HOST_FUNCTION (printui) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (printi128) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (printui128) |
|
| REGISTER_CF_HOST_FUNCTION (printsf) |
|
| REGISTER_CF_HOST_FUNCTION (printdf) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (printqf) |
|
| REGISTER_CF_HOST_FUNCTION (printn) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (printhex) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_store_i64) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_update_i64) |
|
| REGISTER_HOST_FUNCTION (db_remove_i64) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_get_i64) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_next_i64) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_previous_i64) |
|
| REGISTER_HOST_FUNCTION (db_find_i64) |
|
| REGISTER_HOST_FUNCTION (db_lowerbound_i64) |
|
| REGISTER_HOST_FUNCTION (db_upperbound_i64) |
|
| REGISTER_HOST_FUNCTION (db_end_i64) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx64_store) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx64_update) |
|
| REGISTER_HOST_FUNCTION (db_idx64_remove) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx64_find_secondary) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx64_find_primary) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx64_lowerbound) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx64_upperbound) |
|
| REGISTER_HOST_FUNCTION (db_idx64_end) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx64_next) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx64_previous) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx128_store) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx128_update) |
|
| REGISTER_HOST_FUNCTION (db_idx128_remove) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx128_find_secondary) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx128_find_primary) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx128_lowerbound) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx128_upperbound) |
|
| REGISTER_HOST_FUNCTION (db_idx128_end) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx128_next) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx128_previous) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx256_store) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx256_update) |
|
| REGISTER_HOST_FUNCTION (db_idx256_remove) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx256_find_secondary) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx256_find_primary) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx256_lowerbound) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx256_upperbound) |
|
| REGISTER_HOST_FUNCTION (db_idx256_end) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx256_next) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx256_previous) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx_double_store, is_nan_check) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx_double_update, is_nan_check) |
|
| REGISTER_HOST_FUNCTION (db_idx_double_remove) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx_double_find_secondary, is_nan_check) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx_double_find_primary) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx_double_lowerbound, is_nan_check) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx_double_upperbound, is_nan_check) |
|
| REGISTER_HOST_FUNCTION (db_idx_double_end) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx_double_next) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx_double_previous) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx_long_double_store, is_nan_check) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx_long_double_update, is_nan_check) |
|
| REGISTER_HOST_FUNCTION (db_idx_long_double_remove) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx_long_double_find_secondary, is_nan_check) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx_long_double_find_primary) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx_long_double_lowerbound, is_nan_check) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx_long_double_upperbound, is_nan_check) |
|
| REGISTER_HOST_FUNCTION (db_idx_long_double_end) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx_long_double_next) |
|
| REGISTER_LEGACY_HOST_FUNCTION (db_idx_long_double_previous) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (memcpy) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (memmove) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (memcmp) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (memset) |
|
| REGISTER_LEGACY_HOST_FUNCTION (send_inline) |
|
| REGISTER_LEGACY_HOST_FUNCTION (send_context_free_inline) |
|
| REGISTER_LEGACY_HOST_FUNCTION (send_deferred) |
|
| REGISTER_LEGACY_HOST_FUNCTION (cancel_deferred) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (read_transaction) |
|
| REGISTER_CF_HOST_FUNCTION (transaction_size) |
|
| REGISTER_CF_HOST_FUNCTION (expiration) |
|
| REGISTER_CF_HOST_FUNCTION (tapos_block_num) |
|
| REGISTER_CF_HOST_FUNCTION (tapos_block_prefix) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (get_action) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__ashlti3) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__ashrti3) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__lshlti3) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__lshrti3) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__divti3) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__udivti3) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__multi3) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__modti3) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__umodti3) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__addtf3) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__subtf3) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__multf3) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__divtf3) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__negtf2) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__extendsftf2) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__extenddftf2) |
|
| REGISTER_CF_HOST_FUNCTION (__trunctfdf2) |
|
| REGISTER_CF_HOST_FUNCTION (__trunctfsf2) |
|
| REGISTER_CF_HOST_FUNCTION (__fixtfsi) |
|
| REGISTER_CF_HOST_FUNCTION (__fixtfdi) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__fixtfti) |
|
| REGISTER_CF_HOST_FUNCTION (__fixunstfsi) |
|
| REGISTER_CF_HOST_FUNCTION (__fixunstfdi) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__fixunstfti) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__fixsfti) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__fixdfti) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__fixunssfti) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__fixunsdfti) |
|
| REGISTER_CF_HOST_FUNCTION (__floatsidf) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__floatsitf) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__floatditf) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__floatunsitf) |
|
| REGISTER_LEGACY_CF_HOST_FUNCTION (__floatunditf) |
|
| REGISTER_CF_HOST_FUNCTION (__floattidf) |
|
| REGISTER_CF_HOST_FUNCTION (__floatuntidf) |
|
| REGISTER_CF_HOST_FUNCTION (__cmptf2) |
|
| REGISTER_CF_HOST_FUNCTION (__eqtf2) |
|
| REGISTER_CF_HOST_FUNCTION (__netf2) |
|
| REGISTER_CF_HOST_FUNCTION (__getf2) |
|
| REGISTER_CF_HOST_FUNCTION (__gttf2) |
|
| REGISTER_CF_HOST_FUNCTION (__letf2) |
|
| REGISTER_CF_HOST_FUNCTION (__lttf2) |
|
| REGISTER_CF_HOST_FUNCTION (__unordtf2) |
|
| REGISTER_CF_HOST_FUNCTION (get_block_num) |
|
| REGISTER_CF_HOST_FUNCTION (alt_bn128_add) |
|
| REGISTER_CF_HOST_FUNCTION (alt_bn128_mul) |
|
| REGISTER_CF_HOST_FUNCTION (alt_bn128_pair) |
|
| REGISTER_CF_HOST_FUNCTION (mod_exp) |
|
| REGISTER_CF_HOST_FUNCTION (blake2_f) |
|
| REGISTER_CF_HOST_FUNCTION (sha3) |
|
| REGISTER_CF_HOST_FUNCTION (k1_recover) |
|