Skip to content

Commit

Permalink
Merge pull request #742 from AntelopeIO/GH-741-abi-serializer
Browse files Browse the repository at this point in the history
Revert interface change of abi_serializer for tester
  • Loading branch information
heifner authored Feb 23, 2023
2 parents 505bae8 + b4f18d5 commit a3e0756
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 11 deletions.
12 changes: 6 additions & 6 deletions libraries/chain/abi_serializer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -70,14 +70,14 @@ namespace eosio { namespace chain {
);
}

abi_serializer::abi_serializer( abi_def&& abi, const yield_function_t& yield ) {
abi_serializer::abi_serializer( abi_def abi, const yield_function_t& yield ) {
configure_built_in_types();
set_abi(std::move(abi), yield);
}

abi_serializer::abi_serializer( abi_def&& abi, const fc::microseconds& max_serialization_time) {
abi_serializer::abi_serializer( const abi_def& abi, const fc::microseconds& max_serialization_time) {
configure_built_in_types();
set_abi(std::move(abi), create_yield_function(max_serialization_time));
set_abi(abi, create_yield_function(max_serialization_time));
}

void abi_serializer::add_specialized_unpack_pack( const string& name,
Expand Down Expand Up @@ -128,7 +128,7 @@ namespace eosio { namespace chain {
built_in_types.emplace("extended_asset", pack_unpack<extended_asset>());
}

void abi_serializer::set_abi(abi_def&& abi, const yield_function_t& yield) {
void abi_serializer::set_abi(abi_def abi, const yield_function_t& yield) {
impl::abi_traverse_context ctx(yield);

EOS_ASSERT(starts_with(abi.version, "eosio::abi/1."), unsupported_abi_version_exception, "ABI has an unsupported version");
Expand Down Expand Up @@ -188,8 +188,8 @@ namespace eosio { namespace chain {
validate(ctx);
}

void abi_serializer::set_abi(abi_def&& abi, const fc::microseconds& max_serialization_time) {
return set_abi(std::move(abi), create_yield_function(max_serialization_time));
void abi_serializer::set_abi(const abi_def& abi, const fc::microseconds& max_serialization_time) {
return set_abi(abi, create_yield_function(max_serialization_time));
}

bool abi_serializer::is_builtin_type(const std::string_view& type)const {
Expand Down
8 changes: 4 additions & 4 deletions libraries/chain/include/eosio/chain/abi_serializer.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@ struct abi_serializer {
using yield_function_t = fc::optional_delegate<void(size_t)>;

abi_serializer(){ configure_built_in_types(); }
abi_serializer( abi_def&& abi, const yield_function_t& yield );
abi_serializer( abi_def abi, const yield_function_t& yield );
[[deprecated("use the overload with yield_function_t[=create_yield_function(max_serialization_time)]")]]
abi_serializer( abi_def&& abi, const fc::microseconds& max_serialization_time );
void set_abi( abi_def&& abi, const yield_function_t& yield );
abi_serializer( const abi_def& abi, const fc::microseconds& max_serialization_time );
void set_abi( abi_def abi, const yield_function_t& yield );
[[deprecated("use the overload with yield_function_t[=create_yield_function(max_serialization_time)]")]]
void set_abi( abi_def&& abi, const fc::microseconds& max_serialization_time);
void set_abi(const abi_def& abi, const fc::microseconds& max_serialization_time);

/// @return string_view of `t` or internal string type
std::string_view resolve_type(const std::string_view& t)const;
Expand Down
2 changes: 1 addition & 1 deletion plugins/chain_plugin/chain_plugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1697,7 +1697,7 @@ read_only::get_producers_result
read_only::get_producers( const read_only::get_producers_params& params, const fc::time_point& deadline ) const try {
abi_def abi = eosio::chain_apis::get_abi(db, config::system_account_name);
const auto table_type = get_table_type(abi, "producers"_n);
const abi_serializer abis{ std::move(abi), abi_serializer::create_yield_function( abi_serializer_max_time ) };
const abi_serializer abis{ abi_def(abi), abi_serializer::create_yield_function( abi_serializer_max_time ) };
EOS_ASSERT(table_type == KEYi64, chain::contract_table_query_exception, "Invalid table type ${type} for table producers", ("type",table_type));

const auto& d = db.db();
Expand Down

0 comments on commit a3e0756

Please sign in to comment.