aboutsummaryrefslogtreecommitdiff
path: root/src/script
diff options
context:
space:
mode:
authorAntoine Poinsot <darosior@protonmail.com>2021-12-02 17:20:20 +0100
committerAntoine Poinsot <darosior@protonmail.com>2023-02-11 14:12:11 +0100
commita2f81b6a8f1ff3b0750711409c7538812a52ef40 (patch)
tree7f85539fb10b544a9221e3eabf756fbb69dff45f /src/script
parent61c6d1a8440db09c44d7fd367a6f2c641ea93d40 (diff)
downloadbitcoin-a2f81b6a8f1ff3b0750711409c7538812a52ef40.tar.xz
script/sign: signing support for Miniscript with timelocks
Diffstat (limited to 'src/script')
-rw-r--r--src/script/sign.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/script/sign.cpp b/src/script/sign.cpp
index 15da4667e0..d2aa9be9de 100644
--- a/src/script/sign.cpp
+++ b/src/script/sign.cpp
@@ -438,9 +438,9 @@ struct Satisfier {
}
//! Time lock satisfactions.
- // TODO
- bool CheckAfter(uint32_t value) const { return false; }
- bool CheckOlder(uint32_t value) const { return false; }
+ bool CheckAfter(uint32_t value) const { return m_creator.Checker().CheckLockTime(CScriptNum(value)); }
+ bool CheckOlder(uint32_t value) const { return m_creator.Checker().CheckSequence(CScriptNum(value)); }
+
//! Hash preimage satisfactions.
// TODO
@@ -675,6 +675,8 @@ public:
DummySignatureChecker() = default;
bool CheckECDSASignature(const std::vector<unsigned char>& sig, const std::vector<unsigned char>& vchPubKey, const CScript& scriptCode, SigVersion sigversion) const override { return sig.size() != 0; }
bool CheckSchnorrSignature(Span<const unsigned char> sig, Span<const unsigned char> pubkey, SigVersion sigversion, ScriptExecutionData& execdata, ScriptError* serror) const override { return sig.size() != 0; }
+ bool CheckLockTime(const CScriptNum& nLockTime) const override { return true; }
+ bool CheckSequence(const CScriptNum& nSequence) const override { return true; }
};
}