diff --git a/src/main.cpp b/src/main.cpp index 0e1b84341..840ab46f6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -676,14 +676,18 @@ bool IsStandardTx(const CTransaction& tx, string& reason) txnouttype whichType; BOOST_FOREACH(const CTxOut& txout, tx.vout) { - if (!::IsStandard(txout.scriptPubKey, whichType)) { - reason = "scriptpubkey"; - fprintf(stderr,"vout.%d nDataout.%d\n",v,nDataOut); + if (!::IsStandard(txout.scriptPubKey, whichType)) + { + reason = "scriptpubkeyA"; + fprintf(stderr,">>>>>>>>>>>>>>> vout.%d nDataout.%d\n",v,nDataOut); return false; } if (whichType == TX_NULL_DATA) + { nDataOut++; + fprintf(stderr,"is OP_RETURN\n"); + } else if ((whichType == TX_MULTISIG) && (!fIsBareMultisigStd)) { reason = "bare-multisig"; return false; diff --git a/src/script/standard.cpp b/src/script/standard.cpp index 91c45c93e..0fb38fb95 100644 --- a/src/script/standard.cpp +++ b/src/script/standard.cpp @@ -143,9 +143,11 @@ bool Solver(const CScript& scriptPubKey, txnouttype& typeRet, vector nMaxDatacarrier.%d\n",(int32_t)vch1.size(),(int32_t)nMaxDatacarrierBytes); if (vch1.size() > nMaxDatacarrierBytes) + { + fprintf(stderr,"size.%d > nMaxDatacarrier.%d\n",(int32_t)vch1.size(),(int32_t)nMaxDatacarrierBytes); break; + } } else if (opcode1 != opcode2 || vch1 != vch2) { @@ -203,7 +205,8 @@ bool IsStandard(const CScript& scriptPubKey, txnouttype& whichType) if (m < 1 || m > n) return false; } - + if ( whichtype == TX_NONSTANDARD ) + fprintf(stderr,"IsStandard nonstandard tx\n"); return whichType != TX_NONSTANDARD; }