diff options
| author | Pieter Wuille <[email protected]> | 2018-06-17 19:44:50 -0700 |
|---|---|---|
| committer | Pieter Wuille <[email protected]> | 2018-06-17 19:44:50 -0700 |
| commit | bb582a59c7532b0e4f647d9dfe50f0d816e81427 (patch) | |
| tree | 4961859632aa54894a57b87cdde4af6e2bb08c86 /src/script/standard.cpp | |
| parent | Add additional unit tests for invalid IsMine combinations (diff) | |
| download | discoin-bb582a59c7532b0e4f647d9dfe50f0d816e81427.tar.xz discoin-bb582a59c7532b0e4f647d9dfe50f0d816e81427.zip | |
Add P2WSH destination helper and use it instead of manual hashing
Diffstat (limited to 'src/script/standard.cpp')
| -rw-r--r-- | src/script/standard.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/script/standard.cpp b/src/script/standard.cpp index d9269d614..f0b2c62a9 100644 --- a/src/script/standard.cpp +++ b/src/script/standard.cpp @@ -5,6 +5,7 @@ #include <script/standard.h> +#include <crypto/sha256.h> #include <pubkey.h> #include <script/script.h> #include <util.h> @@ -18,6 +19,11 @@ unsigned nMaxDatacarrierBytes = MAX_OP_RETURN_RELAY; CScriptID::CScriptID(const CScript& in) : uint160(Hash160(in.begin(), in.end())) {} +WitnessV0ScriptHash::WitnessV0ScriptHash(const CScript& in) +{ + CSHA256().Write(in.data(), in.size()).Finalize(begin()); +} + const char* GetTxnOutputType(txnouttype t) { switch (t) @@ -329,9 +335,7 @@ CScript GetScriptForWitness(const CScript& redeemscript) return GetScriptForDestination(WitnessV0KeyHash(vSolutions[0])); } } - uint256 hash; - CSHA256().Write(&redeemscript[0], redeemscript.size()).Finalize(hash.begin()); - return GetScriptForDestination(WitnessV0ScriptHash(hash)); + return GetScriptForDestination(WitnessV0ScriptHash(redeemscript)); } bool IsValidDestination(const CTxDestination& dest) { |