Browse Source

Fixed too-long-mempool-chain handling of kevacoin.

cn_mining
Jianping Wu 5 years ago
parent
commit
1112bc2f02
  1. 3
      src/wallet/wallet.cpp
  2. 5
      test/functional/feature_keva.py

3
src/wallet/wallet.cpp

@ -3171,8 +3171,7 @@ bool CWallet::CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey, CCon @@ -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;

5
test/functional/feature_keva.py

@ -168,8 +168,9 @@ class KevaTest(BitcoinTestFramework): @@ -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)

Loading…
Cancel
Save