]> Untitled Git - bitcoindevkit.org/blob
8b207d5d3f11b27e4ce42317a12ec4933567fb6d
[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="A relative lock time value, representing either a block height or time (512 second intervals)."><title>LockTime in bdk_chain::bitcoin::blockdata::locktime::relative - 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.20.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.Time">Time</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_512_second_intervals">from_512_second_intervals</a></li><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_seconds_ceil">from_seconds_ceil</a></li><li><a href="#method.from_seconds_floor">from_seconds_floor</a></li><li><a href="#method.from_sequence">from_sequence</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_implied_by_sequence">is_implied_by_sequence</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.is_satisfied_by_height">is_satisfied_by_height</a></li><li><a href="#method.is_satisfied_by_time">is_satisfied_by_time</a></li><li><a href="#method.to_consensus_u32">to_consensus_u32</a></li><li><a href="#method.to_sequence">to_sequence</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-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-Eq-for-LockTime">Eq</a></li><li><a href="#impl-From%3CHeight%3E-for-LockTime">From&lt;Height&gt;</a></li><li><a href="#impl-From%3CLockTime%3E-for-Sequence">From&lt;LockTime&gt;</a></li><li><a href="#impl-From%3CRelLockTime%3E-for-LockTime">From&lt;RelLockTime&gt;</a></li><li><a href="#impl-From%3CTime%3E-for-LockTime">From&lt;Time&gt;</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%3CSequence%3E-for-LockTime">TryFrom&lt;Sequence&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::relative</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">relative</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::relative::Height">Height</a>),
3 Time(<a class="struct" href="struct.Time.html" title="struct bdk_chain::bitcoin::blockdata::locktime::relative::Time">Time</a>),
4 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A relative lock time value, representing either a block height or time (512 second intervals).</p>
5 <p>Used for sequence numbers (<code>nSequence</code> in Bitcoin Core and <a href="../../../struct.TxIn.html#structfield.sequence" title="field bdk_chain::bitcoin::TxIn::sequence"><code>crate::TxIn::sequence</code></a>
6 in this library) and also for the argument to opcode ’OP_CHECKSEQUENCEVERIFY`.</p>
7 <h4 id="note-on-ordering"><a class="doc-anchor" href="#note-on-ordering">§</a>Note on ordering</h4>
8 <p>Locktimes may be height- or time-based, and these metrics are incommensurate; there is no total
9 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>. We also
10 implement [<code>ordered::ArbitraryOrd</code>] if the “ordered” feature is enabled.</p>
11 <h4 id="relevant-bips"><a class="doc-anchor" href="#relevant-bips">§</a>Relevant BIPs</h4>
12 <ul>
13 <li><a href="https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki">BIP 68 Relative lock-time using consensus-enforced sequence numbers</a></li>
14 <li><a href="https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki">BIP 112 CHECKSEQUENCEVERIFY</a></li>
15 </ul>
16 </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::relative::Height">Height</a>)</h3></section><div class="docblock"><p>A block height lock time value.</p>
17 </div><section id="variant.Time" class="variant"><a href="#variant.Time" class="anchor">§</a><h3 class="code-header">Time(<a class="struct" href="struct.Time.html" title="struct bdk_chain::bitcoin::blockdata::locktime::relative::Time">Time</a>)</h3></section><div class="docblock"><p>A 512 second time interval value.</p>
18 </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::relative::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::relative::LockTime">LockTime</a> = _</h4></section></summary><div class="docblock"><p>A relative locktime of 0 is always valid, and is assumed valid for inputs that
19 are not yet confirmed.</p>
20 </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>
21 </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="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::relative::LockTime">LockTime</a>, <a class="struct" href="struct.DisabledLockTimeError.html" title="struct bdk_chain::bitcoin::blockdata::locktime::relative::DisabledLockTimeError">DisabledLockTimeError</a>&gt;</h4></section></summary><div class="docblock"><p>Constructs a <code>LockTime</code> from an nSequence value or the argument to OP_CHECKSEQUENCEVERIFY.</p>
22 <p>This method will <strong>not</strong> round-trip with <a href="enum.LockTime.html#method.to_consensus_u32" title="method bdk_chain::bitcoin::blockdata::locktime::relative::LockTime::to_consensus_u32"><code>Self::to_consensus_u32</code></a>, because relative
23 locktimes only use some bits of the underlying <code>u32</code> value and discard the rest. If
24 you want to preserve the full value, you should use the <a href="../../../struct.Sequence.html" title="struct bdk_chain::bitcoin::Sequence"><code>Sequence</code></a> type instead.</p>
25 <h5 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h5>
26 <div class="example-wrap"><pre class="rust rust-example-rendered"><code>
27 <span class="comment">// `from_consensus` roundtrips with `to_consensus_u32` for small values.
28 </span><span class="kw">let </span>n_lock_time: u32 = <span class="number">7000</span>;
29 <span class="kw">let </span>lock_time = LockTime::from_consensus(n_lock_time).unwrap();
30 <span class="macro">assert_eq!</span>(lock_time.to_consensus_u32(), n_lock_time);</code></pre></div>
31 </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>(&amp;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 <code>u32</code> value used to encode this locktime in an nSequence field or
32 argument to <code>OP_CHECKSEQUENCEVERIFY</code>.</p>
33 <h5 id="warning"><a class="doc-anchor" href="#warning">§</a>Warning</h5>
34 <p>Locktimes are not ordered by the natural ordering on <code>u32</code>. If you want to
35 compare locktimes, use <a href="enum.LockTime.html#method.is_implied_by" title="method bdk_chain::bitcoin::blockdata::locktime::relative::LockTime::is_implied_by"><code>Self::is_implied_by</code></a> or similar methods.</p>
36 </div></details><details class="toggle method-toggle" open><summary><section id="method.from_sequence" class="method"><h4 class="code-header">pub fn <a href="#method.from_sequence" class="fn">from_sequence</a>(n: <a class="struct" href="../../../struct.Sequence.html" title="struct bdk_chain::bitcoin::Sequence">Sequence</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::relative::LockTime">LockTime</a>, <a class="struct" href="struct.DisabledLockTimeError.html" title="struct bdk_chain::bitcoin::blockdata::locktime::relative::DisabledLockTimeError">DisabledLockTimeError</a>&gt;</h4></section></summary><div class="docblock"><p>Constructs a <code>LockTime</code> from the sequence number of a Bitcoin input.</p>
37 <p>This method will <strong>not</strong> round-trip with <a href="enum.LockTime.html#method.to_sequence" title="method bdk_chain::bitcoin::blockdata::locktime::relative::LockTime::to_sequence"><code>Self::to_sequence</code></a>. See the
38 docs for <a href="enum.LockTime.html#method.from_consensus" title="associated function bdk_chain::bitcoin::blockdata::locktime::relative::LockTime::from_consensus"><code>Self::from_consensus</code></a> for more information.</p>
39 </div></details><details class="toggle method-toggle" open><summary><section id="method.to_sequence" class="method"><h4 class="code-header">pub fn <a href="#method.to_sequence" class="fn">to_sequence</a>(&amp;self) -&gt; <a class="struct" href="../../../struct.Sequence.html" title="struct bdk_chain::bitcoin::Sequence">Sequence</a></h4></section></summary><div class="docblock"><p>Encodes the locktime as a sequence number.</p>
40 </div></details><details class="toggle method-toggle" open><summary><section id="method.from_height" class="method"><h4 class="code-header">pub const fn <a href="#method.from_height" class="fn">from_height</a>(n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>) -&gt; <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::relative::LockTime">LockTime</a></h4></section></summary><div class="docblock"><p>Constructs a <code>LockTime</code> from <code>n</code>, expecting <code>n</code> to be a 16-bit count of blocks.</p>
41 </div></details><details class="toggle method-toggle" open><summary><section id="method.from_512_second_intervals" class="method"><h4 class="code-header">pub const fn <a href="#method.from_512_second_intervals" class="fn">from_512_second_intervals</a>(intervals: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>) -&gt; <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::relative::LockTime">LockTime</a></h4></section></summary><div class="docblock"><p>Constructs a <code>LockTime</code> from <code>n</code>, expecting <code>n</code> to be a count of 512-second intervals.</p>
42 <p>This function is a little awkward to use, and users may wish to instead use
43 <a href="enum.LockTime.html#method.from_seconds_floor" title="associated function bdk_chain::bitcoin::blockdata::locktime::relative::LockTime::from_seconds_floor"><code>Self::from_seconds_floor</code></a> or <a href="enum.LockTime.html#method.from_seconds_ceil" title="associated function bdk_chain::bitcoin::blockdata::locktime::relative::LockTime::from_seconds_ceil"><code>Self::from_seconds_ceil</code></a>.</p>
44 </div></details><details class="toggle method-toggle" open><summary><section id="method.from_seconds_floor" class="method"><h4 class="code-header">pub const fn <a href="#method.from_seconds_floor" class="fn">from_seconds_floor</a>(
45 seconds: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>
46 ) -&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::relative::LockTime">LockTime</a>, <a class="struct" href="struct.TimeOverflowError.html" title="struct bdk_chain::bitcoin::blockdata::locktime::relative::TimeOverflowError">TimeOverflowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a <a href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::relative::LockTime"><code>LockTime</code></a> from seconds, converting the seconds into 512 second interval
47 with truncating division.</p>
48 <h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
49 <p>Will return an error if the input cannot be encoded in 16 bits.</p>
50 </div></details><details class="toggle method-toggle" open><summary><section id="method.from_seconds_ceil" class="method"><h4 class="code-header">pub const fn <a href="#method.from_seconds_ceil" class="fn">from_seconds_ceil</a>(
51 seconds: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>
52 ) -&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::relative::LockTime">LockTime</a>, <a class="struct" href="struct.TimeOverflowError.html" title="struct bdk_chain::bitcoin::blockdata::locktime::relative::TimeOverflowError">TimeOverflowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a <a href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::relative::LockTime"><code>LockTime</code></a> from seconds, converting the seconds into 512 second interval
53 with ceiling division.</p>
54 <h5 id="errors-1"><a class="doc-anchor" href="#errors-1">§</a>Errors</h5>
55 <p>Will return an error if the input cannot be encoded in 16 bits.</p>
56 </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::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"><p>Returns true if both lock times use the same unit i.e., both height based or both time based.</p>
57 </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 in units of block height.</p>
58 </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 in units of time.</p>
59 </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, h: <a class="struct" href="struct.Height.html" title="struct bdk_chain::bitcoin::blockdata::locktime::relative::Height">Height</a>, t: <a class="struct" href="struct.Time.html" title="struct bdk_chain::bitcoin::blockdata::locktime::relative::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 [<code>relative::LockTime</code>] is satisfied by either height or time.</p>
60 <h5 id="examples-1"><a class="doc-anchor" href="#examples-1">§</a>Examples</h5>
61 <div class="example-wrap"><pre class="rust rust-example-rendered"><code>
62
63 <span class="comment">// Users that have chain data can get the current height and time to check against a lock.
64 </span><span class="kw">let </span>height_and_time = (current_time(), current_height()); <span class="comment">// tuple order does not matter.
65 </span><span class="macro">assert!</span>(lock.is_satisfied_by(current_height(), current_time()));</code></pre></div>
66 </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::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"><p>Returns true if satisfaction of <code>other</code> lock time implies satisfaction of this
67 [<code>relative::LockTime</code>].</p>
68 <p>A lock time can only be satisfied by n blocks being mined or n seconds passing. If you have
69 two lock times (same unit) then the larger lock time being satisfied implies (in a
70 mathematical sense) the smaller one being satisfied.</p>
71 <p>This function is useful when checking sequence values against a lock, first one checks the
72 sequence represents a relative lock time by converting to <code>LockTime</code> then use this function
73 to see if satisfaction of the newly created lock time would imply satisfaction of <code>self</code>.</p>
74 <p>Can also be used to remove the smaller value of two <code>OP_CHECKSEQUENCEVERIFY</code> operations
75 within one branch of the script.</p>
76 <h5 id="examples-2"><a class="doc-anchor" href="#examples-2">§</a>Examples</h5>
77 <div class="example-wrap"><pre class="rust rust-example-rendered"><code>
78
79 <span class="kw">let </span>satisfied = <span class="kw">match </span>test_sequence.to_relative_lock_time() {
80 <span class="prelude-val">None </span>=&gt; <span class="bool-val">false</span>, <span class="comment">// Handle non-lock-time case.
81 </span><span class="prelude-val">Some</span>(test_lock) =&gt; lock.is_implied_by(test_lock),
82 };
83 <span class="macro">assert!</span>(satisfied);</code></pre></div>
84 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_implied_by_sequence" class="method"><h4 class="code-header">pub fn <a href="#method.is_implied_by_sequence" class="fn">is_implied_by_sequence</a>(&amp;self, other: <a class="struct" href="../../../struct.Sequence.html" title="struct bdk_chain::bitcoin::Sequence">Sequence</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 the sequence number implies satisfaction of this lock time.</p>
85 <p>When deciding whether an instance of <code>&lt;n&gt; CHECKSEQUENCEVERIFY</code> will pass, this
86 method can be used by parsing <code>n</code> as a <a href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::relative::LockTime"><code>LockTime</code></a> and calling this method
87 with the sequence number of the input which spends the script.</p>
88 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_satisfied_by_height" class="method"><h4 class="code-header">pub fn <a href="#method.is_satisfied_by_height" class="fn">is_satisfied_by_height</a>(
89 &amp;self,
90 height: <a class="struct" href="struct.Height.html" title="struct bdk_chain::bitcoin::blockdata::locktime::relative::Height">Height</a>
91 ) -&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.bool.html">bool</a>, <a class="struct" href="struct.IncompatibleHeightError.html" title="struct bdk_chain::bitcoin::blockdata::locktime::relative::IncompatibleHeightError">IncompatibleHeightError</a>&gt;</h4></section></summary><div class="docblock"><p>Returns true if this [<code>relative::LockTime</code>] is satisfied by <a href="struct.Height.html" title="struct bdk_chain::bitcoin::blockdata::locktime::relative::Height"><code>Height</code></a>.</p>
92 <h5 id="errors-2"><a class="doc-anchor" href="#errors-2">§</a>Errors</h5>
93 <p>Returns an error if this lock is not lock-by-height.</p>
94 <h5 id="examples-3"><a class="doc-anchor" href="#examples-3">§</a>Examples</h5>
95 <div class="example-wrap"><pre class="rust rust-example-rendered"><code>
96 <span class="kw">let </span>height: u16 = <span class="number">100</span>;
97 <span class="kw">let </span>lock = Sequence::from_height(height).to_relative_lock_time().expect(<span class="string">"valid height"</span>);
98 <span class="macro">assert!</span>(lock.is_satisfied_by_height(Height::from(height+<span class="number">1</span>)).expect(<span class="string">"a height"</span>));</code></pre></div>
99 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_satisfied_by_time" class="method"><h4 class="code-header">pub fn <a href="#method.is_satisfied_by_time" class="fn">is_satisfied_by_time</a>(
100 &amp;self,
101 time: <a class="struct" href="struct.Time.html" title="struct bdk_chain::bitcoin::blockdata::locktime::relative::Time">Time</a>
102 ) -&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.bool.html">bool</a>, <a class="struct" href="struct.IncompatibleTimeError.html" title="struct bdk_chain::bitcoin::blockdata::locktime::relative::IncompatibleTimeError">IncompatibleTimeError</a>&gt;</h4></section></summary><div class="docblock"><p>Returns true if this [<code>relative::LockTime</code>] is satisfied by <a href="struct.Time.html" title="struct bdk_chain::bitcoin::blockdata::locktime::relative::Time"><code>Time</code></a>.</p>
103 <h5 id="errors-3"><a class="doc-anchor" href="#errors-3">§</a>Errors</h5>
104 <p>Returns an error if this lock is not lock-by-time.</p>
105 <h5 id="examples-4"><a class="doc-anchor" href="#examples-4">§</a>Examples</h5>
106 <div class="example-wrap"><pre class="rust rust-example-rendered"><code>
107 <span class="kw">let </span>intervals: u16 = <span class="number">70</span>; <span class="comment">// approx 10 hours;
108 </span><span class="kw">let </span>lock = Sequence::from_512_second_intervals(intervals).to_relative_lock_time().expect(<span class="string">"valid time"</span>);
109 <span class="macro">assert!</span>(lock.is_satisfied_by_time(Time::from_512_second_intervals(intervals + <span class="number">10</span>)).expect(<span class="string">"a time"</span>));</code></pre></div>
110 </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::relative::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::relative::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::relative::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-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::relative::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;(
111 __deserializer: __D
112 ) -&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::relative::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
113 __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::relative::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-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::relative::Height">Height</a>&gt; for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::relative::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::relative::Height">Height</a>) -&gt; <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::relative::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%3CLockTime%3E-for-Sequence" class="impl"><a href="#impl-From%3CLockTime%3E-for-Sequence" 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="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::relative::LockTime">LockTime</a>&gt; for <a class="struct" href="../../../struct.Sequence.html" title="struct bdk_chain::bitcoin::Sequence">Sequence</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>(lt: <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::relative::LockTime">LockTime</a>) -&gt; <a class="struct" href="../../../struct.Sequence.html" title="struct bdk_chain::bitcoin::Sequence">Sequence</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%3CRelLockTime%3E-for-LockTime" class="impl"><a href="#impl-From%3CRelLockTime%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;RelLockTime&gt; for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::relative::LockTime">LockTime</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl"><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>(lock_time: RelLockTime) -&gt; <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::relative::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::relative::Time">Time</a>&gt; for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::relative::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::relative::Time">Time</a>) -&gt; <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::relative::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-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::relative::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
114 __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
115 H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
116 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::relative::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::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'>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
117 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
118 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::relative::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::relative::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>
119 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>
120 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::relative::LockTime">LockTime</a><div class="where">where
121 Pk: MiniscriptKey + ToPublicKey,</div></h3></section></summary><div class="impl-items"><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, n: <a class="enum" href="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><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>(
122 &amp;self,
123 _: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Pk</a>,
124 _: &amp;<a class="struct" href="../../../struct.TapLeafHash.html" title="struct bdk_chain::bitcoin::TapLeafHash">TapLeafHash</a>
125 ) -&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>(
126 &amp;self
127 ) -&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
128 Even if signatures for public key Hashes are not available, the users
129 can use this map to provide pkh -&gt; pk mapping which can be useful
130 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>(
131 &amp;self,
132 _: &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>)
133 ) -&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
134 Even if signatures for public key Hashes are not available, the users
135 can use this map to provide pkh -&gt; pk mapping which can be useful
136 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>(
137 &amp;self,
138 _: &amp;&lt;Pk as MiniscriptKey&gt;::Ripemd160
139 ) -&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_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, _: <a class="enum" href="../absolute/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></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::relative::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;(
140 &amp;self,
141 __serializer: __S
142 ) -&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
143 __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%3CSequence%3E-for-LockTime" class="impl"><a href="#impl-TryFrom%3CSequence%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="../../../struct.Sequence.html" title="struct bdk_chain::bitcoin::Sequence">Sequence</a>&gt; for <a class="enum" href="enum.LockTime.html" title="enum bdk_chain::bitcoin::blockdata::locktime::relative::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="struct.DisabledLockTimeError.html" title="struct bdk_chain::bitcoin::blockdata::locktime::relative::DisabledLockTimeError">DisabledLockTimeError</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>(seq: <a class="struct" href="../../../struct.Sequence.html" title="struct bdk_chain::bitcoin::Sequence">Sequence</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::relative::LockTime">LockTime</a>, <a class="struct" href="struct.DisabledLockTimeError.html" title="struct bdk_chain::bitcoin::blockdata::locktime::relative::DisabledLockTimeError">DisabledLockTimeError</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::relative::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::relative::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::relative::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::relative::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::relative::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::relative::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::relative::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::relative::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::relative::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
144 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
145 T: Satisfier&lt;Pk&gt;,
146 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>(
147 &amp;self,
148 pk: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Pk</a>,
149 leaf_hash: &amp;<a class="struct" href="../../../struct.TapLeafHash.html" title="struct bdk_chain::bitcoin::TapLeafHash">TapLeafHash</a>
150 ) -&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
151 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>(
152 &amp;self
153 ) -&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>(
154 &amp;self,
155 hash: &amp;<a class="struct" href="../../../hashes/hash160/struct.Hash.html" title="struct bdk_chain::bitcoin::hashes::hash160::Hash">Hash</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="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.
157 Returns the key if a signature is found.
158 Even if signatures for public key Hashes are not available, the users
159 can use this map to provide pkh -&gt; pk mapping which can be useful
160 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>(
161 &amp;self,
162 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>)
163 ) -&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.
164 Returns the key and sig len if a signature is found.
165 Even if signatures for public key Hashes are not available, the users
166 can use this map to provide pkh -&gt; pk mapping which can be useful
167 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>(
168 &amp;self,
169 hash: &amp;&lt;Pk as MiniscriptKey&gt;::Ripemd160
170 ) -&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="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="../absolute/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
171 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
172 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
173 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>,
174 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-4" 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-4" 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>
175 </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
176 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>
177 <p>That is, this conversion is whatever the implementation of
178 <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>
179 </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
180 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
181 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
182 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-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="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-1" 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-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>(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
183 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-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.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
184 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.214/src/serde/de/mod.rs.html#614">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
185 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>