Don't allow implementers to think ScriptHash(Witness*()) results in nesting computation
Github-Pull: #17924 Rebased-From: 6dd59d2e491bc11ab26498668543e65440a3a931
This commit is contained in:
parent
e2c45d89f7
commit
eac49073eb
1 changed files with 5 additions and 0 deletions
|
@ -81,9 +81,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;
|
||||
|
|
Loading…
Reference in a new issue