26 response.result = std::move(res.
result);
29 sysio::print(
"get_latest_block_batch_info: response error_code = ", response.error_code.value,
"\n");
30 if (response.result.has_value()) {
31 const auto& result = *response.result;
32 sysio::print(
"get_latest_block_batch_info: response result:\n");
33 sysio::print(
" batch_start_height = ", result.batch_start_height,
"\n");
34 sysio::print(
" batch_current_end_height = ", result.batch_current_end_height,
"\n");
51 if (receiver == code) {
52 if (
action ==
"call"_n.value) {
56 std::vector<char> buffer;
57 buffer.resize(sysio::action_data_size());
58 sysio::read_action_data(buffer.data(), buffer.size());
64 auto output = ns::process_call(std::move(input));
65 static_assert(std::is_same_v<
decltype(output), ns::output_type>);
70 return_action.
name =
"return"_n;
73 output_size_ds << output;
74 return_action.
data.resize(output_size_ds.tellp());
76 return_action.
data.size());
81 }
else if (
action ==
"abort"_n.value) {
82 sysio::check(
false, 0ull);