@ -488,7 +488,8 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue,
auto verifier = libzcash : : ProofVerifier : : Strict ( ) ;
// ac_public chains set at height like KMD and ZEX, will force a rescan if we dont ignore this error: bad-txns-acpublic-chain
// there cannot be any ztx in the wallet on ac_public chains that started from block 1, so this wont affect those.
if ( ! ( CheckTransaction ( 0 , wtx , state , verifier ) & & ( wtx . GetHash ( ) = = hash ) & & state . IsValid ( ) ) & & ( state . GetRejectReason ( ) ! = " bad-txns-acpublic-chain " ) )
// PIRATE fails this check for notary nodes, need exception. Triggers full rescan without it.
if ( ! ( CheckTransaction ( 0 , wtx , state , verifier ) & & ( wtx . GetHash ( ) = = hash ) & & state . IsValid ( ) ) & & ( state . GetRejectReason ( ) ! = " bad-txns-acpublic-chain " | | state . GetRejectReason ( ) ! = " bad-txns-acprivacy-chain " ) )
{
//fprintf(stderr, "tx failed: %s rejectreason.%s\n", wtx.GetHash().GetHex().c_str(), state.GetRejectReason().c_str());
// vin-empty on staking chains is error relating to a failed staking tx, that for some unknown reason did not fully erase. save them here to erase and re-add later on.