From 6dd59d2e491bc11ab26498668543e65440a3a931 Mon Sep 17 00:00:00 2001 From: Gregory Sanders Date: Tue, 14 Jan 2020 15:05:53 -0500 Subject: Don't allow implementers to think ScriptHash(Witness*()) results in nesting computation --- src/script/standard.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/script') diff --git a/src/script/standard.h b/src/script/standard.h index 350a5603d5..5c73c7fad4 100644 --- a/src/script/standard.h +++ b/src/script/standard.h @@ -80,9 +80,14 @@ struct PKHash : public uint160 using uint160::uint160; }; +struct WitnessV0KeyHash; struct ScriptHash : public uint160 { ScriptHash() : uint160() {} + // These don't do what you'd expect. + // Use ScriptHash(GetScriptForDestination(...)) instead. + explicit ScriptHash(const WitnessV0KeyHash& hash) = delete; + explicit ScriptHash(const PKHash& hash) = delete; explicit ScriptHash(const uint160& hash) : uint160(hash) {} explicit ScriptHash(const CScript& script); using uint160::uint160; -- cgit v1.2.3