14 #include <fc/container/flat.hpp>
20 using boost::container::flat_set;
31 std::shared_ptr<scorum::plugin::auth_util::auth_util_plugin>
get_plugin();
50 const chain::account_authority_object& acct
51 = db->get<chain::account_authority_object, chain::by_account>(args.
account_name);
53 if ((args.
level ==
"posting") || (args.
level ==
"p"))
57 else if ((args.
level ==
"active") || (args.
level ==
"a") || (args.
level ==
""))
61 else if ((args.
level ==
"owner") || (args.
level ==
"o"))
67 FC_ASSERT(
false,
"invalid level specified");
69 flat_set<protocol::public_key_type> signing_keys;
72 result.keys.emplace_back(fc::ecc::public_key(sig, args.
dig,
true));
73 signing_keys.insert(result.keys.back());
76 flat_set<protocol::public_key_type> avail;
80 db->get<chain::account_authority_object, chain::by_account>(account_name).active);
85 FC_ASSERT(has_authority);
94 my = std::make_shared<detail::auth_util_api_impl>(ctx.
app);
104 my->check_authority_signature(args, result);
std::shared_ptr< chain::database > chain_database() const
std::shared_ptr< abstract_plugin > get_plugin(const std::string &name) const
auth_util_api(const scorum::app::api_context &ctx)
scorum::app::application & app
auth_util_api_impl(scorum::app::application &_app)
void check_authority_signature(const check_authority_signature_params &args, check_authority_signature_result &result)
std::shared_ptr< scorum::plugin::auth_util::auth_util_plugin > get_plugin()
check_authority_signature_result check_authority_signature(check_authority_signature_params args)
check_authority_signature
fc::ecc::compact_signature signature_type
std::vector< protocol::signature_type > sigs
bool check_authority(const std::string &id)