コード例 #1
0
 /**
  * Applies validation on block
  * @param block
  * @return Answer containing found error if any
  */
 Answer validate(const interface::EmptyBlock &block) const {
   Answer answer;
   ReasonsGroupType reason;
   reason.first = "EmptyBlock";
   field_validator_.validateCreatedTime(reason, block.createdTime());
   field_validator_.validateHeight(reason, block.height());
   if (not reason.second.empty()) {
     answer.addReason(std::move(reason));
   }
   return answer;
 }
コード例 #2
0
      /**
       * Applies validation to given query
       * @param qry - query to validate
       * @return Answer containing found error if any
       */
      Answer validate(const interface::Query &qry) const {
        Answer answer;
        std::string qry_reason_name = "Query";
        ReasonsGroupType qry_reason(qry_reason_name, GroupedReasons());

        field_validator_.validateCreatorAccountId(qry_reason,
                                                  qry.creatorAccountId());
        field_validator_.validateCreatedTime(qry_reason, qry.createdTime());
        field_validator_.validateCounter(qry_reason, qry.queryCounter());

        if (not qry_reason.second.empty()) {
          answer.addReason(std::move(qry_reason));
        }

        auto reason = boost::apply_visitor(query_field_validator_, qry.get());
        if (not reason.second.empty()) {
          answer.addReason(std::move(reason));
        }

        return answer;
      }
コード例 #3
0
      /**
       * Applies validation to given query
       * @param qry - query to validate
       * @return Answer containing found error if any
       */
      Answer validate(const interface::BlocksQuery &qry) const {
        Answer answer;
        std::string qry_reason_name = "Blocks query";
        ReasonsGroupType qry_reason(qry_reason_name, GroupedReasons());

        field_validator_.validateCreatorAccountId(qry_reason,
                                                  qry.creatorAccountId());
        field_validator_.validateCreatedTime(qry_reason, qry.createdTime());
        field_validator_.validateCounter(qry_reason, qry.queryCounter());

        if (not qry_reason.second.empty()) {
          answer.addReason(std::move(qry_reason));
        }
        return answer;
      }