aboutsummaryrefslogtreecommitdiff
path: root/main.h
diff options
context:
space:
mode:
authorgavinandresen <gavinandresen@1a98c847-1fd6-4fd8-948a-caf3550aa51b>2010-12-07 13:43:31 +0000
committergavinandresen <gavinandresen@1a98c847-1fd6-4fd8-948a-caf3550aa51b>2010-12-07 13:43:31 +0000
commita206a23980c15cacf39d267c509bd70c23c94bfa (patch)
tree7a4e29a09bbf32fb9f84abefdd8eb9504195fa32 /main.h
parent865c3a23832e36d50cb873d38c976032b027b5d3 (diff)
downloadbitcoin-a206a23980c15cacf39d267c509bd70c23c94bfa.tar.xz
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
Diffstat (limited to 'main.h')
-rw-r--r--main.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/main.h b/main.h
index b221e62a7e..0b950e8074 100644
--- a/main.h
+++ b/main.h
@@ -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)