IsStandard() check for CScripts: only relay/include in blocks CScripts we can understand.

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@197 1a98c847-1fd6-4fd8-948a-caf3550aa51b
This commit is contained in:
gavinandresen
2010-12-07 13:43:31 +00:00
parent 865c3a2383
commit a206a23980
6 changed files with 49 additions and 11 deletions

11
main.h
View File

@@ -499,6 +499,17 @@ public:
return n;
}
bool IsStandard() const
{
foreach(const CTxIn& txin, vin)
if (!txin.scriptSig.IsPushOnly())
return error("nonstandard txin: %s", txin.scriptSig.ToString().c_str());
foreach(const CTxOut& txout, vout)
if (!::IsStandard(txout.scriptPubKey))
return error("nonstandard txout: %s", txout.scriptPubKey.ToString().c_str());
return true;
}
bool IsMine() const
{
foreach(const CTxOut& txout, vout)