6 #ifndef IROHA_VALIDATION_UTILS 7 #define IROHA_VALIDATION_UTILS 12 #include <boost/range/adaptor/transformed.hpp> 13 #include <boost/range/any_range.hpp> 18 namespace validation {
26 template <
typename PublicKeys>
29 const PublicKeys &public_keys) {
33 [&public_keys](
auto const &signature) {
34 return std::find_if(public_keys.begin(),
36 [&signature](
auto const &public_key) {
37 return signature.publicKey() == public_key;
49 template <
typename Peers>
53 using shared_model::interface::types::PublicKeyHexStringView;
55 signatures, peers | boost::adaptors::transformed([](
auto const &p) {
56 return PublicKeyHexStringView{p->pubkey()};
63 #endif // IROHA_VALIDATION_UTILS bool peersSubset(const shared_model::interface::types::SignatureRangeType &signatures, const Peers &peers)
Definition: utils.hpp:50
boost::any_range< interface::Signature, boost::forward_traversal_tag, const Signature & > SignatureRangeType
Type of signature range, which returns when signatures are invoked.
Definition: range_types.hpp:24
Definition: block_query.hpp:15
bool signaturesSubset(const shared_model::interface::types::SignatureRangeType &signatures, const PublicKeys &public_keys)
Definition: utils.hpp:27