From 2311cf6ab879b352da39d89b959c735d06cbbf59 Mon Sep 17 00:00:00 2001 From: Pieter Wuille Date: Mon, 13 Jun 2016 22:03:17 +0200 Subject: [PATCH 1/4] --- [SEGWIT] begin: merge --- From 96c41e08816290caa76d6570a20068a680e7f1ac Mon Sep 17 00:00:00 2001 From: Suhas Daftuar Date: Tue, 14 Jun 2016 11:56:37 -0400 Subject: [PATCH 2/4] Tests: ensure that signrawtransaction failures are caught in segwit.py --- qa/rpc-tests/segwit.py | 1 + 1 file changed, 1 insertion(+) diff --git a/qa/rpc-tests/segwit.py b/qa/rpc-tests/segwit.py index bde625aefca7..d4c9a8afed32 100755 --- a/qa/rpc-tests/segwit.py +++ b/qa/rpc-tests/segwit.py @@ -55,6 +55,7 @@ def send_to_witness(version, node, utxo, pubkey, encode_p2sh, amount, sign=True, tx_to_witness = create_witnessprogram(version, node, utxo, pubkey, encode_p2sh, amount) if (sign): signed = node.signrawtransaction(tx_to_witness) + assert("errors" not in signed or len(["errors"]) == 0) return node.sendrawtransaction(signed["hex"]) else: if (insert_redeem_script): From 9d096b65b25f9cf426b725bb8246bc80570f6fb7 Mon Sep 17 00:00:00 2001 From: Suhas Daftuar Date: Tue, 14 Jun 2016 12:59:55 -0400 Subject: [PATCH 3/4] spelling fix: uncommited -> uncommitted --- src/main.cpp | 4 ++-- src/main.h | 2 +- src/rpc/mining.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 897d6db13f6d..77c626374fae 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3414,7 +3414,7 @@ static int GetWitnessCommitmentIndex(const CBlock& block) return commitpos; } -void UpdateUncommitedBlockStructures(CBlock& block, const CBlockIndex* pindexPrev, const Consensus::Params& consensusParams) +void UpdateUncommittedBlockStructures(CBlock& block, const CBlockIndex* pindexPrev, const Consensus::Params& consensusParams) { int commitpos = GetWitnessCommitmentIndex(block); static const std::vector nonce(32, 0x00); @@ -3456,7 +3456,7 @@ std::vector GenerateCoinbaseCommitment(CBlock& block, const CBloc block.vtx[0].UpdateHash(); } } - UpdateUncommitedBlockStructures(block, pindexPrev, consensusParams); + UpdateUncommittedBlockStructures(block, pindexPrev, consensusParams); return commitment; } diff --git a/src/main.h b/src/main.h index b0cb849827b6..5fe68050f72f 100644 --- a/src/main.h +++ b/src/main.h @@ -467,7 +467,7 @@ bool IsWitnessEnabled(const CBlockIndex* pindexPrev, const Consensus::Params& pa bool RewindBlockIndex(const CChainParams& params); /** Update uncommitted block structures (currently: only the witness nonce). This is safe for submitted blocks. */ -void UpdateUncommitedBlockStructures(CBlock& block, const CBlockIndex* pindexPrev, const Consensus::Params& consensusParams); +void UpdateUncommittedBlockStructures(CBlock& block, const CBlockIndex* pindexPrev, const Consensus::Params& consensusParams); /** Produce the necessary coinbase commitment for a block (modifies the hash, don't call for mined blocks). */ std::vector GenerateCoinbaseCommitment(CBlock& block, const CBlockIndex* pindexPrev, const Consensus::Params& consensusParams); diff --git a/src/rpc/mining.cpp b/src/rpc/mining.cpp index 6ec90e70a158..4c4e5997818e 100644 --- a/src/rpc/mining.cpp +++ b/src/rpc/mining.cpp @@ -733,7 +733,7 @@ UniValue submitblock(const UniValue& params, bool fHelp) LOCK(cs_main); BlockMap::iterator mi = mapBlockIndex.find(block.hashPrevBlock); if (mi != mapBlockIndex.end()) { - UpdateUncommitedBlockStructures(block, mi->second, Params().GetConsensus()); + UpdateUncommittedBlockStructures(block, mi->second, Params().GetConsensus()); } } From 3684635608dccc97902fb2f08f29909ddf488b94 Mon Sep 17 00:00:00 2001 From: Suhas Daftuar Date: Tue, 14 Jun 2016 13:11:08 -0400 Subject: [PATCH 4/4] DEPLOYMENT_WITNESS -> DEPLOYMENT_SEGWIT --- src/chainparams.cpp | 18 +++++++++--------- src/consensus/params.h | 2 +- src/main.cpp | 2 +- src/rpc/blockchain.cpp | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 44b2cc025492..6aa1b96f9e4e 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -101,9 +101,9 @@ class CMainParams : public CChainParams { consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nTimeout = 1493596800; // May 1st, 2017 // Deployment of SegWit (BIP141 and BIP143) - consensus.vDeployments[Consensus::DEPLOYMENT_WITNESS].bit = 1; - consensus.vDeployments[Consensus::DEPLOYMENT_WITNESS].nStartTime = 2000000000; // Far in the future - consensus.vDeployments[Consensus::DEPLOYMENT_WITNESS].nTimeout = 2100000000; + consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].bit = 1; + consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nStartTime = 2000000000; // Far in the future + consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nTimeout = 2100000000; /** * The message start string is designed to be unlikely to occur in normal data. @@ -197,9 +197,9 @@ class CTestNetParams : public CChainParams { consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nTimeout = 1493596800; // May 1st, 2017 // Deployment of SegWit (BIP141 and BIP143) - consensus.vDeployments[Consensus::DEPLOYMENT_WITNESS].bit = 1; - consensus.vDeployments[Consensus::DEPLOYMENT_WITNESS].nStartTime = 1462060800; // May 1st 2016 - consensus.vDeployments[Consensus::DEPLOYMENT_WITNESS].nTimeout = 1493596800; // May 1st 2017 + consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].bit = 1; + consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nStartTime = 1462060800; // May 1st 2016 + consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nTimeout = 1493596800; // May 1st 2017 pchMessageStart[0] = 0x0b; pchMessageStart[1] = 0x11; @@ -273,9 +273,9 @@ class CRegTestParams : public CChainParams { consensus.vDeployments[Consensus::DEPLOYMENT_CSV].bit = 0; consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nStartTime = 0; consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nTimeout = 999999999999ULL; - consensus.vDeployments[Consensus::DEPLOYMENT_WITNESS].bit = 1; - consensus.vDeployments[Consensus::DEPLOYMENT_WITNESS].nStartTime = 0; - consensus.vDeployments[Consensus::DEPLOYMENT_WITNESS].nTimeout = 999999999999ULL; + consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].bit = 1; + consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nStartTime = 0; + consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nTimeout = 999999999999ULL; pchMessageStart[0] = 0xfa; pchMessageStart[1] = 0xbf; diff --git a/src/consensus/params.h b/src/consensus/params.h index 48e65307b831..822ec87d69e8 100644 --- a/src/consensus/params.h +++ b/src/consensus/params.h @@ -16,7 +16,7 @@ enum DeploymentPos { DEPLOYMENT_TESTDUMMY, DEPLOYMENT_CSV, // Deployment of BIP68, BIP112, and BIP113. - DEPLOYMENT_WITNESS, // Deployment of BIP141 and BIP143 + DEPLOYMENT_SEGWIT, // Deployment of BIP141 and BIP143 // NOTE: Also add new deployments to VersionBitsDeploymentInfo in versionbits.cpp MAX_VERSION_BITS_DEPLOYMENTS }; diff --git a/src/main.cpp b/src/main.cpp index 77c626374fae..609b845e3942 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3398,7 +3398,7 @@ static bool CheckIndexAgainstCheckpoint(const CBlockIndex* pindexPrev, CValidati bool IsWitnessEnabled(const CBlockIndex* pindexPrev, const Consensus::Params& params) { LOCK(cs_main); - return (VersionBitsState(pindexPrev, params, Consensus::DEPLOYMENT_WITNESS, versionbitscache) == THRESHOLD_ACTIVE); + return (VersionBitsState(pindexPrev, params, Consensus::DEPLOYMENT_SEGWIT, versionbitscache) == THRESHOLD_ACTIVE); } // Compute at which vout of the block's coinbase transaction the witness diff --git a/src/rpc/blockchain.cpp b/src/rpc/blockchain.cpp index f4c5fb3f3e71..43ba4edd78c1 100644 --- a/src/rpc/blockchain.cpp +++ b/src/rpc/blockchain.cpp @@ -934,7 +934,7 @@ UniValue getblockchaininfo(const UniValue& params, bool fHelp) softforks.push_back(SoftForkDesc("bip66", 3, tip, consensusParams)); softforks.push_back(SoftForkDesc("bip65", 4, tip, consensusParams)); bip9_softforks.push_back(Pair("csv", BIP9SoftForkDesc(consensusParams, Consensus::DEPLOYMENT_CSV))); - bip9_softforks.push_back(Pair("segwit", BIP9SoftForkDesc(consensusParams, Consensus::DEPLOYMENT_WITNESS))); + bip9_softforks.push_back(Pair("segwit", BIP9SoftForkDesc(consensusParams, Consensus::DEPLOYMENT_SEGWIT))); obj.push_back(Pair("softforks", softforks)); obj.push_back(Pair("bip9_softforks", bip9_softforks));