From bb582a59c7532b0e4f647d9dfe50f0d816e81427 Mon Sep 17 00:00:00 2001 From: Pieter Wuille Date: Sun, 17 Jun 2018 19:44:50 -0700 Subject: Add P2WSH destination helper and use it instead of manual hashing --- src/rpc/rawtransaction.cpp | 4 +- src/script/standard.cpp | 10 ++- src/script/standard.h | 1 + src/test/script_standard_tests.cpp | 129 +++++++++---------------------------- src/wallet/wallet.cpp | 4 +- 5 files changed, 39 insertions(+), 109 deletions(-) (limited to 'src') diff --git a/src/rpc/rawtransaction.cpp b/src/rpc/rawtransaction.cpp index 3b3f43edea..e7531734dc 100644 --- a/src/rpc/rawtransaction.cpp +++ b/src/rpc/rawtransaction.cpp @@ -637,9 +637,7 @@ static UniValue decodescript(const JSONRPCRequest& request) } else { // Scripts that are not fit for P2WPKH are encoded as P2WSH. // Newer segwit program versions should be considered when then become available. - uint256 scriptHash; - CSHA256().Write(script.data(), script.size()).Finalize(scriptHash.begin()); - segwitScr = GetScriptForDestination(WitnessV0ScriptHash(scriptHash)); + segwitScr = GetScriptForDestination(WitnessV0ScriptHash(script)); } ScriptPubKeyToUniv(segwitScr, sr, true); sr.pushKV("p2sh-segwit", EncodeDestination(CScriptID(segwitScr))); diff --git a/src/script/standard.cpp b/src/script/standard.cpp index d9269d6147..f0b2c62a91 100644 --- a/src/script/standard.cpp +++ b/src/script/standard.cpp @@ -5,6 +5,7 @@ #include