From d341a86c09350e101a8001d43b56a0e1477d79f6 Mon Sep 17 00:00:00 2001 From: Jianping Wu Date: Tue, 30 Oct 2018 20:57:02 -0700 Subject: [PATCH] Fixed keva_namespace transaction propagation. Now it crashed maybe when connecting block. --- src/keva/main.cpp | 7 +++++++ src/policy/policy.cpp | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/keva/main.cpp b/src/keva/main.cpp index 780137d7b..bd73a8d88 100644 --- a/src/keva/main.cpp +++ b/src/keva/main.cpp @@ -397,6 +397,13 @@ CheckKevaTransaction (const CTransaction& tx, unsigned nHeight, name input that is being updated. */ #endif + if (nameOpOut.isNamespaceRegistration()) { + if (nameOpOut.getOpNamespaceDisplayName().size () > MAX_VALUE_LENGTH) { + return state.Invalid (error ("CheckNameTransaction: display name value too long")); + } + return true; + } + assert (nameOpOut.isAnyUpdate()); if (nameIn == -1) { return state.Invalid(error("CheckNameTransaction: update without" diff --git a/src/policy/policy.cpp b/src/policy/policy.cpp index ff90fbebd..65105b291 100644 --- a/src/policy/policy.cpp +++ b/src/policy/policy.cpp @@ -81,7 +81,7 @@ bool IsStandard(const CScript& scriptPubKey, txnouttype& whichType, const bool w bool IsStandardTx(const CTransaction& tx, std::string& reason, const bool witnessEnabled) { - if (tx.nVersion > CTransaction::MAX_STANDARD_VERSION || tx.nVersion < 1) { + if (!tx.IsKevacoin() && (tx.nVersion > CTransaction::MAX_STANDARD_VERSION || tx.nVersion < 1)) { reason = "version"; return false; }