bool PYVerificator::Validate()

in service/kv_service/py_verificator.cpp [80:96]


bool PYVerificator::Validate(const std::string &transaction) {
  auto locals = py::dict("transaction"_a = transaction);

  py::exec(R"(
    from service.sdk_validator.validator import is_valid_tx

    try:
      txn_dict = json.loads(transaction)
      ret = is_valid_tx(txn_dict)
      is_valid = ret[0] == 0
    except (KeyError, AttributeError, ValueError):
      is_valid = False
  )",
           py::globals(), locals);

  return locals["is_valid"].cast<bool>();
}