diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index 10d385ed8..01819ea7c 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -3171,8 +3171,7 @@ bool CWallet::CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey, CCon auto rejectReason = state.GetRejectReason(); LogPrintf("CommitTransaction(): Transaction cannot be broadcast immediately, %s\n", rejectReason); // TODO: if we expect the failure to be long term or permanent, instead delete wtx from the wallet and return failure. - bool isRegTest = Params().NetworkIDString() == CBaseChainParams::REGTEST; - if (!isRegTest && rejectReason == "too-long-mempool-chain") { + if (wtx.tx->IsKevacoin() && rejectReason == "too-long-mempool-chain") { LogPrintf("Abandon the too-long-mempool-chain Tx: %s \n", wtx.GetHash().ToString().c_str()); AbandonTransaction(wtx.GetHash()); return false; diff --git a/test/functional/feature_keva.py b/test/functional/feature_keva.py index f34598ca7..328ecee84 100755 --- a/test/functional/feature_keva.py +++ b/test/functional/feature_keva.py @@ -168,8 +168,9 @@ class KevaTest(BitcoinTestFramework): key = secondPrefix + '|' + str(i) value = '-value-' * 320 + '|' + str(i) self.nodes[0].keva_put(namespaceId, key, value) - except JSONRPCException: - throwException = True + except JSONRPCException as e: + if str(e).find("too-long-mempool-chain") >= 0: + throwException = True assert(throwException)