]> Untitled Git - bitcoindevkit.org/blob
c08225c99e4e556c02a794c2a8aef63d87e9de75
[bitcoindevkit.org] /
1 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An absolute lock time value, representing either a block height or a UNIX timestamp (seconds since epoch)."><title>LockTime in bdk_chain::bitcoin::blockdata::locktime::absolute - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../../../static.files/rustdoc-dd39b87e5fcfba68.css"><meta name="rustdoc-vars" data-root-path="../../../../../" data-static-root-path="../../../../../static.files/" data-current-crate="bdk_chain" data-themes="" data-resource-suffix="" data-rustdoc-version="1.80.0-nightly (78a775127 2024-05-11)" data-channel="nightly" data-search-js="search-d52510db62a78183.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../../../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../../../static.files/main-20a3ad099b048cf2.js"></script><noscript><link rel="stylesheet" href="../../../../../static.files/noscript-df360f571f6edeae.css"></noscript><link rel="alternate icon" type="image/png" href="../../../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button><a class="logo-container" href="../../../../../bdk_chain/index.html"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt=""></a></nav><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="../../../../../bdk_chain/index.html"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></a><h2><a href="../../../../../bdk_chain/index.html">bdk_chain</a><span class="version">0.18.0</span></h2></div><h2 class="location"><a href="#">LockTime</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.Blocks">Blocks</a></li><li><a href="#variant.Seconds">Seconds</a></li></ul><h3><a href="#implementations">Associated Constants</a></h3><ul class="block associatedconstant"><li><a href="#associatedconstant.SIZE">SIZE</a></li><li><a href="#associatedconstant.ZERO">ZERO</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.from_consensus">from_consensus</a></li><li><a href="#method.from_height">from_height</a></li><li><a href="#method.from_hex">from_hex</a></li><li><a href="#method.from_time">from_time</a></li><li><a href="#method.from_unprefixed_hex">from_unprefixed_hex</a></li><li><a href="#method.is_block_height">is_block_height</a></li><li><a href="#method.is_block_time">is_block_time</a></li><li><a href="#method.is_implied_by">is_implied_by</a></li><li><a href="#method.is_same_unit">is_same_unit</a></li><li><a href="#method.is_satisfied_by">is_satisfied_by</a></li><li><a href="#method.to_consensus_u32">to_consensus_u32</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-LockTime">Clone</a></li><li><a href="#impl-Copy-for-LockTime">Copy</a></li><li><a href="#impl-Debug-for-LockTime">Debug</a></li><li><a href="#impl-Decodable-for-LockTime">Decodable</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-LockTime">Deserialize&lt;&#x27;de&gt;</a></li><li><a href="#impl-Display-for-LockTime">Display</a></li><li><a href="#impl-Encodable-for-LockTime">Encodable</a></li><li><a href="#impl-Eq-for-LockTime">Eq</a></li><li><a href="#impl-From%3CAbsLockTime%3E-for-LockTime">From&lt;AbsLockTime&gt;</a></li><li><a href="#impl-From%3CHeight%3E-for-LockTime">From&lt;Height&gt;</a></li><li><a href="#impl-From%3CTime%3E-for-LockTime">From&lt;Time&gt;</a></li><li><a href="#impl-FromStr-for-LockTime">FromStr</a></li><li><a href="#impl-Hash-for-LockTime">Hash</a></li><li><a href="#impl-PartialEq-for-LockTime">PartialEq</a></li><li><a href="#impl-PartialOrd-for-LockTime">PartialOrd</a></li><li><a href="#impl-Satisfier%3CPk%3E-for-LockTime">Satisfier&lt;Pk&gt;</a></li><li><a href="#impl-Serialize-for-LockTime">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-LockTime">StructuralPartialEq</a></li><li><a href="#impl-TryFrom%3C%26str%3E-for-LockTime">TryFrom&lt;&amp;str&gt;</a></li><li><a href="#impl-TryFrom%3CBox%3Cstr%3E%3E-for-LockTime">TryFrom&lt;Box&lt;str&gt;&gt;</a></li><li><a href="#impl-TryFrom%3CString%3E-for-LockTime">TryFrom&lt;String&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-LockTime">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-LockTime">RefUnwindSafe</a></li><li><a href="#impl-Send-for-LockTime">Send</a></li><li><a href="#impl-Sync-for-LockTime">Sync</a></li><li><a href="#impl-Unpin-for-LockTime">Unpin</a></li><li><a href="#impl-UnwindSafe-for-LockTime">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-AssetProvider%3CPk%3E-for-T">AssetProvider&lt;Pk&gt;</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-DeserializeOwned-for-T">DeserializeOwned</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q">Equivalent&lt;K&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-ToString-for-T">ToString</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip&lt;V&gt;</a></li></ul></section><h2><a href="index.html">In bdk_chain::bitcoin::blockdata::locktime::absolute</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Enum <a href="../../../../index.html">bdk_chain</a>::<wbr><a href="../../../index.html">bitcoin</a>::<wbr><a href="../../index.html">blockdata</a>::<wbr><a href="../index.html">locktime</a>::<wbr><a href="index.html">absolute</a>::<wbr><a class="enum" href="#">LockTime</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub enum LockTime {
2 Blocks(<a class="struct" href="struct.Height.html" title="struct bdk_chain::bitcoin::blockdata::locktime::absolute::Height">Height</a>),
3 Seconds(<a class="struct" href="struct.Time.html" title="struct bdk_chain::bitcoin::blockdata::locktime::absolute::Time">Time</a>),
4 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An absolute lock time value, representing either a block height or a UNIX timestamp (seconds
5 since epoch).</p>
6 <p>Used for transaction lock time (<code>nLockTime</code> in Bitcoin Core and <a href="../../../struct.Transaction.html#structfield.lock_time" title="field bdk_chain::bitcoin::Transaction::lock_time"><code>crate::Transaction::lock_time</code></a>
7 in this library) and also for the argument to opcode ’OP_CHECKLOCKTIMEVERIFY`.</p>
8 <h4 id="note-on-ordering"><a class="doc-anchor" href="#note-on-ordering">§</a>Note on ordering</h4>
9 <p>Locktimes may be height- or time-based, and these metrics are incommensurate; there is no total
10 ordering on locktimes. We therefore have implemented <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd"><code>PartialOrd</code></a> but not <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord"><code>Ord</code></a>.
11 For <a href="../../../struct.Transaction.html" title="struct bdk_chain::bitcoin::Transaction"><code>crate::Transaction</code></a>, which has a locktime field, we implement a total ordering to make
12 it easy to store transactions in sorted data structures, and use the locktime’s 32-bit integer
13 consensus encoding to order it. We also implement [<code>ordered::ArbitraryOrd</code>] if the “ordered”
14 feature is enabled.</p>
15 <h4 id="relevant-bips"><a class="doc-anchor" href="#relevant-bips">§</a>Relevant BIPs</h4>
16 <ul>
17 <li><a href="https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki">BIP-65 OP_CHECKLOCKTIMEVERIFY</a></li>
18 <li><a href="https://github.com/bitcoin/bips/blob/master/bip-0113.mediawiki">BIP-113 Median time-past as endpoint for lock-time calculations</a></li>
19 </ul>
20 <h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
21 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// To compare absolute lock times there are various `is_satisfied_*` methods, you may also use:
22 </span><span class="kw">let </span>is_satisfied = <span class="kw">match </span>(n, lock_time) {
23 (Blocks(n), Blocks(lock_time)) =&gt; n &lt;= lock_time,
24 (Seconds(n), Seconds(lock_time)) =&gt; n &lt;= lock_time,
25 <span class="kw">_ </span>=&gt; <span class="macro">panic!</span>(<span class="string">"handle invalid comparison error"</span>),
26 };</code></pre></div>
27 </div></details><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.Blocks" class="variant"><a href="#variant.Blocks" class="anchor">§</a><h3 class="code-header">Blocks(<a class="struct" href="struct.Height.html" title="struct bdk_chain::bitcoin::blockdata::locktime::absolute::Height">Height</a>)</h3></section><div class="docblock"><p>A block height lock time value.</p>
28 <h4 id="examples-1"><a class="doc-anchor" href="#examples-1">§</a>Examples</h4>
29 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>bitcoin::absolute::LockTime;
30
31 <span class="kw">let </span>block: u32 = <span class="number">741521</span>;
32 <span class="kw">let </span>n = LockTime::from_height(block).expect(<span class="string">"valid height"</span>);
33 <span class="macro">assert!</span>(n.is_block_height());
34 <span class="macro">assert_eq!</span>(n.to_consensus_u32(), block);</code></pre></div>
35 </div><section id="variant.Seconds" class="variant"><a href="#variant.Seconds" class="anchor">§</a><h3 class="code-header">Seconds(<a class="struct" href="struct.Time.html" title="struct bdk_chain::bitcoin::blockdata::locktime::absolute::Time">Time</a>)</h3></section><div class="docblock"><p>A UNIX timestamp lock time value.</p>
36 <h4 id="examples-2"><a class="doc-anchor" href="#examples-2">§</a>Examples</h4>
37 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>bitcoin::absolute::LockTime;
38
39 <span class="kw">let </span>seconds: u32 = <span class="number">1653195600</span>; <span class="comment">// May 22nd, 5am UTC.
40 </span><span class="kw">let </span>n = LockTime::from_time(seconds).expect(<span class="string">"valid time"</span>);
41 <span class="macro">assert!</span>(n.is_block_time());
42 <span class="macro">assert_eq!</span>(n.to_consensus_u32(), seconds);</code></pre></div>
43 </div></div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-LockTime" class="impl"><a href="#impl-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ZERO" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.ZERO" class="constant">ZERO</a>: <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a> = _</h4></section></summary><div class="docblock"><p>If <a href="../../../struct.Transaction.html#structfield.lock_time" title="field bdk_chain::bitcoin::Transaction::lock_time"><code>crate::Transaction::lock_time</code></a> is set to zero it is ignored, in other words a
44 transaction with nLocktime==0 is able to be included immediately in any block.</p>
45 </div></details><details class="toggle" open><summary><section id="associatedconstant.SIZE" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.SIZE" class="constant">SIZE</a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a> = 4usize</h4></section></summary><div class="docblock"><p>The number of bytes that the locktime contributes to the size of a transaction.</p>
46 </div></details><details class="toggle method-toggle" open><summary><section id="method.from_hex" class="method"><h4 class="code-header">pub fn <a href="#method.from_hex" class="fn">from_hex</a>(s: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a>, <a class="enum" href="../../../error/enum.PrefixedHexError.html" title="enum bdk_chain::bitcoin::error::PrefixedHexError">PrefixedHexError</a>&gt;</h4></section></summary><div class="docblock"><p>Creates a <code>LockTime</code> from an prefixed hex string.</p>
47 </div></details><details class="toggle method-toggle" open><summary><section id="method.from_unprefixed_hex" class="method"><h4 class="code-header">pub fn <a href="#method.from_unprefixed_hex" class="fn">from_unprefixed_hex</a>(s: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a>, <a class="enum" href="../../../error/enum.UnprefixedHexError.html" title="enum bdk_chain::bitcoin::error::UnprefixedHexError">UnprefixedHexError</a>&gt;</h4></section></summary><div class="docblock"><p>Creates a <code>LockTime</code> from an unprefixed hex string.</p>
48 </div></details><details class="toggle method-toggle" open><summary><section id="method.from_consensus" class="method"><h4 class="code-header">pub fn <a href="#method.from_consensus" class="fn">from_consensus</a>(n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h4></section></summary><div class="docblock"><p>Constructs a <code>LockTime</code> from an nLockTime value or the argument to OP_CHEKCLOCKTIMEVERIFY.</p>
49 <h5 id="examples-3"><a class="doc-anchor" href="#examples-3">§</a>Examples</h5>
50 <div class="example-wrap"><pre class="rust rust-example-rendered"><code>
51 <span class="comment">// `from_consensus` roundtrips as expected with `to_consensus_u32`.
52 </span><span class="kw">let </span>n_lock_time: u32 = <span class="number">741521</span>;
53 <span class="kw">let </span>lock_time = LockTime::from_consensus(n_lock_time);
54 <span class="macro">assert_eq!</span>(lock_time.to_consensus_u32(), n_lock_time);</code></pre></div>
55 </div></details><details class="toggle method-toggle" open><summary><section id="method.from_height" class="method"><h4 class="code-header">pub fn <a href="#method.from_height" class="fn">from_height</a>(n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a>, <a class="struct" href="struct.ConversionError.html" title="struct bdk_chain::bitcoin::blockdata::locktime::absolute::ConversionError">ConversionError</a>&gt;</h4></section></summary><div class="docblock"><p>Constructs a <code>LockTime</code> from <code>n</code>, expecting <code>n</code> to be a valid block height.</p>
56 <p>See <a href="constant.LOCK_TIME_THRESHOLD.html" title="constant bdk_chain::bitcoin::blockdata::locktime::absolute::LOCK_TIME_THRESHOLD"><code>LOCK_TIME_THRESHOLD</code></a> for definition of a valid height value.</p>
57 <h5 id="examples-4"><a class="doc-anchor" href="#examples-4">§</a>Examples</h5>
58 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="macro">assert!</span>(LockTime::from_height(<span class="number">741521</span>).is_ok());
59 <span class="macro">assert!</span>(LockTime::from_height(<span class="number">1653195600</span>).is_err());</code></pre></div>
60 </div></details><details class="toggle method-toggle" open><summary><section id="method.from_time" class="method"><h4 class="code-header">pub fn <a href="#method.from_time" class="fn">from_time</a>(n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a>, <a class="struct" href="struct.ConversionError.html" title="struct bdk_chain::bitcoin::blockdata::locktime::absolute::ConversionError">ConversionError</a>&gt;</h4></section></summary><div class="docblock"><p>Constructs a <code>LockTime</code> from <code>n</code>, expecting <code>n</code> to be a valid block time.</p>
61 <p>See <a href="constant.LOCK_TIME_THRESHOLD.html" title="constant bdk_chain::bitcoin::blockdata::locktime::absolute::LOCK_TIME_THRESHOLD"><code>LOCK_TIME_THRESHOLD</code></a> for definition of a valid time value.</p>
62 <h5 id="examples-5"><a class="doc-anchor" href="#examples-5">§</a>Examples</h5>
63 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="macro">assert!</span>(LockTime::from_time(<span class="number">1653195600</span>).is_ok());
64 <span class="macro">assert!</span>(LockTime::from_time(<span class="number">741521</span>).is_err());</code></pre></div>
65 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_same_unit" class="method"><h4 class="code-header">pub const fn <a href="#method.is_same_unit" class="fn">is_same_unit</a>(&amp;self, other: <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if both lock times use the same unit i.e., both height based or both time based.</p>
66 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_block_height" class="method"><h4 class="code-header">pub const fn <a href="#method.is_block_height" class="fn">is_block_height</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if this lock time value is a block height.</p>
67 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_block_time" class="method"><h4 class="code-header">pub const fn <a href="#method.is_block_time" class="fn">is_block_time</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if this lock time value is a block time (UNIX timestamp).</p>
68 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_satisfied_by" class="method"><h4 class="code-header">pub fn <a href="#method.is_satisfied_by" class="fn">is_satisfied_by</a>(&amp;self, height: <a class="struct" href="struct.Height.html" title="struct bdk_chain::bitcoin::blockdata::locktime::absolute::Height">Height</a>, time: <a class="struct" href="struct.Time.html" title="struct bdk_chain::bitcoin::blockdata::locktime::absolute::Time">Time</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if this timelock constraint is satisfied by the respective <code>height</code>/<code>time</code>.</p>
69 <p>If <code>self</code> is a blockheight based lock then it is checked against <code>height</code> and if <code>self</code> is a
70 blocktime based lock it is checked against <code>time</code>.</p>
71 <p>A ‘timelock constraint’ refers to the <code>n</code> from <code>n OP_CHEKCLOCKTIMEVERIFY</code>, this constraint
72 is satisfied if a transaction with nLockTime (<a href="../../../struct.Transaction.html#structfield.lock_time" title="field bdk_chain::bitcoin::Transaction::lock_time"><code>crate::Transaction::lock_time</code></a>) set to
73 <code>height</code>/<code>time</code> is valid.</p>
74 <h5 id="examples-6"><a class="doc-anchor" href="#examples-6">§</a>Examples</h5>
75 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// Can be implemented if block chain data is available.
76 </span><span class="kw">fn </span>get_height() -&gt; Height { <span class="macro">todo!</span>(<span class="string">"return the current block height"</span>) }
77 <span class="kw">fn </span>get_time() -&gt; Time { <span class="macro">todo!</span>(<span class="string">"return the current block time"</span>) }
78
79 <span class="kw">let </span>n = LockTime::from_consensus(<span class="number">741521</span>); <span class="comment">// `n OP_CHEKCLOCKTIMEVERIFY`.
80 </span><span class="kw">if </span>n.is_satisfied_by(get_height(), get_time()) {
81 <span class="comment">// Can create and mine a transaction that satisfies the OP_CLTV timelock constraint.
82 </span>}</code></pre></div>
83 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_implied_by" class="method"><h4 class="code-header">pub fn <a href="#method.is_implied_by" class="fn">is_implied_by</a>(&amp;self, other: <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if satisfaction of <code>other</code> lock time implies satisfaction of this
84 [<code>absolute::LockTime</code>].</p>
85 <p>A lock time can only be satisfied by n blocks being mined or n seconds passing. If you have
86 two lock times (same unit) then the larger lock time being satisfied implies (in a
87 mathematical sense) the smaller one being satisfied.</p>
88 <p>This function is useful if you wish to check a lock time against various other locks e.g.,
89 filtering out locks which cannot be satisfied. Can also be used to remove the smaller value
90 of two <code>OP_CHECKLOCKTIMEVERIFY</code> operations within one branch of the script.</p>
91 <h5 id="examples-7"><a class="doc-anchor" href="#examples-7">§</a>Examples</h5>
92 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>lock_time = LockTime::from_consensus(<span class="number">741521</span>);
93 <span class="kw">let </span>check = LockTime::from_consensus(<span class="number">741521 </span>+ <span class="number">1</span>);
94 <span class="macro">assert!</span>(lock_time.is_implied_by(check));</code></pre></div>
95 </div></details><details class="toggle method-toggle" open><summary><section id="method.to_consensus_u32" class="method"><h4 class="code-header">pub fn <a href="#method.to_consensus_u32" class="fn">to_consensus_u32</a>(self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a></h4></section></summary><div class="docblock"><p>Returns the inner <code>u32</code> value. This is the value used when creating this <code>LockTime</code>
96 i.e., <code>n OP_CHECKLOCKTIMEVERIFY</code> or nLockTime.</p>
97 <h5 id="warning"><a class="doc-anchor" href="#warning">§</a>Warning</h5>
98 <p>Do not compare values return by this method. The whole point of the <code>LockTime</code> type is to
99 assist in doing correct comparisons. Either use <code>is_satisfied_by</code>, <code>is_satisfied_by_lock</code>,
100 or use the pattern below:</p>
101 <h5 id="examples-8"><a class="doc-anchor" href="#examples-8">§</a>Examples</h5>
102 <div class="example-wrap"><pre class="rust rust-example-rendered"><code>
103 <span class="kw">let </span>is_satisfied = <span class="kw">match </span>(n, lock_time) {
104 (Blocks(n), Blocks(lock_time)) =&gt; n &lt;= lock_time,
105 (Seconds(n), Seconds(lock_time)) =&gt; n &lt;= lock_time,
106 <span class="kw">_ </span>=&gt; <span class="macro">panic!</span>(<span class="string">"invalid comparison"</span>),
107 };
108
109 <span class="comment">// Or, if you have Rust 1.53 or greater
110 // let is_satisfied = n.partial_cmp(&amp;lock_time).expect("invalid comparison").is_le();</span></code></pre></div>
111 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-LockTime" class="impl"><a href="#impl-Clone-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-LockTime" class="impl"><a href="#impl-Debug-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Decodable-for-LockTime" class="impl"><a href="#impl-Decodable-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../../../consensus/trait.Decodable.html" title="trait bdk_chain::bitcoin::consensus::Decodable">Decodable</a> for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.consensus_decode" class="method trait-impl"><a href="#method.consensus_decode" class="anchor">§</a><h4 class="code-header">fn <a href="../../../consensus/trait.Decodable.html#method.consensus_decode" class="fn">consensus_decode</a>&lt;R&gt;(r: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut R</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a>, <a class="enum" href="../../../consensus/encode/enum.Error.html" title="enum bdk_chain::bitcoin::consensus::encode::Error">Error</a>&gt;<div class="where">where
112 R: <a class="trait" href="../../../io/trait.BufRead.html" title="trait bdk_chain::bitcoin::io::BufRead">BufRead</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Decode an object with a well-defined format. <a href="../../../consensus/trait.Decodable.html#method.consensus_decode">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.consensus_decode_from_finite_reader" class="method trait-impl"><a href="#method.consensus_decode_from_finite_reader" class="anchor">§</a><h4 class="code-header">fn <a href="../../../consensus/trait.Decodable.html#method.consensus_decode_from_finite_reader" class="fn">consensus_decode_from_finite_reader</a>&lt;R&gt;(reader: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut R</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../../consensus/encode/enum.Error.html" title="enum bdk_chain::bitcoin::consensus::encode::Error">Error</a>&gt;<div class="where">where
113 R: <a class="trait" href="../../../io/trait.BufRead.html" title="trait bdk_chain::bitcoin::io::BufRead">BufRead</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Decode <code>Self</code> from a size-limited reader. <a href="../../../consensus/trait.Decodable.html#method.consensus_decode_from_finite_reader">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-LockTime" class="impl"><a href="#impl-Deserialize%3C'de%3E-for-LockTime" class="anchor">§</a><h3 class="code-header">impl&lt;'de&gt; <a class="trait" href="../../../hashes/serde/trait.Deserialize.html" title="trait bdk_chain::bitcoin::hashes::serde::Deserialize">Deserialize</a>&lt;'de&gt; for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="../../../hashes/serde/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a>&lt;D&gt;(
114 deserializer: D
115 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a>, &lt;D as <a class="trait" href="../../../hashes/serde/trait.Deserializer.html" title="trait bdk_chain::bitcoin::hashes::serde::Deserializer">Deserializer</a>&lt;'de&gt;&gt;::<a class="associatedtype" href="../../../hashes/serde/trait.Deserializer.html#associatedtype.Error" title="type bdk_chain::bitcoin::hashes::serde::Deserializer::Error">Error</a>&gt;<div class="where">where
116 D: <a class="trait" href="../../../hashes/serde/trait.Deserializer.html" title="trait bdk_chain::bitcoin::hashes::serde::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="../../../hashes/serde/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Display-for-LockTime" class="impl"><a href="#impl-Display-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt-1" class="method trait-impl"><a href="#method.fmt-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Encodable-for-LockTime" class="impl"><a href="#impl-Encodable-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../../../consensus/trait.Encodable.html" title="trait bdk_chain::bitcoin::consensus::Encodable">Encodable</a> for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.consensus_encode" class="method trait-impl"><a href="#method.consensus_encode" class="anchor">§</a><h4 class="code-header">fn <a href="../../../consensus/trait.Encodable.html#tymethod.consensus_encode" class="fn">consensus_encode</a>&lt;W&gt;(&amp;self, w: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut W</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <a class="struct" href="../../../io/struct.Error.html" title="struct bdk_chain::bitcoin::io::Error">Error</a>&gt;<div class="where">where
117 W: <a class="trait" href="../../../io/trait.Write.html" title="trait bdk_chain::bitcoin::io::Write">Write</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Encodes an object with a well-defined format. <a href="../../../consensus/trait.Encodable.html#tymethod.consensus_encode">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CAbsLockTime%3E-for-LockTime" class="impl"><a href="#impl-From%3CAbsLockTime%3E-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;AbsLockTime&gt; for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(lock_time: AbsLockTime) -&gt; <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CHeight%3E-for-LockTime" class="impl"><a href="#impl-From%3CHeight%3E-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.Height.html" title="struct bdk_chain::bitcoin::blockdata::locktime::absolute::Height">Height</a>&gt; for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(h: <a class="struct" href="struct.Height.html" title="struct bdk_chain::bitcoin::blockdata::locktime::absolute::Height">Height</a>) -&gt; <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CTime%3E-for-LockTime" class="impl"><a href="#impl-From%3CTime%3E-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.Time.html" title="struct bdk_chain::bitcoin::blockdata::locktime::absolute::Time">Time</a>&gt; for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: <a class="struct" href="struct.Time.html" title="struct bdk_chain::bitcoin::blockdata::locktime::absolute::Time">Time</a>) -&gt; <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-FromStr-for-LockTime" class="impl"><a href="#impl-FromStr-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a> for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Err" class="associatedtype trait-impl"><a href="#associatedtype.Err" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" class="associatedtype">Err</a> = <a class="struct" href="../../../parse/struct.ParseIntError.html" title="struct bdk_chain::bitcoin::parse::ParseIntError">ParseIntError</a></h4></section></summary><div class='docblock'>The associated error which can be returned from parsing.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_str" class="method trait-impl"><a href="#method.from_str" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str" class="fn">from_str</a>(s: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a>, &lt;<a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>&gt;</h4></section></summary><div class='docblock'>Parses a string <code>s</code> to return a value of this type. <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Hash-for-LockTime" class="impl"><a href="#impl-Hash-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.hash" class="method trait-impl"><a href="#method.hash" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fn">hash</a>&lt;__H&gt;(&amp;self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut __H</a>)<div class="where">where
118 __H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,</div></h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.hash_slice" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#238-240">source</a></span><a href="#method.hash_slice" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fn">hash_slice</a>&lt;H&gt;(data: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut H</a>)<div class="where">where
119 H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
120 Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-LockTime" class="impl"><a href="#impl-PartialEq-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
121 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>!=</code>. The default implementation is almost always
122 sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd-for-LockTime" class="impl"><a href="#impl-PartialOrd-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a> for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.partial_cmp" class="method trait-impl"><a href="#method.partial_cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fn">partial_cmp</a>(&amp;self, other: &amp;<a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt;</h4></section></summary><div class='docblock'>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.lt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1179">source</a></span><a href="#method.lt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fn">lt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code>&lt;</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.le" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1197">source</a></span><a href="#method.le" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fn">le</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>&lt;=</code>
123 operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.gt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1214">source</a></span><a href="#method.gt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fn">gt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>&gt;</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.ge" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1232">source</a></span><a href="#method.ge" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fn">ge</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>&gt;=</code>
124 operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Satisfier%3CPk%3E-for-LockTime" class="impl"><a href="#impl-Satisfier%3CPk%3E-for-LockTime" class="anchor">§</a><h3 class="code-header">impl&lt;Pk&gt; Satisfier&lt;Pk&gt; for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a><div class="where">where
125 Pk: MiniscriptKey + ToPublicKey,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.check_after" class="method trait-impl"><a href="#method.check_after" class="anchor">§</a><h4 class="code-header">fn <a class="fn">check_after</a>(&amp;self, n: <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Assert whether a absolute locktime is satisfied <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.lookup_ecdsa_sig" class="method trait-impl"><a href="#method.lookup_ecdsa_sig" class="anchor">§</a><h4 class="code-header">fn <a class="fn">lookup_ecdsa_sig</a>(&amp;self, _: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Pk</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../../ecdsa/struct.Signature.html" title="struct bdk_chain::bitcoin::ecdsa::Signature">Signature</a>&gt;</h4></section></summary><div class='docblock'>Given a public key, look up an ECDSA signature with that key</div></details><details class="toggle method-toggle" open><summary><section id="method.lookup_tap_key_spend_sig" class="method trait-impl"><a href="#method.lookup_tap_key_spend_sig" class="anchor">§</a><h4 class="code-header">fn <a class="fn">lookup_tap_key_spend_sig</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../../taproot/struct.Signature.html" title="struct bdk_chain::bitcoin::taproot::Signature">Signature</a>&gt;</h4></section></summary><div class='docblock'>Lookup the tap key spend sig</div></details><details class="toggle method-toggle" open><summary><section id="method.lookup_tap_leaf_script_sig" class="method trait-impl"><a href="#method.lookup_tap_leaf_script_sig" class="anchor">§</a><h4 class="code-header">fn <a class="fn">lookup_tap_leaf_script_sig</a>(
126 &amp;self,
127 _: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Pk</a>,
128 _: &amp;<a class="struct" href="../../../struct.TapLeafHash.html" title="struct bdk_chain::bitcoin::TapLeafHash">TapLeafHash</a>
129 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../../taproot/struct.Signature.html" title="struct bdk_chain::bitcoin::taproot::Signature">Signature</a>&gt;</h4></section></summary><div class='docblock'>Given a public key and a associated leaf hash, look up an schnorr signature with that key</div></details><details class="toggle method-toggle" open><summary><section id="method.lookup_tap_control_block_map" class="method trait-impl"><a href="#method.lookup_tap_control_block_map" class="anchor">§</a><h4 class="code-header">fn <a class="fn">lookup_tap_control_block_map</a>(
130 &amp;self
131 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a>&lt;<a class="struct" href="../../../taproot/struct.ControlBlock.html" title="struct bdk_chain::bitcoin::taproot::ControlBlock">ControlBlock</a>, (<a class="struct" href="../../../struct.ScriptBuf.html" title="struct bdk_chain::bitcoin::ScriptBuf">ScriptBuf</a>, <a class="enum" href="../../../taproot/enum.LeafVersion.html" title="enum bdk_chain::bitcoin::taproot::LeafVersion">LeafVersion</a>)&gt;&gt;</h4></section></summary><div class='docblock'>Obtain a reference to the control block for a ver and script</div></details><details class="toggle method-toggle" open><summary><section id="method.lookup_raw_pkh_pk" class="method trait-impl"><a href="#method.lookup_raw_pkh_pk" class="anchor">§</a><h4 class="code-header">fn <a class="fn">lookup_raw_pkh_pk</a>(&amp;self, _: &amp;<a class="struct" href="../../../hashes/hash160/struct.Hash.html" title="struct bdk_chain::bitcoin::hashes::hash160::Hash">Hash</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../../struct.PublicKey.html" title="struct bdk_chain::bitcoin::PublicKey">PublicKey</a>&gt;</h4></section></summary><div class='docblock'>Given a raw <code>Pkh</code>, lookup corresponding <a href="../../../struct.PublicKey.html" title="struct bdk_chain::bitcoin::PublicKey"><code>bitcoin::PublicKey</code></a></div></details><details class="toggle method-toggle" open><summary><section id="method.lookup_raw_pkh_x_only_pk" class="method trait-impl"><a href="#method.lookup_raw_pkh_x_only_pk" class="anchor">§</a><h4 class="code-header">fn <a class="fn">lookup_raw_pkh_x_only_pk</a>(&amp;self, _: &amp;<a class="struct" href="../../../hashes/hash160/struct.Hash.html" title="struct bdk_chain::bitcoin::hashes::hash160::Hash">Hash</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../../struct.XOnlyPublicKey.html" title="struct bdk_chain::bitcoin::XOnlyPublicKey">XOnlyPublicKey</a>&gt;</h4></section></summary><div class='docblock'>Given a raw <code>Pkh</code>, lookup corresponding <a href="../../../struct.XOnlyPublicKey.html" title="struct bdk_chain::bitcoin::XOnlyPublicKey"><code>bitcoin::secp256k1::XOnlyPublicKey</code></a></div></details><details class="toggle method-toggle" open><summary><section id="method.lookup_raw_pkh_ecdsa_sig" class="method trait-impl"><a href="#method.lookup_raw_pkh_ecdsa_sig" class="anchor">§</a><h4 class="code-header">fn <a class="fn">lookup_raw_pkh_ecdsa_sig</a>(&amp;self, _: &amp;<a class="struct" href="../../../hashes/hash160/struct.Hash.html" title="struct bdk_chain::bitcoin::hashes::hash160::Hash">Hash</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(<a class="struct" href="../../../struct.PublicKey.html" title="struct bdk_chain::bitcoin::PublicKey">PublicKey</a>, <a class="struct" href="../../../ecdsa/struct.Signature.html" title="struct bdk_chain::bitcoin::ecdsa::Signature">Signature</a>)&gt;</h4></section></summary><div class='docblock'>Given a keyhash, look up the EC signature and the associated key
132 Even if signatures for public key Hashes are not available, the users
133 can use this map to provide pkh -&gt; pk mapping which can be useful
134 for dissatisfying pkh.</div></details><details class="toggle method-toggle" open><summary><section id="method.lookup_raw_pkh_tap_leaf_script_sig" class="method trait-impl"><a href="#method.lookup_raw_pkh_tap_leaf_script_sig" class="anchor">§</a><h4 class="code-header">fn <a class="fn">lookup_raw_pkh_tap_leaf_script_sig</a>(
135 &amp;self,
136 _: &amp;(<a class="struct" href="../../../hashes/hash160/struct.Hash.html" title="struct bdk_chain::bitcoin::hashes::hash160::Hash">Hash</a>, <a class="struct" href="../../../struct.TapLeafHash.html" title="struct bdk_chain::bitcoin::TapLeafHash">TapLeafHash</a>)
137 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(<a class="struct" href="../../../struct.XOnlyPublicKey.html" title="struct bdk_chain::bitcoin::XOnlyPublicKey">XOnlyPublicKey</a>, <a class="struct" href="../../../taproot/struct.Signature.html" title="struct bdk_chain::bitcoin::taproot::Signature">Signature</a>)&gt;</h4></section></summary><div class='docblock'>Given a keyhash, look up the schnorr signature and the associated key
138 Even if signatures for public key Hashes are not available, the users
139 can use this map to provide pkh -&gt; pk mapping which can be useful
140 for dissatisfying pkh.</div></details><details class="toggle method-toggle" open><summary><section id="method.lookup_sha256" class="method trait-impl"><a href="#method.lookup_sha256" class="anchor">§</a><h4 class="code-header">fn <a class="fn">lookup_sha256</a>(&amp;self, _: &amp;&lt;Pk as MiniscriptKey&gt;::Sha256) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">32</a>]&gt;</h4></section></summary><div class='docblock'>Given a SHA256 hash, look up its preimage</div></details><details class="toggle method-toggle" open><summary><section id="method.lookup_hash256" class="method trait-impl"><a href="#method.lookup_hash256" class="anchor">§</a><h4 class="code-header">fn <a class="fn">lookup_hash256</a>(&amp;self, _: &amp;&lt;Pk as MiniscriptKey&gt;::Hash256) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">32</a>]&gt;</h4></section></summary><div class='docblock'>Given a HASH256 hash, look up its preimage</div></details><details class="toggle method-toggle" open><summary><section id="method.lookup_ripemd160" class="method trait-impl"><a href="#method.lookup_ripemd160" class="anchor">§</a><h4 class="code-header">fn <a class="fn">lookup_ripemd160</a>(
141 &amp;self,
142 _: &amp;&lt;Pk as MiniscriptKey&gt;::Ripemd160
143 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">32</a>]&gt;</h4></section></summary><div class='docblock'>Given a RIPEMD160 hash, look up its preimage</div></details><details class="toggle method-toggle" open><summary><section id="method.lookup_hash160" class="method trait-impl"><a href="#method.lookup_hash160" class="anchor">§</a><h4 class="code-header">fn <a class="fn">lookup_hash160</a>(&amp;self, _: &amp;&lt;Pk as MiniscriptKey&gt;::Hash160) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">32</a>]&gt;</h4></section></summary><div class='docblock'>Given a HASH160 hash, look up its preimage</div></details><details class="toggle method-toggle" open><summary><section id="method.check_older" class="method trait-impl"><a href="#method.check_older" class="anchor">§</a><h4 class="code-header">fn <a class="fn">check_older</a>(&amp;self, _: <a class="enum" href="../relative/enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::relative::LockTime">LockTime</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Assert whether an relative locktime is satisfied <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-LockTime" class="impl"><a href="#impl-Serialize-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../../../hashes/serde/trait.Serialize.html" title="trait bdk_chain::bitcoin::hashes::serde::Serialize">Serialize</a> for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="../../../hashes/serde/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a>&lt;S&gt;(
144 &amp;self,
145 serializer: S
146 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&lt;S as <a class="trait" href="../../../hashes/serde/trait.Serializer.html" title="trait bdk_chain::bitcoin::hashes::serde::Serializer">Serializer</a>&gt;::<a class="associatedtype" href="../../../hashes/serde/trait.Serializer.html#associatedtype.Ok" title="type bdk_chain::bitcoin::hashes::serde::Serializer::Ok">Ok</a>, &lt;S as <a class="trait" href="../../../hashes/serde/trait.Serializer.html" title="trait bdk_chain::bitcoin::hashes::serde::Serializer">Serializer</a>&gt;::<a class="associatedtype" href="../../../hashes/serde/trait.Serializer.html#associatedtype.Error" title="type bdk_chain::bitcoin::hashes::serde::Serializer::Error">Error</a>&gt;<div class="where">where
147 S: <a class="trait" href="../../../hashes/serde/trait.Serializer.html" title="trait bdk_chain::bitcoin::hashes::serde::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="../../../hashes/serde/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3C%26str%3E-for-LockTime" class="impl"><a href="#impl-TryFrom%3C%26str%3E-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt; for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-2" class="associatedtype trait-impl"><a href="#associatedtype.Error-2" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="../../../parse/struct.ParseIntError.html" title="struct bdk_chain::bitcoin::parse::ParseIntError">ParseIntError</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from-2" class="method trait-impl"><a href="#method.try_from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(s: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a>, &lt;<a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3CBox%3Cstr%3E%3E-for-LockTime" class="impl"><a href="#impl-TryFrom%3CBox%3Cstr%3E%3E-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;&gt; for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="../../../parse/struct.ParseIntError.html" title="struct bdk_chain::bitcoin::parse::ParseIntError">ParseIntError</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from-1" class="method trait-impl"><a href="#method.try_from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(
148 s: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;
149 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a>, &lt;<a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3CString%3E-for-LockTime" class="impl"><a href="#impl-TryFrom%3CString%3E-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;<a class="struct" href="../../../base58/struct.String.html" title="struct bdk_chain::bitcoin::base58::String">String</a>&gt; for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="../../../parse/struct.ParseIntError.html" title="struct bdk_chain::bitcoin::parse::ParseIntError">ParseIntError</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(s: <a class="struct" href="../../../base58/struct.String.html" title="struct bdk_chain::bitcoin::base58::String">String</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a>, &lt;<a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;<a class="struct" href="../../../base58/struct.String.html" title="struct bdk_chain::bitcoin::base58::String">String</a>&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><section id="impl-Copy-for-LockTime" class="impl"><a href="#impl-Copy-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section><section id="impl-Eq-for-LockTime" class="impl"><a href="#impl-Eq-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section><section id="impl-StructuralPartialEq-for-LockTime" class="impl"><a href="#impl-StructuralPartialEq-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-LockTime" class="impl"><a href="#impl-Freeze-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section><section id="impl-RefUnwindSafe-for-LockTime" class="impl"><a href="#impl-RefUnwindSafe-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section><section id="impl-Send-for-LockTime" class="impl"><a href="#impl-Send-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section><section id="impl-Sync-for-LockTime" class="impl"><a href="#impl-Sync-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section><section id="impl-Unpin-for-LockTime" class="impl"><a href="#impl-Unpin-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section><section id="impl-UnwindSafe-for-LockTime" class="impl"><a href="#impl-UnwindSafe-for-LockTime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
150 T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-AssetProvider%3CPk%3E-for-T" class="impl"><a href="#impl-AssetProvider%3CPk%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, Pk&gt; AssetProvider&lt;Pk&gt; for T<div class="where">where
151 T: Satisfier&lt;Pk&gt;,
152 Pk: MiniscriptKey + ToPublicKey,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.provider_lookup_ecdsa_sig" class="method trait-impl"><a href="#method.provider_lookup_ecdsa_sig" class="anchor">§</a><h4 class="code-header">fn <a class="fn">provider_lookup_ecdsa_sig</a>(&amp;self, pk: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Pk</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Given a public key, look up an ECDSA signature with that key, return whether we found it</div></details><details class="toggle method-toggle" open><summary><section id="method.provider_lookup_tap_key_spend_sig" class="method trait-impl"><a href="#method.provider_lookup_tap_key_spend_sig" class="anchor">§</a><h4 class="code-header">fn <a class="fn">provider_lookup_tap_key_spend_sig</a>(&amp;self, _: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Pk</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;</h4></section></summary><div class='docblock'>Lookup the tap key spend sig and return its size</div></details><details class="toggle method-toggle" open><summary><section id="method.provider_lookup_tap_leaf_script_sig" class="method trait-impl"><a href="#method.provider_lookup_tap_leaf_script_sig" class="anchor">§</a><h4 class="code-header">fn <a class="fn">provider_lookup_tap_leaf_script_sig</a>(
153 &amp;self,
154 pk: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Pk</a>,
155 leaf_hash: &amp;<a class="struct" href="../../../struct.TapLeafHash.html" title="struct bdk_chain::bitcoin::TapLeafHash">TapLeafHash</a>
156 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;</h4></section></summary><div class='docblock'>Given a public key and a associated leaf hash, look up a schnorr signature with that key
157 and return its size</div></details><details class="toggle method-toggle" open><summary><section id="method.provider_lookup_tap_control_block_map" class="method trait-impl"><a href="#method.provider_lookup_tap_control_block_map" class="anchor">§</a><h4 class="code-header">fn <a class="fn">provider_lookup_tap_control_block_map</a>(
158 &amp;self
159 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a>&lt;<a class="struct" href="../../../taproot/struct.ControlBlock.html" title="struct bdk_chain::bitcoin::taproot::ControlBlock">ControlBlock</a>, (<a class="struct" href="../../../struct.ScriptBuf.html" title="struct bdk_chain::bitcoin::ScriptBuf">ScriptBuf</a>, <a class="enum" href="../../../taproot/enum.LeafVersion.html" title="enum bdk_chain::bitcoin::taproot::LeafVersion">LeafVersion</a>)&gt;&gt;</h4></section></summary><div class='docblock'>Obtain a reference to the control block for a ver and script</div></details><details class="toggle method-toggle" open><summary><section id="method.provider_lookup_raw_pkh_pk" class="method trait-impl"><a href="#method.provider_lookup_raw_pkh_pk" class="anchor">§</a><h4 class="code-header">fn <a class="fn">provider_lookup_raw_pkh_pk</a>(&amp;self, hash: &amp;<a class="struct" href="../../../hashes/hash160/struct.Hash.html" title="struct bdk_chain::bitcoin::hashes::hash160::Hash">Hash</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../../struct.PublicKey.html" title="struct bdk_chain::bitcoin::PublicKey">PublicKey</a>&gt;</h4></section></summary><div class='docblock'>Given a raw <code>Pkh</code>, lookup corresponding <a href="../../../struct.PublicKey.html" title="struct bdk_chain::bitcoin::PublicKey"><code>bitcoin::PublicKey</code></a></div></details><details class="toggle method-toggle" open><summary><section id="method.provider_lookup_raw_pkh_x_only_pk" class="method trait-impl"><a href="#method.provider_lookup_raw_pkh_x_only_pk" class="anchor">§</a><h4 class="code-header">fn <a class="fn">provider_lookup_raw_pkh_x_only_pk</a>(
160 &amp;self,
161 hash: &amp;<a class="struct" href="../../../hashes/hash160/struct.Hash.html" title="struct bdk_chain::bitcoin::hashes::hash160::Hash">Hash</a>
162 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../../struct.XOnlyPublicKey.html" title="struct bdk_chain::bitcoin::XOnlyPublicKey">XOnlyPublicKey</a>&gt;</h4></section></summary><div class='docblock'>Given a raw <code>Pkh</code>, lookup corresponding <a href="../../../struct.XOnlyPublicKey.html" title="struct bdk_chain::bitcoin::XOnlyPublicKey"><code>bitcoin::secp256k1::XOnlyPublicKey</code></a></div></details><details class="toggle method-toggle" open><summary><section id="method.provider_lookup_raw_pkh_ecdsa_sig" class="method trait-impl"><a href="#method.provider_lookup_raw_pkh_ecdsa_sig" class="anchor">§</a><h4 class="code-header">fn <a class="fn">provider_lookup_raw_pkh_ecdsa_sig</a>(&amp;self, hash: &amp;<a class="struct" href="../../../hashes/hash160/struct.Hash.html" title="struct bdk_chain::bitcoin::hashes::hash160::Hash">Hash</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../../struct.PublicKey.html" title="struct bdk_chain::bitcoin::PublicKey">PublicKey</a>&gt;</h4></section></summary><div class='docblock'>Given a keyhash, look up the EC signature and the associated key.
163 Returns the key if a signature is found.
164 Even if signatures for public key Hashes are not available, the users
165 can use this map to provide pkh -&gt; pk mapping which can be useful
166 for dissatisfying pkh.</div></details><details class="toggle method-toggle" open><summary><section id="method.provider_lookup_raw_pkh_tap_leaf_script_sig" class="method trait-impl"><a href="#method.provider_lookup_raw_pkh_tap_leaf_script_sig" class="anchor">§</a><h4 class="code-header">fn <a class="fn">provider_lookup_raw_pkh_tap_leaf_script_sig</a>(
167 &amp;self,
168 hash: &amp;(<a class="struct" href="../../../hashes/hash160/struct.Hash.html" title="struct bdk_chain::bitcoin::hashes::hash160::Hash">Hash</a>, <a class="struct" href="../../../struct.TapLeafHash.html" title="struct bdk_chain::bitcoin::TapLeafHash">TapLeafHash</a>)
169 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(<a class="struct" href="../../../struct.XOnlyPublicKey.html" title="struct bdk_chain::bitcoin::XOnlyPublicKey">XOnlyPublicKey</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)&gt;</h4></section></summary><div class='docblock'>Given a keyhash, look up the schnorr signature and the associated key.
170 Returns the key and sig len if a signature is found.
171 Even if signatures for public key Hashes are not available, the users
172 can use this map to provide pkh -&gt; pk mapping which can be useful
173 for dissatisfying pkh.</div></details><details class="toggle method-toggle" open><summary><section id="method.provider_lookup_sha256" class="method trait-impl"><a href="#method.provider_lookup_sha256" class="anchor">§</a><h4 class="code-header">fn <a class="fn">provider_lookup_sha256</a>(&amp;self, hash: &amp;&lt;Pk as MiniscriptKey&gt;::Sha256) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Given a SHA256 hash, look up its preimage, return whether we found it</div></details><details class="toggle method-toggle" open><summary><section id="method.provider_lookup_hash256" class="method trait-impl"><a href="#method.provider_lookup_hash256" class="anchor">§</a><h4 class="code-header">fn <a class="fn">provider_lookup_hash256</a>(&amp;self, hash: &amp;&lt;Pk as MiniscriptKey&gt;::Hash256) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Given a HASH256 hash, look up its preimage, return whether we found it</div></details><details class="toggle method-toggle" open><summary><section id="method.provider_lookup_ripemd160" class="method trait-impl"><a href="#method.provider_lookup_ripemd160" class="anchor">§</a><h4 class="code-header">fn <a class="fn">provider_lookup_ripemd160</a>(
174 &amp;self,
175 hash: &amp;&lt;Pk as MiniscriptKey&gt;::Ripemd160
176 ) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Given a RIPEMD160 hash, look up its preimage, return whether we found it</div></details><details class="toggle method-toggle" open><summary><section id="method.provider_lookup_hash160" class="method trait-impl"><a href="#method.provider_lookup_hash160" class="anchor">§</a><h4 class="code-header">fn <a class="fn">provider_lookup_hash160</a>(&amp;self, hash: &amp;&lt;Pk as MiniscriptKey&gt;::Hash160) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Given a HASH160 hash, look up its preimage, return whether we found it</div></details><details class="toggle method-toggle" open><summary><section id="method.check_older-1" class="method trait-impl"><a href="#method.check_older-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">check_older</a>(&amp;self, s: <a class="enum" href="../relative/enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::relative::LockTime">LockTime</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Assert whether a relative locktime is satisfied</div></details><details class="toggle method-toggle" open><summary><section id="method.check_after-1" class="method trait-impl"><a href="#method.check_after-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">check_after</a>(&amp;self, l: <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime">LockTime</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Assert whether an absolute locktime is satisfied</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
177 T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
178 T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Equivalent%3CK%3E-for-Q" class="impl"><a href="#impl-Equivalent%3CK%3E-for-Q" class="anchor">§</a><h3 class="code-header">impl&lt;Q, K&gt; Equivalent&lt;K&gt; for Q<div class="where">where
179 Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
180 K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;Q&gt; + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.equivalent" class="method trait-impl"><a href="#method.equivalent" class="anchor">§</a><h4 class="code-header">fn <a class="fn">equivalent</a>(&amp;self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;K</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Checks if this value is equivalent to the given key. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#768">source</a><a href="#method.from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
181 </div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
182 U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
183 <p>That is, this conversion is whatever the implementation of
184 <code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
185 </div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#83-85">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
186 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#88">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#92">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToString-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2548">source</a><a href="#impl-ToString-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T<div class="where">where
187 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.to_string" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2554">source</a><a href="#method.to_string" class="anchor">§</a><h4 class="code-header">default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fn">to_string</a>(&amp;self) -&gt; <a class="struct" href="../../../base58/struct.String.html" title="struct bdk_chain::bitcoin::base58::String">String</a></h4></section></summary><div class='docblock'>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
188 U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-4" class="associatedtype trait-impl"><a href="#associatedtype.Error-4" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from-3" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
189 U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-3" class="associatedtype trait-impl"><a href="#associatedtype.Error-3" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-T" class="impl"><a href="#impl-VZip%3CV%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;V, T&gt; VZip&lt;V&gt; for T<div class="where">where
190 V: MultiLane&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><section id="impl-DeserializeOwned-for-T" class="impl"><a class="src rightside" href="https://docs.rs/serde/1.0.209/src/serde/de/mod.rs.html#615">source</a><a href="#impl-DeserializeOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../../hashes/serde/de/trait.DeserializeOwned.html" title="trait bdk_chain::bitcoin::hashes::serde::de::DeserializeOwned">DeserializeOwned</a> for T<div class="where">where
191 T: for&lt;'de&gt; <a class="trait" href="../../../hashes/serde/trait.Deserialize.html" title="trait bdk_chain::bitcoin::hashes::serde::Deserialize">Deserialize</a>&lt;'de&gt;,</div></h3></section></div></section></div></main></body></html>