4#include <boost/asio/io_context.hpp>
11namespace sysio {
namespace chain {
13class transaction_metadata;
33 const flat_set<public_key_type> _recovered_pub_keys;
43 struct private_type{};
46 for(
const signature_type& sig : trx->get_signed_transaction().signatures)
47 SYS_ASSERT(sig.variable_size() <= max, sig_variable_size_limit_exception,
48 "signature variable length component size (${s}) greater than subjective maximum (${m})", (
"s", sig.variable_size())(
"m", max));
54 fc::microseconds sig_cpu_usage, flat_set<public_key_type> recovered_pub_keys,
55 bool _implicit =
false,
bool _scheduled =
false,
bool _read_only =
false)
56 : _packed_trx(
std::move( ptrx ) )
57 , _sig_cpu_usage( sig_cpu_usage )
58 , _recovered_pub_keys(
std::move( recovered_pub_keys ) )
74 const flat_set<public_key_type>&
recovered_keys()
const {
return _recovered_pub_keys; }
87 return std::make_shared<transaction_metadata>( private_type(), std::move(trx),
#define SYS_ASSERT(expr, exc_type, FORMAT,...)
std::future< transaction_metadata_ptr > recover_keys_future
std::shared_ptr< const packed_transaction > packed_transaction_ptr
std::shared_ptr< transaction_metadata > transaction_metadata_ptr