aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGavin Andresen <gavinandresen@gmail.com>2011-10-13 16:03:58 -0400
committerGavin Andresen <gavinandresen@gmail.com>2011-12-19 13:24:48 -0500
commitd7062ef1bd3319689d402027131f2c46efeddcb6 (patch)
tree975b65f6410e515c4463ad15f1f306909337987b /src
parente679ec969c8b22c676ebb10bea1038f6c8f13b33 (diff)
downloadbitcoin-d7062ef1bd3319689d402027131f2c46efeddcb6.tar.xz
Put OP_EVAL string in coinbase of generated blocks
Diffstat (limited to 'src')
-rw-r--r--src/base58.h10
-rw-r--r--src/main.cpp7
2 files changed, 12 insertions, 5 deletions
diff --git a/src/base58.h b/src/base58.h
index 8fc546c505..4be1198903 100644
--- a/src/base58.h
+++ b/src/base58.h
@@ -270,7 +270,7 @@ public:
bool SetScriptHash160(const uint160& hash160)
{
- SetData(fTestNet ? 112 : 1, &hash160, 20);
+ SetData(fTestNet ? 111^2 : 2, &hash160, 20);
return true;
}
@@ -284,7 +284,7 @@ public:
nExpectedSize = 20; // Hash of public key
fExpectTestNet = false;
break;
- case 1:
+ case 2:
nExpectedSize = 20; // OP_EVAL, hash of CScript
fExpectTestNet = false;
break;
@@ -293,7 +293,7 @@ public:
nExpectedSize = 20;
fExpectTestNet = true;
break;
- case 112:
+ case 111^2:
nExpectedSize = 20;
fExpectTestNet = true;
break;
@@ -308,8 +308,8 @@ public:
if (!IsValid())
return false;
if (fTestNet)
- return nVersion == 112;
- return nVersion == 1;
+ return nVersion == 111^2;
+ return nVersion == 2;
}
CBitcoinAddress()
diff --git a/src/main.cpp b/src/main.cpp
index 0fb383f593..1b5bf52807 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -2999,6 +2999,13 @@ void IncrementExtraNonce(CBlock* pblock, CBlockIndex* pindexPrev, unsigned int&
}
++nExtraNonce;
pblock->vtx[0].vin[0].scriptSig = CScript() << pblock->nTime << CBigNum(nExtraNonce);
+
+ // Put "OP_EVAL" in the coinbase so everybody can tell when
+ // a majority of miners support it
+ const char* pOpEvalName = GetOpName(OP_EVAL);
+ pblock->vtx[0].vin[0].scriptSig += CScript() << std::vector<unsigned char>(pOpEvalName, pOpEvalName+strlen(pOpEvalName));
+ assert(pblock->vtx[0].vin[0].scriptSig.size() <= 100);
+
pblock->hashMerkleRoot = pblock->BuildMerkleTree();
}